@stll/stdnum 1.0.0 → 2.0.1
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/README.md +1 -4
- 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/cn/ric.ts
CHANGED
|
@@ -11,6 +11,12 @@
|
|
|
11
11
|
* @see https://en.wikipedia.org/wiki/Resident_Identity_Card
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
+
import type {
|
|
15
|
+
ParsedPersonId,
|
|
16
|
+
ValidateResult,
|
|
17
|
+
CountryValidator,
|
|
18
|
+
} from "../types";
|
|
19
|
+
|
|
14
20
|
import {
|
|
15
21
|
mod112checkChar,
|
|
16
22
|
mod112validate,
|
|
@@ -21,12 +27,6 @@ import { randomInt } from "#util/generate";
|
|
|
21
27
|
import { err } from "#util/result";
|
|
22
28
|
import { isdigits } from "#util/strings";
|
|
23
29
|
|
|
24
|
-
import type {
|
|
25
|
-
ParsedPersonId,
|
|
26
|
-
ValidateResult,
|
|
27
|
-
Validator,
|
|
28
|
-
} from "../types";
|
|
29
|
-
|
|
30
30
|
const compact = (value: string): string =>
|
|
31
31
|
clean(value, " -").toUpperCase();
|
|
32
32
|
|
|
@@ -155,12 +155,13 @@ const generate = (): string => {
|
|
|
155
155
|
};
|
|
156
156
|
|
|
157
157
|
/** Chinese Resident Identity Card number. */
|
|
158
|
-
const ric:
|
|
158
|
+
const ric: CountryValidator<"CN", ParsedPersonId> = {
|
|
159
159
|
name: "Chinese Resident Identity Card",
|
|
160
160
|
localName: "居民身份证号码",
|
|
161
161
|
abbreviation: "RIC",
|
|
162
162
|
aliases: ["身份证", "居民身份证号码", "RIC"] as const,
|
|
163
163
|
candidatePattern: "\\d{17}[\\dX]",
|
|
164
|
+
scope: "country",
|
|
164
165
|
country: "CN",
|
|
165
166
|
entityType: "person",
|
|
166
167
|
description:
|
package/src/cn/uscc.ts
CHANGED
|
@@ -9,6 +9,11 @@
|
|
|
9
9
|
* @see https://zh.wikipedia.org/wiki/统一社会信用代码
|
|
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 {
|
|
14
19
|
randomChar,
|
|
@@ -18,8 +23,6 @@ import {
|
|
|
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 ALPHABET = "0123456789ABCDEFGHJKLMNPQRTUWXY";
|
|
24
27
|
|
|
25
28
|
const WEIGHTS = [
|
|
@@ -98,13 +101,14 @@ const generate = (): string => {
|
|
|
98
101
|
};
|
|
99
102
|
|
|
100
103
|
/** Chinese Unified Social Credit Code. */
|
|
101
|
-
const uscc:
|
|
104
|
+
const uscc: CountryValidator<"CN"> = {
|
|
102
105
|
name: "Unified Social Credit Code",
|
|
103
106
|
localName: "统一社会信用代码",
|
|
104
107
|
abbreviation: "USCC",
|
|
105
108
|
aliases: ["统一社会信用代码", "USCC"] as const,
|
|
106
109
|
candidatePattern:
|
|
107
110
|
"[0-9A-HJ-NP-RTUW-Y]{2}\\d{6}[0-9A-HJ-NP-RTUW-Y]{10}",
|
|
111
|
+
scope: "country",
|
|
108
112
|
country: "CN",
|
|
109
113
|
entityType: "company",
|
|
110
114
|
description:
|
package/src/co/nit.ts
CHANGED
|
@@ -10,13 +10,16 @@
|
|
|
10
10
|
* @see https://es.wikipedia.org/wiki/Número_de_identificación_tributaria
|
|
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 { 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 = [
|
|
21
24
|
3, 7, 13, 17, 19, 23, 29, 37, 41, 43, 47, 53, 59, 67, 71,
|
|
22
25
|
] as const;
|
|
@@ -57,7 +60,7 @@ const validate = (value: string): ValidateResult => {
|
|
|
57
60
|
|
|
58
61
|
const body = v.slice(0, -1);
|
|
59
62
|
const check = calcCheckDigit(body);
|
|
60
|
-
if (check !== Number(v
|
|
63
|
+
if (check !== Number(v.at(-1))) {
|
|
61
64
|
return err(
|
|
62
65
|
"INVALID_CHECKSUM",
|
|
63
66
|
"NIT check digit does not match",
|
|
@@ -86,7 +89,7 @@ const generate = (): string => {
|
|
|
86
89
|
};
|
|
87
90
|
|
|
88
91
|
/** Colombian tax identification number. */
|
|
89
|
-
const nit:
|
|
92
|
+
const nit: CountryValidator<"CO"> = {
|
|
90
93
|
name: "Número de Identificación Tributaria",
|
|
91
94
|
localName: "Número de Identificación Tributaria",
|
|
92
95
|
abbreviation: "NIT",
|
|
@@ -95,6 +98,7 @@ const nit: Validator = {
|
|
|
95
98
|
"Número de Identificación Tributaria",
|
|
96
99
|
] as const,
|
|
97
100
|
candidatePattern: "\\d{9,10}-?\\d",
|
|
101
|
+
scope: "country",
|
|
98
102
|
country: "CO",
|
|
99
103
|
entityType: "any",
|
|
100
104
|
description: "Tax identifier issued by the DIAN",
|
package/src/cr/cpf.ts
CHANGED
|
@@ -23,12 +23,15 @@ const generate = (): string => {
|
|
|
23
23
|
* @see https://www.tse.go.cr/
|
|
24
24
|
*/
|
|
25
25
|
|
|
26
|
+
import type {
|
|
27
|
+
ValidateResult,
|
|
28
|
+
CountryValidator,
|
|
29
|
+
} from "../types";
|
|
30
|
+
|
|
26
31
|
import { clean } from "#util/clean";
|
|
27
32
|
import { randomDigits, randomInt } from "#util/generate";
|
|
28
33
|
import { err } from "#util/result";
|
|
29
34
|
|
|
30
|
-
import type { ValidateResult, Validator } from "../types";
|
|
31
|
-
|
|
32
35
|
/**
|
|
33
36
|
* Compact: strip spaces, pad hyphen-separated parts
|
|
34
37
|
* (2-4-4), join, and prepend '0' if 9 digits.
|
|
@@ -91,12 +94,13 @@ const format = (value: string): string => {
|
|
|
91
94
|
*
|
|
92
95
|
* Examples sourced from python-stdnum test suite.
|
|
93
96
|
*/
|
|
94
|
-
const cpf:
|
|
97
|
+
const cpf: CountryValidator<"CR"> = {
|
|
95
98
|
name: "Costa Rican Physical Person ID",
|
|
96
99
|
localName: "Cédula de Persona Física",
|
|
97
100
|
abbreviation: "CPF",
|
|
98
101
|
aliases: ["CPF", "cédula de persona física"] as const,
|
|
99
102
|
candidatePattern: "\\d{9,12}",
|
|
103
|
+
scope: "country",
|
|
100
104
|
country: "CR",
|
|
101
105
|
entityType: "person",
|
|
102
106
|
lengths: [10] as const,
|
package/src/creditcard.ts
CHANGED
|
@@ -9,6 +9,11 @@
|
|
|
9
9
|
* @see https://www.iso.org/standard/70484.html
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
+
import type {
|
|
13
|
+
ValidateResult,
|
|
14
|
+
GlobalValidator,
|
|
15
|
+
} from "./types";
|
|
16
|
+
|
|
12
17
|
import {
|
|
13
18
|
luhnChecksum,
|
|
14
19
|
luhnValidate,
|
|
@@ -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
|
/**
|
|
24
27
|
* Card network identifiers returned by
|
|
25
28
|
* {@link detectNetwork}.
|
|
@@ -74,9 +77,9 @@ const format = (value: string): string => {
|
|
|
74
77
|
return groups.join(" ");
|
|
75
78
|
};
|
|
76
79
|
|
|
77
|
-
const MAESTRO_PREFIXES
|
|
80
|
+
const MAESTRO_PREFIXES = new Set([
|
|
78
81
|
5018, 5020, 5038, 5893, 6304, 6759, 6761, 6762, 6763,
|
|
79
|
-
];
|
|
82
|
+
]);
|
|
80
83
|
|
|
81
84
|
/**
|
|
82
85
|
* Detect the card network from the BIN/IIN prefix.
|
|
@@ -112,7 +115,7 @@ const detectNetwork = (
|
|
|
112
115
|
|
|
113
116
|
// Maestro (check before Mastercard; some share
|
|
114
117
|
// the 50xx prefix space)
|
|
115
|
-
if (MAESTRO_PREFIXES.
|
|
118
|
+
if (MAESTRO_PREFIXES.has(d4)) return "maestro";
|
|
116
119
|
|
|
117
120
|
// Mastercard: 51-55 or 2221-2720
|
|
118
121
|
if (d2 >= 51 && d2 <= 55) return "mastercard";
|
|
@@ -162,7 +165,8 @@ const generate = (): string => {
|
|
|
162
165
|
};
|
|
163
166
|
|
|
164
167
|
/** Credit Card Number (Luhn). */
|
|
165
|
-
const creditCard:
|
|
168
|
+
const creditCard: GlobalValidator = {
|
|
169
|
+
scope: "global",
|
|
166
170
|
name: "Credit Card Number",
|
|
167
171
|
localName: "Credit Card Number",
|
|
168
172
|
abbreviation: "CC",
|
package/src/cu/ni.ts
CHANGED
|
@@ -15,17 +15,17 @@
|
|
|
15
15
|
* @see https://www.ecured.cu/Carnet_de_Identidad
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
import { clean } from "#util/clean";
|
|
19
|
-
import { isValidDate } from "#util/date";
|
|
20
|
-
import { randomDigits, randomInt } from "#util/generate";
|
|
21
|
-
import { err } from "#util/result";
|
|
22
|
-
|
|
23
18
|
import type {
|
|
24
19
|
ParsedPersonId,
|
|
25
20
|
ValidateResult,
|
|
26
|
-
|
|
21
|
+
CountryValidator,
|
|
27
22
|
} from "../types";
|
|
28
23
|
|
|
24
|
+
import { clean } from "#util/clean";
|
|
25
|
+
import { isValidDate } from "#util/date";
|
|
26
|
+
import { randomDigits, randomInt } from "#util/generate";
|
|
27
|
+
import { err } from "#util/result";
|
|
28
|
+
|
|
29
29
|
const compact = (value: string): string =>
|
|
30
30
|
clean(value, " -").trim();
|
|
31
31
|
|
|
@@ -119,7 +119,7 @@ const generate = (): string => {
|
|
|
119
119
|
*
|
|
120
120
|
* Examples sourced from python-stdnum test suite.
|
|
121
121
|
*/
|
|
122
|
-
const ni:
|
|
122
|
+
const ni: CountryValidator<"CU", ParsedPersonId> = {
|
|
123
123
|
name: "Cuban Identity Card Number",
|
|
124
124
|
localName: "Número de Identidad",
|
|
125
125
|
abbreviation: "NI",
|
|
@@ -129,6 +129,7 @@ const ni: Validator<ParsedPersonId> = {
|
|
|
129
129
|
"carnet de identidad",
|
|
130
130
|
] as const,
|
|
131
131
|
candidatePattern: "\\d{11}",
|
|
132
|
+
scope: "country",
|
|
132
133
|
country: "CU",
|
|
133
134
|
entityType: "person",
|
|
134
135
|
lengths: [11] as const,
|
package/src/cy/vat.ts
CHANGED
|
@@ -7,13 +7,16 @@
|
|
|
7
7
|
* @see https://www.oecd.org/content/dam/oecd/en/topics/policy-issue-focus/aeoi/cyprus-tin.pdf
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
+
import type {
|
|
11
|
+
ValidateResult,
|
|
12
|
+
CountryValidator,
|
|
13
|
+
} from "../types";
|
|
14
|
+
|
|
10
15
|
import { clean } from "#util/clean";
|
|
11
16
|
import { randomDigits } from "#util/generate";
|
|
12
17
|
import { err } from "#util/result";
|
|
13
18
|
import { isdigits } from "#util/strings";
|
|
14
19
|
|
|
15
|
-
import type { ValidateResult, Validator } from "../types";
|
|
16
|
-
|
|
17
20
|
const ODD_MAP: Record<number, number> = {
|
|
18
21
|
0: 1,
|
|
19
22
|
1: 0,
|
|
@@ -110,12 +113,13 @@ const generate = (): string => {
|
|
|
110
113
|
};
|
|
111
114
|
|
|
112
115
|
/** Cypriot VAT Number. */
|
|
113
|
-
const vat:
|
|
116
|
+
const vat: CountryValidator<"CY"> = {
|
|
114
117
|
name: "Cypriot VAT Number",
|
|
115
118
|
localName: "Αριθμός Εγγραφής Φ.Π.Α.",
|
|
116
119
|
abbreviation: "ΦΠΑ",
|
|
117
120
|
aliases: ["ΦΠΑ", "VAT CY"] as const,
|
|
118
121
|
candidatePattern: "CY\\d{8}[A-Z]",
|
|
122
|
+
scope: "country",
|
|
119
123
|
country: "CY",
|
|
120
124
|
entityType: "company",
|
|
121
125
|
sourceUrl: "https://www.mof.gov.cy/",
|
package/src/cz/dic.ts
CHANGED
|
@@ -11,15 +11,18 @@
|
|
|
11
11
|
* @see https://adisspr.mfcr.cz/dpr/DphReg
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
+
import type {
|
|
15
|
+
ValidateResult,
|
|
16
|
+
CountryValidator,
|
|
17
|
+
} from "../types";
|
|
18
|
+
import { validate as validateRc } from "./rc";
|
|
19
|
+
|
|
14
20
|
import { weightedSum } from "#checksums/weighted-sum";
|
|
15
21
|
import { clean } from "#util/clean";
|
|
16
22
|
import { randomDigits, randomInt } from "#util/generate";
|
|
17
23
|
import { err } from "#util/result";
|
|
18
24
|
import { isdigits } from "#util/strings";
|
|
19
25
|
|
|
20
|
-
import type { ValidateResult, Validator } from "../types";
|
|
21
|
-
import { validate as validateRc } from "./rc";
|
|
22
|
-
|
|
23
26
|
const ICO_WEIGHTS = [8, 7, 6, 5, 4, 3, 2] as const;
|
|
24
27
|
|
|
25
28
|
const compact = (value: string): string => {
|
|
@@ -115,15 +118,17 @@ const generate = (): string => {
|
|
|
115
118
|
};
|
|
116
119
|
|
|
117
120
|
/** Czech VAT Number. */
|
|
118
|
-
const dic:
|
|
121
|
+
const dic: CountryValidator<"CZ"> = {
|
|
119
122
|
name: "Czech VAT Number",
|
|
120
123
|
localName: "Daňové identifikační číslo",
|
|
121
124
|
abbreviation: "DIČ",
|
|
122
125
|
aliases: ["DIČ", "daňové identifikační číslo"] as const,
|
|
123
126
|
candidatePattern: "CZ\\d{8,10}",
|
|
127
|
+
scope: "country",
|
|
124
128
|
country: "CZ",
|
|
125
129
|
entityType: "any",
|
|
126
130
|
sourceUrl: "https://adisspr.mfcr.cz/dpr/DphReg",
|
|
131
|
+
lengths: [8, 9, 10] as const,
|
|
127
132
|
examples: ["25123891", "7103192745"] as const,
|
|
128
133
|
compact,
|
|
129
134
|
format,
|
package/src/cz/ico.ts
CHANGED
|
@@ -8,14 +8,17 @@
|
|
|
8
8
|
* @see https://www.czso.cz/
|
|
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 = [8, 7, 6, 5, 4, 3, 2] as const;
|
|
20
23
|
|
|
21
24
|
const compact = (value: string): string =>
|
|
@@ -59,12 +62,13 @@ const generate = (): string => {
|
|
|
59
62
|
};
|
|
60
63
|
|
|
61
64
|
/** Czech Company Identification Number. */
|
|
62
|
-
const ico:
|
|
65
|
+
const ico: CountryValidator<"CZ"> = {
|
|
63
66
|
name: "Czech Company ID",
|
|
64
67
|
localName: "Identifikační číslo osoby",
|
|
65
68
|
abbreviation: "IČO",
|
|
66
69
|
aliases: ["IČO", "IČ", "identifikační číslo"] as const,
|
|
67
70
|
candidatePattern: "\\d{8}",
|
|
71
|
+
scope: "country",
|
|
68
72
|
country: "CZ",
|
|
69
73
|
entityType: "company",
|
|
70
74
|
description:
|
package/src/cz/rc.ts
CHANGED
|
@@ -24,18 +24,18 @@
|
|
|
24
24
|
* @see Law 133/2000 Sb.
|
|
25
25
|
*/
|
|
26
26
|
|
|
27
|
+
import type {
|
|
28
|
+
ParsedPersonId,
|
|
29
|
+
ValidateResult,
|
|
30
|
+
CountryValidator,
|
|
31
|
+
} from "../types";
|
|
32
|
+
|
|
27
33
|
import { clean } from "#util/clean";
|
|
28
34
|
import { isValidDate } from "#util/date";
|
|
29
35
|
import { randomInt } from "#util/generate";
|
|
30
36
|
import { err } from "#util/result";
|
|
31
37
|
import { isdigits } from "#util/strings";
|
|
32
38
|
|
|
33
|
-
import type {
|
|
34
|
-
ParsedPersonId,
|
|
35
|
-
ValidateResult,
|
|
36
|
-
Validator,
|
|
37
|
-
} from "../types";
|
|
38
|
-
|
|
39
39
|
const compact = (value: string): string =>
|
|
40
40
|
clean(value, " /");
|
|
41
41
|
|
|
@@ -196,12 +196,13 @@ const generate = (): string => {
|
|
|
196
196
|
};
|
|
197
197
|
|
|
198
198
|
/** Czech/Slovak Birth Number. */
|
|
199
|
-
const rc:
|
|
199
|
+
const rc: CountryValidator<"CZ", ParsedPersonId> = {
|
|
200
200
|
name: "Czech Birth Number",
|
|
201
201
|
localName: "Rodné číslo",
|
|
202
202
|
abbreviation: "RČ",
|
|
203
203
|
aliases: ["rodné číslo", "RČ", "birth number"] as const,
|
|
204
204
|
candidatePattern: "\\d{6}/\\d{3,4}",
|
|
205
|
+
scope: "country",
|
|
205
206
|
country: "CZ",
|
|
206
207
|
entityType: "person",
|
|
207
208
|
description:
|
package/src/de/handelsreg.ts
CHANGED
|
@@ -31,12 +31,15 @@ const generate = (): string => {
|
|
|
31
31
|
* @see https://de.wikipedia.org/wiki/Handelsregister_(Deutschland)
|
|
32
32
|
*/
|
|
33
33
|
|
|
34
|
+
import type {
|
|
35
|
+
ValidateResult,
|
|
36
|
+
CountryValidator,
|
|
37
|
+
} from "../types";
|
|
38
|
+
|
|
34
39
|
import { clean } from "#util/clean";
|
|
35
40
|
import { randomDigits, randomPick } from "#util/generate";
|
|
36
41
|
import { err } from "#util/result";
|
|
37
42
|
|
|
38
|
-
import type { ValidateResult, Validator } from "../types";
|
|
39
|
-
|
|
40
43
|
const REGISTER_TYPES = new Set([
|
|
41
44
|
"HRA",
|
|
42
45
|
"HRB",
|
|
@@ -92,7 +95,7 @@ const validate = (value: string): ValidateResult => {
|
|
|
92
95
|
const format = (value: string): string => compact(value);
|
|
93
96
|
|
|
94
97
|
/** German Company Register Number. */
|
|
95
|
-
const handelsreg:
|
|
98
|
+
const handelsreg: CountryValidator<"DE"> = {
|
|
96
99
|
name: "German Company Register Number",
|
|
97
100
|
localName: "Handelsregisternummer",
|
|
98
101
|
abbreviation: "HReg",
|
|
@@ -103,6 +106,7 @@ const handelsreg: Validator = {
|
|
|
103
106
|
"HRA",
|
|
104
107
|
] as const,
|
|
105
108
|
candidatePattern: "(?:HRA|HRB|GnR|PR|VR)\\s*\\d{1,7}",
|
|
109
|
+
scope: "country",
|
|
106
110
|
country: "DE",
|
|
107
111
|
entityType: "company",
|
|
108
112
|
sourceUrl:
|
package/src/de/idnr.ts
CHANGED
|
@@ -10,6 +10,11 @@
|
|
|
10
10
|
* @see https://www.bzst.de/DE/Privatpersonen/SteuerlicheIdentifikationsnummer/steuerlicheidentifikationsnummer_node.html
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
+
import type {
|
|
14
|
+
ValidateResult,
|
|
15
|
+
CountryValidator,
|
|
16
|
+
} from "../types";
|
|
17
|
+
|
|
13
18
|
import {
|
|
14
19
|
mod1110validate,
|
|
15
20
|
mod1110checkDigit,
|
|
@@ -19,8 +24,6 @@ import { randomInt } 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, " -/");
|
|
26
29
|
|
|
@@ -118,7 +121,7 @@ const generate = (): string => {
|
|
|
118
121
|
};
|
|
119
122
|
|
|
120
123
|
/** German Personal Tax ID. */
|
|
121
|
-
const idnr:
|
|
124
|
+
const idnr: CountryValidator<"DE"> = {
|
|
122
125
|
name: "German Tax ID",
|
|
123
126
|
localName: "Steuerliche Identifikationsnummer",
|
|
124
127
|
abbreviation: "IdNr",
|
|
@@ -128,6 +131,7 @@ const idnr: Validator = {
|
|
|
128
131
|
"Steuer-ID",
|
|
129
132
|
] as const,
|
|
130
133
|
candidatePattern: "\\d{2}\\s?\\d{3}\\s?\\d{3}\\s?\\d{3}",
|
|
134
|
+
scope: "country",
|
|
131
135
|
country: "DE",
|
|
132
136
|
entityType: "person",
|
|
133
137
|
sourceUrl:
|
package/src/de/stnr.ts
CHANGED
|
@@ -26,13 +26,16 @@ const generate = (): string => {
|
|
|
26
26
|
* @see https://de.wikipedia.org/wiki/Steuernummer
|
|
27
27
|
*/
|
|
28
28
|
|
|
29
|
+
import type {
|
|
30
|
+
ValidateResult,
|
|
31
|
+
CountryValidator,
|
|
32
|
+
} from "../types";
|
|
33
|
+
|
|
29
34
|
import { clean } from "#util/clean";
|
|
30
35
|
import { randomDigits } from "#util/generate";
|
|
31
36
|
import { err } from "#util/result";
|
|
32
37
|
import { isdigits } from "#util/strings";
|
|
33
38
|
|
|
34
|
-
import type { ValidateResult, Validator } from "../types";
|
|
35
|
-
|
|
36
39
|
/**
|
|
37
40
|
* Format patterns per federal state.
|
|
38
41
|
* [0] = regional format, [1] = unified (federal) format.
|
|
@@ -194,12 +197,13 @@ const charCat = (ch: string): string => {
|
|
|
194
197
|
};
|
|
195
198
|
|
|
196
199
|
/** German Tax Number (Steuernummer). */
|
|
197
|
-
const stnr:
|
|
200
|
+
const stnr: CountryValidator<"DE"> = {
|
|
198
201
|
name: "German Tax Number",
|
|
199
202
|
localName: "Steuernummer",
|
|
200
203
|
abbreviation: "StNr",
|
|
201
204
|
aliases: ["Steuernummer", "St.Nr."] as const,
|
|
202
205
|
candidatePattern: "\\d{2,4}/\\d{3,4}/\\d{4,5}",
|
|
206
|
+
scope: "country",
|
|
203
207
|
country: "DE",
|
|
204
208
|
entityType: "any",
|
|
205
209
|
description:
|
package/src/de/svnr.ts
CHANGED
|
@@ -9,6 +9,11 @@
|
|
|
9
9
|
* @see https://de.wikipedia.org/wiki/Sozialversicherungsnummer
|
|
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 {
|
|
14
19
|
isValidDate,
|
|
@@ -17,8 +22,6 @@ import {
|
|
|
17
22
|
import { randomInt } from "#util/generate";
|
|
18
23
|
import { err } from "#util/result";
|
|
19
24
|
|
|
20
|
-
import type { ValidateResult, Validator } from "../types";
|
|
21
|
-
|
|
22
25
|
const letterValue = (ch: string): number => {
|
|
23
26
|
const code = ch.charCodeAt(0);
|
|
24
27
|
if (code >= 65 && code <= 90) return code - 64;
|
|
@@ -137,7 +140,7 @@ const generate = (): string => {
|
|
|
137
140
|
};
|
|
138
141
|
|
|
139
142
|
/** German Social Insurance Number. */
|
|
140
|
-
const svnr:
|
|
143
|
+
const svnr: CountryValidator<"DE"> = {
|
|
141
144
|
name: "German Social Insurance Number",
|
|
142
145
|
localName: "Sozialversicherungsnummer",
|
|
143
146
|
abbreviation: "SVNR",
|
|
@@ -147,6 +150,7 @@ const svnr: Validator = {
|
|
|
147
150
|
"Versicherungsnummer",
|
|
148
151
|
] as const,
|
|
149
152
|
candidatePattern: "\\d{2}\\s?\\d{6}\\s?[A-Z]\\s?\\d{3}",
|
|
153
|
+
scope: "country",
|
|
150
154
|
country: "DE",
|
|
151
155
|
entityType: "person",
|
|
152
156
|
description:
|
package/src/de/vat.ts
CHANGED
|
@@ -9,6 +9,11 @@
|
|
|
9
9
|
* @see https://www.bzst.de/SharedDocs/Downloads/DE/Merkblaetter/ust_idnr_aufbau.pdf
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
+
import type {
|
|
13
|
+
ValidateResult,
|
|
14
|
+
CountryValidator,
|
|
15
|
+
} from "../types";
|
|
16
|
+
|
|
12
17
|
import {
|
|
13
18
|
mod1110checkDigit,
|
|
14
19
|
mod1110validate,
|
|
@@ -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
|
const v = clean(value, " -/");
|
|
25
28
|
if (v.startsWith("DE") || v.startsWith("de")) {
|
|
@@ -70,7 +73,7 @@ const generate = (): string => {
|
|
|
70
73
|
};
|
|
71
74
|
|
|
72
75
|
/** German VAT Identification Number. */
|
|
73
|
-
const vat:
|
|
76
|
+
const vat: CountryValidator<"DE"> = {
|
|
74
77
|
name: "German VAT Number",
|
|
75
78
|
localName: "Umsatzsteuer-Identifikationsnummer",
|
|
76
79
|
abbreviation: "USt-IdNr.",
|
|
@@ -80,6 +83,7 @@ const vat: Validator = {
|
|
|
80
83
|
"VAT DE",
|
|
81
84
|
] as const,
|
|
82
85
|
candidatePattern: "DE\\d{9}",
|
|
86
|
+
scope: "country",
|
|
83
87
|
country: "DE",
|
|
84
88
|
entityType: "company",
|
|
85
89
|
description:
|
package/src/dk/cpr.ts
CHANGED
|
@@ -8,18 +8,18 @@
|
|
|
8
8
|
* @see https://cpr.dk/
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
+
import type {
|
|
12
|
+
ParsedPersonId,
|
|
13
|
+
ValidateResult,
|
|
14
|
+
CountryValidator,
|
|
15
|
+
} from "../types";
|
|
16
|
+
|
|
11
17
|
import { clean } from "#util/clean";
|
|
12
18
|
import { isValidDate } from "#util/date";
|
|
13
19
|
import { randomDigits, randomInt } from "#util/generate";
|
|
14
20
|
import { err } from "#util/result";
|
|
15
21
|
import { isdigits } from "#util/strings";
|
|
16
22
|
|
|
17
|
-
import type {
|
|
18
|
-
ParsedPersonId,
|
|
19
|
-
ValidateResult,
|
|
20
|
-
Validator,
|
|
21
|
-
} from "../types";
|
|
22
|
-
|
|
23
23
|
const compact = (value: string): string =>
|
|
24
24
|
clean(value, " -");
|
|
25
25
|
|
|
@@ -114,12 +114,13 @@ const generate = (): string => {
|
|
|
114
114
|
};
|
|
115
115
|
|
|
116
116
|
/** Danish Personal Identification Number. */
|
|
117
|
-
const cpr:
|
|
117
|
+
const cpr: CountryValidator<"DK", ParsedPersonId> = {
|
|
118
118
|
name: "Danish Personal ID",
|
|
119
119
|
localName: "Det Centrale Personregister",
|
|
120
120
|
abbreviation: "CPR",
|
|
121
121
|
aliases: ["CPR-nummer", "personnummer", "CPR"] as const,
|
|
122
122
|
candidatePattern: "\\d{6}-?\\d{4}",
|
|
123
|
+
scope: "country",
|
|
123
124
|
country: "DK",
|
|
124
125
|
entityType: "person",
|
|
125
126
|
sourceUrl: "https://cpr.dk/",
|
package/src/dk/cvr.ts
CHANGED
|
@@ -13,14 +13,17 @@
|
|
|
13
13
|
* for CVR.
|
|
14
14
|
*/
|
|
15
15
|
|
|
16
|
+
import type {
|
|
17
|
+
ValidateResult,
|
|
18
|
+
CountryValidator,
|
|
19
|
+
} from "../types";
|
|
20
|
+
|
|
16
21
|
import { weightedSum } from "#checksums/weighted-sum";
|
|
17
22
|
import { clean } from "#util/clean";
|
|
18
23
|
import { randomDigits, randomInt } 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 WEIGHTS = [2, 7, 6, 5, 4, 3, 2, 1];
|
|
25
28
|
|
|
26
29
|
const compact = (value: string): string =>
|
|
@@ -67,12 +70,13 @@ const generate = (): string => {
|
|
|
67
70
|
};
|
|
68
71
|
|
|
69
72
|
/** Danish Central Business Register Number. */
|
|
70
|
-
const cvr:
|
|
73
|
+
const cvr: CountryValidator<"DK"> = {
|
|
71
74
|
name: "Danish Business Register Number",
|
|
72
75
|
localName: "CVR-nummer",
|
|
73
76
|
abbreviation: "CVR",
|
|
74
77
|
aliases: ["CVR-nummer", "CVR"] as const,
|
|
75
78
|
candidatePattern: "\\d{8}",
|
|
79
|
+
scope: "country",
|
|
76
80
|
country: "DK",
|
|
77
81
|
entityType: "company",
|
|
78
82
|
sourceUrl: "https://erhvervsstyrelsen.dk/",
|