diff --git a/README.md b/README.md index 4bc1e52d..9275147d 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,23 @@ VAT, Person and Tax identifiers. All country validators are in the "namespace" of the ISO country code. +## Examples and formats + +Each validator also lists example numbers and the shape of its formatted +output, for placeholder text ("e.g. 390.533.447-05") or input masks: + + console.log(stdnum.BR.cpf.examples); // ['39053344705'] + console.log(stdnum.BR.cpf.formats); // ['nnn.nnn.nnn-nn'] + console.log(stdnum.BR.cpf.format(stdnum.BR.cpf.examples[0])); // '390.533.447-05' + +`examples` are valid numbers in compact form. `formats` describe what +`format()` returns, in IBAN registry style: `n` is a digit, `a` an upper case +letter (A-Z), `c` a digit or upper case letter, and any other character is +literal (so `CHE-nnn.nnn.nnn` starts with the letters `CHE`). A number that +comes in several shapes, such as different lengths, has one pattern per shape. +The patterns describe shape only: a number that fits a pattern can still fail +`validate()`, for example on its check digit. + ## Bundle size: tree-shakeable imports The `stdnum` object eagerly references every country, so importing it bundles diff --git a/src/ad/nrt.ts b/src/ad/nrt.ts index 3087ad09..162ea65a 100644 --- a/src/ad/nrt.ts +++ b/src/ad/nrt.ts @@ -26,6 +26,8 @@ const impl: Validator = { name: 'Andorra Tax Register Number', localName: 'Número de Registre Tributari', abbreviation: 'NRT', + examples: ['U132950X'], + formats: ['a-nnnnnn-a'], compact(input: string): string { const [value, err] = clean(input); @@ -85,5 +87,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ad/passport.ts b/src/ad/passport.ts index 5c03d9c4..651f3c60 100644 --- a/src/ad/passport.ts +++ b/src/ad/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Andorran Passport Number', localName: 'Passaport andorrà', abbreviation: 'Passport', + examples: ['O1234567'], + formats: ['annnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/af/passport.ts b/src/af/passport.ts index cf3b7951..f9cd689d 100644 --- a/src/af/passport.ts +++ b/src/af/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Afghan Passport Number', localName: 'د تذکره افغانستان', abbreviation: 'PASSPORT', + examples: ['P01234567'], + formats: ['annnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/af/tin.ts b/src/af/tin.ts index 3096ed8e..95249b13 100644 --- a/src/af/tin.ts +++ b/src/af/tin.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Afghan Tax Identification Number', localName: 'Tax Identification Number', abbreviation: 'TIN', + examples: ['1234567890'], + formats: ['nnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -63,5 +65,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ag/passport.ts b/src/ag/passport.ts index 0732462d..6b0ed56a 100644 --- a/src/ag/passport.ts +++ b/src/ag/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Antiguan and Barbudan Passport Number', localName: 'Antigua and Barbuda passport', abbreviation: 'PASSPORT', + examples: ['B123456'], + formats: ['annnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ai/passport.ts b/src/ai/passport.ts index 4a07ef6d..565deea6 100644 --- a/src/ai/passport.ts +++ b/src/ai/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Anguillan Passport Number', localName: 'Anguilla Passport', abbreviation: 'Passport', + examples: ['123456789', 'AB123456'], + formats: ['nnnnnnnnn', 'aannnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ai/tin.ts b/src/ai/tin.ts index 4d9ba525..b049e41d 100644 --- a/src/ai/tin.ts +++ b/src/ai/tin.ts @@ -30,6 +30,8 @@ const impl: Validator = { name: 'Anguilla Tax Identification Number', localName: 'Tax Identification Number', abbreviation: 'TIN', + examples: ['1234567890'], + formats: ['nnnnn-nnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -92,5 +94,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/al/nipt.ts b/src/al/nipt.ts index 79c7e7df..f0b74665 100644 --- a/src/al/nipt.ts +++ b/src/al/nipt.ts @@ -37,6 +37,8 @@ const impl: Validator = { name: 'Albanian VAT Number', localName: 'Numri i Identifikimit për Personin e Tatueshëm', abbreviation: 'NIPT', + examples: ['J91402501L'], + formats: ['annnnnnnna'], compact(input: string): string { const [value, err] = clean(input); @@ -107,5 +109,13 @@ const impl: Validator = { }; }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/al/passport.ts b/src/al/passport.ts index a3fa4929..ce21d634 100644 --- a/src/al/passport.ts +++ b/src/al/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Albanian Passport Number', localName: 'Pasaportë shqiptar', abbreviation: 'Passport', + examples: ['BG1234567'], + formats: ['aannnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/am/passport.ts b/src/am/passport.ts index c2287293..d70f2cfa 100644 --- a/src/am/passport.ts +++ b/src/am/passport.ts @@ -26,6 +26,8 @@ const impl: Validator = { name: 'Armenian Passport Number', localName: 'Հայաստան անձնագիր', abbreviation: 'PASSPORT', + examples: ['AN1234567'], + formats: ['aannnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -68,5 +70,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/am/tin.ts b/src/am/tin.ts index cee1c697..7d2b8f40 100644 --- a/src/am/tin.ts +++ b/src/am/tin.ts @@ -36,6 +36,8 @@ const impl: Validator = { name: 'Armenian Tax Identification Number', localName: 'Հարկ վճարողի հաշվառման համար', abbreviation: 'ՀՎՀՀ', + examples: ['01234565'], + formats: ['nnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -86,5 +88,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ao/bi.ts b/src/ao/bi.ts index 6165583c..88c9d89f 100644 --- a/src/ao/bi.ts +++ b/src/ao/bi.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Angola Identity Card', localName: 'Bilhete de Identidade', abbreviation: 'BI', + examples: ['000204688CA010'], + formats: ['nnnnnnnnnaannn'], compact(input: string): string { const [value, err] = clean(input); @@ -63,5 +65,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ao/nif.ts b/src/ao/nif.ts index 3f4b444d..a02b17d8 100644 --- a/src/ao/nif.ts +++ b/src/ao/nif.ts @@ -19,6 +19,8 @@ const impl: Validator = { name: 'Angola Tax Identification Number', localName: 'Número de Identificação Fiscal', abbreviation: 'NIF', + examples: ['0000000001', '003534962LA033'], + formats: ['nnnnnnnnnn', 'nnnnnnnnnaannn'], compact(input: string): string { const [value, err] = clean(input); @@ -68,5 +70,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ao/passport.ts b/src/ao/passport.ts index 7903bb29..189b3113 100644 --- a/src/ao/passport.ts +++ b/src/ao/passport.ts @@ -27,6 +27,8 @@ const impl: Validator = { name: 'Angolan Passport Number', localName: 'Passaporte angolano', abbreviation: 'Passport', + examples: ['N1234567', 'NA1234567'], + formats: ['annnnnnn', 'aannnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -69,5 +71,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ar/cbu.ts b/src/ar/cbu.ts index 6deb225d..008e6466 100644 --- a/src/ar/cbu.ts +++ b/src/ar/cbu.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Single Banking Code', localName: 'Clave Bancaria Uniforme', abbreviation: 'CBU', + examples: ['2850590940090418135201'], + formats: ['nnnnnnnn nnnnnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -94,5 +96,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ar/cuit.ts b/src/ar/cuit.ts index bd553a14..fd7f77fd 100644 --- a/src/ar/cuit.ts +++ b/src/ar/cuit.ts @@ -39,6 +39,8 @@ const impl: Validator = { name: 'Argentinian VAT Number', localName: 'Código Único de Identificación Tributaria', abbreviation: 'CUIT', + examples: ['20055361682'], + formats: ['nn-nnnnnnnn-n'], compact(input: string): string { const [value, err] = clean(input); @@ -98,5 +100,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ar/dni.ts b/src/ar/dni.ts index cb10449a..90dfec6a 100644 --- a/src/ar/dni.ts +++ b/src/ar/dni.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Argentinian National Identity Document', localName: 'Documento Nacional de Identidad', abbreviation: 'DNI', + examples: ['20123456'], + formats: ['nn.nnn.nnn', 'n.nnn.nnn'], compact(input: string): string { const [value, err] = clean(input); @@ -68,5 +70,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ar/passport.ts b/src/ar/passport.ts index fd861eae..ed5df77f 100644 --- a/src/ar/passport.ts +++ b/src/ar/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Argentine Passport Number', localName: 'Pasaporte argentino', abbreviation: 'Passport', + examples: ['AAB123456'], + formats: ['aaannnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/at/businessid.ts b/src/at/businessid.ts index 2c6ddd0f..6e80a57a 100644 --- a/src/at/businessid.ts +++ b/src/at/businessid.ts @@ -29,6 +29,18 @@ function clean(input: string): ReturnType { const impl: Validator = { name: 'Austrian Company Register Number', localName: 'Company Register Number', + examples: ['122119M'], + formats: [ + 'nnnnnna', + 'nnnnna', + 'nnnnnnna', + 'nnnna', + 'nnnnnnnna', + 'nnna', + 'nnnnnnnnna', + 'na', + 'nna', + ], compact(input: string): string { const [value, err] = clean(input); @@ -69,5 +81,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/at/passport.ts b/src/at/passport.ts index e5a85faf..2c3ac980 100644 --- a/src/at/passport.ts +++ b/src/at/passport.ts @@ -27,6 +27,8 @@ const impl: Validator = { name: 'Austrian Passport Number', localName: 'Reisepass', abbreviation: 'Passport', + examples: ['A1234567', 'AP1234567'], + formats: ['annnnnnn', 'aannnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -69,5 +71,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/at/tin.ts b/src/at/tin.ts index 34d95796..e19ad1ac 100644 --- a/src/at/tin.ts +++ b/src/at/tin.ts @@ -75,6 +75,8 @@ const impl: Validator = { name: 'Austrian Tax Identification Number', localName: 'Abgabenkontonummer', abbreviation: 'TIN', + examples: ['591199013'], + formats: ['nn-nnn/nnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -136,5 +138,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/at/uid.ts b/src/at/uid.ts index a5e0ed67..872306c1 100644 --- a/src/at/uid.ts +++ b/src/at/uid.ts @@ -33,6 +33,8 @@ const impl: Validator = { name: 'Austrian VAT Number', localName: 'Umsatzsteuer-Identifikationsnummer', abbreviation: 'UID', + examples: ['U13585627'], + formats: ['Unnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -80,5 +82,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/at/vnr.ts b/src/at/vnr.ts index 3f48dfc8..f3b2d19d 100644 --- a/src/at/vnr.ts +++ b/src/at/vnr.ts @@ -26,6 +26,8 @@ const impl: Validator = { name: 'Austrian Social Security Number', localName: 'Versicherungsnummer', abbreviation: 'VSNR', + examples: ['1237010180'], + formats: ['nnnn nnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -81,5 +83,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/au/abn.ts b/src/au/abn.ts index e6fbaa0d..079f667d 100644 --- a/src/au/abn.ts +++ b/src/au/abn.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Australian Business Number', localName: 'Business Number', abbreviation: 'ABN', + examples: ['83914571673'], + formats: ['nn nnn nnn nnn'], compact(input: string): string { const [value, err] = clean(input); @@ -74,5 +76,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/au/acn.ts b/src/au/acn.ts index fd318538..9ade8ce6 100644 --- a/src/au/acn.ts +++ b/src/au/acn.ts @@ -23,6 +23,8 @@ const impl: Validator = { name: 'Australian Company Number', localName: 'Company Number', abbreviation: 'ACN', + examples: ['004085616'], + formats: ['nnn nnn nnn'], compact(input: string): string { const [value, err] = clean(input); @@ -72,5 +74,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/au/passport.ts b/src/au/passport.ts index 77c87174..7a7d443e 100644 --- a/src/au/passport.ts +++ b/src/au/passport.ts @@ -23,6 +23,8 @@ const impl: Validator = { name: 'Australian Passport Number', localName: 'Australian Passport', abbreviation: 'Passport', + examples: ['N1234567', 'PA1234567'], + formats: ['annnnnnn', 'aannnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -65,5 +67,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/au/tfn.ts b/src/au/tfn.ts index 4762ebaf..1bcb7f03 100644 --- a/src/au/tfn.ts +++ b/src/au/tfn.ts @@ -28,6 +28,8 @@ const impl: Validator = { name: 'Australian Tax File Number', localName: 'Tax File Number', abbreviation: 'TFN', + examples: ['123456782'], + formats: ['nnn nnn nnn', 'nnn nnn nn'], compact(input: string): string { const [value, err] = clean(input); @@ -75,5 +77,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/aw/tin.ts b/src/aw/tin.ts index 5769fc96..f969c7f6 100644 --- a/src/aw/tin.ts +++ b/src/aw/tin.ts @@ -23,6 +23,8 @@ const impl: Validator = { name: 'Aruban Tax Identification Number', localName: 'Persoonsnummer', abbreviation: 'TIN', + examples: ['12345678'], + formats: ['nnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -62,5 +64,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/az/passport.ts b/src/az/passport.ts index dbf46c14..907b34da 100644 --- a/src/az/passport.ts +++ b/src/az/passport.ts @@ -26,6 +26,8 @@ const impl: Validator = { name: 'Azerbaijani Passport Number', localName: 'Azərbaycan pasportu', abbreviation: 'Passport', + examples: ['X12345678', 'AA1234567'], + formats: ['acnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -68,5 +70,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/az/pin.ts b/src/az/pin.ts index a1724b66..c3b4a055 100644 --- a/src/az/pin.ts +++ b/src/az/pin.ts @@ -19,6 +19,8 @@ const impl: Validator = { name: 'Azerbaijani Personal Identification Number', localName: 'Fərdi İdentifikasiya Nömrəsidir', abbreviation: 'PIN', + examples: ['1234567890'], + formats: ['nnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -57,5 +59,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/az/tin.ts b/src/az/tin.ts index e7bd2fe5..c92a8fd5 100644 --- a/src/az/tin.ts +++ b/src/az/tin.ts @@ -30,6 +30,8 @@ const impl: Validator = { name: 'Azerbaijani Tax Identification Number', localName: 'Vergi Identifikasiya Nömrəsi', abbreviation: 'VÖEN', + examples: ['1231231261'], + formats: ['nnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -83,5 +85,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ba/jib.ts b/src/ba/jib.ts index d8a0ce40..276ce86b 100644 --- a/src/ba/jib.ts +++ b/src/ba/jib.ts @@ -85,6 +85,8 @@ const impl: Validator = { name: 'Bosnia and Herzegovina Unique Identification Number', localName: 'Jedinstveni identifikacioni broj', abbreviation: 'JIB', + examples: ['4200211100005'], + formats: ['nnnnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -138,5 +140,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ba/jmbg.ts b/src/ba/jmbg.ts index 456620c3..5bbad331 100644 --- a/src/ba/jmbg.ts +++ b/src/ba/jmbg.ts @@ -20,6 +20,8 @@ const impl: Validator = { name: 'Bosnia Unique Master Citizen Number', localName: 'Jedinstveni matični broj građana', abbreviation: 'JMBG', + examples: ['0101006500006'], + formats: ['nnnnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -81,5 +83,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ba/passport.ts b/src/ba/passport.ts index 4fa82f95..65ab93d9 100644 --- a/src/ba/passport.ts +++ b/src/ba/passport.ts @@ -26,6 +26,8 @@ const impl: Validator = { name: 'Bosnian Passport Number', localName: 'Bosanski pasoš', abbreviation: 'Passport', + examples: ['A12345678', '123456789'], + formats: ['cnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -68,5 +70,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ba/vat.ts b/src/ba/vat.ts index 77f2516f..5d668270 100644 --- a/src/ba/vat.ts +++ b/src/ba/vat.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Bosnia and Herzegovina VAT Number', localName: 'PDV broj', abbreviation: 'PDV', + examples: ['200211100005'], + formats: ['nnnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -63,5 +65,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/bb/passport.ts b/src/bb/passport.ts index 4b892a0e..4802eb33 100644 --- a/src/bb/passport.ts +++ b/src/bb/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Barbadian Passport Number', localName: 'Barbadian passport', abbreviation: 'PASSPORT', + examples: ['A123456'], + formats: ['annnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/bb/tin.ts b/src/bb/tin.ts index 3c5707c6..c1e38f88 100644 --- a/src/bb/tin.ts +++ b/src/bb/tin.ts @@ -23,6 +23,8 @@ const impl: Validator = { name: 'Barbados Tax Identification Number', localName: 'Tax Identification Number', abbreviation: 'TIN', + examples: ['1000000000001'], + formats: ['nnnnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -65,5 +67,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/bd/nid.ts b/src/bd/nid.ts index 32e6edf7..03463734 100644 --- a/src/bd/nid.ts +++ b/src/bd/nid.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'National Identity Card Number', localName: 'জাতীয় পরিচয়পত্র (Jatiya Porichoypatra)', abbreviation: 'NID', + examples: ['1234567890', '1990123456789', '19901234567890123'], + formats: ['nnnnnnnnnn', 'nnnnnnnnnnnnn', 'nnnnnnnnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/bd/passport.ts b/src/bd/passport.ts index 78edb568..0a33570a 100644 --- a/src/bd/passport.ts +++ b/src/bd/passport.ts @@ -26,6 +26,8 @@ const impl: Validator = { name: 'Bangladeshi Passport Number', localName: 'বাংলাদেশী পাসপোর্ট', abbreviation: 'PASSPORT', + examples: ['AB1234567', 'B12345678'], + formats: ['acnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -68,5 +70,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/be/bis.ts b/src/be/bis.ts index efed1f26..d65f77e8 100644 --- a/src/be/bis.ts +++ b/src/be/bis.ts @@ -40,6 +40,8 @@ const impl: Validator = { name: 'Belgian Number for Foreigners', localName: 'Numéro BIS', abbreviation: 'BIS', + examples: ['85470003344'], + formats: ['nnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -81,5 +83,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/be/insz.ts b/src/be/insz.ts index 9db7c577..f54b0b0c 100644 --- a/src/be/insz.ts +++ b/src/be/insz.ts @@ -22,6 +22,8 @@ const impl: Validator = { name: 'Belgian Social Security Identification Number', localName: 'Identificatienummer van de Sociale Zekerheid', abbreviation: 'INSZ, NISS', + examples: ['88022999990'], + formats: ['nnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -51,5 +53,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/be/nn.ts b/src/be/nn.ts index 3cdb9315..c29af6e5 100644 --- a/src/be/nn.ts +++ b/src/be/nn.ts @@ -37,6 +37,8 @@ const impl: Validator = { name: 'Belgian National Number', localName: 'Numéro National', abbreviation: 'NN, RN', + examples: ['88022999990'], + formats: ['nnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -82,5 +84,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/be/passport.ts b/src/be/passport.ts index 7c526e56..ff7c41f5 100644 --- a/src/be/passport.ts +++ b/src/be/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Belgian Passport Number', localName: 'Belgisch paspoort', abbreviation: 'Passport', + examples: ['EM123456'], + formats: ['aannnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/be/vat.ts b/src/be/vat.ts index bab9f557..46d7f654 100644 --- a/src/be/vat.ts +++ b/src/be/vat.ts @@ -46,6 +46,8 @@ const impl: Validator = { name: 'Belgian VAT Number', localName: 'Ondernemingsnummer', abbreviation: 'BTW, NWSt', + examples: ['0403019261'], + formats: ['nnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -94,5 +96,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/bg/egn.ts b/src/bg/egn.ts index 0777f3ea..056e6882 100644 --- a/src/bg/egn.ts +++ b/src/bg/egn.ts @@ -22,6 +22,8 @@ const impl: Validator = { name: 'Bulgarian Personal Identity Codes', localName: 'Единен граждански номер', abbreviation: 'ЕГН (EGN)', + examples: ['7523169263'], + formats: ['nnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -89,5 +91,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/bg/passport.ts b/src/bg/passport.ts index b0fd9873..54a87020 100644 --- a/src/bg/passport.ts +++ b/src/bg/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Bulgarian Passport Number', localName: 'Български паспорт', abbreviation: 'Passport', + examples: ['123456789'], + formats: ['nnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/bg/pnf.ts b/src/bg/pnf.ts index b0fe0387..5616dfdb 100644 --- a/src/bg/pnf.ts +++ b/src/bg/pnf.ts @@ -20,6 +20,8 @@ const impl: Validator = { name: 'Bulgarian Number of a Foreigner', localName: 'Личен номер на чужденец', abbreviation: 'PNF (ЛНЧ)', + examples: ['7111042925'], + formats: ['nnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -69,5 +71,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/bg/vat.ts b/src/bg/vat.ts index 3e146f78..b2bcf532 100644 --- a/src/bg/vat.ts +++ b/src/bg/vat.ts @@ -49,6 +49,8 @@ const impl: Validator = { name: 'Bulgarian VAT Number', localName: 'Идентификационен номер по ДДС', abbreviation: 'ДДС номер', + examples: ['175074752', '1234567890'], + formats: ['nnnnnnnnn', 'nnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -91,5 +93,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/bh/vat.ts b/src/bh/vat.ts index a575bf9c..746360c1 100644 --- a/src/bh/vat.ts +++ b/src/bh/vat.ts @@ -34,6 +34,8 @@ const impl: Validator = { name: 'Bahrain VAT Account Number', localName: 'رقم حساب ضريبة القيمة المضافة', abbreviation: 'VAT', + examples: ['200000425500002'], + formats: ['nnnnnnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -79,5 +81,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/bo/ci.ts b/src/bo/ci.ts index 2cb063c0..4a8556c8 100644 --- a/src/bo/ci.ts +++ b/src/bo/ci.ts @@ -38,6 +38,15 @@ const impl: Validator = { name: 'Bolivian National Identity Card', localName: 'Cédula de Identidad', abbreviation: 'CI', + examples: ['1234567SC', '12345678LP', '1234567SC1'], + formats: [ + 'nnnnnnn-aa', + 'nnnnnnnn-aa', + 'nnnnnnn-aa-c', + 'nnnnnnnn-aa-c', + 'nnnnnnn-aa-cc', + 'nnnnnnnn-aa-cc', + ], compact(input: string): string { const [value, err] = clean(input); @@ -138,5 +147,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/bo/passport.ts b/src/bo/passport.ts index 9a16e6ed..f7eb102b 100644 --- a/src/bo/passport.ts +++ b/src/bo/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Bolivian Passport Number', localName: 'Pasaporte boliviano', abbreviation: 'Passport', + examples: ['AB123456', '1234567'], + formats: ['cccccccc', 'ccccccc', 'ccccccccc', 'cccccc'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/br/cnpj.ts b/src/br/cnpj.ts index 7bd47a90..1d7c0f00 100644 --- a/src/br/cnpj.ts +++ b/src/br/cnpj.ts @@ -45,6 +45,8 @@ const impl: Validator = { name: 'Brazilian Company Identifier', localName: 'Cadastro Nacional da Pessoa Jurídica', abbreviation: 'CNPJ', + examples: ['16727230000197', '12ABC34501DE35'], + formats: ['cc.ccc.ccc/cccc-nn'], compact(input: string): string { const [value, err] = clean(input); @@ -98,5 +100,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/br/cpf.ts b/src/br/cpf.ts index 9c2ec2ef..9ba8efd4 100644 --- a/src/br/cpf.ts +++ b/src/br/cpf.ts @@ -34,6 +34,8 @@ const impl: Validator = { name: 'Brazilian National Identifier', localName: 'Cadastro de Pessoas Físicas', abbreviation: 'CPF', + examples: ['39053344705'], + formats: ['nnn.nnn.nnn-nn'], compact(input: string): string { const [value, err] = clean(input); @@ -87,5 +89,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/br/passport.ts b/src/br/passport.ts index bc995e72..f27790f8 100644 --- a/src/br/passport.ts +++ b/src/br/passport.ts @@ -26,6 +26,8 @@ const impl: Validator = { name: 'Brazilian Passport Number', localName: 'Passaporte brasileiro', abbreviation: 'Passport', + examples: ['FA123456'], + formats: ['aannnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -68,5 +70,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/bs/passport.ts b/src/bs/passport.ts index c912de91..097cfd62 100644 --- a/src/bs/passport.ts +++ b/src/bs/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Bahamian Passport Number', localName: 'Bahamian passport', abbreviation: 'PASSPORT', + examples: ['C123456', 'PA1234567'], + formats: ['annnnnn', 'aannnnnnn', 'acnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/by/passport.ts b/src/by/passport.ts index cec856a9..f03fd174 100644 --- a/src/by/passport.ts +++ b/src/by/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Belarusian Passport Number', localName: 'Пашпарт Беларусі', abbreviation: 'Passport', + examples: ['MP1234567'], + formats: ['aannnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/by/unp.ts b/src/by/unp.ts index 4e65dc37..95fe4294 100644 --- a/src/by/unp.ts +++ b/src/by/unp.ts @@ -48,6 +48,8 @@ const impl: Validator = { name: 'Belarus VAT Number', localName: 'Учетный номер плательщика', abbreviation: 'УНП (UNP)', + examples: ['200988541', 'MA1953684'], + formats: ['ccnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -115,5 +117,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/bz/passport.ts b/src/bz/passport.ts index 17de85f3..f116ddf8 100644 --- a/src/bz/passport.ts +++ b/src/bz/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Belizean Passport Number', localName: 'Belize Passport', abbreviation: 'Passport', + examples: ['PA123456'], + formats: ['aannnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/bz/tin.ts b/src/bz/tin.ts index dbffae9a..e697bb93 100644 --- a/src/bz/tin.ts +++ b/src/bz/tin.ts @@ -19,6 +19,8 @@ const impl: Validator = { name: 'Belize Tax Identification Number', localName: 'Tax Identification Number', abbreviation: 'TIN', + examples: ['00000510'], + formats: ['nnnnnn-nn', 'nnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -63,5 +65,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ca/bc_bhn.ts b/src/ca/bc_bhn.ts index dd941d52..25341078 100644 --- a/src/ca/bc_bhn.ts +++ b/src/ca/bc_bhn.ts @@ -31,6 +31,8 @@ const impl: Validator = { name: 'British Columbia Personal Health Number', localName: 'British Columbia Personal Health Number', abbreviation: 'BC_BHN', + examples: ['9698658215'], + formats: ['nnnn nnn nnn'], compact(input: string): string { const [value, err] = clean(input); @@ -84,5 +86,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ca/bn.ts b/src/ca/bn.ts index 1caefae0..2711c87a 100644 --- a/src/ca/bn.ts +++ b/src/ca/bn.ts @@ -27,6 +27,8 @@ const impl: Validator = { name: 'Canadian Business Number', localName: 'Business Number', abbreviation: 'BN', + examples: ['123026635RC0001', '123026635'], + formats: ['nnnnn nnnn aa nnnn', 'nnnnn nnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -84,5 +86,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ca/gst.ts b/src/ca/gst.ts index 6644a8df..5f63451c 100644 --- a/src/ca/gst.ts +++ b/src/ca/gst.ts @@ -30,6 +30,8 @@ const impl: Validator = { name: 'Goods and service Tax Number', localName: 'Goods and service Tax Number', abbreviation: 'GST', + examples: ['754039725RT0001'], + formats: ['nnnnnnnnnaannnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ca/passport.ts b/src/ca/passport.ts index bd641e1f..d1748b94 100644 --- a/src/ca/passport.ts +++ b/src/ca/passport.ts @@ -27,6 +27,8 @@ const impl: Validator = { name: 'Canadian Passport Number', localName: 'Passeport canadien', abbreviation: 'Passport', + examples: ['AB123456', 'A123456BC'], + formats: ['aannnnnn', 'annnnnnaa'], compact(input: string): string { const [value, err] = clean(input); @@ -69,5 +71,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ca/pst.ts b/src/ca/pst.ts index 2c6d4887..ac005df9 100644 --- a/src/ca/pst.ts +++ b/src/ca/pst.ts @@ -27,6 +27,8 @@ const impl: Validator = { name: 'Provincial Sales Tax', localName: '', abbreviation: 'PST', + examples: ['PST12345678'], + formats: ['PST-nnnn-nnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ca/qst.ts b/src/ca/qst.ts index a5396b49..43293cda 100644 --- a/src/ca/qst.ts +++ b/src/ca/qst.ts @@ -30,6 +30,8 @@ const impl: Validator = { name: 'Quebec Sales Tax Number', localName: '', abbreviation: 'QST', + examples: ['1224002901TQ0001'], + formats: ['nnnnnnnnnnaannnn'], compact(input: string): string { const [value, err] = clean(input); @@ -84,5 +86,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ca/sin.ts b/src/ca/sin.ts index 80282c0f..ce769dff 100644 --- a/src/ca/sin.ts +++ b/src/ca/sin.ts @@ -30,6 +30,8 @@ const impl: Validator = { name: 'Canadian Social Insurance Number', localName: 'Social Insurance Number', abbreviation: 'SIN', + examples: ['123456782'], + formats: ['nnn-nnn-nnn'], compact(input: string): string { const [value, err] = clean(input); @@ -75,5 +77,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ch/passport.ts b/src/ch/passport.ts index 3f7a8bfc..a016db78 100644 --- a/src/ch/passport.ts +++ b/src/ch/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Swiss Passport Number', localName: 'Schweizer Pass', abbreviation: 'Passport', + examples: ['X1234567', 'S0A00A00'], + formats: ['accccccc'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ch/ssn.ts b/src/ch/ssn.ts index 0401ea71..4c24740b 100644 --- a/src/ch/ssn.ts +++ b/src/ch/ssn.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Swiss Social Security Number', localName: 'Sozialversicherungsnummer', abbreviation: 'SSN', + examples: ['7569217076985'], + formats: ['nnn.nnnn.nnnn.nn'], compact(input: string): string { const [value, err] = clean(input); @@ -70,5 +72,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ch/uid.ts b/src/ch/uid.ts index f30074e3..1fcbd896 100644 --- a/src/ch/uid.ts +++ b/src/ch/uid.ts @@ -34,6 +34,8 @@ const impl: Validator = { name: 'Swiss Business Identifier', localName: 'Unternehmens-Identifikationsnummer', abbreviation: 'UID', + examples: ['CHE100155212'], + formats: ['CHE-nnn.nnn.nnn'], compact(input: string): string { const [value, err] = clean(input); @@ -85,5 +87,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ch/vat.ts b/src/ch/vat.ts index 107e4b93..82b94fe2 100644 --- a/src/ch/vat.ts +++ b/src/ch/vat.ts @@ -30,6 +30,13 @@ const impl: Validator = { name: 'Swiss VAT Number', localName: 'Mehrwertsteuernummer', abbreviation: 'MWST/TVA/IVA', + examples: ['CHE107787577IVA'], + formats: [ + 'CHE-nnn.nnn.nnn MWST', + 'CHE-nnn.nnn.nnn TVA', + 'CHE-nnn.nnn.nnn IVA', + 'CHE-nnn.nnn.nnn TPV', + ], compact(input: string): string { const [value, err] = clean(input); @@ -79,5 +86,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ci/passport.ts b/src/ci/passport.ts index 5749f4a7..3bdecc58 100644 --- a/src/ci/passport.ts +++ b/src/ci/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Ivorian Passport Number', localName: 'Passeport ivoirien', abbreviation: 'PASSPORT', + examples: ['AB123456'], + formats: ['aannnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ck/tin.ts b/src/ck/tin.ts index 9b4bba77..c07d2dde 100644 --- a/src/ck/tin.ts +++ b/src/ck/tin.ts @@ -23,6 +23,8 @@ const impl: Validator = { name: 'Cook Islands Tax Identification Number', localName: 'RMD Number', abbreviation: 'RMD', + examples: ['12345'], + formats: ['nnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -62,5 +64,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/cl/passport.ts b/src/cl/passport.ts index 87ab80fa..5b511af5 100644 --- a/src/cl/passport.ts +++ b/src/cl/passport.ts @@ -26,6 +26,15 @@ const impl: Validator = { name: 'Chilean Passport Number', localName: 'Pasaporte chileno', abbreviation: 'Passport', + examples: ['12345678', 'A1234567'], + formats: [ + 'cnnnnnnc', + 'cnnnnnc', + 'cnnnnnnnc', + 'nnnnnn', + 'cnnnnnnnnc', + 'annnnnnnnnc', + ], compact(input: string): string { const [value, err] = clean(input); @@ -68,5 +77,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/cl/run.ts b/src/cl/run.ts index 22a4f488..036a5b50 100644 --- a/src/cl/run.ts +++ b/src/cl/run.ts @@ -9,5 +9,13 @@ const impl: Validator = { abbreviation: 'RUN', }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/cl/rut.ts b/src/cl/rut.ts index 2deec69e..fc1cda00 100644 --- a/src/cl/rut.ts +++ b/src/cl/rut.ts @@ -33,6 +33,8 @@ const impl: Validator = { name: 'Chilean National Tax Number', localName: 'Rol Único Tributario ', abbreviation: 'RUT', + examples: ['125319092', '77272305'], + formats: ['nn.nnn.nnn-c', 'n.nnn.nnn-c'], compact(input: string): string { const [value, err] = clean(input); @@ -93,5 +95,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/cm/passport.ts b/src/cm/passport.ts index daff7840..3c3ab94f 100644 --- a/src/cm/passport.ts +++ b/src/cm/passport.ts @@ -26,6 +26,8 @@ const impl: Validator = { name: 'Cameroonian Passport Number', localName: 'Passeport camerounais', abbreviation: 'PASSPORT', + examples: ['123456789', 'PA1234567'], + formats: ['ccccccccc'], compact(input: string): string { const [value, err] = clean(input); @@ -68,5 +70,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/cn/passport.ts b/src/cn/passport.ts index 827e57e8..01d0f7fb 100644 --- a/src/cn/passport.ts +++ b/src/cn/passport.ts @@ -27,6 +27,8 @@ const impl: Validator = { name: 'Chinese Passport Number', localName: '中国护照', abbreviation: 'Passport', + examples: ['EA1234567', 'G12345678'], + formats: ['acnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -69,5 +71,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/cn/ric.ts b/src/cn/ric.ts index dac054a3..95ee2c2b 100644 --- a/src/cn/ric.ts +++ b/src/cn/ric.ts @@ -45,6 +45,8 @@ const impl: Validator = { name: 'Chinese Resident Identity Card Number', localName: '居民身份证', abbreviation: 'RIC No', + examples: ['360426199101010071'], + formats: ['nnnnnnnnnnnnnnnnnc'], compact(input: string): string { const [value, err] = clean(input); @@ -102,5 +104,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/cn/uscc.ts b/src/cn/uscc.ts index bf4b8832..7d399280 100644 --- a/src/cn/uscc.ts +++ b/src/cn/uscc.ts @@ -54,6 +54,8 @@ const impl: Validator = { name: 'Chinese Unified Social Credit Code', localName: '统一社会信用代码', abbreviation: 'USCC', + examples: ['91110000600037341L', '91340600MA2PBP2120', '911522010783762860'], + formats: ['nnnnnnnncccccccccc'], compact(input: string): string { const [value, err] = clean(input); @@ -106,5 +108,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/co/nit.ts b/src/co/nit.ts index e0f2d379..26213b0a 100644 --- a/src/co/nit.ts +++ b/src/co/nit.ts @@ -24,6 +24,16 @@ const impl: Validator = { name: 'Colombian Tax Identification Number', localName: 'Número de Identificación Tributaria', abbreviation: 'NIT', + examples: ['2131234321', '10184648519'], + formats: [ + 'nnn.nnn.nnn-n', + 'nnn.nnn.nnn-nn', + 'nnn.nnn.nnn-nnn', + 'nnn.nnn.nnn-nnnn', + 'nnn.nnn.nnn-nnnnn', + 'nnn.nnn.nnn-nnnnnn', + 'nnn.nnn.nnn-nnnnnnn', + ], compact(input: string): string { const [value, err] = clean(input); @@ -81,5 +91,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/co/passport.ts b/src/co/passport.ts index 7afd52ab..637dd6cb 100644 --- a/src/co/passport.ts +++ b/src/co/passport.ts @@ -29,6 +29,8 @@ const impl: Validator = { name: 'Colombian Passport Number', localName: 'Pasaporte colombiano', abbreviation: 'Passport', + examples: ['123456789', 'PS123456'], + formats: ['cccccccc', 'ccccccccc'], compact(input: string): string { const [value, err] = clean(input); @@ -71,5 +73,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/cr/cpf.ts b/src/cr/cpf.ts index 01516f53..f65fc2bf 100644 --- a/src/cr/cpf.ts +++ b/src/cr/cpf.ts @@ -48,6 +48,8 @@ const impl: Validator = { name: 'Costa Rica Physical Person ID Number', localName: 'Cédula de Persona Física', abbreviation: 'CPF', + examples: ['0701610395'], + formats: ['nn-nnnn-nnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -89,5 +91,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/cr/cpj.ts b/src/cr/cpj.ts index 48001e1b..7bdee8fb 100644 --- a/src/cr/cpj.ts +++ b/src/cr/cpj.ts @@ -61,6 +61,8 @@ const impl: Validator = { name: 'Costa Rica Tax Number', localName: 'Cédula de Persona Jurídica', abbreviation: 'CPJ', + examples: ['4000042138'], + formats: ['n-nnn-nnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -107,5 +109,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/cr/cr.ts b/src/cr/cr.ts index 5db8bda1..95f1f2f8 100644 --- a/src/cr/cr.ts +++ b/src/cr/cr.ts @@ -30,6 +30,8 @@ const impl: Validator = { name: 'Costa Rica Foreigners ID Number', localName: 'Cédula de Residencia', abbreviation: 'CR', + examples: ['122200569906', '15581299481'], + formats: ['nnnnnnnnnnnn', 'nnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -71,5 +73,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/cr/passport.ts b/src/cr/passport.ts index 9aeeaefc..796fb387 100644 --- a/src/cr/passport.ts +++ b/src/cr/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Costa Rican Passport Number', localName: 'Pasaporte costarricense', abbreviation: 'Passport', + examples: ['AB123456'], + formats: ['aannnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/cu/ni.ts b/src/cu/ni.ts index 9e4f7101..6be078a2 100644 --- a/src/cu/ni.ts +++ b/src/cu/ni.ts @@ -16,6 +16,8 @@ const impl: Validator = { name: 'Cuban Identity Card Number', localName: 'Número de Identidad', abbreviation: 'NI', + examples: ['91021027775'], + formats: ['nnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -70,5 +72,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/cu/passport.ts b/src/cu/passport.ts index 151918b9..e57205ec 100644 --- a/src/cu/passport.ts +++ b/src/cu/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Cuban Passport Number', localName: 'Pasaporte cubano', abbreviation: 'Passport', + examples: ['C123456'], + formats: ['annnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/cw/tin.ts b/src/cw/tin.ts index 0c1e20bd..371ed61e 100644 --- a/src/cw/tin.ts +++ b/src/cw/tin.ts @@ -23,6 +23,8 @@ const impl: Validator = { name: 'Curaçao Tax Identification Number', localName: 'Persoonsnummer', abbreviation: 'TIN', + examples: ['123456789'], + formats: ['nnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -62,5 +64,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/cy/passport.ts b/src/cy/passport.ts index 310f7218..ad19165f 100644 --- a/src/cy/passport.ts +++ b/src/cy/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Cypriot Passport Number', localName: 'Κυπριακό διαβατήριο', abbreviation: 'Passport', + examples: ['K123456', 'L12345678'], + formats: ['annnnnn', 'annnnnnnn', 'annnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/cy/vat.ts b/src/cy/vat.ts index 666be513..29b0466d 100644 --- a/src/cy/vat.ts +++ b/src/cy/vat.ts @@ -42,6 +42,8 @@ const impl: Validator = { name: 'Cypriot VAT Number', localName: 'Αριθμός Εγγραφής Φ.Π.Α.', abbreviation: 'ΦΠΑ', + examples: ['10259033P'], + formats: ['nnnnnnnna'], compact(input: string): string { const [value, err] = clean(input); @@ -98,5 +100,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/cz/dic.ts b/src/cz/dic.ts index fbf5f204..99644ef1 100644 --- a/src/cz/dic.ts +++ b/src/cz/dic.ts @@ -65,6 +65,8 @@ const impl: Validator = { name: 'Czech VAT Number', localName: 'Daňové identifikační číslo', abbreviation: 'DIČ', + examples: ['25123891', '687836437'], + formats: ['nnnnnnnn', 'nnnnnnnnn', 'nnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -128,5 +130,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/cz/ico.ts b/src/cz/ico.ts index d56112ad..a1c15a27 100644 --- a/src/cz/ico.ts +++ b/src/cz/ico.ts @@ -32,6 +32,8 @@ const impl: Validator = { name: 'Czech Company Identification Number', localName: 'Identifikační číslo osoby', abbreviation: 'IČO', + examples: ['25596641'], + formats: ['nnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -77,5 +79,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/cz/passport.ts b/src/cz/passport.ts index b3a6b743..bd7d5f8a 100644 --- a/src/cz/passport.ts +++ b/src/cz/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Czech Passport Number', localName: 'Cestovní pas', abbreviation: 'Passport', + examples: ['12345678'], + formats: ['nnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/cz/rc.ts b/src/cz/rc.ts index 01c5381b..bf441ed2 100644 --- a/src/cz/rc.ts +++ b/src/cz/rc.ts @@ -33,6 +33,8 @@ const impl: Validator = { name: 'Czech Birth Number', localName: 'Rodné číslo', abbreviation: 'RČ', + examples: ['7103192745', '991231123'], + formats: ['nnnnnn/nnnn', 'nnnnnn/nnn'], compact(input: string): string { const [value, err] = clean(input); @@ -101,5 +103,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/de/idnr.ts b/src/de/idnr.ts index 033c25c0..d538e0f5 100644 --- a/src/de/idnr.ts +++ b/src/de/idnr.ts @@ -26,6 +26,8 @@ const impl: Validator = { name: 'German Personal Tax Number', localName: 'Steuerliche Identifikationsnummer', abbreviation: 'IdNr', + examples: ['36574261809'], + formats: ['nn nnn nnn nnn'], compact(input: string): string { const [value, err] = clean(input); @@ -87,5 +89,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/de/passport.ts b/src/de/passport.ts index 21aab626..0cebb46f 100644 --- a/src/de/passport.ts +++ b/src/de/passport.ts @@ -29,6 +29,8 @@ const impl: Validator = { name: 'German Passport Number', localName: 'Ausweisen', abbreviation: 'Passport', + examples: ['C01X00T47', 'C01X00T478', 'CZ6311T472D'], + formats: ['acccccccc', 'accccccccc', 'accccccccna', 'annnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -87,5 +89,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/de/pwnr.ts b/src/de/pwnr.ts index 21356182..0566acad 100644 --- a/src/de/pwnr.ts +++ b/src/de/pwnr.ts @@ -154,6 +154,12 @@ const impl: Validator = { name: 'German Personalausweisnummer', localName: 'Personalausweisnummer', abbreviation: 'PwNr', + examples: [ + 'T22000129364081252010315D4', + '122000129764081251710319D8', + '2406055684', + ], + formats: ['cccccccccn nnnnnnn nnnnnnn a n', 'cccccccccn', 'cccccccccn a'], compact(input: string): string { const [value, err] = clean(input); @@ -186,5 +192,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/de/stnr.ts b/src/de/stnr.ts index 337d7196..c4cd72be 100644 --- a/src/de/stnr.ts +++ b/src/de/stnr.ts @@ -123,6 +123,8 @@ const impl: Validator = { name: 'German Tax Number', localName: 'Steuernummer', abbreviation: ' St.-Nr.', + examples: ['18181508155', '1420331601'], + formats: ['nnn/nnn/nnnn n', 'nn/nnn/nnnn n'], compact(input: string): string { const [value, err] = clean(input); @@ -176,5 +178,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/de/svnr.ts b/src/de/svnr.ts index 538afa61..a482bfba 100644 --- a/src/de/svnr.ts +++ b/src/de/svnr.ts @@ -83,6 +83,8 @@ const impl: Validator = { name: 'German Pension Insurance Number', localName: 'Sozialversicherungsnummer', abbreviation: 'SVNR', + examples: ['15070649C103'], + formats: ['nn nnnnnn a nnn'], compact(input: string): string { const [value, err] = clean(input); @@ -154,5 +156,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/de/vat.ts b/src/de/vat.ts index 357fab70..c05466d9 100644 --- a/src/de/vat.ts +++ b/src/de/vat.ts @@ -28,6 +28,8 @@ const impl: Validator = { name: 'German VAT Number', localName: 'Umsatzsteuer Identifikationsnummer', abbreviation: 'USt ID Nr.', + examples: ['136695976'], + formats: ['nnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -70,5 +72,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/dk/cpr.ts b/src/dk/cpr.ts index 34194fdf..17338818 100644 --- a/src/dk/cpr.ts +++ b/src/dk/cpr.ts @@ -64,6 +64,8 @@ const impl: Validator = { name: 'Danish Citizen Number', localName: 'Personnummer', abbreviation: 'CPR', + examples: ['2110625629'], + formats: ['nnnnnn-nnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -125,5 +127,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/dk/cvr.ts b/src/dk/cvr.ts index 7ab7f58e..c3949235 100644 --- a/src/dk/cvr.ts +++ b/src/dk/cvr.ts @@ -28,6 +28,8 @@ const impl: Validator = { name: 'Danish VAT Number', localName: 'Momsregistreringsnummer', abbreviation: 'CVR', + examples: ['13585628'], + formats: ['nnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -77,5 +79,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/dk/passport.ts b/src/dk/passport.ts index 92e320ec..31421549 100644 --- a/src/dk/passport.ts +++ b/src/dk/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Danish Passport Number', localName: 'Dansk pas', abbreviation: 'Passport', + examples: ['123456789'], + formats: ['nnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/dm/passport.ts b/src/dm/passport.ts index e3cee03c..b489c9b1 100644 --- a/src/dm/passport.ts +++ b/src/dm/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Dominican Passport Number', localName: 'Dominican passport', abbreviation: 'PASSPORT', + examples: ['A1234567', 'AB1234567', 'RA123456'], + formats: ['acnnnnnn', 'aannnnnnn', 'annnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/do/cedula.ts b/src/do/cedula.ts index e7142a0d..5ad505e7 100644 --- a/src/do/cedula.ts +++ b/src/do/cedula.ts @@ -25,6 +25,8 @@ function clean(input: string): ReturnType { const impl: Validator = { name: 'Dominican Republic National Identification Number', localName: 'Cedula', + examples: ['00113918205'], + formats: ['nnn-nnnnnnn-n'], compact(input: string): string { const [value, err] = clean(input); @@ -75,5 +77,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/do/ncf.ts b/src/do/ncf.ts index e213aa03..99c81b08 100644 --- a/src/do/ncf.ts +++ b/src/do/ncf.ts @@ -64,6 +64,8 @@ const impl: Validator = { name: 'Dominican Republic Receipt Number', localName: 'Números de Comprobante Fiscal', abbreviation: 'NCF', + examples: ['E310000000005', 'B0100000005', 'A020010210100000005'], + formats: ['annnnnnnnnnnn', 'annnnnnnnnn', 'annnnnnnnnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -129,5 +131,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/do/passport.ts b/src/do/passport.ts index d31426d9..20277631 100644 --- a/src/do/passport.ts +++ b/src/do/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Dominican Passport Number', localName: 'Pasaporte dominicano', abbreviation: 'Passport', + examples: ['SD1234567'], + formats: ['aannnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/do/rnc.ts b/src/do/rnc.ts index 65e6bf5d..f88ddf3e 100644 --- a/src/do/rnc.ts +++ b/src/do/rnc.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Dominican Republic Tax Number', localName: 'Registro Nacional del Contribuyente', abbreviation: 'RNC', + examples: ['101850043'], + formats: ['n-nn-nnnnn-n'], compact(input: string): string { const [value, err] = clean(input); @@ -82,5 +84,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/dz/nif.ts b/src/dz/nif.ts index 003bed9b..f20cc6a8 100644 --- a/src/dz/nif.ts +++ b/src/dz/nif.ts @@ -37,6 +37,8 @@ const impl: Validator = { name: 'Algeria tax number', localName: "Numéro d'Identification Fiscale", abbreviation: 'NIF', + examples: ['00021600180833713010', '416001000000007'], + formats: ['nnnnnnnnnnnnnnnnnnnn', 'nnnnnnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -76,5 +78,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/dz/passport.ts b/src/dz/passport.ts index 09dca1f1..053c93fa 100644 --- a/src/dz/passport.ts +++ b/src/dz/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Algerian Passport Number', localName: 'جواز سفر جزائري', abbreviation: 'Passport', + examples: ['123456789'], + formats: ['nnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ec/ci.ts b/src/ec/ci.ts index a3f4cd5a..e0f850b3 100644 --- a/src/ec/ci.ts +++ b/src/ec/ci.ts @@ -30,6 +30,8 @@ const impl: Validator = { name: 'Ecuadorian Personal Identity Code', localName: 'Cédula de Identidad', abbreviation: 'CI', + examples: ['1714307103'], + formats: ['nnnnnnnnn-n'], compact(input: string): string { const [value, err] = clean(input); @@ -88,5 +90,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ec/passport.ts b/src/ec/passport.ts index 5dd33014..dc9af07c 100644 --- a/src/ec/passport.ts +++ b/src/ec/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Ecuadorian Passport Number', localName: 'Pasaporte ecuatoriano', abbreviation: 'Passport', + examples: ['A12345678', 'AB1234567'], + formats: ['ccccccccc'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ec/ruc.ts b/src/ec/ruc.ts index 6334e334..ffde7443 100644 --- a/src/ec/ruc.ts +++ b/src/ec/ruc.ts @@ -32,6 +32,8 @@ const impl: Validator = { name: 'Ecuadorian Company Tax Number', localName: 'Registro Único de Contribuyentes', abbreviation: 'RUC', + examples: ['1792060346001'], + formats: ['nnnnnnnnnn-nnn'], compact(input: string): string { const [value, err] = clean(input); @@ -102,5 +104,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ee/ik.ts b/src/ee/ik.ts index af5d0488..899cf02e 100644 --- a/src/ee/ik.ts +++ b/src/ee/ik.ts @@ -71,6 +71,8 @@ const impl: Validator = { name: 'Estonian Personal ID Number', localName: 'Isikukood', abbreviation: 'IK', + examples: ['36805280109'], + formats: ['nnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -116,5 +118,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ee/kmkr.ts b/src/ee/kmkr.ts index 9de368fd..5bd95036 100644 --- a/src/ee/kmkr.ts +++ b/src/ee/kmkr.ts @@ -23,6 +23,8 @@ const impl: Validator = { name: 'Estronian VAT Number', localName: 'Käibemaksukohuslase', abbreviation: 'KMKR', + examples: ['100931558'], + formats: ['nnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -72,5 +74,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ee/passport.ts b/src/ee/passport.ts index 071a8048..24ecf0a7 100644 --- a/src/ee/passport.ts +++ b/src/ee/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Estonian Passport Number', localName: 'Eesti pass', abbreviation: 'Passport', + examples: ['K1234567', 'KG1234567'], + formats: ['annnnnnn', 'aannnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ee/registrikood.ts b/src/ee/registrikood.ts index d17946bd..ac30222f 100644 --- a/src/ee/registrikood.ts +++ b/src/ee/registrikood.ts @@ -30,6 +30,8 @@ function clean(input: string): ReturnType { const impl: Validator = { name: 'Estonian Organisation Registration Code', localName: 'Registrikood', + examples: ['12345678'], + formats: ['nnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -76,5 +78,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/eg/passport.ts b/src/eg/passport.ts index 43f63919..ad15cf71 100644 --- a/src/eg/passport.ts +++ b/src/eg/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Egyptian Passport Number', localName: 'جواز سفر مصري', abbreviation: 'Passport', + examples: ['A12345678'], + formats: ['annnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/eg/tn.ts b/src/eg/tn.ts index d9bc9802..4e000e97 100644 --- a/src/eg/tn.ts +++ b/src/eg/tn.ts @@ -52,6 +52,8 @@ const impl: Validator = { name: 'Tax Registration Number', localName: 'الرقم الضريبي', abbreviation: 'TN', + examples: ['100531385'], + formats: ['nnn-nnn-nnn'], compact(input: string): string { const [value, err] = clean(input); @@ -92,5 +94,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/es/cif.ts b/src/es/cif.ts index 3dcf8a96..76c66776 100644 --- a/src/es/cif.ts +++ b/src/es/cif.ts @@ -27,6 +27,8 @@ const impl: Validator = { name: 'Spanish Company Tax Number', localName: 'Código de Identificación Fiscal', abbreviation: 'CIF', + examples: ['J99216582', 'Q2876031B'], + formats: ['a-nnnnnnn-c'], compact(input: string): string { const [value, err] = clean(input); @@ -80,5 +82,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/es/dni.ts b/src/es/dni.ts index 594a03cd..14503e13 100644 --- a/src/es/dni.ts +++ b/src/es/dni.ts @@ -31,6 +31,8 @@ const impl: Validator = { name: 'Spanish Personal Identify Code', localName: 'Documento Nacional de Identidad', abbreviation: 'DNI', + examples: ['54362315K', 'K1234567L'], + formats: ['cnnnnnnn-a'], compact(input: string): string { const [value, err] = clean(input); @@ -83,5 +85,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/es/nie.ts b/src/es/nie.ts index 45f0410e..5097fa1d 100644 --- a/src/es/nie.ts +++ b/src/es/nie.ts @@ -26,6 +26,8 @@ const impl: Validator = { name: 'Spanish Foreign Number', localName: 'Número de Identificación de Extranjero', abbreviation: 'NIE', + examples: ['X2482300W'], + formats: ['a-nnnnnnn-a'], compact(input: string): string { const [value, err] = clean(input); @@ -75,5 +77,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/es/nif.ts b/src/es/nif.ts index 9754d7b7..e5248094 100644 --- a/src/es/nif.ts +++ b/src/es/nif.ts @@ -36,6 +36,8 @@ const impl: Validator = { name: 'Spanish VAT Number', localName: 'Número de Identificación Fiscal', abbreviation: 'NIF', + examples: ['B58378431', '54362315K', 'X5253868R'], + formats: ['c-nnnnnnnc'], compact(input: string): string { const [value, err] = clean(input); @@ -94,5 +96,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/es/nss.ts b/src/es/nss.ts index a4d1fbea..60952c04 100644 --- a/src/es/nss.ts +++ b/src/es/nss.ts @@ -80,6 +80,8 @@ const impl: Validator = { name: 'Spanish Social Security Number', localName: 'Número de Seguridad Social', abbreviation: 'NSS', + examples: ['281234567840'], + formats: ['nn-nnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -128,5 +130,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/es/passport.ts b/src/es/passport.ts index adfb7597..476bdae7 100644 --- a/src/es/passport.ts +++ b/src/es/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Spanish Passport Number', localName: 'Pasaporte español', abbreviation: 'Passport', + examples: ['AB1234561', 'XY123456'], + formats: ['cccnnnnnn', 'ccnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/et/nid.ts b/src/et/nid.ts index e8936e1c..f5c3ed18 100644 --- a/src/et/nid.ts +++ b/src/et/nid.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Fayda Identification Number', localName: 'ፋይዳ', abbreviation: 'FIN', + examples: ['123456789012'], + formats: ['nnnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/et/passport.ts b/src/et/passport.ts index c752f18f..5c25b814 100644 --- a/src/et/passport.ts +++ b/src/et/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Ethiopian Passport Number', localName: 'የኢትዮጵያ ፓስፖርት', abbreviation: 'PASSPORT', + examples: ['E123456', 'EP1234567'], + formats: ['Ennnnnn', 'Ennnnnnn', 'Eannnnnn', 'Eannnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/examples.spec.ts b/src/examples.spec.ts new file mode 100644 index 00000000..c9cd1923 --- /dev/null +++ b/src/examples.spec.ts @@ -0,0 +1,68 @@ +import { stdnum } from './index'; +import * as ean from './gen/ean'; +import { Validator } from './types'; + +// Every validator documents at least one example number and the patterns its +// format() output follows (n = digit, a = letter A-Z, c = digit or letter A-Z, +// anything else is literal). See issue #108. + +function patternToRegExp(pattern: string): RegExp { + const body = [...pattern] + .map(ch => { + if (ch === 'n') return '[0-9]'; + if (ch === 'a') return '[A-Z]'; + if (ch === 'c') return '[0-9A-Z]'; + + return ch.replace(/[.*+?^${}()|[\]\\/-]/g, '\\$&'); + }) + .join(''); + + return new RegExp(`^${body}$`); +} + +const validators: [string, Validator][] = [ + ...Object.entries(stdnum).flatMap(([country, numbers]) => + Object.entries(numbers).map(([key, validator]): [string, Validator] => [ + `${country.toLowerCase()}/${key}`, + validator, + ]), + ), + ['gen/ean', ean], +]; + +describe('validator examples and formats', () => { + it('finds the validators', () => { + expect(validators.length).toBeGreaterThan(300); + }); + + it('converts a pattern to a regular expression', () => { + expect(patternToRegExp('nnn.nnn.nnn-nn').test('390.533.447-05')).toBe(true); + expect(patternToRegExp('nnn.nnn.nnn-nn').test('390x533.447-05')).toBe( + false, + ); + expect(patternToRegExp('CHE-nnn').test('CHE-123')).toBe(true); + expect(patternToRegExp('CHE-nnn').test('CHX-123')).toBe(false); + expect(patternToRegExp('ac').test('A1')).toBe(true); + expect(patternToRegExp('ac').test('1A')).toBe(false); + }); + + describe.each(validators)('%s', (_, validator) => { + const { examples = [], formats = [] } = validator; + + it('has examples and formats', () => { + expect(examples.length).toBeGreaterThan(0); + expect(formats.length).toBeGreaterThan(0); + }); + + it.each(examples)('example %s is valid and compact', example => { + expect(validator.validate(example).isValid).toBe(true); + expect(validator.compact(example)).toEqual(example); + }); + + it.each(examples)('format(%s) matches a declared format', example => { + const formatted = validator.format(example); + + expect(formats.some(f => patternToRegExp(f).test(formatted))).toBe(true); + }); + }); +}); diff --git a/src/fi/alv.ts b/src/fi/alv.ts index e66c0043..cbc553a1 100644 --- a/src/fi/alv.ts +++ b/src/fi/alv.ts @@ -26,6 +26,8 @@ const impl: Validator = { name: 'Finnish VAT Number', localName: 'Arvonlisäveronumero Mervärdesskattenummer', abbreviation: 'ALV nro', + examples: ['20774740'], + formats: ['nnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -72,5 +74,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/fi/hetu.ts b/src/fi/hetu.ts index afc14125..6a011e59 100644 --- a/src/fi/hetu.ts +++ b/src/fi/hetu.ts @@ -42,6 +42,8 @@ const impl: Validator = { name: 'Finnish Personal Identity Code', localName: 'Henkilötunnus', abbreviation: 'HETU', + examples: ['131052-308T', '131022B3082', '131052X308T'], + formats: ['nnnnnn-nnnc', 'nnnnnnannnc'], compact(input: string): string { const [value, err] = clean(input); @@ -112,5 +114,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/fi/passport.ts b/src/fi/passport.ts index 408ee912..58f92229 100644 --- a/src/fi/passport.ts +++ b/src/fi/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Finnish Passport Number', localName: 'Suomalainen passi', abbreviation: 'Passport', + examples: ['AB1234567'], + formats: ['aannnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/fi/ytunnus.ts b/src/fi/ytunnus.ts index 5348f337..26f63916 100644 --- a/src/fi/ytunnus.ts +++ b/src/fi/ytunnus.ts @@ -18,6 +18,8 @@ const impl: Validator = { name: 'Finnish Business Identifier', localName: 'Yritys- ja yhteisötunnus', abbreviation: 'Y-tunnus', + examples: ['20774740'], + formats: ['nnnnnnn-n'], compact(input: string): string { const [value, err] = clean(input); @@ -45,5 +47,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/fj/passport.ts b/src/fj/passport.ts index 2072471a..7cbaafee 100644 --- a/src/fj/passport.ts +++ b/src/fj/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Fijian Passport Number', localName: 'Fijian passport', abbreviation: 'PASSPORT', + examples: ['1234567', '123456'], + formats: ['nnnnnnn', 'nnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/fj/tin.ts b/src/fj/tin.ts index f5d13bf2..4779c2ff 100644 --- a/src/fj/tin.ts +++ b/src/fj/tin.ts @@ -41,6 +41,8 @@ const impl: Validator = { name: 'Fiji Tax Identification Number', localName: 'Tax Identification Number', abbreviation: 'TIN', + examples: ['501234567', '2912345678'], + formats: ['nnnnnnnnn', 'nnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -99,5 +101,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/fo/passport.ts b/src/fo/passport.ts index 5cd45a86..03005929 100644 --- a/src/fo/passport.ts +++ b/src/fo/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Faroe Islands Passport Number', localName: 'Føroyskt pass', abbreviation: 'Passport', + examples: ['123456789'], + formats: ['nnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/fo/vn.ts b/src/fo/vn.ts index 41c4a434..bab21502 100644 --- a/src/fo/vn.ts +++ b/src/fo/vn.ts @@ -27,6 +27,8 @@ const impl: Validator = { name: 'Vinnutal', localName: 'NAME', abbreviation: 'VN', + examples: ['623857'], + formats: ['nnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/fr/nif.ts b/src/fr/nif.ts index 8f15ff2b..e4ece4a9 100644 --- a/src/fr/nif.ts +++ b/src/fr/nif.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'French Tax Identification Number', localName: "Numéro d'Immatriculation Fiscale", abbreviation: 'NIF', + examples: ['3023217600053'], + formats: ['nn nn nnn nnn nnn'], compact(input: string): string { const [value, err] = clean(input); @@ -78,5 +80,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/fr/nir.ts b/src/fr/nir.ts index e440d3df..e7edcd36 100644 --- a/src/fr/nir.ts +++ b/src/fr/nir.ts @@ -33,6 +33,8 @@ const impl: Validator = { name: 'French Personal Identification Number', localName: 'Numéro d’Inscription au RNIPP', abbreviation: 'NIR', + examples: ['295109912611193', '186022A21532523'], + formats: ['n nn nn nc nnn nnn nn'], compact(input: string): string { const [value, err] = clean(input); @@ -97,5 +99,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/fr/passport.ts b/src/fr/passport.ts index fcbc8d3e..2f7be460 100644 --- a/src/fr/passport.ts +++ b/src/fr/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'French Passport Number', localName: 'Passeport français', abbreviation: 'Passport', + examples: ['12AB34567'], + formats: ['nnaannnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/fr/siren.ts b/src/fr/siren.ts index 1e1f952f..5e43c5cc 100644 --- a/src/fr/siren.ts +++ b/src/fr/siren.ts @@ -21,6 +21,8 @@ const impl: Validator = { name: 'French Company Identification Number', localName: "Système d'Identification du Répertoire des Entreprises", abbreviation: 'SIREN', + examples: ['552008443'], + formats: ['nnn nnn nnn'], compact(input: string): string { const [value, err] = clean(input); @@ -64,5 +66,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/fr/siret.ts b/src/fr/siret.ts index d9fbd165..bd535cd1 100644 --- a/src/fr/siret.ts +++ b/src/fr/siret.ts @@ -26,6 +26,8 @@ const impl: Validator = { name: 'French Company Establishment Identification Number', localName: "Système d'Identification du Répertoire des Établissements", abbreviation: 'SIRET', + examples: ['73282932000074'], + formats: ['nnn nnn nnn nnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -82,5 +84,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/fr/tva.ts b/src/fr/tva.ts index bea8320e..94c1bb14 100644 --- a/src/fr/tva.ts +++ b/src/fr/tva.ts @@ -37,6 +37,8 @@ const impl: Validator = { name: 'French VAT Number', localName: "Numéro d'Identification à la Taxe sur la Valeur Ajoutée", abbreviation: 'n°TVA', + examples: ['40303265045', 'K7399859412', '4Z123456782'], + formats: ['cc nnn nnn nnn'], compact(input: string): string { const [value, err] = clean(input); @@ -121,5 +123,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/gb/nino.ts b/src/gb/nino.ts index 584a5976..dd1269e6 100644 --- a/src/gb/nino.ts +++ b/src/gb/nino.ts @@ -27,9 +27,9 @@ function validLength(value: string): boolean { } function isValidPrefix(prefix: string): boolean { - const invalidChars = ["D", "F", "I", "Q", "U", "V"]; - const invalidSecondChar = "O"; - const invalidPrefixes = ["BG", "GB", "KN", "NK", "NT", "TN", "ZZ"]; + const invalidChars = ['D', 'F', 'I', 'Q', 'U', 'V']; + const invalidSecondChar = 'O'; + const invalidPrefixes = ['BG', 'GB', 'KN', 'NK', 'NT', 'TN', 'ZZ']; if (invalidChars.includes(prefix[0]) || invalidChars.includes(prefix[1])) { return false; @@ -54,6 +54,8 @@ const impl: Validator = { name: 'United Kingdom National Insurance Number', localName: 'National Insurance Number', abbreviation: 'NINO', + examples: ['HH012345D', 'HH012345'], + formats: ['aannnnnna', 'aannnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -93,5 +95,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/gb/passport.ts b/src/gb/passport.ts index acb9fc4e..facc69e8 100644 --- a/src/gb/passport.ts +++ b/src/gb/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'British Passport Number', localName: 'British Passport', abbreviation: 'Passport', + examples: ['987654321'], + formats: ['nnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/gb/utr.ts b/src/gb/utr.ts index f9785f5c..a46614d8 100644 --- a/src/gb/utr.ts +++ b/src/gb/utr.ts @@ -23,6 +23,8 @@ const impl: Validator = { name: 'United Kingdom Unique Taxpayer Reference', localName: 'Unique Taxpayer Reference', abbreviation: 'UTR', + examples: ['1955839661'], + formats: ['nnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -72,5 +74,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/gb/vat.ts b/src/gb/vat.ts index be4c8b57..72b8dccd 100644 --- a/src/gb/vat.ts +++ b/src/gb/vat.ts @@ -29,6 +29,15 @@ const impl: Validator = { name: 'United Kingdom (and Isle of Man) VAT Number', localName: 'Value Added Tax Registration Number', abbreviation: 'VAT Reg No', + examples: ['980780684', 'GD100'], + formats: [ + 'nnn nnnn nn', + 'nnn nnnn nnnnn', + 'GDn nn', + 'HAn nn', + 'GD8 888n nnnn', + 'HA8 888n nnnn', + ], compact(input: string): string { const [value, err] = clean(input); @@ -108,5 +117,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/gd/passport.ts b/src/gd/passport.ts index c43fefbd..b1f65fa7 100644 --- a/src/gd/passport.ts +++ b/src/gd/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Grenadian Passport Number', localName: 'Grenadian passport', abbreviation: 'PASSPORT', + examples: ['A123456'], + formats: ['annnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/gd/tin.ts b/src/gd/tin.ts index 45d71246..a4c1c98c 100644 --- a/src/gd/tin.ts +++ b/src/gd/tin.ts @@ -23,6 +23,8 @@ const impl: Validator = { name: 'Grenada Tax Identification Number', localName: 'Tax Identification Number', abbreviation: 'TIN', + examples: ['123456'], + formats: ['nnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -62,5 +64,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ge/nid.ts b/src/ge/nid.ts index e6a2355d..15f06b7a 100644 --- a/src/ge/nid.ts +++ b/src/ge/nid.ts @@ -26,6 +26,8 @@ const impl: Validator = { name: 'Personal Number', localName: 'პირადი ნომერი', abbreviation: 'NID', + examples: ['01234567890'], + formats: ['nnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -68,5 +70,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ge/passport.ts b/src/ge/passport.ts index faec6aec..b112984c 100644 --- a/src/ge/passport.ts +++ b/src/ge/passport.ts @@ -26,6 +26,8 @@ const impl: Validator = { name: 'Georgian Passport Number', localName: 'საქართველოს პასპორტი', abbreviation: 'PASSPORT', + examples: ['12345678', '123456789', '12AB34567'], + formats: ['nnnnnnnn', 'nnccnnnnc'], compact(input: string): string { const [value, err] = clean(input); @@ -68,5 +70,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ge/tin.ts b/src/ge/tin.ts index f3b1aed3..64c210c1 100644 --- a/src/ge/tin.ts +++ b/src/ge/tin.ts @@ -26,6 +26,8 @@ const impl: Validator = { name: 'Georgian Tax Identification Number', localName: 'საგადასახადო საიდენტიფიკაციო ნომერი', abbreviation: 'TIN', + examples: ['123456789', '01234567890'], + formats: ['nnnnnnnnn', 'nnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/gen/ean.ts b/src/gen/ean.ts index c8a1d5f7..bf6318ce 100644 --- a/src/gen/ean.ts +++ b/src/gen/ean.ts @@ -18,6 +18,8 @@ const impl: Validator = { name: 'International Article Number', localName: 'International Article Number', abbreviation: 'EAN', + examples: ['73513537', '9780471117094', '98412345678908'], + formats: ['nnnnnnnn', 'nnnnnnnnnnnnn', 'nnnnnnnnnnnnnn', 'nnnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/gh/passport.ts b/src/gh/passport.ts index 7cc6456b..9484f967 100644 --- a/src/gh/passport.ts +++ b/src/gh/passport.ts @@ -26,6 +26,8 @@ const impl: Validator = { name: 'Ghanaian Passport Number', localName: 'Ghana Passport', abbreviation: 'Passport', + examples: ['G1234567', 'AA123456'], + formats: ['acnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -68,5 +70,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/gh/tin.ts b/src/gh/tin.ts index 0cdf6329..346a0907 100644 --- a/src/gh/tin.ts +++ b/src/gh/tin.ts @@ -39,6 +39,8 @@ const impl: Validator = { name: 'Taxpayer Identification Number', localName: '', abbreviation: 'TIN', + examples: ['C0000803561', 'C001095242X'], + formats: ['annnnnnnnnc'], compact(input: string): string { const [value, err] = clean(input); @@ -90,5 +92,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/gn/nifp.ts b/src/gn/nifp.ts index 25f27b0a..8955e707 100644 --- a/src/gn/nifp.ts +++ b/src/gn/nifp.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: "Numéro d'Identification Fiscale Permanent", localName: '', abbreviation: 'NIFP', + examples: ['693770885'], + formats: ['nnn-nnn-nnn'], compact(input: string): string { const [value, err] = clean(input); @@ -68,5 +70,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/gn/passport.ts b/src/gn/passport.ts index 2b02d478..a0c80bc3 100644 --- a/src/gn/passport.ts +++ b/src/gn/passport.ts @@ -29,6 +29,8 @@ const impl: Validator = { name: 'Guinean Passport Number', localName: 'Passeport guinéen', abbreviation: 'Passport', + examples: ['D12345678'], + formats: ['cnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -71,5 +73,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/gr/amka.ts b/src/gr/amka.ts index 9ba9fcbf..8a9dbbcc 100644 --- a/src/gr/amka.ts +++ b/src/gr/amka.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Greek Social Security Number', localName: 'Αριθμός Μητρώου Κοινωνικής Ασφάλισης', abbreviation: 'AMKA', + examples: ['01013099997'], + formats: ['nnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -72,5 +74,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/gr/passport.ts b/src/gr/passport.ts index 50c2d4a9..bac3a759 100644 --- a/src/gr/passport.ts +++ b/src/gr/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Greek Passport Number', localName: 'Ελληνικό διαβατήριο', abbreviation: 'Passport', + examples: ['AB1234567'], + formats: ['aannnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/gr/vat.ts b/src/gr/vat.ts index 013f0746..4193b917 100644 --- a/src/gr/vat.ts +++ b/src/gr/vat.ts @@ -31,6 +31,8 @@ const impl: Validator = { name: 'Greek VAT Number', localName: 'Αριθμός Φορολογικού Μητρώου', abbreviation: 'ΑΦΜ', + examples: ['023456780'], + formats: ['nnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -80,5 +82,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/gt/cui.ts b/src/gt/cui.ts index f1fd9b9e..5ba7e3a8 100644 --- a/src/gt/cui.ts +++ b/src/gt/cui.ts @@ -48,6 +48,8 @@ const impl: Validator = { name: 'Guatemala Identity Number', localName: 'Código Único de Identificación', abbreviation: 'CUI', + examples: ['1587564440904'], + formats: ['nnnn-nnnnn-nnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -106,5 +108,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/gt/nit.ts b/src/gt/nit.ts index a03d1e73..303e7e9a 100644 --- a/src/gt/nit.ts +++ b/src/gt/nit.ts @@ -28,6 +28,20 @@ const impl: Validator = { name: 'Guatemala Tax Number', localName: 'Número de Identificación Tributaria', abbreviation: 'NIT', + examples: ['39525503', '576937K', '71080'], + formats: [ + 'nnnnnnn-c', + 'nnnnnn-c', + 'nnnn-c', + 'nnnnnnnn-c', + 'nnnnn-c', + 'nnn-c', + 'nnnnnnnnn-c', + 'nn-c', + 'nnnnnnnnnn-c', + 'n-c', + 'nnnnnnnnnnn-c', + ], compact(input: string): string { const [value, err] = clean(input); @@ -82,5 +96,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/gt/passport.ts b/src/gt/passport.ts index 88447c5c..04b9cf94 100644 --- a/src/gt/passport.ts +++ b/src/gt/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Guatemalan Passport Number', localName: 'Pasaporte guatemalteco', abbreviation: 'Passport', + examples: ['123456789'], + formats: ['nnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/gy/passport.ts b/src/gy/passport.ts index 06f1b001..00f2fce7 100644 --- a/src/gy/passport.ts +++ b/src/gy/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Guyanese Passport Number', localName: 'Guyanese passport', abbreviation: 'PASSPORT', + examples: ['R1234567'], + formats: ['annnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/hk/hkid.ts b/src/hk/hkid.ts index aebd1a11..ea305095 100644 --- a/src/hk/hkid.ts +++ b/src/hk/hkid.ts @@ -30,6 +30,8 @@ const impl: Validator = { name: 'Hong Kong Identity Card Number', localName: '香港身份證', abbreviation: 'HKID', + examples: ['AB9876543', 'G123456A', 'A5555550'], + formats: ['aannnnnnc', 'annnnnnc'], compact(input: string): string { const [value, err] = clean(input); @@ -86,5 +88,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/hk/passport.ts b/src/hk/passport.ts index 8830b281..47cf2da6 100644 --- a/src/hk/passport.ts +++ b/src/hk/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Hong Kong Passport Number', localName: '香港特區護照', abbreviation: 'Passport', + examples: ['A1234567', 'AB123456C'], + formats: ['annnnnnc', 'acnnnnncc', 'aannnnnncc'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/hr/oib.ts b/src/hr/oib.ts index 8db66372..104e8893 100644 --- a/src/hr/oib.ts +++ b/src/hr/oib.ts @@ -21,6 +21,8 @@ const impl: Validator = { name: 'Croatian Personal Identification Number', localName: 'Osobni Identifikacijski Broj', abbreviation: 'OIB', + examples: ['33392005961'], + formats: ['nnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -63,5 +65,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/hr/passport.ts b/src/hr/passport.ts index 45e2e0b3..2e75c890 100644 --- a/src/hr/passport.ts +++ b/src/hr/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Croatian Passport Number', localName: 'Hrvatski putovnica', abbreviation: 'Passport', + examples: ['123456789'], + formats: ['nnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ht/passport.ts b/src/ht/passport.ts index efe7ab88..217a1164 100644 --- a/src/ht/passport.ts +++ b/src/ht/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Haitian Passport Number', localName: 'Passeport haïtien', abbreviation: 'PASSPORT', + examples: ['RL123456', 'PP1234567', 'R12345678'], + formats: ['aannnnnn', 'acnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/hu/anum.ts b/src/hu/anum.ts index f2e9a55a..7d9f4852 100644 --- a/src/hu/anum.ts +++ b/src/hu/anum.ts @@ -20,6 +20,8 @@ const impl: Validator = { name: 'Hugarian VAT Number', localName: 'Közösségi Adószám', abbreviation: 'ANUM', + examples: ['12892312'], + formats: ['nnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/hu/passport.ts b/src/hu/passport.ts index 91a4b779..73fe69c0 100644 --- a/src/hu/passport.ts +++ b/src/hu/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Hungarian Passport Number', localName: 'Magyar útlevél', abbreviation: 'Passport', + examples: ['AB123456'], + formats: ['aannnnnn', 'aannnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/id/nik.ts b/src/id/nik.ts index 24b8aef7..00b9e598 100644 --- a/src/id/nik.ts +++ b/src/id/nik.ts @@ -78,6 +78,8 @@ const impl: Validator = { name: 'Indonesian Identity Number', localName: 'Nomor Induk Kependudukan', abbreviation: 'NIK', + examples: ['3273015708900001'], + formats: ['nnnnnnnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -131,5 +133,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/id/npwp.ts b/src/id/npwp.ts index ddaa8e38..81cacc01 100644 --- a/src/id/npwp.ts +++ b/src/id/npwp.ts @@ -42,6 +42,8 @@ const impl: Validator = { name: 'Indonesian VAT Number', localName: 'Nomor Pokok Wajib Pajak', abbreviation: 'NPWP', + examples: ['013000666091000', '0016090524017000'], + formats: ['nn.nnn.nnn.n-nnn.nnn', 'nnnnnnnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -97,5 +99,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/id/passport.ts b/src/id/passport.ts index cacfd45f..bee065e8 100644 --- a/src/id/passport.ts +++ b/src/id/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Indonesian Passport Number', localName: 'Paspor Indonesia', abbreviation: 'Passport', + examples: ['A123456', 'AB1234567'], + formats: ['annnnnn', 'aannnnnnn', 'acnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ie/passport.ts b/src/ie/passport.ts index 5f2fb5d8..57c07069 100644 --- a/src/ie/passport.ts +++ b/src/ie/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Irish Passport Number', localName: 'Passeport Éireannach', abbreviation: 'Passport', + examples: ['PA1234567'], + formats: ['ccnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ie/pps.ts b/src/ie/pps.ts index ca4132f3..d546f0dc 100644 --- a/src/ie/pps.ts +++ b/src/ie/pps.ts @@ -30,6 +30,8 @@ const impl: Validator = { name: 'Irish Personal Number', localName: 'Personal Public Service Number', abbreviation: 'PPS', + examples: ['6433435F', '6433435FT'], + formats: ['nnnnnnna', 'nnnnnnnaa'], compact(input: string): string { const [value, err] = clean(input); @@ -78,5 +80,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ie/vat.ts b/src/ie/vat.ts index dd054654..43e4f116 100644 --- a/src/ie/vat.ts +++ b/src/ie/vat.ts @@ -40,6 +40,8 @@ const impl: Validator = { name: 'Irish VAT Number', localName: 'Cáin Bhreisluacha', abbreviation: 'CBL', + examples: ['6433435OA', '6433435F', '8D79739I'], + formats: ['ncnnnnnaa', 'ncnnnnna'], compact(input: string): string { const [value, err] = clean(input); @@ -95,5 +97,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/il/hp.ts b/src/il/hp.ts index a5310173..d8e7e191 100644 --- a/src/il/hp.ts +++ b/src/il/hp.ts @@ -26,6 +26,8 @@ const impl: Validator = { name: 'Israeli Company Number', localName: 'מספר חברה', abbreviation: 'ח.פ.', + examples: ['516179157'], + formats: ['nnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -71,5 +73,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/il/idnr.ts b/src/il/idnr.ts index 3d117d31..2adf3c39 100644 --- a/src/il/idnr.ts +++ b/src/il/idnr.ts @@ -24,6 +24,17 @@ function clean(input: string): ReturnType { const impl: Validator = { name: 'Israeli Identify Number', localName: 'Mispar Zehut, מספר זהות', + examples: ['39337423'], + formats: [ + 'nnnnnnnn-n', + 'nnnnnnn-n', + 'nnnnnn-n', + 'nnnnn-n', + 'nnnn-n', + 'nnn-n', + 'nn-n', + 'n-n', + ], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +77,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/il/passport.ts b/src/il/passport.ts index 48213d4c..fb089234 100644 --- a/src/il/passport.ts +++ b/src/il/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Israeli Passport Number', localName: 'דרכון ישראלי', abbreviation: 'Passport', + examples: ['12345678'], + formats: ['nnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/in/aadhaar.ts b/src/in/aadhaar.ts index f61159ff..72948e1b 100644 --- a/src/in/aadhaar.ts +++ b/src/in/aadhaar.ts @@ -33,6 +33,8 @@ function clean(input: string): ReturnType { const impl: Validator = { name: 'Indian Digital Resident Personal Identity Number', localName: 'Aadhaar', + examples: ['234123412346'], + formats: ['nnnn nnnn nnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -81,5 +83,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/in/epic.ts b/src/in/epic.ts index 5d07831b..57082116 100644 --- a/src/in/epic.ts +++ b/src/in/epic.ts @@ -35,6 +35,8 @@ const impl: Validator = { name: 'Electoral Photo Identity Card', localName: '', abbreviation: 'EPIC', + examples: ['WKH1186253'], + formats: ['aaannnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -81,5 +83,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/in/gstin.ts b/src/in/gstin.ts index 4706c3af..6f49dffd 100644 --- a/src/in/gstin.ts +++ b/src/in/gstin.ts @@ -80,6 +80,8 @@ const impl: Validator = { name: 'Indian VAT Number', localName: 'Goods and Services Tax Identification Number', abbreviation: 'GSTIN', + examples: ['27AAPFU0939F1ZV', '29AAGCB7383J1Z4'], + formats: ['nnaaaaannnnacZc'], compact(input: string): string { const [value, err] = clean(input); @@ -152,5 +154,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/in/pan.ts b/src/in/pan.ts index bbb843db..c3e0c0ae 100644 --- a/src/in/pan.ts +++ b/src/in/pan.ts @@ -44,6 +44,8 @@ const impl: Validator = { name: 'Indian Income Tax Identifier', localName: 'Permanent Account Number', abbreviation: 'PAN', + examples: ['AAPPV8261K'], + formats: ['aaaaannnna'], compact(input: string): string { const [value, err] = clean(input); @@ -89,5 +91,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/in/passport.ts b/src/in/passport.ts index 24beb3ae..93bf9633 100644 --- a/src/in/passport.ts +++ b/src/in/passport.ts @@ -28,6 +28,8 @@ const impl: Validator = { name: 'Indian Passport Number', localName: 'भारतीय पासपोर्ट', abbreviation: 'Passport', + examples: ['K1234567'], + formats: ['annnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -70,5 +72,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/in/vid.ts b/src/in/vid.ts index e8d8affd..a8090602 100644 --- a/src/in/vid.ts +++ b/src/in/vid.ts @@ -31,6 +31,8 @@ const impl: Validator = { name: 'Indian personal virtual identity number', localName: 'Indian personal virtual identity number', abbreviation: 'VIN', + examples: ['2341234123412341'], + formats: ['nnnn nnnn nnnn nnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -80,5 +82,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/is/kennitala.ts b/src/is/kennitala.ts index 399f513f..d788f805 100644 --- a/src/is/kennitala.ts +++ b/src/is/kennitala.ts @@ -26,6 +26,8 @@ function clean(input: string): ReturnType { const impl: Validator = { name: 'Icelandic Identity Code', localName: 'Kennitala', + examples: ['4504013150'], + formats: ['nnnnnn-nnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -88,5 +90,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/is/passport.ts b/src/is/passport.ts index 2c46f393..6d03ad2b 100644 --- a/src/is/passport.ts +++ b/src/is/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Icelandic Passport Number', localName: 'Íslenskt vegabref', abbreviation: 'Passport', + examples: ['A1234567'], + formats: ['Annnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/is/vsk.ts b/src/is/vsk.ts index 41513384..bc3f8dcf 100644 --- a/src/is/vsk.ts +++ b/src/is/vsk.ts @@ -18,6 +18,8 @@ const impl: Validator = { name: 'Icelandic VAT Number', localName: 'Virðisaukaskattsnúmer', abbreviation: 'VSK', + examples: ['00621'], + formats: ['nnnnn', 'nnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -56,5 +58,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/it/aic.ts b/src/it/aic.ts index 8da5368b..734ff77f 100644 --- a/src/it/aic.ts +++ b/src/it/aic.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Italian Code for Identification of Drugs', localName: 'Autorizzazione all’Immissione in Commercio', abbreviation: 'AIC', + examples: ['000307052', '009CVD'], + formats: ['nnnnnnnnn', 'nccccc'], compact(input: string): string { const [value, err] = clean(input); @@ -98,5 +100,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/it/codicefiscale.ts b/src/it/codicefiscale.ts index caecc9ee..29b7579b 100644 --- a/src/it/codicefiscale.ts +++ b/src/it/codicefiscale.ts @@ -131,6 +131,8 @@ const impl: Validator = { name: 'Italian Tax Code', localName: 'Codice Fiscale', abbreviation: 'CF', + examples: ['RCCMNL83S18D969H', '01234560017'], + formats: ['aaaaaaccaccaccca', 'nnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -194,5 +196,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/it/iva.ts b/src/it/iva.ts index 2e3b4a2f..a4c111bf 100644 --- a/src/it/iva.ts +++ b/src/it/iva.ts @@ -15,6 +15,8 @@ const impl: Validator = { name: 'Italian VAT Number', localName: 'Partita Imposta sul Valore Aggiunto', abbreviation: 'P.IVA', + examples: ['00743110157'], + formats: ['nnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -61,5 +63,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/it/passport.ts b/src/it/passport.ts index e6bc9a00..2d9e15a9 100644 --- a/src/it/passport.ts +++ b/src/it/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Italian Passport Number', localName: 'Passaporto italiano', abbreviation: 'Passport', + examples: ['AA1234567', '1A1234567'], + formats: ['ccnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/jm/passport.ts b/src/jm/passport.ts index 49ef92ad..a8aa7cb7 100644 --- a/src/jm/passport.ts +++ b/src/jm/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Jamaican Passport Number', localName: 'Jamaican passport', abbreviation: 'PASSPORT', + examples: ['A1234567'], + formats: ['annnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/jm/tin.ts b/src/jm/tin.ts index b8d1355f..13d7fa7b 100644 --- a/src/jm/tin.ts +++ b/src/jm/tin.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Taxpayer Registration Number', localName: 'Taxpayer Registration Number', abbreviation: 'TRN', + examples: ['123456789'], + formats: ['nnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/jp/cn.ts b/src/jp/cn.ts index cd717d56..d0d83981 100644 --- a/src/jp/cn.ts +++ b/src/jp/cn.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Japanese Corporate Number', localName: '法人番号 (hōjin bangō)', abbreviation: 'CN', + examples: ['5835678256246'], + formats: ['n-nnnn-nnnn-nnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -73,5 +75,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/jp/passport.ts b/src/jp/passport.ts index b2be59b1..1a7b5e67 100644 --- a/src/jp/passport.ts +++ b/src/jp/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Japanese Passport Number', localName: '日本国旅券', abbreviation: 'Passport', + examples: ['TR1234567'], + formats: ['aannnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ke/passport.ts b/src/ke/passport.ts index ff03102c..ec23777f 100644 --- a/src/ke/passport.ts +++ b/src/ke/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Kenyan Passport Number', localName: 'Kenyan Passport', abbreviation: 'Passport', + examples: ['A1234567', 'AK123456'], + formats: ['acnnnnnn', 'annnnnn', 'acnnnnnnn', 'aannnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ke/pin.ts b/src/ke/pin.ts index 8ab65f61..6c2e81ce 100644 --- a/src/ke/pin.ts +++ b/src/ke/pin.ts @@ -33,6 +33,8 @@ const impl: Validator = { name: 'Personal Identification Number', localName: '', abbreviation: 'PIN', + examples: ['P051365947M'], + formats: ['annnnnnnnna'], compact(input: string): string { const [value, err] = clean(input); @@ -73,5 +75,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/kh/passport.ts b/src/kh/passport.ts index 04697ed9..bbd87f7f 100644 --- a/src/kh/passport.ts +++ b/src/kh/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Cambodian Passport Number', localName: 'លិខណៈកម្មដេកល្ខ', abbreviation: 'PASSPORT', + examples: ['N1234567', 'N12345678'], + formats: ['annnnnnn', 'annnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/kn/passport.ts b/src/kn/passport.ts index f01c9bdd..bf689fdb 100644 --- a/src/kn/passport.ts +++ b/src/kn/passport.ts @@ -26,6 +26,8 @@ const impl: Validator = { name: 'Kittitian and Nevisian Passport Number', localName: 'Saint Kitts and Nevis passport', abbreviation: 'PASSPORT', + examples: ['R123456', 'RE1234567', 'RE123456'], + formats: ['annnnnn', 'aannnnnnn', 'acnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -68,5 +70,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/kr/brn.ts b/src/kr/brn.ts index 23dfe47a..545b3ace 100644 --- a/src/kr/brn.ts +++ b/src/kr/brn.ts @@ -32,6 +32,8 @@ const impl: Validator = { name: 'South Korean Business Registration Number', localName: '사업자 등록 번호', abbreviation: 'BRN', + examples: ['1168200276'], + formats: ['nnn-nn-nnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -94,5 +96,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/kr/passport.ts b/src/kr/passport.ts index 45c7083c..12c8d448 100644 --- a/src/kr/passport.ts +++ b/src/kr/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'South Korean Passport Number', localName: '대한민국 여권', abbreviation: 'Passport', + examples: ['M12345678', 'M123A4567'], + formats: ['annncnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/kr/rrn.ts b/src/kr/rrn.ts index 6be9bd97..7e97a3ce 100644 --- a/src/kr/rrn.ts +++ b/src/kr/rrn.ts @@ -56,6 +56,8 @@ const impl: Validator = { name: 'South Korean Resident Registration Number', localName: '주민등록번호', abbreviation: 'RRN', + examples: ['9710139019902'], + formats: ['nnnnnn-nnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -123,5 +125,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/kz/passport.ts b/src/kz/passport.ts index f973d19f..bccba4f0 100644 --- a/src/kz/passport.ts +++ b/src/kz/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Kazakhstani Passport Number', localName: 'Қазақстан паспорты', abbreviation: 'PASSPORT', + examples: ['N12345678', 'A1234567'], + formats: ['annnnnnnn', 'annnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/la/passport.ts b/src/la/passport.ts index 3c2e0cdf..c5e3b947 100644 --- a/src/la/passport.ts +++ b/src/la/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Laotian Passport Number', localName: 'ພັດທະນາລາວ', abbreviation: 'PASSPORT', + examples: ['P1234567'], + formats: ['annnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/lb/passport.ts b/src/lb/passport.ts index 60f3153d..ab0c4073 100644 --- a/src/lb/passport.ts +++ b/src/lb/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Lebanese Passport Number', localName: 'جواز سفر لبناني', abbreviation: 'PASSPORT', + examples: ['LR1234567', '123456'], + formats: ['aannnnnnn', 'nnnnnn', 'nnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/lc/passport.ts b/src/lc/passport.ts index d3b8a1a9..0577b24b 100644 --- a/src/lc/passport.ts +++ b/src/lc/passport.ts @@ -26,6 +26,8 @@ const impl: Validator = { name: 'Saint Lucian Passport Number', localName: 'Saint Lucian passport', abbreviation: 'PASSPORT', + examples: ['A123456', 'RA123456'], + formats: ['annnnnn', 'aannnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -68,5 +70,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/li/passport.ts b/src/li/passport.ts index 1446bf6d..c2ec7cc9 100644 --- a/src/li/passport.ts +++ b/src/li/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Liechtenstein Passport Number', localName: 'Liechtenstein Pass', abbreviation: 'Passport', + examples: ['R12345'], + formats: ['annnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/li/peid.ts b/src/li/peid.ts index 7a987d7a..e6933284 100644 --- a/src/li/peid.ts +++ b/src/li/peid.ts @@ -29,6 +29,18 @@ const impl: Validator = { name: 'Liechtenstein Tax Code', localName: 'Personenidentifikationsnummer', abbreviation: 'PEID', + examples: ['1234567'], + formats: [ + 'nnnnnnn', + 'nnnnnn', + 'nnnnnnnn', + 'nnnnn', + 'nnnnnnnnn', + 'nnnn', + 'nnnnnnnnnn', + 'nnnnnnnnnnn', + 'nnnnnnnnnnnn', + ], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +79,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/lk/nic.ts b/src/lk/nic.ts index a75a5637..ca930bcc 100644 --- a/src/lk/nic.ts +++ b/src/lk/nic.ts @@ -1,15 +1,14 @@ /** * The National Identity Card (abbreviation: NIC) is the identity document in use in Sri Lanka. * It is compulsory for all Sri Lankan citizens who are fifteen years of age and older to have their NICs. - * NICs are issued by the Department for Registration of Persons. + * NICs are issued by the Department for Registration of Persons. * The Registration of Persons Act No.32 of 1968 as amended by Act Nos 28 and 37 of 1971 and Act No.11 of 1981 legislates the issuance and usage of NICs. * - * + * * source: * https://en.wikipedia.org/wiki/National_identity_card_(Sri_Lanka) */ - import * as exceptions from '../exceptions'; import { strings } from '../util'; import { Validator, ValidateReturn } from '../types'; @@ -21,6 +20,8 @@ function clean(input: string): ReturnType { const impl: Validator = { name: 'Sri Lankan National Identity Card Number', localName: 'NIC Number', + examples: ['199439848733', '942281632V'], + formats: ['nnnnnnnnnnnn', 'nnnnnnnnnv', 'nnnnnnnnnx'], compact(input: string): string { const [value, err] = clean(input); @@ -44,13 +45,16 @@ const impl: Validator = { return { isValid: false, error }; } - if(value.length!==10 && value.length!==12 ){ + if (value.length !== 10 && value.length !== 12) { return { isValid: false, error: new exceptions.InvalidLength() }; } // Check if NIC matches the specified patterns (check for both old format & new format ) if (!/^[\d]{9}[vVxX]$|^[\d]{12}$/.test(value)) { - return { isValid: false, error: new exceptions.InvalidFormat('Invalid NIC format') }; + return { + isValid: false, + error: new exceptions.InvalidFormat('Invalid NIC format'), + }; } return { @@ -62,4 +66,5 @@ const impl: Validator = { }, }; -export const { name, localName, validate, format, compact } = impl; \ No newline at end of file +export const { name, localName, examples, formats, validate, format, compact } = + impl; diff --git a/src/lk/passport.ts b/src/lk/passport.ts index ceea6044..b7325ee9 100644 --- a/src/lk/passport.ts +++ b/src/lk/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Sri Lankan Passport Number', localName: 'ශ්රී ලංකා ගුවන් බලපත්රය', abbreviation: 'Passport', + examples: ['N1234567', 'OL123456'], + formats: ['acnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/lt/asmens.ts b/src/lt/asmens.ts index db0ccfe0..0a7295d7 100644 --- a/src/lt/asmens.ts +++ b/src/lt/asmens.ts @@ -27,6 +27,8 @@ function clean(input: string): ReturnType { const impl: Validator = { name: 'Lithuanian Personal Code', localName: 'Asmens Kodas', + examples: ['33309240064'], + formats: ['nnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -72,5 +74,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/lt/passport.ts b/src/lt/passport.ts index 89bc9ba6..17d369f0 100644 --- a/src/lt/passport.ts +++ b/src/lt/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Lithuanian Passport Number', localName: 'Lietuvos pasas', abbreviation: 'Passport', + examples: ['12345678', 'AB123456'], + formats: ['cccccccc'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/lt/pvm.ts b/src/lt/pvm.ts index b9a2c608..2ebff827 100644 --- a/src/lt/pvm.ts +++ b/src/lt/pvm.ts @@ -22,6 +22,8 @@ const impl: Validator = { name: 'Lithuanian VAT Number', localName: 'Pridėtinės Vertės Mokestis Mokėtojo Kodas', abbreviation: 'PVM Kodas', + examples: ['119511515', '100001919017'], + formats: ['nnnnnnnnn', 'nnnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -71,5 +73,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/lu/passport.ts b/src/lu/passport.ts index 52812888..33a1a2ad 100644 --- a/src/lu/passport.ts +++ b/src/lu/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Luxembourgish Passport Number', localName: 'Lëtzebuerger Pass', abbreviation: 'Passport', + examples: ['JC4E7L2H', 'AB123456'], + formats: ['cccccccc', 'ccccccc'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/lu/tva.ts b/src/lu/tva.ts index 8ecdbeab..0f1a0149 100644 --- a/src/lu/tva.ts +++ b/src/lu/tva.ts @@ -22,6 +22,8 @@ const impl: Validator = { name: 'Luxembourgian VAT Number', localName: "Numéro d'Identification à la Taxe sur la Valeur Ajoutée", abbreviation: 'n° TVA', + examples: ['15027442'], + formats: ['nnn nnn nn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/lv/passport.ts b/src/lv/passport.ts index c5a25a65..300203b9 100644 --- a/src/lv/passport.ts +++ b/src/lv/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Latvian Passport Number', localName: 'Latvijas pase', abbreviation: 'Passport', + examples: ['LZ1234567'], + formats: ['ccnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/lv/pvn.ts b/src/lv/pvn.ts index 6ff73a7e..d4684eef 100644 --- a/src/lv/pvn.ts +++ b/src/lv/pvn.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Latvian VAT Number', localName: 'Pievienotās Vērtības Nodokļa', abbreviation: 'PVN', + examples: ['40003521600', '16117519997'], + formats: ['nnnn nnnn nnn', 'nnnnnn-nnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -103,5 +105,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ma/ice.ts b/src/ma/ice.ts index bafda7f1..a269e825 100644 --- a/src/ma/ice.ts +++ b/src/ma/ice.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Moroccan Company Establishment Identification Number', localName: "Identifiant Commun de l'Entreprises", abbreviation: 'ICE', + examples: ['001512572000078'], + formats: ['nnnnnnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -68,5 +70,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ma/ice9.ts b/src/ma/ice9.ts index b16a8bce..007fd528 100644 --- a/src/ma/ice9.ts +++ b/src/ma/ice9.ts @@ -20,6 +20,8 @@ function clean(input: string): ReturnType { const impl: Validator = { name: 'Moroccan Company Number', localName: "Numero d'Entreprise", + examples: ['001512572'], + formats: ['nnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -58,5 +60,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ma/passport.ts b/src/ma/passport.ts index abdaeef2..338ae37c 100644 --- a/src/ma/passport.ts +++ b/src/ma/passport.ts @@ -26,6 +26,8 @@ const impl: Validator = { name: 'Moroccan Passport Number', localName: 'جواز سفر مغربي', abbreviation: 'Passport', + examples: ['AB123456', 'UZ1234567'], + formats: ['acnnnnnn', 'aannnnnnn', 'annnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -68,5 +70,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/mc/passport.ts b/src/mc/passport.ts index 727c953a..4fe99a8e 100644 --- a/src/mc/passport.ts +++ b/src/mc/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Monégasque Passport Number', localName: 'Passeport monégasque', abbreviation: 'Passport', + examples: ['AB123456'], + formats: ['aannnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/mc/tva.ts b/src/mc/tva.ts index 5c3c91d8..600a42e3 100644 --- a/src/mc/tva.ts +++ b/src/mc/tva.ts @@ -23,6 +23,8 @@ const impl: Validator = { name: 'Monacan VAT Number', localName: "Numéro d'Identification à la Taxe sur la Valeur Ajoutée", abbreviation: 'n° TVA', + examples: ['53000004605'], + formats: ['ccnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -63,5 +65,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/md/idno.ts b/src/md/idno.ts index 356ab6e5..d71f4c1e 100644 --- a/src/md/idno.ts +++ b/src/md/idno.ts @@ -26,6 +26,8 @@ const impl: Validator = { name: 'Moldavian Company Identification Number', localName: 'Unique State Identification Number', abbreviation: 'IDNO', + examples: ['1008600038413'], + formats: ['nnnnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -74,5 +76,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/md/passport.ts b/src/md/passport.ts index 13f8b834..b79cc724 100644 --- a/src/md/passport.ts +++ b/src/md/passport.ts @@ -26,6 +26,8 @@ const impl: Validator = { name: 'Moldovan Passport Number', localName: 'Pașaport moldovenesc', abbreviation: 'Passport', + examples: ['A1234567', 'AB123456', 'AB1234567'], + formats: ['acnnnnnn', 'aannnnnnn', 'annnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -68,5 +70,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/me/jmbg.ts b/src/me/jmbg.ts index 25fc99ef..e23f87ed 100644 --- a/src/me/jmbg.ts +++ b/src/me/jmbg.ts @@ -13,5 +13,13 @@ const impl: Validator = { abbreviation: 'ЈМБГ', }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/me/passport.ts b/src/me/passport.ts index 38825e46..b6e930a1 100644 --- a/src/me/passport.ts +++ b/src/me/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Montenegrin Passport Number', localName: 'Crnogorski pasoš', abbreviation: 'Passport', + examples: ['123456789'], + formats: ['nnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/me/pib.ts b/src/me/pib.ts index 9db55fe0..93544e31 100644 --- a/src/me/pib.ts +++ b/src/me/pib.ts @@ -22,6 +22,8 @@ const impl: Validator = { name: 'Montenegro tax number', localName: 'Poreski Identifikacioni Broj', abbreviation: 'PIB', + examples: ['02000989'], + formats: ['nnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -73,5 +75,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/mk/edb.ts b/src/mk/edb.ts index c71df01d..4e9ce8ed 100644 --- a/src/mk/edb.ts +++ b/src/mk/edb.ts @@ -27,6 +27,8 @@ const impl: Validator = { name: 'NAME', localName: 'NAME', abbreviation: 'EDB', + examples: ['4020990116747'], + formats: ['nnnnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -84,5 +86,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/mk/jmbg.ts b/src/mk/jmbg.ts index 3c191582..b3c4c342 100644 --- a/src/mk/jmbg.ts +++ b/src/mk/jmbg.ts @@ -13,5 +13,13 @@ const impl: Validator = { abbreviation: 'ЕМБГ', }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/mk/passport.ts b/src/mk/passport.ts index cd2c83df..6cae7a86 100644 --- a/src/mk/passport.ts +++ b/src/mk/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'North Macedonian Passport Number', localName: 'Македонски пасош', abbreviation: 'Passport', + examples: ['A1234567'], + formats: ['annnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/mn/passport.ts b/src/mn/passport.ts index 14d1cfc8..bdc5d530 100644 --- a/src/mn/passport.ts +++ b/src/mn/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Mongolian Passport Number', localName: 'Монголын паспорты', abbreviation: 'PASSPORT', + examples: ['AB1234567'], + formats: ['aannnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/mt/passport.ts b/src/mt/passport.ts index 37662d77..fd2a070e 100644 --- a/src/mt/passport.ts +++ b/src/mt/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Maltese Passport Number', localName: 'Passaport Malti', abbreviation: 'Passport', + examples: ['1234567'], + formats: ['nnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/mt/vat.ts b/src/mt/vat.ts index cfccd66a..150c4ed6 100644 --- a/src/mt/vat.ts +++ b/src/mt/vat.ts @@ -19,6 +19,8 @@ const impl: Validator = { name: 'Maltese VAT Number', localName: 'Vat Reg. No.', abbreviation: 'Vat No.', + examples: ['11679112'], + formats: ['nnnn-nnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -65,5 +67,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/mu/nid.ts b/src/mu/nid.ts index db9a6551..eb7dafae 100644 --- a/src/mu/nid.ts +++ b/src/mu/nid.ts @@ -36,6 +36,8 @@ const impl: Validator = { name: 'Mauritian National Identifier', localName: 'National Identifier', abbreviation: 'NID', + examples: ['M090497290349B', 'L2207971502833'], + formats: ['annnnnnnnnnnnc'], compact(input: string): string { const [value, err] = clean(input); @@ -91,5 +93,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/mu/passport.ts b/src/mu/passport.ts index 3241e505..438300f7 100644 --- a/src/mu/passport.ts +++ b/src/mu/passport.ts @@ -26,6 +26,8 @@ const impl: Validator = { name: 'Mauritian Passport Number', localName: 'Passeport mauricien', abbreviation: 'Passport', + examples: ['A1234567'], + formats: ['annnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -68,5 +70,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/mx/clabe.ts b/src/mx/clabe.ts index 4028da72..e4c3a19f 100644 --- a/src/mx/clabe.ts +++ b/src/mx/clabe.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Mexican Standardized Bank Code', localName: 'Clave Bancaria Estandarizada', abbreviation: 'CLABE', + examples: ['002010077777777771'], + formats: ['nnnnnnnnnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -101,5 +103,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/mx/curp.ts b/src/mx/curp.ts index ef2a5b43..643f90c1 100644 --- a/src/mx/curp.ts +++ b/src/mx/curp.ts @@ -155,6 +155,8 @@ const impl: Validator = { name: 'Mexican Personal Identification', localName: 'Clave Única de Registro de Población', abbreviation: 'CURP', + examples: ['BOXW310820HNERXN09', 'MASI050805MVZRLRA8'], + formats: ['aaaannnnnnaaaaaacn'], compact(input: string): string { const [value, err] = clean(input); @@ -257,5 +259,13 @@ export function getBirthDate(input: string): Date | null { return validBirthdate(date) ? date : null; } -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/mx/passport.ts b/src/mx/passport.ts index 6c8e76d3..668b24af 100644 --- a/src/mx/passport.ts +++ b/src/mx/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Mexican Passport Number', localName: 'Pasaporte mexicano', abbreviation: 'Passport', + examples: ['G12345678'], + formats: ['annnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/mx/rfc.ts b/src/mx/rfc.ts index 1355bd1b..55aca870 100644 --- a/src/mx/rfc.ts +++ b/src/mx/rfc.ts @@ -84,6 +84,8 @@ const impl: Validator = { name: 'Mexican Tax Number', localName: 'Registro Federal de Contribuyentes', abbreviation: 'RFC', + examples: ['GODE561231GR8', 'MAB9307148T4', 'MHTR93041179A'], + formats: ['aaaa nnnnnn ccc', 'aaa nnnnnn ccc', 'aaaa nnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -147,5 +149,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/my/nric.ts b/src/my/nric.ts index ccc51d38..eae1873f 100644 --- a/src/my/nric.ts +++ b/src/my/nric.ts @@ -41,6 +41,8 @@ const impl: Validator = { name: 'Malaysian National Registration Identity Card Number', localName: 'National Registration Identity Card Number', abbreviation: 'NRIC No.', + examples: ['770305021234'], + formats: ['nnnnnn-nn-nnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -88,5 +90,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/my/passport.ts b/src/my/passport.ts index f98e0deb..a4b8a731 100644 --- a/src/my/passport.ts +++ b/src/my/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Malaysian Passport Number', localName: 'Pasport Malaysia', abbreviation: 'Passport', + examples: ['A12345678'], + formats: ['annnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/mz/bi.ts b/src/mz/bi.ts index d7644eb7..74eb2d6a 100644 --- a/src/mz/bi.ts +++ b/src/mz/bi.ts @@ -27,6 +27,8 @@ const impl: Validator = { name: 'Mozambican National Identity Document', localName: 'Bilhete de Identidade', abbreviation: 'BI', + examples: ['110504162779A'], + formats: ['nnnnnnnnnnnna'], compact(input: string): string { const [value, err] = clean(input); @@ -62,5 +64,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/mz/nuit.ts b/src/mz/nuit.ts index 96a839f8..2c2ab4e7 100644 --- a/src/mz/nuit.ts +++ b/src/mz/nuit.ts @@ -40,6 +40,8 @@ const impl: Validator = { name: 'Mozambican Tax Identification Number', localName: 'Número Único de Identificação Tributária', abbreviation: 'NUIT', + examples: ['107705694'], + formats: ['nnn nnn nnn'], compact(input: string): string { const [value, err] = clean(input); @@ -82,5 +84,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/mz/passport.ts b/src/mz/passport.ts index 6a897928..2ba74d75 100644 --- a/src/mz/passport.ts +++ b/src/mz/passport.ts @@ -26,6 +26,8 @@ const impl: Validator = { name: 'Mozambican Passport Number', localName: 'Passaporte moçambicano', abbreviation: 'Passport', + examples: ['AB1234567', 'AC123456'], + formats: ['aannnnnnn', 'aannnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -68,5 +70,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ng/nid.ts b/src/ng/nid.ts index 5a7dc7d2..ec70bfc8 100644 --- a/src/ng/nid.ts +++ b/src/ng/nid.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'National Identification Number', localName: 'National Identification Number', abbreviation: 'NIN', + examples: ['12345678901'], + formats: ['nnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ng/passport.ts b/src/ng/passport.ts index c4ec0c52..78cb0217 100644 --- a/src/ng/passport.ts +++ b/src/ng/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Nigerian Passport Number', localName: 'Nigerian passport', abbreviation: 'PASSPORT', + examples: ['A12345678'], + formats: ['annnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ng/tin.ts b/src/ng/tin.ts index eb0e382b..094a0e52 100644 --- a/src/ng/tin.ts +++ b/src/ng/tin.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Tax Identification Number', localName: 'Tax Identification Number', abbreviation: 'TIN', + examples: ['1234567890'], + formats: ['nnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/nl/bsn.ts b/src/nl/bsn.ts index 2acbcfa7..f2920ffd 100644 --- a/src/nl/bsn.ts +++ b/src/nl/bsn.ts @@ -36,6 +36,8 @@ const impl: Validator = { name: 'Dutch Citizen Identification Number', localName: 'Burgerservicenummer', abbreviation: 'BSN', + examples: ['111222333', '40645678'], + formats: ['nnnn.nn.nnn', 'nnnn.nn.nn'], compact(input: string): string { const [value, err] = clean(input); @@ -77,5 +79,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/nl/btw.ts b/src/nl/btw.ts index 4c3cc779..e189d0bc 100644 --- a/src/nl/btw.ts +++ b/src/nl/btw.ts @@ -40,6 +40,8 @@ const impl: Validator = { name: 'Dutch VAT Number', localName: 'Btw-identificatienummer', abbreviation: 'Btw-nr.', + examples: ['004495445B01'], + formats: ['nnnnnnnnnBnn'], compact(input: string): string { const [value, err] = clean(input); @@ -95,5 +97,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/nl/onderwijsnummer.ts b/src/nl/onderwijsnummer.ts index f4b520f9..733a4792 100644 --- a/src/nl/onderwijsnummer.ts +++ b/src/nl/onderwijsnummer.ts @@ -23,6 +23,8 @@ function clean(input: string): ReturnType { const impl: Validator = { name: 'Dutch Student Identification Number', localName: 'Onderwijsnummer', + examples: ['101222331'], + formats: ['nnnn.nn.nnn'], compact(input: string): string { const [value, err] = clean(input); @@ -73,5 +75,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/nl/passport.ts b/src/nl/passport.ts index 3f7701a8..90b3346e 100644 --- a/src/nl/passport.ts +++ b/src/nl/passport.ts @@ -26,6 +26,8 @@ const impl: Validator = { name: 'Dutch Passport Number', localName: 'Nederlands paspoort', abbreviation: 'Passport', + examples: ['AB1234567', 'NXKC8H3K9'], + formats: ['aaccccccn'], compact(input: string): string { const [value, err] = clean(input); @@ -68,5 +70,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/no/fodselsnummer.ts b/src/no/fodselsnummer.ts index 502dae3a..44f7c6ef 100644 --- a/src/no/fodselsnummer.ts +++ b/src/no/fodselsnummer.ts @@ -54,6 +54,8 @@ function checkBirthdate(value: string) { const impl: Validator = { name: 'Norwegian National Identity Number', localName: 'Fødselsnummer', + examples: ['15108695088'], + formats: ['nnnnnn nnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -114,5 +116,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/no/kontonr.ts b/src/no/kontonr.ts index 99c03a02..98ddcea4 100644 --- a/src/no/kontonr.ts +++ b/src/no/kontonr.ts @@ -26,6 +26,8 @@ const impl: Validator = { name: 'Norwegian Bank Account Number', localName: 'Kontonummer', abbreviation: 'Konto Nr.', + examples: ['86011117947'], + formats: ['nnnn.nn.nnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -80,5 +82,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/no/mva.ts b/src/no/mva.ts index 12f6d2b7..79981be0 100644 --- a/src/no/mva.ts +++ b/src/no/mva.ts @@ -23,6 +23,8 @@ const impl: Validator = { name: 'Norwegian VAT Number', localName: 'Merverdiavgift', abbreviation: 'MVA', + examples: ['995525828MVA'], + formats: ['NO nnn nnn nnn MVA'], compact(input: string): string { const [value, err] = clean(input); @@ -76,5 +78,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/no/orgnr.ts b/src/no/orgnr.ts index 61499db4..5de134b4 100644 --- a/src/no/orgnr.ts +++ b/src/no/orgnr.ts @@ -23,6 +23,8 @@ const impl: Validator = { name: 'Norwegian Organization Number', localName: 'Organisasjonsnummer', abbreviation: 'Orgnr', + examples: ['988077917'], + formats: ['nnn nnn nnn'], compact(input: string): string { const [value, err] = clean(input); @@ -71,5 +73,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/no/passport.ts b/src/no/passport.ts index 4520baa9..5693c9ac 100644 --- a/src/no/passport.ts +++ b/src/no/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Norwegian Passport Number', localName: 'Norsk pass', abbreviation: 'Passport', + examples: ['12345678', 'C1234567'], + formats: ['cccccccc', 'acccccccc'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/np/nid.ts b/src/np/nid.ts index 1b443883..1bad0629 100644 --- a/src/np/nid.ts +++ b/src/np/nid.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'National Identification Number', localName: 'राष्ट्रिय परिचयपत्र नम्बर (Rastriya Parichaya Patra Number)', abbreviation: 'NIN', + examples: ['1234567890'], + formats: ['nnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/np/passport.ts b/src/np/passport.ts index 5d7b793f..60dba047 100644 --- a/src/np/passport.ts +++ b/src/np/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Nepalese Passport Number', localName: 'नेपाली राहदानी', abbreviation: 'PASSPORT', + examples: ['08123456'], + formats: ['nnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/nz/bank.ts b/src/nz/bank.ts index be5d8fc0..0192a4be 100644 --- a/src/nz/bank.ts +++ b/src/nz/bank.ts @@ -179,6 +179,8 @@ function clean(input: string): ReturnType { const impl: Validator = { name: 'New Zealand Bank Account Number', localName: 'Bank Account Number', + examples: ['0109020068389000'], + formats: ['nn-nnnn-nnnnnnn-nnn'], compact(input: string): string { const [value, err] = clean(input); @@ -244,5 +246,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/nz/ird.ts b/src/nz/ird.ts index f6a5ead7..66f8024d 100644 --- a/src/nz/ird.ts +++ b/src/nz/ird.ts @@ -37,6 +37,8 @@ const impl: Validator = { name: 'Inland Revenue Department Number', localName: 'Te Tari Taake', abbreviation: 'IRD', + examples: ['49091850'], + formats: ['nn-nnn-nnn', 'nn-nnn-nnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -105,5 +107,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/nz/passport.ts b/src/nz/passport.ts index 0478edc6..4f0d219d 100644 --- a/src/nz/passport.ts +++ b/src/nz/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'New Zealand Passport Number', localName: 'New Zealand Passport', abbreviation: 'Passport', + examples: ['LA123456'], + formats: ['aannnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/om/passport.ts b/src/om/passport.ts index f993f772..81431316 100644 --- a/src/om/passport.ts +++ b/src/om/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Omani Passport Number', localName: 'جواز سفر عماني', abbreviation: 'PASSPORT', + examples: ['A1234567'], + formats: ['annnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/pe/ce.ts b/src/pe/ce.ts index 2d4ec872..cdd5e206 100644 --- a/src/pe/ce.ts +++ b/src/pe/ce.ts @@ -18,6 +18,8 @@ const impl: Validator = { name: 'Peruvian ID Card for Foreigners', localName: 'Carné de Extranjería', abbreviation: 'CE', + examples: ['001766062'], + formats: ['nnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -57,5 +59,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/pe/cui.ts b/src/pe/cui.ts index 5f4d19a9..41b686db 100644 --- a/src/pe/cui.ts +++ b/src/pe/cui.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Peruvian Personal Identification Card', localName: 'Cédula Única de Identidad', abbreviation: 'CUI', + examples: ['101174102', '10812543H'], + formats: ['nnnnnnnn-c', 'nnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -81,5 +83,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/pe/passport.ts b/src/pe/passport.ts index 46a42d7f..e9d31230 100644 --- a/src/pe/passport.ts +++ b/src/pe/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Peruvian Passport Number', localName: 'Pasaporte peruano', abbreviation: 'Passport', + examples: ['123456789'], + formats: ['nnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/pe/ruc.ts b/src/pe/ruc.ts index 68f155b5..b4b1fa9a 100644 --- a/src/pe/ruc.ts +++ b/src/pe/ruc.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Peruvian Company Tax Number', localName: 'Registro Único de Contribuyentes', abbreviation: 'RUC', + examples: ['20512333797'], + formats: ['nnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -80,5 +82,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/pg/passport.ts b/src/pg/passport.ts index 369d18b9..0042205f 100644 --- a/src/pg/passport.ts +++ b/src/pg/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Papua New Guinean Passport Number', localName: 'Papua New Guinean passport', abbreviation: 'PASSPORT', + examples: ['12345678'], + formats: ['nnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ph/passport.ts b/src/ph/passport.ts index 611a3c94..6a4678ff 100644 --- a/src/ph/passport.ts +++ b/src/ph/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Philippine Passport Number', localName: 'Pilipinas passport', abbreviation: 'PASSPORT', + examples: ['AB1234567', 'A1234567B'], + formats: ['acnnnnnnc', 'aannnnnn', 'annnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ph/tin.ts b/src/ph/tin.ts index b4ebea15..07161973 100644 --- a/src/ph/tin.ts +++ b/src/ph/tin.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Taxpayer Identification Number', localName: 'Taxpayer Identification Number', abbreviation: 'TIN', + examples: ['123456789', '123456789000'], + formats: ['nnnnnnnnn', 'nnnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/pk/cnic.ts b/src/pk/cnic.ts index 5b602414..2c1839a1 100644 --- a/src/pk/cnic.ts +++ b/src/pk/cnic.ts @@ -42,6 +42,8 @@ const impl: Validator = { name: 'Pakistani Computerized National Identification Number', localName: 'Computerized National Identification Number', abbreviation: 'CNIC', + examples: ['5410498905786'], + formats: ['nnnnn-nnnnnnn-n'], compact(input: string): string { const [value, err] = clean(input); @@ -93,5 +95,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/pk/ntn.ts b/src/pk/ntn.ts index dd155a2c..ee6a3bb7 100644 --- a/src/pk/ntn.ts +++ b/src/pk/ntn.ts @@ -22,6 +22,8 @@ const impl: Validator = { name: 'Pakistani National Tax Number', localName: 'National Tax Number', abbreviation: 'NTN', + examples: ['1234567'], + formats: ['nnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -61,5 +63,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/pk/passport.ts b/src/pk/passport.ts index 74f11b43..82d6ba76 100644 --- a/src/pk/passport.ts +++ b/src/pk/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Pakistani Passport Number', localName: 'پاکستانی پاسپورٹ', abbreviation: 'Passport', + examples: ['AB1234567'], + formats: ['aannnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/pl/nip.ts b/src/pl/nip.ts index fd5a34d5..4d61d894 100644 --- a/src/pl/nip.ts +++ b/src/pl/nip.ts @@ -23,6 +23,8 @@ const impl: Validator = { name: 'Polish VAT Number', localName: 'Numer Identyfikacji Podatkowej', abbreviation: 'NIP', + examples: ['8567346215'], + formats: ['nnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -70,5 +72,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/pl/passport.ts b/src/pl/passport.ts index b6916b1d..72ca295f 100644 --- a/src/pl/passport.ts +++ b/src/pl/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Polish Passport Number', localName: 'Polski paszport', abbreviation: 'Passport', + examples: ['AB1234567'], + formats: ['aannnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/pl/pesel.ts b/src/pl/pesel.ts index 4c4199d0..8ed3450a 100644 --- a/src/pl/pesel.ts +++ b/src/pl/pesel.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Polish National Identification Number', localName: 'Powszechny Elektroniczny System Ewidencji Ludności', abbreviation: 'PESEL', + examples: ['44051401359'], + formats: ['nnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -93,5 +95,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/pl/regon.ts b/src/pl/regon.ts index 7bd3ddc3..b39317e5 100644 --- a/src/pl/regon.ts +++ b/src/pl/regon.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Polish Statistical Identificaiton Number', localName: 'Rejestr Gospodarki Narodowej', abbreviation: 'REGON', + examples: ['123456785', '12345678512347'], + formats: ['nnnnnnnnn', 'nnnnnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -84,5 +86,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/pt/cc.ts b/src/pt/cc.ts index 4bf4185f..c16c10e5 100644 --- a/src/pt/cc.ts +++ b/src/pt/cc.ts @@ -27,6 +27,8 @@ const impl: Validator = { name: 'Portuguese Identity number', localName: 'Número de Cartão de Cidadão', abbreviation: 'CC', + examples: ['000000000ZZ4'], + formats: ['nnnnnnnn n ccn'], compact(input: string): string { const [value, err] = clean(input); @@ -70,5 +72,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/pt/nif.ts b/src/pt/nif.ts index 6a119191..d350ccfa 100644 --- a/src/pt/nif.ts +++ b/src/pt/nif.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Portuguese Tax Identification Number', localName: 'Número de Identificação Fiscal', abbreviation: 'NIF', + examples: ['501964843'], + formats: ['nnn nnn nnn'], compact(input: string): string { const [value, err] = clean(input); @@ -61,7 +63,7 @@ const impl: Validator = { modulus: 11, }); - if (String((11 - sum) % 11 % 10) !== check) { + if (String(((11 - sum) % 11) % 10) !== check) { return { isValid: false, error: new exceptions.InvalidChecksum() }; } @@ -74,5 +76,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/pt/nipc.ts b/src/pt/nipc.ts index 7b184744..832f6d0e 100644 --- a/src/pt/nipc.ts +++ b/src/pt/nipc.ts @@ -23,5 +23,13 @@ const impl: Validator = { abbreviation: 'NIPC', }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/pt/passport.ts b/src/pt/passport.ts index 0c0bfdee..a874a3d9 100644 --- a/src/pt/passport.ts +++ b/src/pt/passport.ts @@ -26,6 +26,8 @@ const impl: Validator = { name: 'Portuguese Passport Number', localName: 'Passaporte português', abbreviation: 'Passport', + examples: ['A123456', 'CB123456'], + formats: ['annnnnn', 'aannnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -68,5 +70,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/py/cedula.ts b/src/py/cedula.ts index 76b391b4..ec4dd79e 100644 --- a/src/py/cedula.ts +++ b/src/py/cedula.ts @@ -26,6 +26,8 @@ const impl: Validator = { name: 'Paraguay CI Number', localName: 'Cedula de la Identidad civil', abbreviation: 'CI', + examples: ['6001234', '15000'], + formats: ['nnnnnnn', 'nnnnn', 'nnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -69,5 +71,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/py/passport.ts b/src/py/passport.ts index 8349ac28..6fe4bafb 100644 --- a/src/py/passport.ts +++ b/src/py/passport.ts @@ -26,6 +26,8 @@ const impl: Validator = { name: 'Paraguayan Passport Number', localName: 'Pasaporte paraguayo', abbreviation: 'Passport', + examples: ['AB123456', '1234567'], + formats: ['cccccccc', 'ccccccc', 'ccccccccc', 'cccccc'], compact(input: string): string { const [value, err] = clean(input); @@ -68,5 +70,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/py/ruc.ts b/src/py/ruc.ts index d51e062b..b81a6b65 100644 --- a/src/py/ruc.ts +++ b/src/py/ruc.ts @@ -30,6 +30,8 @@ const impl: Validator = { name: 'Paraguay Tax Number', localName: 'Registro Único del Contribuyentes', abbreviation: 'RUC', + examples: ['800280610', '87654326', '26603'], + formats: ['nnnnnnnn-n', 'nnnnnnn-n', 'nnnn-n', 'nnnnnn-n', 'nnnnn-n'], compact(input: string): string { const [value, err] = clean(input); @@ -87,5 +89,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/qa/passport.ts b/src/qa/passport.ts index 7c637985..623a99d5 100644 --- a/src/qa/passport.ts +++ b/src/qa/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Qatari Passport Number', localName: 'جواز سفر قطري', abbreviation: 'PASSPORT', + examples: ['12345678'], + formats: ['nnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ro/cif.ts b/src/ro/cif.ts index 21a0b655..f6feea60 100644 --- a/src/ro/cif.ts +++ b/src/ro/cif.ts @@ -20,6 +20,19 @@ const impl: Validator = { name: 'Romanian VAT Number', localName: 'Codul de Identificare Fiscală', abbreviation: 'CIF', + examples: ['18547290', '1630615123457'], + formats: [ + 'nnn nnn nn', + 'nnn nnn nnnnnnn', + 'nnn nnn n', + 'nnn nnn nnn', + 'nnn nnn', + 'nnn nnn nnnn', + 'nnn nn', + 'nn', + 'nnn', + 'nnn n', + ], compact(input: string): string { const [value, err] = clean(input); @@ -58,5 +71,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ro/cnp.ts b/src/ro/cnp.ts index 23993136..780d8a68 100644 --- a/src/ro/cnp.ts +++ b/src/ro/cnp.ts @@ -96,6 +96,8 @@ const impl: Validator = { name: 'Romanian Numerical Personal Code', localName: 'Cod Numeric Personal', abbreviation: 'CNP', + examples: ['1630615123457'], + formats: ['nnnnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -159,5 +161,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ro/cui.ts b/src/ro/cui.ts index 1577cc89..30ecdcce 100644 --- a/src/ro/cui.ts +++ b/src/ro/cui.ts @@ -28,6 +28,18 @@ const impl: Validator = { name: 'Romanian Company Identifier', localName: 'Codul Unic de Înregistrare', abbreviation: 'CUI', + examples: ['18547290'], + formats: [ + 'nnn nnn nn', + 'nnn nnn n', + 'nnn nnn nnn', + 'nnn nnn', + 'nnn nnn nnnn', + 'nnn nn', + 'nn', + 'nnn', + 'nnn n', + ], compact(input: string): string { const [value, err] = clean(input); @@ -79,5 +91,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ro/onrc.ts b/src/ro/onrc.ts index 4b6a8b99..a5a8d7d1 100644 --- a/src/ro/onrc.ts +++ b/src/ro/onrc.ts @@ -142,6 +142,15 @@ const impl: Validator = { name: 'Romanian Trade Register Identifier', localName: 'Ordine din Registrul Comerţului', abbreviation: 'NRC', + examples: ['J52/750/2012', 'F05/1055/2013', 'J2025007112004'], + formats: [ + 'ann/nnn/nnnn', + 'ann/nnnn/nnnn', + 'annnnnnnnnnnnn', + 'ann/nn/nnnn', + 'ann/nnnnn/nnnn', + 'ann/n/nnnn', + ], compact(input: string): string { const [value, err] = clean(input); @@ -177,5 +186,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ro/passport.ts b/src/ro/passport.ts index 54c3821d..a49fe498 100644 --- a/src/ro/passport.ts +++ b/src/ro/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Romanian Passport Number', localName: 'Pașaport românesc', abbreviation: 'Passport', + examples: ['12345678', '123456789'], + formats: ['nnnnnnnn', 'nnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/rs/jmbg.ts b/src/rs/jmbg.ts index f66ac0e1..ed64b597 100644 --- a/src/rs/jmbg.ts +++ b/src/rs/jmbg.ts @@ -12,5 +12,13 @@ const impl: Validator = { abbreviation: 'ЈМБГ', }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/rs/passport.ts b/src/rs/passport.ts index ef945b24..6e1b2d1d 100644 --- a/src/rs/passport.ts +++ b/src/rs/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Serbian Passport Number', localName: 'Српски пасош', abbreviation: 'Passport', + examples: ['008000000'], + formats: ['nnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/rs/pib.ts b/src/rs/pib.ts index c475b82a..089d0f3b 100644 --- a/src/rs/pib.ts +++ b/src/rs/pib.ts @@ -23,6 +23,8 @@ const impl: Validator = { name: 'Serbian Tax Identification Number', localName: 'Poreski Identifikacioni Broj', abbreviation: 'PIB', + examples: ['101134702'], + formats: ['nnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -65,5 +67,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ru/inn.ts b/src/ru/inn.ts index 354be842..a0118aa5 100644 --- a/src/ru/inn.ts +++ b/src/ru/inn.ts @@ -23,6 +23,8 @@ const impl: Validator = { name: 'Russian Tax Identifier', localName: 'Идентификационный номер налогоплательщика', abbreviation: 'ИНН', + examples: ['123456789047', '1234567894'], + formats: ['nnnnnnnnnnnn', 'nnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -102,5 +104,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ru/passport.ts b/src/ru/passport.ts index 9e6319fe..08e4b8bc 100644 --- a/src/ru/passport.ts +++ b/src/ru/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Russian Passport Number', localName: 'Российский паспорт', abbreviation: 'Passport', + examples: ['123456789'], + formats: ['nnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/sb/passport.ts b/src/sb/passport.ts index 5603211b..c8bf7b4b 100644 --- a/src/sb/passport.ts +++ b/src/sb/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Solomon Islands Passport Number', localName: 'Solomon Islands passport', abbreviation: 'PASSPORT', + examples: ['1234567'], + formats: ['nnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/sc/tin.ts b/src/sc/tin.ts index ac4a25e0..3dfdc967 100644 --- a/src/sc/tin.ts +++ b/src/sc/tin.ts @@ -32,6 +32,8 @@ const impl: Validator = { name: 'Seychelles Tax Identification Number', localName: 'Tax Identification Number', abbreviation: 'TIN', + examples: ['123456782'], + formats: ['nnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -82,5 +84,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/se/orgnr.ts b/src/se/orgnr.ts index ba7cfd5d..8cd81a5b 100644 --- a/src/se/orgnr.ts +++ b/src/se/orgnr.ts @@ -22,6 +22,8 @@ const impl: Validator = { name: 'Swedish Company Number', localName: 'Organisationsnummer', abbreviation: 'Orgnr', + examples: ['1234567897'], + formats: ['nnnnnn-nnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -64,5 +66,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/se/passport.ts b/src/se/passport.ts index 277764c1..54f79a2a 100644 --- a/src/se/passport.ts +++ b/src/se/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Swedish Passport Number', localName: 'Svenskt pass', abbreviation: 'Passport', + examples: ['12345678', 'XA0000001'], + formats: ['nnnnnnnn', 'aannnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/se/personnummer.ts b/src/se/personnummer.ts index 2315ad94..661bfe2c 100644 --- a/src/se/personnummer.ts +++ b/src/se/personnummer.ts @@ -100,6 +100,8 @@ function formatImpl(input: string): string { const impl: Validator = { name: 'Swedish Personal Identity Number', localName: 'Personnummer', + examples: ['198803200016', '188803200016'], + formats: ['nnnnnn-nnnn', 'nnnnnn+nnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -157,5 +159,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/se/vat.ts b/src/se/vat.ts index d44bd3ae..7aaa76e7 100644 --- a/src/se/vat.ts +++ b/src/se/vat.ts @@ -21,6 +21,8 @@ const impl: Validator = { name: 'Swedish VAT Number', localName: 'Momsregistreringsnummer', abbreviation: 'Momsnr.', + examples: ['123456789701'], + formats: ['nnnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -69,5 +71,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/sg/passport.ts b/src/sg/passport.ts index abf9de66..06ff52ba 100644 --- a/src/sg/passport.ts +++ b/src/sg/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Singaporean Passport Number', localName: 'Singapore Passport', abbreviation: 'Passport', + examples: ['E1234567X'], + formats: ['annnnnnna'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/sg/uen.ts b/src/sg/uen.ts index b394a6c7..d7cf4057 100644 --- a/src/sg/uen.ts +++ b/src/sg/uen.ts @@ -168,6 +168,8 @@ const impl: Validator = { name: 'Singapore Unique Entity Number', localName: 'Unique Entity Number', abbreviation: 'UEN', + examples: ['T01FC6132D', '00192200M', '197401143C'], + formats: ['cnnccnnnna', 'nnnnnnnna'], compact(input: string): string { const [value, err] = clean(input); @@ -205,5 +207,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/si/ddv.ts b/src/si/ddv.ts index e2ec9b70..3404b7df 100644 --- a/src/si/ddv.ts +++ b/src/si/ddv.ts @@ -21,6 +21,8 @@ const impl: Validator = { name: 'Slovenian VAT Number', localName: 'Identifikacijska številka za DDV', abbreviation: 'ID za DDV', + examples: ['50223054'], + formats: ['nnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -73,5 +75,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/si/emso.ts b/src/si/emso.ts index 703af619..151815a3 100644 --- a/src/si/emso.ts +++ b/src/si/emso.ts @@ -21,7 +21,17 @@ const impl: Validator = { name: 'Slovene Unique Master Citizen Number', localName: 'Enotna Matična Številka Občana', abbreviation: 'EMŠO', + examples: ['0101006500006'], + formats: ['nnnnnnnnnnnnn'], }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/si/jmbg.ts b/src/si/jmbg.ts index 7a46ca69..fa8154f3 100644 --- a/src/si/jmbg.ts +++ b/src/si/jmbg.ts @@ -16,5 +16,13 @@ const impl: Validator = { abbreviation: 'EMŠO', }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/si/passport.ts b/src/si/passport.ts index 57be3b88..3b593ff1 100644 --- a/src/si/passport.ts +++ b/src/si/passport.ts @@ -23,6 +23,8 @@ const impl: Validator = { name: 'Slovenian Passport Number', localName: 'Slovenski potni list', abbreviation: 'Passport', + examples: ['PB1234567'], + formats: ['Pannnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -65,5 +67,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/sk/dph.ts b/src/sk/dph.ts index 790bba93..03e24832 100644 --- a/src/sk/dph.ts +++ b/src/sk/dph.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Slovak VAT Number', localName: 'Identifikačné Číslo pre Daň z Pridanej Hodnoty', abbreviation: 'IČ DPH', + examples: ['2022749619'], + formats: ['nnn nnn nn nn'], compact(input: string): string { const [value, err] = clean(input); @@ -71,5 +73,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/sk/passport.ts b/src/sk/passport.ts index d747b654..02563465 100644 --- a/src/sk/passport.ts +++ b/src/sk/passport.ts @@ -23,6 +23,8 @@ const impl: Validator = { name: 'Slovak Passport Number', localName: 'Slovenský pas', abbreviation: 'Passport', + examples: ['A1234567', 'AB123456'], + formats: ['acnnnnnn', 'aannnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -65,5 +67,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/sk/rc.ts b/src/sk/rc.ts index 24dc9d7b..63c29151 100644 --- a/src/sk/rc.ts +++ b/src/sk/rc.ts @@ -8,5 +8,13 @@ const impl: Validator = { abbreviation: 'RC', }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/sm/coe.ts b/src/sm/coe.ts index 82d98073..8099b789 100644 --- a/src/sm/coe.ts +++ b/src/sm/coe.ts @@ -33,6 +33,8 @@ const impl: Validator = { name: 'San Marino National Tax Number', localName: 'Codice Operatore Eeconomico', abbreviation: 'COE', + examples: ['51', '24165'], + formats: ['nn', 'nnnnn', 'n', 'nnn', 'nnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -76,5 +78,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/sm/passport.ts b/src/sm/passport.ts index 91fb9e4d..3990d9d7 100644 --- a/src/sm/passport.ts +++ b/src/sm/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Sammarinese Passport Number', localName: 'Passaporto sammarinese', abbreviation: 'Passport', + examples: ['123456'], + formats: ['nnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/sn/passport.ts b/src/sn/passport.ts index f78f46e3..495d61d5 100644 --- a/src/sn/passport.ts +++ b/src/sn/passport.ts @@ -26,6 +26,8 @@ const impl: Validator = { name: 'Senegalese Passport Number', localName: 'Passeport sénégalais', abbreviation: 'PASSPORT', + examples: ['123456789', 'A12345678'], + formats: ['cnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -68,5 +70,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/sr/passport.ts b/src/sr/passport.ts index 639ee2cd..c291d736 100644 --- a/src/sr/passport.ts +++ b/src/sr/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Surinamese Passport Number', localName: 'Surinaams paspoort', abbreviation: 'PASSPORT', + examples: ['R123456', 'B1234567'], + formats: ['annnnnn', 'annnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/sv/nit.ts b/src/sv/nit.ts index dc2d6b96..26334957 100644 --- a/src/sv/nit.ts +++ b/src/sv/nit.ts @@ -49,6 +49,8 @@ const impl: Validator = { name: 'El Salvador Tax Number', localName: 'Número de Identificación Tributaria', abbreviation: 'NIT', + examples: ['06140507071048'], + formats: ['nnnn-nnnnnn-nnn-n'], compact(input: string): string { const [value, err] = clean(input); @@ -114,5 +116,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/sv/passport.ts b/src/sv/passport.ts index d7b71e85..168b87cf 100644 --- a/src/sv/passport.ts +++ b/src/sv/passport.ts @@ -26,6 +26,8 @@ const impl: Validator = { name: 'Salvadoran Passport Number', localName: 'Pasaporte salvadoreño', abbreviation: 'Passport', + examples: ['A123456', 'C12345678'], + formats: ['annnnnn', 'annnnnnnn', 'annnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -68,5 +70,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/th/idnr.ts b/src/th/idnr.ts index 6a9da25a..bea10e14 100644 --- a/src/th/idnr.ts +++ b/src/th/idnr.ts @@ -23,6 +23,8 @@ const impl: Validator = { name: 'Thai National Identity Card Number', localName: 'บัตรประจำตัวประชาชนไทย', abbreviation: 'IDNR', + examples: ['1112034563562'], + formats: ['n-nnnn-nnnnn-nn-n'], compact(input: string): string { const [value, err] = clean(input); @@ -76,5 +78,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/th/moa.ts b/src/th/moa.ts index 065743fd..7ed16508 100644 --- a/src/th/moa.ts +++ b/src/th/moa.ts @@ -27,6 +27,8 @@ const impl: Validator = { name: 'Thailand Memorandum of Association Number', localName: '', abbreviation: 'MOA', + examples: ['0993000133978'], + formats: ['n-nn-n-nnn-nnnnn-n'], compact(input: string): string { const [value, err] = clean(input); @@ -81,5 +83,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/th/passport.ts b/src/th/passport.ts index af93d072..4b3795a4 100644 --- a/src/th/passport.ts +++ b/src/th/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Thai Passport Number', localName: 'หนังสือเดินทางไทย', abbreviation: 'Passport', + examples: ['AA1234567'], + formats: ['aannnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/th/tin.ts b/src/th/tin.ts index 3860daee..e6c7071e 100644 --- a/src/th/tin.ts +++ b/src/th/tin.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Thailand Taxpayer Identification Number', localName: '', abbreviation: 'TIN', + examples: ['1112034563562', '0135559012628'], + formats: ['n-nnnn-nnnnn-nn-n', 'n-nn-n-nnn-nnnnn-n'], compact(input: string): string { const [value, err] = clean(input); @@ -52,5 +54,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/tj/passport.ts b/src/tj/passport.ts index 90c84fac..faa0684d 100644 --- a/src/tj/passport.ts +++ b/src/tj/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Tajik Passport Number', localName: 'Паспортии Тоҷикистон', abbreviation: 'PASSPORT', + examples: ['123456789'], + formats: ['nnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/tm/passport.ts b/src/tm/passport.ts index a47e87ef..696be51b 100644 --- a/src/tm/passport.ts +++ b/src/tm/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Turkmen Passport Number', localName: 'Türkmen pasporty', abbreviation: 'PASSPORT', + examples: ['AB1234567'], + formats: ['aannnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/tn/mf.ts b/src/tn/mf.ts index 613bfc97..d86fa6ac 100644 --- a/src/tn/mf.ts +++ b/src/tn/mf.ts @@ -84,6 +84,8 @@ const impl: Validator = { name: 'Tunisia tax number', localName: 'Matricule Fiscal', abbreviation: 'MF', + examples: ['1496298TPN000', '0000121J'], + formats: ['nnnnnnn/a/a/a/nnn', 'nnnnnnn/a'], compact(input: string): string { const [value, error] = compactImpl(input); @@ -165,5 +167,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/tn/passport.ts b/src/tn/passport.ts index f8d0ce0e..49b81d20 100644 --- a/src/tn/passport.ts +++ b/src/tn/passport.ts @@ -29,6 +29,8 @@ const impl: Validator = { name: 'Tunisian Passport Number', localName: 'جواز سفر تونسي', abbreviation: 'Passport', + examples: ['X1234567', 'Y777777'], + formats: ['annnnnnn', 'annnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -71,5 +73,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/to/passport.ts b/src/to/passport.ts index 00ee0ceb..4e8973c2 100644 --- a/src/to/passport.ts +++ b/src/to/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Tongan Passport Number', localName: 'Tongan passport', abbreviation: 'PASSPORT', + examples: ['123456'], + formats: ['nnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/tr/passport.ts b/src/tr/passport.ts index 0a92bfaa..f271e98d 100644 --- a/src/tr/passport.ts +++ b/src/tr/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Turkish Passport Number', localName: 'Türk pasaportu', abbreviation: 'Passport', + examples: ['U12345678'], + formats: ['annnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/tr/tckimlik.ts b/src/tr/tckimlik.ts index ebb5a9b4..a9d59fab 100644 --- a/src/tr/tckimlik.ts +++ b/src/tr/tckimlik.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Turkish Identificatio Number', localName: 'Türkiye Cumhuriyeti Kimlik Numarası', abbreviation: 'T.C. Kimlik No.', + examples: ['17291716060'], + formats: ['nnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -83,5 +85,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/tr/vkn.ts b/src/tr/vkn.ts index 376dca63..6cdab93b 100644 --- a/src/tr/vkn.ts +++ b/src/tr/vkn.ts @@ -23,6 +23,8 @@ const impl: Validator = { name: 'Turkish Tax Identification Number', localName: 'Vergi Kimlik Numarası', abbreviation: 'VKN', + examples: ['4540536920'], + formats: ['nnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -83,5 +85,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/tt/nid.ts b/src/tt/nid.ts index 7abf48b2..0c2fd66f 100644 --- a/src/tt/nid.ts +++ b/src/tt/nid.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Board of Inland Revenue Number', localName: 'Board of Inland Revenue file number', abbreviation: 'BIR', + examples: ['1234567890'], + formats: ['nnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/tt/passport.ts b/src/tt/passport.ts index d16f283e..22d7a2c6 100644 --- a/src/tt/passport.ts +++ b/src/tt/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Trinidadian and Tobagonian Passport Number', localName: 'Trinidad and Tobago passport', abbreviation: 'PASSPORT', + examples: ['TA123456'], + formats: ['aannnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/tw/ban.ts b/src/tw/ban.ts index 134987f4..02bdaa47 100644 --- a/src/tw/ban.ts +++ b/src/tw/ban.ts @@ -23,6 +23,8 @@ const impl = { abbreviation: 'BAN', name: 'Taiwanese Unified Business Number', localName: '統一編號', + examples: ['00501503'], + formats: ['nnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -62,6 +64,14 @@ const impl = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; export default impl; diff --git a/src/tw/natid.ts b/src/tw/natid.ts index 311a0c4f..ec2773d3 100644 --- a/src/tw/natid.ts +++ b/src/tw/natid.ts @@ -40,6 +40,8 @@ const impl = { localName: '中華民國國民身分證', abbreviation: 'NATID', name: 'National ID Number', + examples: ['A200501505'], + formats: ['annnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -104,6 +106,14 @@ const impl = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; export default impl; diff --git a/src/tw/passport.ts b/src/tw/passport.ts index 15ae5f81..83f993bd 100644 --- a/src/tw/passport.ts +++ b/src/tw/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Taiwanese Passport Number', localName: '中華民國護照', abbreviation: 'Passport', + examples: ['312345678'], + formats: ['nnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/tw/tax_code.ts b/src/tw/tax_code.ts index bd8fa007..a8dfe82b 100644 --- a/src/tw/tax_code.ts +++ b/src/tw/tax_code.ts @@ -36,6 +36,8 @@ const impl = { abbreviation: '', localName: '', name: 'Tax Code', + examples: ['9000503', '20000503AA'], + formats: ['9nnnnnn', 'nnnnnnnnaa'], compact(input: string): string { const [value, err] = clean(input); @@ -93,6 +95,14 @@ const impl = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; export default impl; diff --git a/src/tw/ubn.ts b/src/tw/ubn.ts index 7ba98923..b77e2121 100644 --- a/src/tw/ubn.ts +++ b/src/tw/ubn.ts @@ -30,6 +30,8 @@ const impl: Validator = { name: 'Taiwanese Business Administration Number', localName: '', abbreviation: 'UBN', + examples: ['00501503'], + formats: ['nnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -85,5 +87,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/tw/ui.ts b/src/tw/ui.ts index 0620b417..965f3208 100644 --- a/src/tw/ui.ts +++ b/src/tw/ui.ts @@ -42,6 +42,8 @@ const impl = { name: 'UI Number', localName: '中華民國國民身分證', abbreviation: 'UI', + examples: ['AB00501503'], + formats: ['aannnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -106,6 +108,14 @@ const impl = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; export default impl; diff --git a/src/types.ts b/src/types.ts index 6a3ce956..dc2d4399 100644 --- a/src/types.ts +++ b/src/types.ts @@ -39,8 +39,7 @@ interface ValidateFail { } export type ValidateReturn = { error?: ValidationError } & ( - | ValidateSuccess - | ValidateFail + ValidateSuccess | ValidateFail ); export interface Validator { @@ -63,6 +62,20 @@ export interface Validator { */ abbreviation?: string; + /** + * Valid example numbers in compact form, for documentation and as UI hints + * (for example "Enter your TFN, e.g. 123 456 782"). + */ + examples?: string[]; + + /** + * The shapes of the format() output, in IBAN registry notation: `n` is a + * digit, `a` an upper case letter (A-Z), `c` a digit or upper case letter, + * and any other character is literal. A number that comes in several shapes + * (such as different lengths) has one pattern per shape. + */ + formats?: string[]; + /** * Convert the number to the minimal representation. * This strips the number of any valid separators and removes surrounding diff --git a/src/tz/nid.ts b/src/tz/nid.ts index 8c92548a..4a4b96c9 100644 --- a/src/tz/nid.ts +++ b/src/tz/nid.ts @@ -26,6 +26,8 @@ const impl: Validator = { name: 'National Identification Number', localName: 'Namba ya Kitambulisho cha Taifa', abbreviation: 'NIN', + examples: ['19850312123456789012'], + formats: ['nnnnnnnnnnnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -68,5 +70,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/tz/passport.ts b/src/tz/passport.ts index 7fc8d93d..5c12dc4a 100644 --- a/src/tz/passport.ts +++ b/src/tz/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Tanzanian Passport Number', localName: 'Pasipoti ya Tanzania', abbreviation: 'PASSPORT', + examples: ['A1234567', 'AB123456'], + formats: ['acnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ua/edrpou.ts b/src/ua/edrpou.ts index 1289de37..a880de34 100644 --- a/src/ua/edrpou.ts +++ b/src/ua/edrpou.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Ukrainian Unified State Register of Enterprises and Organizations', localName: 'Єдиного державного реєстру підприємств та організацій України', abbreviation: 'ЄДРПОУ', + examples: ['32855961'], + formats: ['nnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -84,5 +86,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ua/passport.ts b/src/ua/passport.ts index 3f902644..38d42c47 100644 --- a/src/ua/passport.ts +++ b/src/ua/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Ukrainian Passport Number', localName: 'Український паспорт', abbreviation: 'Passport', + examples: ['FC123456'], + formats: ['aannnnnn', 'nnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ua/rntrc.ts b/src/ua/rntrc.ts index 8ddd8775..90c74f94 100644 --- a/src/ua/rntrc.ts +++ b/src/ua/rntrc.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: "Ukrainian Registration Number of the Taxpayer's Registration Card", localName: 'Реєстраційний номер облікової картки платника податків', abbreviation: 'РНОКПП', + examples: ['1759013776'], + formats: ['nnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -73,5 +75,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ug/passport.ts b/src/ug/passport.ts index def1c810..7a7e64bb 100644 --- a/src/ug/passport.ts +++ b/src/ug/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Ugandan Passport Number', localName: 'Passapooti ya Uganda', abbreviation: 'PASSPORT', + examples: ['B1234567', 'DA123456'], + formats: ['acnnnnnn', 'annnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/us/ein.ts b/src/us/ein.ts index 6534b474..5e0b2ca6 100644 --- a/src/us/ein.ts +++ b/src/us/ein.ts @@ -126,6 +126,8 @@ const impl: Validator = { name: 'U.S. Employer Identification Number', localName: 'Employer Identification Number', abbreviation: 'EIN', + examples: ['536904399'], + formats: ['nn-nnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -175,5 +177,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/us/passport.ts b/src/us/passport.ts index 43b1beb8..3307f846 100644 --- a/src/us/passport.ts +++ b/src/us/passport.ts @@ -27,6 +27,8 @@ const impl: Validator = { name: 'United States Passport Number', localName: 'United States Passport', abbreviation: 'Passport', + examples: ['123456789', 'A12345678'], + formats: ['cnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -69,5 +71,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/us/ssn.ts b/src/us/ssn.ts index a93c76ea..9b5407a5 100644 --- a/src/us/ssn.ts +++ b/src/us/ssn.ts @@ -61,6 +61,8 @@ const impl: Validator = { name: 'U.S. Social Security Number', localName: 'Social Security Number', abbreviation: 'SSN', + examples: ['536904399'], + formats: ['nnn-nn-nnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -113,5 +115,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/uy/cedula.ts b/src/uy/cedula.ts index 51cb4ae8..7aad33ca 100644 --- a/src/uy/cedula.ts +++ b/src/uy/cedula.ts @@ -16,6 +16,8 @@ const impl: Validator = { name: 'Uruguayan Identity Card Number', localName: 'Cédula de Identidad', abbreviation: 'CI', + examples: ['12345672'], + formats: ['n.nnn.nnn-n'], compact(input: string): string { const [value, err] = clean(input); @@ -70,5 +72,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/uy/nie.ts b/src/uy/nie.ts index 00aac8c3..f90fa0ad 100644 --- a/src/uy/nie.ts +++ b/src/uy/nie.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Uruguayan Foreigners Identification Number', localName: 'Número de Identidad de Extranjero', abbreviation: 'NIE', + examples: ['912345670'], + formats: ['nn.nnn.nnn-n'], compact(input: string): string { const [value, err] = clean(input); @@ -80,5 +82,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/uy/passport.ts b/src/uy/passport.ts index 26fde241..2329f5a8 100644 --- a/src/uy/passport.ts +++ b/src/uy/passport.ts @@ -26,6 +26,8 @@ const impl: Validator = { name: 'Uruguayan Passport Number', localName: 'Pasaporte uruguayo', abbreviation: 'Passport', + examples: ['A123456', 'ABC123456'], + formats: ['annnnnn', 'aaannnnnn', 'aannnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -68,5 +70,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/uy/rut.ts b/src/uy/rut.ts index e48f3ba1..8b2a07c5 100644 --- a/src/uy/rut.ts +++ b/src/uy/rut.ts @@ -36,6 +36,8 @@ const impl: Validator = { name: 'Uruguayan Tax Number', localName: 'Registro Único Tributario', abbreviation: 'RUT', + examples: ['211003420017'], + formats: ['nn-nnnnnn-nnn-n'], compact(input: string): string { const [value, err] = clean(input); @@ -96,5 +98,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/vc/passport.ts b/src/vc/passport.ts index 8e9357fe..93a99849 100644 --- a/src/vc/passport.ts +++ b/src/vc/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Vincentian Passport Number', localName: 'Saint Vincentian passport', abbreviation: 'PASSPORT', + examples: ['RA01234567'], + formats: ['aannnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ve/passport.ts b/src/ve/passport.ts index 748693b9..ad75f3bd 100644 --- a/src/ve/passport.ts +++ b/src/ve/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Venezuelan Passport Number', localName: 'Pasaporte venezolano', abbreviation: 'Passport', + examples: ['123456789', '01234567'], + formats: ['nnnnnnnnn', 'nnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ve/rif.ts b/src/ve/rif.ts index 58bc01e5..fcf6a98a 100644 --- a/src/ve/rif.ts +++ b/src/ve/rif.ts @@ -33,6 +33,8 @@ const impl: Validator = { name: 'Venezuelan VAT Number', localName: 'Registro Único de Información Fiscal', abbreviation: 'RIF', + examples: ['V114702834'], + formats: ['a-nnnnnnnn-n'], compact(input: string): string { const [value, err] = clean(input); @@ -88,5 +90,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/vn/mst.ts b/src/vn/mst.ts index 46baf157..4ed2a539 100644 --- a/src/vn/mst.ts +++ b/src/vn/mst.ts @@ -39,6 +39,8 @@ const impl: Validator = { name: 'Vietnamese Tax Number', localName: 'Mã số thuế', abbreviation: 'MST', + examples: ['0100112437', '0312687878001'], + formats: ['nnnnnnnnnn', 'nnnnnnnnnn-nnn'], compact(input: string): string { const [value, err] = clean(input); @@ -96,5 +98,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/vn/passport.ts b/src/vn/passport.ts index 2f6b410b..33875b49 100644 --- a/src/vn/passport.ts +++ b/src/vn/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Vietnamese Passport Number', localName: 'Hộ chiếu Việt Nam', abbreviation: 'Passport', + examples: ['C1234567', '123456789'], + formats: ['annnnnnn', 'nnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ws/passport.ts b/src/ws/passport.ts index 44c2575c..e70aa79c 100644 --- a/src/ws/passport.ts +++ b/src/ws/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Samoan Passport Number', localName: 'Samoan passport', abbreviation: 'PASSPORT', + examples: ['T123456'], + formats: ['Tnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/ye/passport.ts b/src/ye/passport.ts index c6ac373c..342aec55 100644 --- a/src/ye/passport.ts +++ b/src/ye/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'Yemeni Passport Number', localName: 'جواز سفر يمني', abbreviation: 'PASSPORT', + examples: ['01234567'], + formats: ['nnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/za/idnr.ts b/src/za/idnr.ts index daca659b..fbfb4a00 100644 --- a/src/za/idnr.ts +++ b/src/za/idnr.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'South African Identity Document Number', localName: 'Identity Document Number', abbreviation: 'IDNR', + examples: ['7503305044089'], + formats: ['nnnnnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -80,5 +82,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/za/passport.ts b/src/za/passport.ts index d5d23196..3a9b746f 100644 --- a/src/za/passport.ts +++ b/src/za/passport.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'South African Passport Number', localName: 'South African Passport', abbreviation: 'Passport', + examples: ['A12345678'], + formats: ['annnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -67,5 +69,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/za/tin.ts b/src/za/tin.ts index 6b505a42..2bceeae9 100644 --- a/src/za/tin.ts +++ b/src/za/tin.ts @@ -25,6 +25,8 @@ const impl: Validator = { name: 'South African Tax Identification Number', localName: 'Tax Identification Number', abbreviation: 'TIN', + examples: ['0001339050'], + formats: ['nnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -71,5 +73,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/za/vat.ts b/src/za/vat.ts index 8f408b7d..84a2f311 100644 --- a/src/za/vat.ts +++ b/src/za/vat.ts @@ -19,6 +19,8 @@ const impl: Validator = { name: 'South African VAT Number', localName: 'Value Added Tax Number', abbreviation: 'VAT.', + examples: ['4999999999'], + formats: ['nnnnnnnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -60,5 +62,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl; diff --git a/src/zm/passport.ts b/src/zm/passport.ts index 2fb715bb..2436234a 100644 --- a/src/zm/passport.ts +++ b/src/zm/passport.ts @@ -24,6 +24,8 @@ const impl: Validator = { name: 'Zambian Passport Number', localName: 'Zambian passport', abbreviation: 'PASSPORT', + examples: ['ZN123456'], + formats: ['aannnnnn'], compact(input: string): string { const [value, err] = clean(input); @@ -66,5 +68,13 @@ const impl: Validator = { }, }; -export const { name, localName, abbreviation, validate, format, compact } = - impl; +export const { + name, + localName, + abbreviation, + examples, + formats, + validate, + format, + compact, +} = impl;