@stll/stdnum 1.0.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_checksums/luhn.js.map +1 -1
- package/dist/_checksums/mod1110.js +1 -1
- package/dist/_checksums/mod1110.js.map +1 -1
- package/dist/_checksums/mod112.js.map +1 -1
- package/dist/_checksums/mod97.js.map +1 -1
- package/dist/_checksums/verhoeff.js.map +1 -1
- package/dist/_checksums/weighted-sum.js.map +1 -1
- package/dist/_util/arabic.js.map +1 -1
- package/dist/_util/clean.js.map +1 -1
- package/dist/_util/date.js.map +1 -1
- package/dist/_util/generate.js.map +1 -1
- package/dist/_util/result.js.map +1 -1
- package/dist/_util/strings.js.map +1 -1
- package/dist/ad/nrt.d.ts +16 -2
- package/dist/ad/nrt.js +1 -14
- package/dist/ad/nrt.js.map +1 -1
- package/dist/ae/eid.d.ts +2 -2
- package/dist/ae/eid.js +2 -12
- package/dist/ae/eid.js.map +1 -1
- package/dist/ai/tin.d.ts +20 -2
- package/dist/ai/tin.js +1 -18
- package/dist/ai/tin.js.map +1 -1
- package/dist/al/nipt.d.ts +13 -2
- package/dist/al/nipt.js +1 -11
- package/dist/al/nipt.js.map +1 -1
- package/dist/am/tin.d.ts +16 -2
- package/dist/am/tin.js +1 -14
- package/dist/am/tin.js.map +1 -1
- package/dist/ar/cbu.d.ts +2 -2
- package/dist/ar/cbu.js +1 -9
- package/dist/ar/cbu.js.map +1 -1
- package/dist/ar/cuit.d.ts +2 -2
- package/dist/ar/cuit.js +1 -17
- package/dist/ar/cuit.js.map +1 -1
- package/dist/ar/dni.d.ts +11 -2
- package/dist/ar/dni.js +1 -9
- package/dist/ar/dni.js.map +1 -1
- package/dist/at/businessid.d.ts +10 -2
- package/dist/at/businessid.js +1 -8
- package/dist/at/businessid.js.map +1 -1
- package/dist/at/tin.d.ts +2 -2
- package/dist/at/tin.js +1 -11
- package/dist/at/tin.js.map +1 -1
- package/dist/at/uid.d.ts +2 -2
- package/dist/at/uid.js +2 -10
- package/dist/at/uid.js.map +1 -1
- package/dist/at/vnr.d.ts +2 -2
- package/dist/at/vnr.js +4 -14
- package/dist/at/vnr.js.map +1 -1
- package/dist/au/abn.d.ts +2 -2
- package/dist/au/abn.js +1 -10
- package/dist/au/abn.js.map +1 -1
- package/dist/au/acn.d.ts +2 -2
- package/dist/au/acn.js +1 -10
- package/dist/au/acn.js.map +1 -1
- package/dist/au/tfn.d.ts +2 -2
- package/dist/au/tfn.js +1 -10
- package/dist/au/tfn.js.map +1 -1
- package/dist/az/voen.d.ts +2 -2
- package/dist/az/voen.js +1 -14
- package/dist/az/voen.js.map +1 -1
- package/dist/ba/jmbg.d.ts +2 -2
- package/dist/ba/jmbg.js +3 -11
- package/dist/ba/jmbg.js.map +1 -1
- package/dist/bd/nid.d.ts +23 -2
- package/dist/bd/nid.js +1 -21
- package/dist/bd/nid.js.map +1 -1
- package/dist/be/bis.d.ts +2 -2
- package/dist/be/bis.js +1 -11
- package/dist/be/bis.js.map +1 -1
- package/dist/be/nn.d.ts +2 -2
- package/dist/be/nn.js +1 -11
- package/dist/be/nn.js.map +1 -1
- package/dist/be/vat.d.ts +2 -2
- package/dist/be/vat.js +1 -9
- package/dist/be/vat.js.map +1 -1
- package/dist/bg/egn.d.ts +2 -2
- package/dist/bg/egn.js +3 -18
- package/dist/bg/egn.js.map +1 -1
- package/dist/bg/pnf.d.ts +2 -2
- package/dist/bg/pnf.js +1 -8
- package/dist/bg/pnf.js.map +1 -1
- package/dist/bg/vat.d.ts +2 -2
- package/dist/bg/vat.js +3 -9
- package/dist/bg/vat.js.map +1 -1
- package/dist/bh/cpr.d.ts +2 -2
- package/dist/bh/cpr.js +1 -17
- package/dist/bh/cpr.js.map +1 -1
- package/dist/bic.d.ts +13 -2
- package/dist/bic.js +1 -11
- package/dist/bic.js.map +1 -1
- package/dist/br/cnpj.d.ts +2 -2
- package/dist/br/cnpj.js +1 -20
- package/dist/br/cnpj.js.map +1 -1
- package/dist/br/cpf.d.ts +2 -2
- package/dist/br/cpf.js +1 -14
- package/dist/br/cpf.js.map +1 -1
- package/dist/by/unp.d.ts +2 -2
- package/dist/by/unp.js +3 -14
- package/dist/by/unp.js.map +1 -1
- package/dist/bz/tin.d.ts +2 -2
- package/dist/bz/tin.js +1 -26
- package/dist/bz/tin.js.map +1 -1
- package/dist/ca/bn.d.ts +2 -2
- package/dist/ca/bn.js +2 -10
- package/dist/ca/bn.js.map +1 -1
- package/dist/ca/sin.d.ts +2 -2
- package/dist/ca/sin.js +2 -10
- package/dist/ca/sin.js.map +1 -1
- package/dist/ch/ssn.d.ts +2 -2
- package/dist/ch/ssn.js +1 -9
- package/dist/ch/ssn.js.map +1 -1
- package/dist/ch/uid.d.ts +2 -2
- package/dist/ch/uid.js +1 -9
- package/dist/ch/uid.js.map +1 -1
- package/dist/ch/vat.d.ts +2 -2
- package/dist/ch/vat.js +1 -9
- package/dist/ch/vat.js.map +1 -1
- package/dist/cl/rut.d.ts +2 -2
- package/dist/cl/rut.js +1 -14
- package/dist/cl/rut.js.map +1 -1
- package/dist/cn/ric.d.ts +2 -2
- package/dist/cn/ric.js +3 -14
- package/dist/cn/ric.js.map +1 -1
- package/dist/cn/uscc.d.ts +2 -2
- package/dist/cn/uscc.js +1 -10
- package/dist/cn/uscc.js.map +1 -1
- package/dist/co/nit.d.ts +2 -2
- package/dist/co/nit.js +2 -12
- package/dist/co/nit.js.map +1 -1
- package/dist/cr/cpf.d.ts +18 -2
- package/dist/cr/cpf.js +1 -16
- package/dist/cr/cpf.js.map +1 -1
- package/dist/creditcard.d.ts +2 -2
- package/dist/creditcard.js +5 -14
- package/dist/creditcard.js.map +1 -1
- package/dist/cu/ni.d.ts +2 -2
- package/dist/cu/ni.js +2 -17
- package/dist/cu/ni.js.map +1 -1
- package/dist/cy/vat.d.ts +2 -2
- package/dist/cy/vat.js +1 -8
- package/dist/cy/vat.js.map +1 -1
- package/dist/cz/dic.d.ts +2 -2
- package/dist/cz/dic.js +7 -13
- package/dist/cz/dic.js.map +1 -1
- package/dist/cz/ico.d.ts +2 -2
- package/dist/cz/ico.js +2 -10
- package/dist/cz/ico.js.map +1 -1
- package/dist/cz/rc.d.ts +2 -2
- package/dist/cz/rc.js +2 -26
- package/dist/cz/rc.js.map +1 -1
- package/dist/de/handelsreg.d.ts +19 -2
- package/dist/de/handelsreg.js +1 -17
- package/dist/de/handelsreg.js.map +1 -1
- package/dist/de/idnr.d.ts +2 -2
- package/dist/de/idnr.js +2 -12
- package/dist/de/idnr.js.map +1 -1
- package/dist/de/stnr.d.ts +17 -2
- package/dist/de/stnr.js +1 -15
- package/dist/de/stnr.js.map +1 -1
- package/dist/de/svnr.d.ts +2 -2
- package/dist/de/svnr.js +2 -11
- package/dist/de/svnr.js.map +1 -1
- package/dist/de/vat.d.ts +2 -2
- package/dist/de/vat.js +2 -11
- package/dist/de/vat.js.map +1 -1
- package/dist/dk/cpr.d.ts +2 -2
- package/dist/dk/cpr.js +2 -10
- package/dist/dk/cpr.js.map +1 -1
- package/dist/dk/cvr.d.ts +2 -2
- package/dist/dk/cvr.js +2 -15
- package/dist/dk/cvr.js.map +1 -1
- package/dist/dk/vat.d.ts +2 -2
- package/dist/dk/vat.js +3 -13
- package/dist/dk/vat.js.map +1 -1
- package/dist/do/rnc.d.ts +2 -2
- package/dist/do/rnc.js +2 -16
- package/dist/do/rnc.js.map +1 -1
- package/dist/ec/ruc.d.ts +2 -2
- package/dist/ec/ruc.js +1 -18
- package/dist/ec/ruc.js.map +1 -1
- package/dist/ee/ik.d.ts +2 -2
- package/dist/ee/ik.js +3 -20
- package/dist/ee/ik.js.map +1 -1
- package/dist/ee/registrikood.d.ts +2 -2
- package/dist/ee/registrikood.js +1 -8
- package/dist/ee/registrikood.js.map +1 -1
- package/dist/ee/vat.d.ts +2 -2
- package/dist/ee/vat.js +2 -10
- package/dist/ee/vat.js.map +1 -1
- package/dist/eg/tn.d.ts +11 -2
- package/dist/eg/tn.js +1 -9
- package/dist/eg/tn.js.map +1 -1
- package/dist/es/cif.d.ts +2 -2
- package/dist/es/cif.js +1 -10
- package/dist/es/cif.js.map +1 -1
- package/dist/es/dni.d.ts +2 -2
- package/dist/es/dni.js +1 -9
- package/dist/es/dni.js.map +1 -1
- package/dist/es/nie.d.ts +2 -2
- package/dist/es/nie.js +1 -9
- package/dist/es/nie.js.map +1 -1
- package/dist/es/nss.d.ts +2 -2
- package/dist/es/nss.js +1 -16
- package/dist/es/nss.js.map +1 -1
- package/dist/es/vat.d.ts +2 -2
- package/dist/es/vat.js +5 -10
- package/dist/es/vat.js.map +1 -1
- package/dist/eu/vat.d.ts +2 -2
- package/dist/eu/vat.js +1 -0
- package/dist/eu/vat.js.map +1 -1
- package/dist/fi/hetu.d.ts +2 -2
- package/dist/fi/hetu.js +2 -10
- package/dist/fi/hetu.js.map +1 -1
- package/dist/fi/vat.d.ts +2 -2
- package/dist/fi/vat.js +3 -10
- package/dist/fi/vat.js.map +1 -1
- package/dist/fi/ytunnus.d.ts +2 -2
- package/dist/fi/ytunnus.js +2 -10
- package/dist/fi/ytunnus.js.map +1 -1
- package/dist/fr/nif.d.ts +2 -2
- package/dist/fr/nif.js +1 -9
- package/dist/fr/nif.js.map +1 -1
- package/dist/fr/nir.d.ts +2 -2
- package/dist/fr/nir.js +2 -14
- package/dist/fr/nir.js.map +1 -1
- package/dist/fr/siren.d.ts +2 -2
- package/dist/fr/siren.js +2 -10
- package/dist/fr/siren.js.map +1 -1
- package/dist/fr/siret.d.ts +2 -2
- package/dist/fr/siret.js +2 -11
- package/dist/fr/siret.js.map +1 -1
- package/dist/fr/tva.d.ts +2 -2
- package/dist/fr/tva.js +2 -12
- package/dist/fr/tva.js.map +1 -1
- package/dist/gb/nino.d.ts +12 -2
- package/dist/gb/nino.js +1 -10
- package/dist/gb/nino.js.map +1 -1
- package/dist/gb/sedol.d.ts +2 -2
- package/dist/gb/sedol.js +1 -11
- package/dist/gb/sedol.js.map +1 -1
- package/dist/gb/utr.d.ts +2 -2
- package/dist/gb/utr.js +2 -10
- package/dist/gb/utr.js.map +1 -1
- package/dist/gb/vat.d.ts +2 -2
- package/dist/gb/vat.js +2 -11
- package/dist/gb/vat.js.map +1 -1
- package/dist/ge/pin.d.ts +14 -2
- package/dist/ge/pin.js +1 -12
- package/dist/ge/pin.js.map +1 -1
- package/dist/gh/tin.d.ts +2 -2
- package/dist/gh/tin.js +1 -15
- package/dist/gh/tin.js.map +1 -1
- package/dist/gr/amka.d.ts +2 -2
- package/dist/gr/amka.js +3 -11
- package/dist/gr/amka.js.map +1 -1
- package/dist/gr/vat.d.ts +2 -2
- package/dist/gr/vat.js +1 -10
- package/dist/gr/vat.js.map +1 -1
- package/dist/gt/nit.d.ts +2 -2
- package/dist/gt/nit.js +1 -12
- package/dist/gt/nit.js.map +1 -1
- package/dist/hk/hkid.d.ts +2 -2
- package/dist/hk/hkid.js +1 -10
- package/dist/hk/hkid.js.map +1 -1
- package/dist/hr/vat.d.ts +2 -2
- package/dist/hr/vat.js +2 -9
- package/dist/hr/vat.js.map +1 -1
- package/dist/hu/vat.d.ts +2 -2
- package/dist/hu/vat.js +3 -10
- package/dist/hu/vat.js.map +1 -1
- package/dist/iban.d.ts +2 -2
- package/dist/iban.js +2 -8
- package/dist/iban.js.map +1 -1
- package/dist/id/npwp.d.ts +2 -2
- package/dist/id/npwp.js +3 -13
- package/dist/id/npwp.js.map +1 -1
- package/dist/ie/pps.d.ts +2 -2
- package/dist/ie/pps.js +1 -10
- package/dist/ie/pps.js.map +1 -1
- package/dist/ie/vat.d.ts +2 -2
- package/dist/ie/vat.js +1 -9
- package/dist/ie/vat.js.map +1 -1
- package/dist/il/idnr.d.ts +2 -2
- package/dist/il/idnr.js +2 -9
- package/dist/il/idnr.js.map +1 -1
- package/dist/in/aadhaar.d.ts +2 -2
- package/dist/in/aadhaar.js +2 -12
- package/dist/in/aadhaar.js.map +1 -1
- package/dist/in/gstin.d.ts +2 -2
- package/dist/in/gstin.js +1 -10
- package/dist/in/gstin.js.map +1 -1
- package/dist/in/pan.d.ts +15 -2
- package/dist/in/pan.js +1 -13
- package/dist/in/pan.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +6 -6
- package/dist/iq/nid.d.ts +16 -2
- package/dist/iq/nid.js +2 -15
- package/dist/iq/nid.js.map +1 -1
- package/dist/ir/nid.d.ts +2 -2
- package/dist/ir/nid.js +2 -24
- package/dist/ir/nid.js.map +1 -1
- package/dist/is/kennitala.d.ts +2 -2
- package/dist/is/kennitala.js +2 -13
- package/dist/is/kennitala.js.map +1 -1
- package/dist/is/vsk.d.ts +9 -2
- package/dist/is/vsk.js +1 -7
- package/dist/is/vsk.js.map +1 -1
- package/dist/isin.d.ts +2 -2
- package/dist/isin.js +2 -12
- package/dist/isin.js.map +1 -1
- package/dist/it/codicefiscale.d.ts +2 -2
- package/dist/it/codicefiscale.js +1 -21
- package/dist/it/codicefiscale.js.map +1 -1
- package/dist/it/iva.d.ts +2 -2
- package/dist/it/iva.js +2 -9
- package/dist/it/iva.js.map +1 -1
- package/dist/jp/cn.d.ts +2 -2
- package/dist/jp/cn.js +1 -9
- package/dist/jp/cn.js.map +1 -1
- package/dist/jp/mynumber.d.ts +2 -2
- package/dist/jp/mynumber.js +1 -10
- package/dist/jp/mynumber.js.map +1 -1
- package/dist/kr/brn.d.ts +11 -2
- package/dist/kr/brn.js +1 -9
- package/dist/kr/brn.js.map +1 -1
- package/dist/kr/rrn.d.ts +2 -2
- package/dist/kr/rrn.js +2 -11
- package/dist/kr/rrn.js.map +1 -1
- package/dist/kw/civil.d.ts +2 -2
- package/dist/kw/civil.js +2 -14
- package/dist/kw/civil.js.map +1 -1
- package/dist/kz/iin.d.ts +2 -2
- package/dist/kz/iin.js +3 -18
- package/dist/kz/iin.js.map +1 -1
- package/dist/lei.d.ts +2 -2
- package/dist/lei.js +2 -11
- package/dist/lei.js.map +1 -1
- package/dist/li/peid.d.ts +11 -2
- package/dist/li/peid.js +1 -9
- package/dist/li/peid.js.map +1 -1
- package/dist/lk/nic.d.ts +2 -2
- package/dist/lk/nic.js +2 -14
- package/dist/lk/nic.js.map +1 -1
- package/dist/lt/asmens.d.ts +2 -2
- package/dist/lt/asmens.js +2 -1
- package/dist/lt/asmens.js.map +1 -1
- package/dist/lt/vat.d.ts +2 -2
- package/dist/lt/vat.js +2 -10
- package/dist/lt/vat.js.map +1 -1
- package/dist/lu/vat.d.ts +2 -2
- package/dist/lu/vat.js +2 -8
- package/dist/lu/vat.js.map +1 -1
- package/dist/luhn.d.ts +2 -2
- package/dist/luhn.js +2 -9
- package/dist/luhn.js.map +1 -1
- package/dist/lv/vat.d.ts +2 -2
- package/dist/lv/vat.js +2 -28
- package/dist/lv/vat.js.map +1 -1
- package/dist/ma/ice.d.ts +2 -2
- package/dist/ma/ice.js +2 -11
- package/dist/ma/ice.js.map +1 -1
- package/dist/mc/tva.d.ts +2 -2
- package/dist/mc/tva.js +1 -0
- package/dist/mc/tva.js.map +1 -1
- package/dist/md/idno.d.ts +2 -2
- package/dist/md/idno.js +1 -10
- package/dist/md/idno.js.map +1 -1
- package/dist/me/pib.d.ts +2 -2
- package/dist/me/pib.js +2 -10
- package/dist/me/pib.js.map +1 -1
- package/dist/mk/edb.d.ts +2 -2
- package/dist/mk/edb.js +2 -11
- package/dist/mk/edb.js.map +1 -1
- package/dist/mt/vat.d.ts +2 -2
- package/dist/mt/vat.js +3 -10
- package/dist/mt/vat.js.map +1 -1
- package/dist/mu/brn.d.ts +23 -2
- package/dist/mu/brn.js +1 -21
- package/dist/mu/brn.js.map +1 -1
- package/dist/mx/clabe.d.ts +2 -2
- package/dist/mx/clabe.js +1 -14
- package/dist/mx/clabe.js.map +1 -1
- package/dist/mx/curp.d.ts +2 -2
- package/dist/mx/curp.js +3 -17
- package/dist/mx/curp.js.map +1 -1
- package/dist/mx/rfc.d.ts +2 -2
- package/dist/mx/rfc.js +3 -19
- package/dist/mx/rfc.js.map +1 -1
- package/dist/my/nric.d.ts +2 -2
- package/dist/my/nric.js +2 -14
- package/dist/my/nric.js.map +1 -1
- package/dist/ng/nin.d.ts +13 -2
- package/dist/ng/nin.js +1 -11
- package/dist/ng/nin.js.map +1 -1
- package/dist/ni/ruc.d.ts +2 -2
- package/dist/ni/ruc.js +1 -23
- package/dist/ni/ruc.js.map +1 -1
- package/dist/nl/bsn.d.ts +2 -2
- package/dist/nl/bsn.js +2 -10
- package/dist/nl/bsn.js.map +1 -1
- package/dist/nl/kvk.d.ts +9 -2
- package/dist/nl/kvk.js +1 -7
- package/dist/nl/kvk.js.map +1 -1
- package/dist/nl/vat.d.ts +2 -2
- package/dist/nl/vat.js +1 -13
- package/dist/nl/vat.js.map +1 -1
- package/dist/no/fodselsnummer.d.ts +2 -2
- package/dist/no/fodselsnummer.js +2 -10
- package/dist/no/fodselsnummer.js.map +1 -1
- package/dist/no/mva.d.ts +2 -2
- package/dist/no/mva.js +1 -8
- package/dist/no/mva.js.map +1 -1
- package/dist/no/orgnr.d.ts +2 -2
- package/dist/no/orgnr.js +2 -8
- package/dist/no/orgnr.js.map +1 -1
- package/dist/nz/ird.d.ts +2 -2
- package/dist/nz/ird.js +2 -11
- package/dist/nz/ird.js.map +1 -1
- package/dist/pa/ruc.d.ts +2 -2
- package/dist/pa/ruc.js +1 -18
- package/dist/pa/ruc.js.map +1 -1
- package/dist/patterns.d.ts +8 -7
- package/dist/patterns.js +3 -5
- package/dist/patterns.js.map +1 -1
- package/dist/pe/ruc.d.ts +2 -2
- package/dist/pe/ruc.js +1 -15
- package/dist/pe/ruc.js.map +1 -1
- package/dist/ph/philid.d.ts +14 -2
- package/dist/ph/philid.js +1 -12
- package/dist/ph/philid.js.map +1 -1
- package/dist/pk/cnic.d.ts +14 -2
- package/dist/pk/cnic.js +1 -12
- package/dist/pk/cnic.js.map +1 -1
- package/dist/pl/nip.d.ts +2 -2
- package/dist/pl/nip.js +2 -10
- package/dist/pl/nip.js.map +1 -1
- package/dist/pl/pesel.d.ts +2 -2
- package/dist/pl/pesel.js +3 -13
- package/dist/pl/pesel.js.map +1 -1
- package/dist/pl/regon.d.ts +2 -2
- package/dist/pl/regon.js +2 -11
- package/dist/pl/regon.js.map +1 -1
- package/dist/pt/cc.d.ts +2 -2
- package/dist/pt/cc.js +1 -9
- package/dist/pt/cc.js.map +1 -1
- package/dist/pt/vat.d.ts +2 -2
- package/dist/pt/vat.js +3 -11
- package/dist/pt/vat.js.map +1 -1
- package/dist/ro/cnp.d.ts +2 -2
- package/dist/ro/cnp.js +4 -14
- package/dist/ro/cnp.js.map +1 -1
- package/dist/ro/vat.d.ts +2 -2
- package/dist/ro/vat.js +13 -11
- package/dist/ro/vat.js.map +1 -1
- package/dist/rs/pib.d.ts +2 -2
- package/dist/rs/pib.js +1 -9
- package/dist/rs/pib.js.map +1 -1
- package/dist/ru/inn.d.ts +2 -2
- package/dist/ru/inn.js +1 -11
- package/dist/ru/inn.js.map +1 -1
- package/dist/se/orgnr.d.ts +2 -2
- package/dist/se/orgnr.js +2 -9
- package/dist/se/orgnr.js.map +1 -1
- package/dist/se/personnummer.d.ts +2 -2
- package/dist/se/personnummer.js +7 -15
- package/dist/se/personnummer.js.map +1 -1
- package/dist/se/vat.d.ts +2 -2
- package/dist/se/vat.js +3 -10
- package/dist/se/vat.js.map +1 -1
- package/dist/sg/uen.d.ts +2 -2
- package/dist/sg/uen.js +1 -15
- package/dist/sg/uen.js.map +1 -1
- package/dist/si/emso.d.ts +2 -2
- package/dist/si/emso.js +3 -18
- package/dist/si/emso.js.map +1 -1
- package/dist/si/vat.d.ts +2 -2
- package/dist/si/vat.js +3 -12
- package/dist/si/vat.js.map +1 -1
- package/dist/sk/dic.d.ts +2 -2
- package/dist/sk/dic.js +1 -0
- package/dist/sk/dic.js.map +1 -1
- package/dist/sk/ico.d.ts +2 -2
- package/dist/sk/ico.js +1 -0
- package/dist/sk/ico.js.map +1 -1
- package/dist/sk/rc.d.ts +2 -2
- package/dist/sk/rc.js +1 -0
- package/dist/sk/rc.js.map +1 -1
- package/dist/th/tin.d.ts +2 -2
- package/dist/th/tin.js +1 -11
- package/dist/th/tin.js.map +1 -1
- package/dist/tr/tckimlik.d.ts +2 -2
- package/dist/tr/tckimlik.js +1 -20
- package/dist/tr/tckimlik.js.map +1 -1
- package/dist/tr/vkn.d.ts +2 -2
- package/dist/tr/vkn.js +1 -20
- package/dist/tr/vkn.js.map +1 -1
- package/dist/tw/ubn.d.ts +2 -2
- package/dist/tw/ubn.js +1 -11
- package/dist/tw/ubn.js.map +1 -1
- package/dist/types.d.ts +26 -4
- package/dist/ua/edrpou.d.ts +2 -2
- package/dist/ua/edrpou.js +1 -11
- package/dist/ua/edrpou.js.map +1 -1
- package/dist/us/ein.d.ts +12 -2
- package/dist/us/ein.js +1 -10
- package/dist/us/ein.js.map +1 -1
- package/dist/us/itin.d.ts +13 -2
- package/dist/us/itin.js +1 -11
- package/dist/us/itin.js.map +1 -1
- package/dist/us/rtn.d.ts +2 -2
- package/dist/us/rtn.js +3 -18
- package/dist/us/rtn.js.map +1 -1
- package/dist/us/ssn.d.ts +13 -2
- package/dist/us/ssn.js +1 -11
- package/dist/us/ssn.js.map +1 -1
- package/dist/uy/rut.d.ts +2 -2
- package/dist/uy/rut.js +1 -14
- package/dist/uy/rut.js.map +1 -1
- package/dist/ve/rif.d.ts +2 -2
- package/dist/ve/rif.js +2 -15
- package/dist/ve/rif.js.map +1 -1
- package/dist/vn/mst.d.ts +2 -2
- package/dist/vn/mst.js +1 -12
- package/dist/vn/mst.js.map +1 -1
- package/dist/za/idnr.d.ts +2 -2
- package/dist/za/idnr.js +3 -16
- package/dist/za/idnr.js.map +1 -1
- package/package.json +22 -12
- package/src/_checksums/mod1110.ts +1 -1
- package/src/ad/nrt.ts +7 -3
- package/src/ae/eid.ts +7 -3
- package/src/ai/tin.ts +7 -3
- package/src/al/nipt.ts +7 -3
- package/src/am/tin.ts +7 -3
- package/src/ar/cbu.ts +7 -3
- package/src/ar/cuit.ts +7 -3
- package/src/ar/dni.ts +7 -3
- package/src/at/businessid.ts +7 -3
- package/src/at/tin.ts +7 -3
- package/src/at/uid.ts +7 -3
- package/src/at/vnr.ts +37 -9
- package/src/au/abn.ts +7 -3
- package/src/au/acn.ts +7 -3
- package/src/au/tfn.ts +7 -3
- package/src/az/voen.ts +7 -3
- package/src/ba/jmbg.ts +8 -7
- package/src/bd/nid.ts +7 -3
- package/src/be/bis.ts +8 -4
- package/src/be/nn.ts +7 -3
- package/src/be/vat.ts +7 -3
- package/src/bg/egn.ts +8 -7
- package/src/bg/pnf.ts +7 -3
- package/src/bg/vat.ts +8 -3
- package/src/bh/cpr.ts +7 -3
- package/src/bic.ts +7 -3
- package/src/br/cnpj.ts +7 -3
- package/src/br/cpf.ts +7 -3
- package/src/by/unp.ts +10 -5
- package/src/bz/tin.ts +7 -3
- package/src/ca/bn.ts +7 -3
- package/src/ca/sin.ts +7 -3
- package/src/ch/ssn.ts +7 -3
- package/src/ch/uid.ts +7 -3
- package/src/ch/vat.ts +9 -5
- package/src/cl/rut.ts +7 -3
- package/src/cn/ric.ts +8 -7
- package/src/cn/uscc.ts +7 -3
- package/src/co/nit.ts +8 -4
- package/src/cr/cpf.ts +7 -3
- package/src/creditcard.ts +10 -6
- package/src/cu/ni.ts +8 -7
- package/src/cy/vat.ts +7 -3
- package/src/cz/dic.ts +9 -4
- package/src/cz/ico.ts +7 -3
- package/src/cz/rc.ts +8 -7
- package/src/de/handelsreg.ts +7 -3
- package/src/de/idnr.ts +7 -3
- package/src/de/stnr.ts +7 -3
- package/src/de/svnr.ts +7 -3
- package/src/de/vat.ts +7 -3
- package/src/dk/cpr.ts +8 -7
- package/src/dk/cvr.ts +7 -3
- package/src/dk/vat.ts +8 -3
- package/src/do/rnc.ts +7 -3
- package/src/ec/ruc.ts +7 -3
- package/src/ee/ik.ts +8 -7
- package/src/ee/registrikood.ts +8 -4
- package/src/ee/vat.ts +7 -3
- package/src/eg/tn.ts +7 -3
- package/src/es/cif.ts +8 -4
- package/src/es/dni.ts +7 -3
- package/src/es/nie.ts +8 -4
- package/src/es/nss.ts +7 -3
- package/src/es/vat.ts +13 -5
- package/src/eu/vat.ts +10 -6
- package/src/fi/hetu.ts +8 -7
- package/src/fi/vat.ts +8 -3
- package/src/fi/ytunnus.ts +7 -3
- package/src/fr/nif.ts +7 -3
- package/src/fr/nir.ts +8 -7
- package/src/fr/siren.ts +7 -3
- package/src/fr/siret.ts +7 -3
- package/src/fr/tva.ts +7 -3
- package/src/gb/nino.ts +7 -3
- package/src/gb/sedol.ts +7 -3
- package/src/gb/utr.ts +7 -3
- package/src/gb/vat.ts +7 -3
- package/src/ge/pin.ts +7 -3
- package/src/gh/tin.ts +7 -3
- package/src/gr/amka.ts +7 -3
- package/src/gr/vat.ts +7 -3
- package/src/gt/nit.ts +7 -3
- package/src/hk/hkid.ts +7 -3
- package/src/hr/vat.ts +7 -3
- package/src/hu/vat.ts +8 -3
- package/src/iban.ts +7 -3
- package/src/id/npwp.ts +7 -3
- package/src/ie/pps.ts +7 -3
- package/src/ie/vat.ts +7 -3
- package/src/il/idnr.ts +7 -3
- package/src/in/aadhaar.ts +7 -3
- package/src/in/gstin.ts +7 -3
- package/src/in/pan.ts +7 -3
- package/src/index.ts +3 -0
- package/src/iq/nid.ts +7 -3
- package/src/ir/nid.ts +7 -3
- package/src/is/kennitala.ts +7 -3
- package/src/is/vsk.ts +7 -3
- package/src/isin.ts +7 -3
- package/src/it/codicefiscale.ts +11 -7
- package/src/it/iva.ts +7 -3
- package/src/jp/cn.ts +7 -3
- package/src/jp/mynumber.ts +7 -3
- package/src/kr/brn.ts +7 -3
- package/src/kr/rrn.ts +8 -7
- package/src/kw/civil.ts +8 -7
- package/src/kz/iin.ts +8 -8
- package/src/lei.ts +7 -3
- package/src/li/peid.ts +7 -3
- package/src/lk/nic.ts +8 -7
- package/src/lt/asmens.ts +8 -4
- package/src/lt/vat.ts +8 -3
- package/src/lu/vat.ts +8 -3
- package/src/luhn.ts +7 -3
- package/src/lv/vat.ts +7 -3
- package/src/ma/ice.ts +7 -3
- package/src/mc/tva.ts +9 -5
- package/src/md/idno.ts +7 -3
- package/src/me/pib.ts +7 -3
- package/src/mk/edb.ts +7 -3
- package/src/mt/vat.ts +8 -3
- package/src/mu/brn.ts +7 -3
- package/src/mx/clabe.ts +7 -3
- package/src/mx/curp.ts +9 -8
- package/src/mx/rfc.ts +8 -4
- package/src/my/nric.ts +8 -7
- package/src/ng/nin.ts +7 -3
- package/src/ni/ruc.ts +7 -3
- package/src/nl/bsn.ts +7 -3
- package/src/nl/kvk.ts +7 -3
- package/src/nl/vat.ts +7 -3
- package/src/no/fodselsnummer.ts +11 -7
- package/src/no/mva.ts +9 -5
- package/src/no/orgnr.ts +7 -3
- package/src/nz/ird.ts +8 -4
- package/src/pa/ruc.ts +7 -3
- package/src/patterns.ts +49 -18
- package/src/pe/ruc.ts +7 -3
- package/src/ph/philid.ts +7 -3
- package/src/pk/cnic.ts +7 -3
- package/src/pl/nip.ts +7 -3
- package/src/pl/pesel.ts +8 -7
- package/src/pl/regon.ts +7 -3
- package/src/pt/cc.ts +7 -3
- package/src/pt/vat.ts +8 -3
- package/src/ro/cnp.ts +15 -8
- package/src/ro/vat.ts +8 -3
- package/src/rs/pib.ts +7 -3
- package/src/ru/inn.ts +7 -3
- package/src/se/orgnr.ts +7 -3
- package/src/se/personnummer.ts +35 -33
- package/src/se/vat.ts +8 -3
- package/src/sg/uen.ts +7 -3
- package/src/si/emso.ts +8 -7
- package/src/si/vat.ts +8 -3
- package/src/sk/dic.ts +8 -4
- package/src/sk/ico.ts +3 -2
- package/src/sk/rc.ts +6 -2
- package/src/th/tin.ts +7 -3
- package/src/tr/tckimlik.ts +7 -3
- package/src/tr/vkn.ts +7 -3
- package/src/tw/ubn.ts +7 -3
- package/src/types.ts +34 -3
- package/src/ua/edrpou.ts +7 -3
- package/src/us/ein.ts +7 -3
- package/src/us/itin.ts +7 -3
- package/src/us/rtn.ts +16 -8
- package/src/us/ssn.ts +7 -3
- package/src/uy/rut.ts +7 -3
- package/src/ve/rif.ts +8 -6
- package/src/vn/mst.ts +7 -3
- package/src/za/idnr.ts +8 -7
package/src/fr/nir.ts
CHANGED
|
@@ -12,17 +12,17 @@
|
|
|
12
12
|
* @see https://en.wikipedia.org/wiki/INSEE_code
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
|
-
import { clean } from "#util/clean";
|
|
16
|
-
import { resolveTwoDigitYear } from "#util/date";
|
|
17
|
-
import { randomInt } from "#util/generate";
|
|
18
|
-
import { err } from "#util/result";
|
|
19
|
-
|
|
20
15
|
import type {
|
|
21
16
|
ParsedPersonId,
|
|
22
17
|
ValidateResult,
|
|
23
|
-
|
|
18
|
+
CountryValidator,
|
|
24
19
|
} from "../types";
|
|
25
20
|
|
|
21
|
+
import { clean } from "#util/clean";
|
|
22
|
+
import { resolveTwoDigitYear } from "#util/date";
|
|
23
|
+
import { randomInt } from "#util/generate";
|
|
24
|
+
import { err } from "#util/result";
|
|
25
|
+
|
|
26
26
|
const compact = (value: string): string =>
|
|
27
27
|
clean(value, " -.");
|
|
28
28
|
|
|
@@ -165,7 +165,7 @@ const generate = (): string => {
|
|
|
165
165
|
};
|
|
166
166
|
|
|
167
167
|
/** French Social Security Number. */
|
|
168
|
-
const nir:
|
|
168
|
+
const nir: CountryValidator<"FR", ParsedPersonId> = {
|
|
169
169
|
name: "French Social Security Number",
|
|
170
170
|
localName: "Numero d'Inscription au Repertoire",
|
|
171
171
|
abbreviation: "NIR",
|
|
@@ -177,6 +177,7 @@ const nir: Validator<ParsedPersonId> = {
|
|
|
177
177
|
] as const,
|
|
178
178
|
candidatePattern:
|
|
179
179
|
"[12]\\s?\\d{2}\\s?\\d{2}\\s?\\d{2}\\s?\\d{3}\\s?\\d{3}\\s?\\d{2}",
|
|
180
|
+
scope: "country",
|
|
180
181
|
country: "FR",
|
|
181
182
|
entityType: "person",
|
|
182
183
|
description:
|
package/src/fr/siren.ts
CHANGED
|
@@ -8,6 +8,11 @@
|
|
|
8
8
|
* @see https://www.insee.fr/fr/information/2549588
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
+
import type {
|
|
12
|
+
ValidateResult,
|
|
13
|
+
CountryValidator,
|
|
14
|
+
} from "../types";
|
|
15
|
+
|
|
11
16
|
import {
|
|
12
17
|
luhnValidate,
|
|
13
18
|
luhnChecksum,
|
|
@@ -17,8 +22,6 @@ import { randomDigits } from "#util/generate";
|
|
|
17
22
|
import { err } from "#util/result";
|
|
18
23
|
import { isdigits } from "#util/strings";
|
|
19
24
|
|
|
20
|
-
import type { ValidateResult, Validator } from "../types";
|
|
21
|
-
|
|
22
25
|
const compact = (value: string): string =>
|
|
23
26
|
clean(value, " -.");
|
|
24
27
|
|
|
@@ -58,13 +61,14 @@ const generate = (): string => {
|
|
|
58
61
|
};
|
|
59
62
|
|
|
60
63
|
/** French Company Identification Number. */
|
|
61
|
-
const siren:
|
|
64
|
+
const siren: CountryValidator<"FR"> = {
|
|
62
65
|
name: "French Company ID",
|
|
63
66
|
localName:
|
|
64
67
|
"Système d'Identification du Répertoire des Entreprises",
|
|
65
68
|
abbreviation: "SIREN",
|
|
66
69
|
aliases: ["SIREN", "numéro SIREN"] as const,
|
|
67
70
|
candidatePattern: "\\d{3}\\s?\\d{3}\\s?\\d{3}",
|
|
71
|
+
scope: "country",
|
|
68
72
|
country: "FR",
|
|
69
73
|
entityType: "company",
|
|
70
74
|
sourceUrl: "https://www.insee.fr/fr/information/2549588",
|
package/src/fr/siret.ts
CHANGED
|
@@ -9,6 +9,11 @@
|
|
|
9
9
|
* @see https://www.insee.fr/fr/information/2549588
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
+
import type {
|
|
13
|
+
ValidateResult,
|
|
14
|
+
CountryValidator,
|
|
15
|
+
} from "../types";
|
|
16
|
+
|
|
12
17
|
import {
|
|
13
18
|
luhnValidate,
|
|
14
19
|
luhnChecksum,
|
|
@@ -18,8 +23,6 @@ import { randomDigits } from "#util/generate";
|
|
|
18
23
|
import { err } from "#util/result";
|
|
19
24
|
import { isdigits } from "#util/strings";
|
|
20
25
|
|
|
21
|
-
import type { ValidateResult, Validator } from "../types";
|
|
22
|
-
|
|
23
26
|
const compact = (value: string): string =>
|
|
24
27
|
clean(value, " -.");
|
|
25
28
|
|
|
@@ -101,13 +104,14 @@ const generate = (): string => {
|
|
|
101
104
|
};
|
|
102
105
|
|
|
103
106
|
/** French Establishment Identification Number. */
|
|
104
|
-
const siret:
|
|
107
|
+
const siret: CountryValidator<"FR"> = {
|
|
105
108
|
name: "French Establishment ID",
|
|
106
109
|
localName:
|
|
107
110
|
"Système d'Identification du Répertoire des Établissements",
|
|
108
111
|
abbreviation: "SIRET",
|
|
109
112
|
aliases: ["SIRET", "numéro SIRET"] as const,
|
|
110
113
|
candidatePattern: "\\d{3}\\s?\\d{3}\\s?\\d{3}\\s?\\d{5}",
|
|
114
|
+
scope: "country",
|
|
111
115
|
country: "FR",
|
|
112
116
|
entityType: "company",
|
|
113
117
|
sourceUrl: "https://www.insee.fr/fr/information/2549588",
|
package/src/fr/tva.ts
CHANGED
|
@@ -10,6 +10,11 @@
|
|
|
10
10
|
* @see https://www.economie.gouv.fr/
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
+
import type {
|
|
14
|
+
ValidateResult,
|
|
15
|
+
CountryValidator,
|
|
16
|
+
} from "../types";
|
|
17
|
+
|
|
13
18
|
import {
|
|
14
19
|
luhnValidate,
|
|
15
20
|
luhnChecksum,
|
|
@@ -19,8 +24,6 @@ import { randomDigits } from "#util/generate";
|
|
|
19
24
|
import { err } from "#util/result";
|
|
20
25
|
import { isdigits } from "#util/strings";
|
|
21
26
|
|
|
22
|
-
import type { ValidateResult, Validator } from "../types";
|
|
23
|
-
|
|
24
27
|
const ALPHABET = "0123456789ABCDEFGHJKLMNPQRSTUVWXYZ";
|
|
25
28
|
|
|
26
29
|
const compact = (value: string): string => {
|
|
@@ -122,7 +125,7 @@ const generate = (): string => {
|
|
|
122
125
|
};
|
|
123
126
|
|
|
124
127
|
/** French VAT Number. */
|
|
125
|
-
const tva:
|
|
128
|
+
const tva: CountryValidator<"FR"> = {
|
|
126
129
|
name: "French VAT Number",
|
|
127
130
|
localName: "Numéro de TVA intracommunautaire",
|
|
128
131
|
abbreviation: "TVA",
|
|
@@ -132,6 +135,7 @@ const tva: Validator = {
|
|
|
132
135
|
"FR VAT",
|
|
133
136
|
] as const,
|
|
134
137
|
candidatePattern: "FR[A-Z0-9]{2}\\d{9}",
|
|
138
|
+
scope: "country",
|
|
135
139
|
country: "FR",
|
|
136
140
|
entityType: "company",
|
|
137
141
|
sourceUrl: "https://www.economie.gouv.fr/",
|
package/src/gb/nino.ts
CHANGED
|
@@ -28,12 +28,15 @@ const generate = (): string => {
|
|
|
28
28
|
* @see https://www.gov.uk/hmrc-internal-manuals/national-insurance-manual/nim39110
|
|
29
29
|
*/
|
|
30
30
|
|
|
31
|
+
import type {
|
|
32
|
+
ValidateResult,
|
|
33
|
+
CountryValidator,
|
|
34
|
+
} from "../types";
|
|
35
|
+
|
|
31
36
|
import { clean } from "#util/clean";
|
|
32
37
|
import { randomChar, randomDigits } from "#util/generate";
|
|
33
38
|
import { err } from "#util/result";
|
|
34
39
|
|
|
35
|
-
import type { ValidateResult, Validator } from "../types";
|
|
36
|
-
|
|
37
40
|
const INVALID_FIRST = new Set([
|
|
38
41
|
"D",
|
|
39
42
|
"F",
|
|
@@ -124,7 +127,7 @@ const format = (value: string): string => {
|
|
|
124
127
|
};
|
|
125
128
|
|
|
126
129
|
/** UK National Insurance Number. */
|
|
127
|
-
const nino:
|
|
130
|
+
const nino: CountryValidator<"GB"> = {
|
|
128
131
|
name: "UK National Insurance Number",
|
|
129
132
|
localName: "National Insurance Number",
|
|
130
133
|
abbreviation: "NINO",
|
|
@@ -134,6 +137,7 @@ const nino: Validator = {
|
|
|
134
137
|
"NI number",
|
|
135
138
|
] as const,
|
|
136
139
|
candidatePattern: "[A-Z]{2}\\d{6}[A-Z]",
|
|
140
|
+
scope: "country",
|
|
137
141
|
country: "GB",
|
|
138
142
|
entityType: "person",
|
|
139
143
|
description:
|
package/src/gb/sedol.ts
CHANGED
|
@@ -10,13 +10,16 @@
|
|
|
10
10
|
* @see https://en.wikipedia.org/wiki/SEDOL
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
+
import type {
|
|
14
|
+
ValidateResult,
|
|
15
|
+
CountryValidator,
|
|
16
|
+
} from "../types";
|
|
17
|
+
|
|
13
18
|
import { clean } from "#util/clean";
|
|
14
19
|
import { randomChar } from "#util/generate";
|
|
15
20
|
import { err } from "#util/result";
|
|
16
21
|
import { isdigits } from "#util/strings";
|
|
17
22
|
|
|
18
|
-
import type { ValidateResult, Validator } from "../types";
|
|
19
|
-
|
|
20
23
|
/**
|
|
21
24
|
* Allowed characters in a SEDOL: digits and
|
|
22
25
|
* consonants only (vowels are never used).
|
|
@@ -109,7 +112,7 @@ const generate = (): string => {
|
|
|
109
112
|
};
|
|
110
113
|
|
|
111
114
|
/** Stock Exchange Daily Official List number. */
|
|
112
|
-
const sedol:
|
|
115
|
+
const sedol: CountryValidator<"GB"> = {
|
|
113
116
|
name: "Stock Exchange Daily Official List number",
|
|
114
117
|
localName: "Stock Exchange Daily Official List number",
|
|
115
118
|
abbreviation: "SEDOL",
|
|
@@ -118,6 +121,7 @@ const sedol: Validator = {
|
|
|
118
121
|
"Stock Exchange Daily Official List",
|
|
119
122
|
] as const,
|
|
120
123
|
candidatePattern: "[B-DF-HJ-NP-TV-Z0-9]{6}\\d",
|
|
124
|
+
scope: "country",
|
|
121
125
|
country: "GB",
|
|
122
126
|
entityType: "any",
|
|
123
127
|
sourceUrl: "https://en.wikipedia.org/wiki/SEDOL",
|
package/src/gb/utr.ts
CHANGED
|
@@ -8,14 +8,17 @@
|
|
|
8
8
|
* @see https://www.gov.uk/find-utr-number
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
+
import type {
|
|
12
|
+
ValidateResult,
|
|
13
|
+
CountryValidator,
|
|
14
|
+
} from "../types";
|
|
15
|
+
|
|
11
16
|
import { weightedSum } from "#checksums/weighted-sum";
|
|
12
17
|
import { clean } from "#util/clean";
|
|
13
18
|
import { randomDigits } from "#util/generate";
|
|
14
19
|
import { err } from "#util/result";
|
|
15
20
|
import { isdigits } from "#util/strings";
|
|
16
21
|
|
|
17
|
-
import type { ValidateResult, Validator } from "../types";
|
|
18
|
-
|
|
19
22
|
const WEIGHTS = [6, 7, 8, 9, 10, 5, 4, 3, 2] as const;
|
|
20
23
|
const CHECK_LOOKUP = "21987654321";
|
|
21
24
|
|
|
@@ -61,12 +64,13 @@ const generate = (): string => {
|
|
|
61
64
|
};
|
|
62
65
|
|
|
63
66
|
/** UK Unique Taxpayer Reference. */
|
|
64
|
-
const utr:
|
|
67
|
+
const utr: CountryValidator<"GB"> = {
|
|
65
68
|
name: "UK Unique Taxpayer Reference",
|
|
66
69
|
localName: "Unique Taxpayer Reference",
|
|
67
70
|
abbreviation: "UTR",
|
|
68
71
|
aliases: ["Unique Taxpayer Reference", "UTR"] as const,
|
|
69
72
|
candidatePattern: "\\d{10}",
|
|
73
|
+
scope: "country",
|
|
70
74
|
country: "GB",
|
|
71
75
|
entityType: "any",
|
|
72
76
|
sourceUrl: "https://www.gov.uk/find-utr-number",
|
package/src/gb/vat.ts
CHANGED
|
@@ -9,14 +9,17 @@
|
|
|
9
9
|
* @see https://www.gov.uk/vat-registration
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
+
import type {
|
|
13
|
+
ValidateResult,
|
|
14
|
+
CountryValidator,
|
|
15
|
+
} from "../types";
|
|
16
|
+
|
|
12
17
|
import { weightedSum } from "#checksums/weighted-sum";
|
|
13
18
|
import { clean } from "#util/clean";
|
|
14
19
|
import { randomDigits } from "#util/generate";
|
|
15
20
|
import { err } from "#util/result";
|
|
16
21
|
import { isdigits } from "#util/strings";
|
|
17
22
|
|
|
18
|
-
import type { ValidateResult, Validator } from "../types";
|
|
19
|
-
|
|
20
23
|
const WEIGHTS = [8, 7, 6, 5, 4, 3, 2] as const;
|
|
21
24
|
|
|
22
25
|
const compact = (value: string): string => {
|
|
@@ -135,7 +138,7 @@ const generate = (): string => {
|
|
|
135
138
|
};
|
|
136
139
|
|
|
137
140
|
/** UK VAT Registration Number. */
|
|
138
|
-
const vat:
|
|
141
|
+
const vat: CountryValidator<"GB"> = {
|
|
139
142
|
name: "UK VAT Number",
|
|
140
143
|
localName: "VAT Registration Number",
|
|
141
144
|
abbreviation: "VAT",
|
|
@@ -144,6 +147,7 @@ const vat: Validator = {
|
|
|
144
147
|
"VAT number",
|
|
145
148
|
] as const,
|
|
146
149
|
candidatePattern: "GB\\d{9,12}",
|
|
150
|
+
scope: "country",
|
|
147
151
|
country: "GB",
|
|
148
152
|
entityType: "company",
|
|
149
153
|
sourceUrl: "https://www.gov.uk/vat-registration",
|
package/src/ge/pin.ts
CHANGED
|
@@ -14,13 +14,16 @@ const generate = (): string => randomDigits(11);
|
|
|
14
14
|
* @see https://www.oecd.org/tax/automatic-exchange/crs-implementation-and-assistance/tax-identification-numbers/Georgia-TIN.pdf
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
+
import type {
|
|
18
|
+
ValidateResult,
|
|
19
|
+
CountryValidator,
|
|
20
|
+
} from "../types";
|
|
21
|
+
|
|
17
22
|
import { clean } from "#util/clean";
|
|
18
23
|
import { randomDigits } from "#util/generate";
|
|
19
24
|
import { err } from "#util/result";
|
|
20
25
|
import { isdigits } from "#util/strings";
|
|
21
26
|
|
|
22
|
-
import type { ValidateResult, Validator } from "../types";
|
|
23
|
-
|
|
24
27
|
const compact = (value: string): string =>
|
|
25
28
|
clean(value, " -").trim();
|
|
26
29
|
|
|
@@ -47,12 +50,13 @@ const validate = (value: string): ValidateResult => {
|
|
|
47
50
|
const format = (value: string): string => compact(value);
|
|
48
51
|
|
|
49
52
|
/** Georgian Personal Identification Number. */
|
|
50
|
-
const pin:
|
|
53
|
+
const pin: CountryValidator<"GE"> = {
|
|
51
54
|
name: "Georgian Personal ID",
|
|
52
55
|
localName: "პირადი ნომერი",
|
|
53
56
|
abbreviation: "PIN",
|
|
54
57
|
aliases: ["პირადი ნომერი", "PIN"] as const,
|
|
55
58
|
candidatePattern: "\\d{11}",
|
|
59
|
+
scope: "country",
|
|
56
60
|
country: "GE",
|
|
57
61
|
entityType: "any",
|
|
58
62
|
lengths: [9, 11] as const,
|
package/src/gh/tin.ts
CHANGED
|
@@ -14,12 +14,15 @@
|
|
|
14
14
|
* @see https://gra.gov.gh/
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
+
import type {
|
|
18
|
+
ValidateResult,
|
|
19
|
+
CountryValidator,
|
|
20
|
+
} from "../types";
|
|
21
|
+
|
|
17
22
|
import { clean } from "#util/clean";
|
|
18
23
|
import { randomDigits, randomPick } from "#util/generate";
|
|
19
24
|
import { err } from "#util/result";
|
|
20
25
|
|
|
21
|
-
import type { ValidateResult, Validator } from "../types";
|
|
22
|
-
|
|
23
26
|
const FORMAT_RE = /^[PCGQV]00[0-9]{7}[0-9X]$/;
|
|
24
27
|
|
|
25
28
|
const compact = (value: string): string =>
|
|
@@ -79,12 +82,13 @@ const generate = (): string => {
|
|
|
79
82
|
};
|
|
80
83
|
|
|
81
84
|
/** Ghanaian Tax Identification Number. */
|
|
82
|
-
const tin:
|
|
85
|
+
const tin: CountryValidator<"GH"> = {
|
|
83
86
|
name: "Ghanaian Tax Identification Number",
|
|
84
87
|
localName: "Tax Identification Number",
|
|
85
88
|
abbreviation: "TIN",
|
|
86
89
|
aliases: ["TIN", "Tax Identification Number"] as const,
|
|
87
90
|
candidatePattern: "[A-Z]\\d{9,10}",
|
|
91
|
+
scope: "country",
|
|
88
92
|
country: "GH",
|
|
89
93
|
entityType: "any",
|
|
90
94
|
compact,
|
package/src/gr/amka.ts
CHANGED
|
@@ -8,6 +8,11 @@
|
|
|
8
8
|
* @see https://www.amka.gr/
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
+
import type {
|
|
12
|
+
ValidateResult,
|
|
13
|
+
CountryValidator,
|
|
14
|
+
} from "../types";
|
|
15
|
+
|
|
11
16
|
import {
|
|
12
17
|
luhnValidate,
|
|
13
18
|
luhnChecksum,
|
|
@@ -18,8 +23,6 @@ import { randomDigits, randomInt } from "#util/generate";
|
|
|
18
23
|
import { err } from "#util/result";
|
|
19
24
|
import { isdigits } from "#util/strings";
|
|
20
25
|
|
|
21
|
-
import type { ValidateResult, Validator } from "../types";
|
|
22
|
-
|
|
23
26
|
const compact = (value: string): string =>
|
|
24
27
|
clean(value, " -");
|
|
25
28
|
|
|
@@ -80,7 +83,7 @@ const generate = (): string => {
|
|
|
80
83
|
};
|
|
81
84
|
|
|
82
85
|
/** Greek Social Security Number. */
|
|
83
|
-
const amka:
|
|
86
|
+
const amka: CountryValidator<"GR"> = {
|
|
84
87
|
name: "Greek Social Security Number",
|
|
85
88
|
localName: "Αριθμός Μητρώου Κοινωνικής Ασφάλισης",
|
|
86
89
|
abbreviation: "ΑΜΚΑ",
|
|
@@ -90,6 +93,7 @@ const amka: Validator = {
|
|
|
90
93
|
"AMKA",
|
|
91
94
|
] as const,
|
|
92
95
|
candidatePattern: "\\d{11}",
|
|
96
|
+
scope: "country",
|
|
93
97
|
country: "GR",
|
|
94
98
|
entityType: "person",
|
|
95
99
|
sourceUrl: "https://www.amka.gr/",
|
package/src/gr/vat.ts
CHANGED
|
@@ -9,13 +9,16 @@
|
|
|
9
9
|
* @see https://www.aade.gr/
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
+
import type {
|
|
13
|
+
ValidateResult,
|
|
14
|
+
CountryValidator,
|
|
15
|
+
} from "../types";
|
|
16
|
+
|
|
12
17
|
import { clean } from "#util/clean";
|
|
13
18
|
import { randomDigits } from "#util/generate";
|
|
14
19
|
import { err } from "#util/result";
|
|
15
20
|
import { isdigits } from "#util/strings";
|
|
16
21
|
|
|
17
|
-
import type { ValidateResult, Validator } from "../types";
|
|
18
|
-
|
|
19
22
|
const compact = (value: string): string => {
|
|
20
23
|
let v = clean(value, " -/.");
|
|
21
24
|
if (v.startsWith("EL") || v.startsWith("el")) {
|
|
@@ -72,7 +75,7 @@ const generate = (): string => {
|
|
|
72
75
|
};
|
|
73
76
|
|
|
74
77
|
/** Greek VAT Number. */
|
|
75
|
-
const vat:
|
|
78
|
+
const vat: CountryValidator<"GR"> = {
|
|
76
79
|
name: "Greek VAT Number",
|
|
77
80
|
localName: "Αριθμός Φορολογικού Μητρώου",
|
|
78
81
|
abbreviation: "ΑΦΜ",
|
|
@@ -82,6 +85,7 @@ const vat: Validator = {
|
|
|
82
85
|
"AFM",
|
|
83
86
|
] as const,
|
|
84
87
|
candidatePattern: "EL\\d{9}",
|
|
88
|
+
scope: "country",
|
|
85
89
|
country: "GR",
|
|
86
90
|
entityType: "any",
|
|
87
91
|
sourceUrl: "https://www.aade.gr/",
|
package/src/gt/nit.ts
CHANGED
|
@@ -11,13 +11,16 @@
|
|
|
11
11
|
* @see https://portal.sat.gob.gt/portal/
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
+
import type {
|
|
15
|
+
ValidateResult,
|
|
16
|
+
CountryValidator,
|
|
17
|
+
} from "../types";
|
|
18
|
+
|
|
14
19
|
import { clean } from "#util/clean";
|
|
15
20
|
import { randomDigits } from "#util/generate";
|
|
16
21
|
import { err } from "#util/result";
|
|
17
22
|
import { isdigits } from "#util/strings";
|
|
18
23
|
|
|
19
|
-
import type { ValidateResult, Validator } from "../types";
|
|
20
|
-
|
|
21
24
|
/**
|
|
22
25
|
* Compact: strip spaces, hyphens, leading zeros,
|
|
23
26
|
* and uppercase.
|
|
@@ -97,12 +100,13 @@ const generate = (): string => {
|
|
|
97
100
|
};
|
|
98
101
|
|
|
99
102
|
/** Guatemala tax identification number. */
|
|
100
|
-
const nit:
|
|
103
|
+
const nit: CountryValidator<"GT"> = {
|
|
101
104
|
name: "Tax Identification Number",
|
|
102
105
|
localName: "Número de Identificación Tributaria",
|
|
103
106
|
abbreviation: "NIT",
|
|
104
107
|
aliases: ["NIT"] as const,
|
|
105
108
|
candidatePattern: "\\d{7,8}-?\\d",
|
|
109
|
+
scope: "country",
|
|
106
110
|
country: "GT",
|
|
107
111
|
entityType: "any",
|
|
108
112
|
description: "Tax identifier issued by Guatemala's SAT",
|
package/src/hk/hkid.ts
CHANGED
|
@@ -9,12 +9,15 @@
|
|
|
9
9
|
* @see https://en.wikipedia.org/wiki/Hong_Kong_identity_card
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
+
import type {
|
|
13
|
+
ValidateResult,
|
|
14
|
+
CountryValidator,
|
|
15
|
+
} from "../types";
|
|
16
|
+
|
|
12
17
|
import { clean } from "#util/clean";
|
|
13
18
|
import { randomDigits, randomInt } from "#util/generate";
|
|
14
19
|
import { err } from "#util/result";
|
|
15
20
|
|
|
16
|
-
import type { ValidateResult, Validator } from "../types";
|
|
17
|
-
|
|
18
21
|
/** Strip spaces, parentheses, and dashes. */
|
|
19
22
|
const compact = (value: string): string =>
|
|
20
23
|
clean(value, " -()").toUpperCase();
|
|
@@ -106,12 +109,13 @@ const generate = (): string => {
|
|
|
106
109
|
};
|
|
107
110
|
|
|
108
111
|
/** Hong Kong Identity Card number. */
|
|
109
|
-
const hkid:
|
|
112
|
+
const hkid: CountryValidator<"HK"> = {
|
|
110
113
|
name: "Hong Kong Identity Card Number",
|
|
111
114
|
localName: "Hong Kong Identity Card Number",
|
|
112
115
|
abbreviation: "HKID",
|
|
113
116
|
aliases: ["HKID", "香港身份證"] as const,
|
|
114
117
|
candidatePattern: "[A-Z]{1,2}\\d{6}[\\dA]",
|
|
118
|
+
scope: "country",
|
|
115
119
|
country: "HK",
|
|
116
120
|
entityType: "person",
|
|
117
121
|
lengths: [8, 9],
|
package/src/hr/vat.ts
CHANGED
|
@@ -7,6 +7,11 @@
|
|
|
7
7
|
* @see https://www.porezna-uprava.hr/
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
+
import type {
|
|
11
|
+
ValidateResult,
|
|
12
|
+
CountryValidator,
|
|
13
|
+
} from "../types";
|
|
14
|
+
|
|
10
15
|
import {
|
|
11
16
|
mod1110validate,
|
|
12
17
|
mod1110checkDigit,
|
|
@@ -16,8 +21,6 @@ import { randomDigits } from "#util/generate";
|
|
|
16
21
|
import { err } from "#util/result";
|
|
17
22
|
import { isdigits } from "#util/strings";
|
|
18
23
|
|
|
19
|
-
import type { ValidateResult, Validator } from "../types";
|
|
20
|
-
|
|
21
24
|
const compact = (value: string): string => {
|
|
22
25
|
let v = clean(value, " -/.");
|
|
23
26
|
if (v.startsWith("HR") || v.startsWith("hr")) {
|
|
@@ -59,12 +62,13 @@ const generate = (): string => {
|
|
|
59
62
|
};
|
|
60
63
|
|
|
61
64
|
/** Croatian VAT Number. */
|
|
62
|
-
const vat:
|
|
65
|
+
const vat: CountryValidator<"HR"> = {
|
|
63
66
|
name: "Croatian VAT Number",
|
|
64
67
|
localName: "Osobni identifikacijski broj",
|
|
65
68
|
abbreviation: "OIB",
|
|
66
69
|
aliases: ["OIB", "osobni identifikacijski broj"] as const,
|
|
67
70
|
candidatePattern: "HR\\d{11}",
|
|
71
|
+
scope: "country",
|
|
68
72
|
country: "HR",
|
|
69
73
|
entityType: "any",
|
|
70
74
|
sourceUrl: "https://www.porezna-uprava.hr/",
|
package/src/hu/vat.ts
CHANGED
|
@@ -8,14 +8,17 @@
|
|
|
8
8
|
* @see https://www.oecd.org/content/dam/oecd/en/topics/policy-issue-focus/aeoi/hungary-tin.pdf
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
+
import type {
|
|
12
|
+
ValidateResult,
|
|
13
|
+
CountryValidator,
|
|
14
|
+
} from "../types";
|
|
15
|
+
|
|
11
16
|
import { weightedSum } from "#checksums/weighted-sum";
|
|
12
17
|
import { clean } from "#util/clean";
|
|
13
18
|
import { randomDigits } from "#util/generate";
|
|
14
19
|
import { err } from "#util/result";
|
|
15
20
|
import { isdigits } from "#util/strings";
|
|
16
21
|
|
|
17
|
-
import type { ValidateResult, Validator } from "../types";
|
|
18
|
-
|
|
19
22
|
const WEIGHTS = [9, 7, 3, 1, 9, 7, 3, 1];
|
|
20
23
|
|
|
21
24
|
const compact = (value: string): string => {
|
|
@@ -62,15 +65,17 @@ const generate = (): string => {
|
|
|
62
65
|
};
|
|
63
66
|
|
|
64
67
|
/** Hungarian VAT Number. */
|
|
65
|
-
const vat:
|
|
68
|
+
const vat: CountryValidator<"HU"> = {
|
|
66
69
|
name: "Hungarian VAT Number",
|
|
67
70
|
localName: "Adószám",
|
|
68
71
|
abbreviation: "ANUM",
|
|
69
72
|
aliases: ["adószám", "adóazonosító jel"] as const,
|
|
70
73
|
candidatePattern: "\\d{8}-\\d-\\d{2}",
|
|
74
|
+
scope: "country",
|
|
71
75
|
country: "HU",
|
|
72
76
|
entityType: "company",
|
|
73
77
|
sourceUrl: "https://nav.gov.hu/",
|
|
78
|
+
lengths: [8] as const,
|
|
74
79
|
examples: ["12892312"] as const,
|
|
75
80
|
compact,
|
|
76
81
|
format,
|
package/src/iban.ts
CHANGED
|
@@ -6,14 +6,17 @@
|
|
|
6
6
|
* characters. Validated using ISO 7064 Mod 97-10.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
+
import type {
|
|
10
|
+
ValidateResult,
|
|
11
|
+
GlobalValidator,
|
|
12
|
+
} from "./types";
|
|
13
|
+
|
|
9
14
|
import { mod97 } from "#checksums/mod97";
|
|
10
15
|
import { clean } from "#util/clean";
|
|
11
16
|
import { randomDigits, randomInt } from "#util/generate";
|
|
12
17
|
import { err } from "#util/result";
|
|
13
18
|
import { charValue, isalnum } from "#util/strings";
|
|
14
19
|
|
|
15
|
-
import type { ValidateResult, Validator } from "./types";
|
|
16
|
-
|
|
17
20
|
/**
|
|
18
21
|
* BBAN format regex by country code.
|
|
19
22
|
* Sourced from SWIFT IBAN Registry.
|
|
@@ -314,7 +317,8 @@ const generate = (): string => {
|
|
|
314
317
|
};
|
|
315
318
|
|
|
316
319
|
/** International Bank Account Number. */
|
|
317
|
-
const iban:
|
|
320
|
+
const iban: GlobalValidator = {
|
|
321
|
+
scope: "global",
|
|
318
322
|
name: "IBAN",
|
|
319
323
|
localName: "IBAN",
|
|
320
324
|
abbreviation: "IBAN",
|
package/src/id/npwp.ts
CHANGED
|
@@ -10,6 +10,11 @@
|
|
|
10
10
|
* @see https://www.oecd.org/tax/automatic-exchange/crs-implementation-and-assistance/tax-identification-numbers/Indonesia-TIN.pdf
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
+
import type {
|
|
14
|
+
ValidateResult,
|
|
15
|
+
CountryValidator,
|
|
16
|
+
} from "../types";
|
|
17
|
+
|
|
13
18
|
import {
|
|
14
19
|
luhnValidate,
|
|
15
20
|
luhnChecksum,
|
|
@@ -20,8 +25,6 @@ import { randomDigits } from "#util/generate";
|
|
|
20
25
|
import { err } from "#util/result";
|
|
21
26
|
import { isdigits } from "#util/strings";
|
|
22
27
|
|
|
23
|
-
import type { ValidateResult, Validator } from "../types";
|
|
24
|
-
|
|
25
28
|
const compact = (value: string): string =>
|
|
26
29
|
clean(value, " .-");
|
|
27
30
|
|
|
@@ -160,13 +163,14 @@ const generate = (): string => {
|
|
|
160
163
|
};
|
|
161
164
|
|
|
162
165
|
/** Indonesian Taxpayer Identification Number. */
|
|
163
|
-
const npwp:
|
|
166
|
+
const npwp: CountryValidator<"ID"> = {
|
|
164
167
|
name: "Indonesian Taxpayer Identification Number",
|
|
165
168
|
localName: "Nomor Pokok Wajib Pajak",
|
|
166
169
|
abbreviation: "NPWP",
|
|
167
170
|
aliases: ["NPWP", "Nomor Pokok Wajib Pajak"] as const,
|
|
168
171
|
candidatePattern:
|
|
169
172
|
"\\d{2}\\.?\\d{3}\\.?\\d{3}\\.?\\d-?\\d{3}\\.?\\d{3}",
|
|
173
|
+
scope: "country",
|
|
170
174
|
country: "ID",
|
|
171
175
|
entityType: "any",
|
|
172
176
|
lengths: [15, 16],
|
package/src/ie/pps.ts
CHANGED
|
@@ -9,13 +9,16 @@
|
|
|
9
9
|
* @see https://www.gov.ie/en/service/12e6de-get-a-personal-public-service-pps-number/
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
+
import type {
|
|
13
|
+
ValidateResult,
|
|
14
|
+
CountryValidator,
|
|
15
|
+
} from "../types";
|
|
16
|
+
|
|
12
17
|
import { clean } from "#util/clean";
|
|
13
18
|
import { randomDigits } from "#util/generate";
|
|
14
19
|
import { err } from "#util/result";
|
|
15
20
|
import { isdigits } from "#util/strings";
|
|
16
21
|
|
|
17
|
-
import type { ValidateResult, Validator } from "../types";
|
|
18
|
-
|
|
19
22
|
const ALPHABET = "WABCDEFGHIJKLMNOPQRSTUV";
|
|
20
23
|
|
|
21
24
|
const compact = (value: string): string =>
|
|
@@ -84,12 +87,13 @@ const generate = (): string => {
|
|
|
84
87
|
};
|
|
85
88
|
|
|
86
89
|
/** Irish Personal Public Service Number. */
|
|
87
|
-
const pps:
|
|
90
|
+
const pps: CountryValidator<"IE"> = {
|
|
88
91
|
name: "Irish Personal ID",
|
|
89
92
|
localName: "Personal Public Service Number",
|
|
90
93
|
abbreviation: "PPS",
|
|
91
94
|
aliases: ["PPS number", "PPSN", "RSI number"] as const,
|
|
92
95
|
candidatePattern: "\\d{7}[A-Z]{1,2}",
|
|
96
|
+
scope: "country",
|
|
93
97
|
country: "IE",
|
|
94
98
|
entityType: "person",
|
|
95
99
|
sourceUrl:
|