@stll/stdnum 0.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/LICENSE +25 -0
- package/README.md +323 -0
- package/dist/_checksums/luhn.d.ts +12 -0
- package/dist/_checksums/luhn.js +26 -0
- package/dist/_checksums/luhn.js.map +1 -0
- package/dist/_checksums/mod1110.d.ts +12 -0
- package/dist/_checksums/mod1110.js +25 -0
- package/dist/_checksums/mod1110.js.map +1 -0
- package/dist/_checksums/mod112.d.ts +24 -0
- package/dist/_checksums/mod112.js +53 -0
- package/dist/_checksums/mod112.js.map +1 -0
- package/dist/_checksums/mod97.d.ts +23 -0
- package/dist/_checksums/mod97.js +28 -0
- package/dist/_checksums/mod97.js.map +1 -0
- package/dist/_checksums/verhoeff.d.ts +22 -0
- package/dist/_checksums/verhoeff.js +271 -0
- package/dist/_checksums/verhoeff.js.map +1 -0
- package/dist/_checksums/weighted-sum.d.ts +13 -0
- package/dist/_checksums/weighted-sum.js +22 -0
- package/dist/_checksums/weighted-sum.js.map +1 -0
- package/dist/_util/arabic.d.ts +19 -0
- package/dist/_util/arabic.js +41 -0
- package/dist/_util/arabic.js.map +1 -0
- package/dist/_util/clean.d.ts +13 -0
- package/dist/_util/clean.js +71 -0
- package/dist/_util/clean.js.map +1 -0
- package/dist/_util/date.d.ts +12 -0
- package/dist/_util/date.js +19 -0
- package/dist/_util/date.js.map +1 -0
- package/dist/_util/generate.d.ts +16 -0
- package/dist/_util/generate.js +21 -0
- package/dist/_util/generate.js.map +1 -0
- package/dist/_util/result.d.ts +8 -0
- package/dist/_util/result.js +13 -0
- package/dist/_util/result.js.map +1 -0
- package/dist/_util/strings.d.ts +21 -0
- package/dist/_util/strings.js +28 -0
- package/dist/_util/strings.js.map +1 -0
- package/dist/_virtual/_rolldown/runtime.js +13 -0
- package/dist/ad/mod.d.ts +8 -0
- package/dist/ad/mod.js +8 -0
- package/dist/ad/mod.js.map +1 -0
- package/dist/ad/nrt.d.ts +13 -0
- package/dist/ad/nrt.js +69 -0
- package/dist/ad/nrt.js.map +1 -0
- package/dist/ae/eid.d.ts +17 -0
- package/dist/ae/eid.js +79 -0
- package/dist/ae/eid.js.map +1 -0
- package/dist/ae/mod.d.ts +8 -0
- package/dist/ae/mod.js +8 -0
- package/dist/ae/mod.js.map +1 -0
- package/dist/ai/mod.d.ts +8 -0
- package/dist/ai/mod.js +8 -0
- package/dist/ai/mod.js.map +1 -0
- package/dist/ai/tin.d.ts +19 -0
- package/dist/ai/tin.js +72 -0
- package/dist/ai/tin.js.map +1 -0
- package/dist/al/mod.d.ts +8 -0
- package/dist/al/mod.js +8 -0
- package/dist/al/mod.js.map +1 -0
- package/dist/al/nipt.d.ts +13 -0
- package/dist/al/nipt.js +56 -0
- package/dist/al/nipt.js.map +1 -0
- package/dist/am/mod.d.ts +8 -0
- package/dist/am/mod.js +8 -0
- package/dist/am/mod.js.map +1 -0
- package/dist/am/tin.d.ts +13 -0
- package/dist/am/tin.js +53 -0
- package/dist/am/tin.js.map +1 -0
- package/dist/ar/cbu.d.ts +14 -0
- package/dist/ar/cbu.js +88 -0
- package/dist/ar/cbu.js.map +1 -0
- package/dist/ar/cuit.d.ts +19 -0
- package/dist/ar/cuit.js +123 -0
- package/dist/ar/cuit.js.map +1 -0
- package/dist/ar/dni.d.ts +13 -0
- package/dist/ar/dni.js +57 -0
- package/dist/ar/dni.js.map +1 -0
- package/dist/ar/mod.d.ts +10 -0
- package/dist/ar/mod.js +14 -0
- package/dist/ar/mod.js.map +1 -0
- package/dist/at/businessid.d.ts +13 -0
- package/dist/at/businessid.js +56 -0
- package/dist/at/businessid.js.map +1 -0
- package/dist/at/mod.d.ts +11 -0
- package/dist/at/mod.js +16 -0
- package/dist/at/mod.js.map +1 -0
- package/dist/at/tin.d.ts +14 -0
- package/dist/at/tin.js +70 -0
- package/dist/at/tin.js.map +1 -0
- package/dist/at/uid.d.ts +14 -0
- package/dist/at/uid.js +64 -0
- package/dist/at/uid.js.map +1 -0
- package/dist/at/vnr.d.ts +12 -0
- package/dist/at/vnr.js +79 -0
- package/dist/at/vnr.js.map +1 -0
- package/dist/au/abn.d.ts +14 -0
- package/dist/au/abn.js +77 -0
- package/dist/au/abn.js.map +1 -0
- package/dist/au/acn.d.ts +14 -0
- package/dist/au/acn.js +70 -0
- package/dist/au/acn.js.map +1 -0
- package/dist/au/mod.d.ts +10 -0
- package/dist/au/mod.js +14 -0
- package/dist/au/mod.js.map +1 -0
- package/dist/au/tfn.d.ts +14 -0
- package/dist/au/tfn.js +71 -0
- package/dist/au/tfn.js.map +1 -0
- package/dist/az/mod.d.ts +8 -0
- package/dist/az/mod.js +8 -0
- package/dist/az/mod.js.map +1 -0
- package/dist/az/voen.d.ts +21 -0
- package/dist/az/voen.js +100 -0
- package/dist/az/voen.js.map +1 -0
- package/dist/ba/jmbg.d.ts +15 -0
- package/dist/ba/jmbg.js +97 -0
- package/dist/ba/jmbg.js.map +1 -0
- package/dist/ba/mod.d.ts +8 -0
- package/dist/ba/mod.js +8 -0
- package/dist/ba/mod.js.map +1 -0
- package/dist/bd/mod.d.ts +8 -0
- package/dist/bd/mod.js +8 -0
- package/dist/bd/mod.js.map +1 -0
- package/dist/bd/nid.d.ts +13 -0
- package/dist/bd/nid.js +116 -0
- package/dist/bd/nid.js.map +1 -0
- package/dist/be/bis.d.ts +14 -0
- package/dist/be/bis.js +65 -0
- package/dist/be/bis.js.map +1 -0
- package/dist/be/mod.d.ts +10 -0
- package/dist/be/mod.js +14 -0
- package/dist/be/mod.js.map +1 -0
- package/dist/be/nn.d.ts +21 -0
- package/dist/be/nn.js +84 -0
- package/dist/be/nn.js.map +1 -0
- package/dist/be/vat.d.ts +14 -0
- package/dist/be/vat.js +70 -0
- package/dist/be/vat.js.map +1 -0
- package/dist/bg/egn.d.ts +19 -0
- package/dist/bg/egn.js +122 -0
- package/dist/bg/egn.js.map +1 -0
- package/dist/bg/mod.d.ts +10 -0
- package/dist/bg/mod.js +14 -0
- package/dist/bg/mod.js.map +1 -0
- package/dist/bg/pnf.d.ts +14 -0
- package/dist/bg/pnf.js +70 -0
- package/dist/bg/pnf.js.map +1 -0
- package/dist/bg/vat.d.ts +14 -0
- package/dist/bg/vat.js +153 -0
- package/dist/bg/vat.js.map +1 -0
- package/dist/bh/cpr.d.ts +12 -0
- package/dist/bh/cpr.js +58 -0
- package/dist/bh/cpr.js.map +1 -0
- package/dist/bh/mod.d.ts +8 -0
- package/dist/bh/mod.js +8 -0
- package/dist/bh/mod.js.map +1 -0
- package/dist/bic.d.ts +13 -0
- package/dist/bic.js +72 -0
- package/dist/bic.js.map +1 -0
- package/dist/br/cnpj.d.ts +21 -0
- package/dist/br/cnpj.js +132 -0
- package/dist/br/cnpj.js.map +1 -0
- package/dist/br/cpf.d.ts +14 -0
- package/dist/br/cpf.js +83 -0
- package/dist/br/cpf.js.map +1 -0
- package/dist/br/mod.d.ts +9 -0
- package/dist/br/mod.js +12 -0
- package/dist/br/mod.js.map +1 -0
- package/dist/by/mod.d.ts +8 -0
- package/dist/by/mod.js +8 -0
- package/dist/by/mod.js.map +1 -0
- package/dist/by/unp.d.ts +14 -0
- package/dist/by/unp.js +114 -0
- package/dist/by/unp.js.map +1 -0
- package/dist/bz/mod.d.ts +8 -0
- package/dist/bz/mod.js +8 -0
- package/dist/bz/mod.js.map +1 -0
- package/dist/bz/tin.d.ts +16 -0
- package/dist/bz/tin.js +85 -0
- package/dist/bz/tin.js.map +1 -0
- package/dist/ca/bn.d.ts +14 -0
- package/dist/ca/bn.js +73 -0
- package/dist/ca/bn.js.map +1 -0
- package/dist/ca/mod.d.ts +9 -0
- package/dist/ca/mod.js +12 -0
- package/dist/ca/mod.js.map +1 -0
- package/dist/ca/sin.d.ts +14 -0
- package/dist/ca/sin.js +62 -0
- package/dist/ca/sin.js.map +1 -0
- package/dist/ch/mod.d.ts +10 -0
- package/dist/ch/mod.js +14 -0
- package/dist/ch/mod.js.map +1 -0
- package/dist/ch/ssn.d.ts +14 -0
- package/dist/ch/ssn.js +67 -0
- package/dist/ch/ssn.js.map +1 -0
- package/dist/ch/uid.d.ts +14 -0
- package/dist/ch/uid.js +81 -0
- package/dist/ch/uid.js.map +1 -0
- package/dist/ch/vat.d.ts +14 -0
- package/dist/ch/vat.js +70 -0
- package/dist/ch/vat.js.map +1 -0
- package/dist/cl/mod.d.ts +8 -0
- package/dist/cl/mod.js +8 -0
- package/dist/cl/mod.js.map +1 -0
- package/dist/cl/rut.d.ts +19 -0
- package/dist/cl/rut.js +95 -0
- package/dist/cl/rut.js.map +1 -0
- package/dist/cn/mod.d.ts +9 -0
- package/dist/cn/mod.js +12 -0
- package/dist/cn/mod.js.map +1 -0
- package/dist/cn/ric.d.ts +19 -0
- package/dist/cn/ric.js +108 -0
- package/dist/cn/ric.js.map +1 -0
- package/dist/cn/uscc.d.ts +14 -0
- package/dist/cn/uscc.js +88 -0
- package/dist/cn/uscc.js.map +1 -0
- package/dist/co/mod.d.ts +8 -0
- package/dist/co/mod.js +8 -0
- package/dist/co/mod.js.map +1 -0
- package/dist/co/nit.d.ts +14 -0
- package/dist/co/nit.js +109 -0
- package/dist/co/nit.js.map +1 -0
- package/dist/cr/cpf.d.ts +21 -0
- package/dist/cr/cpf.js +79 -0
- package/dist/cr/cpf.js.map +1 -0
- package/dist/cr/mod.d.ts +8 -0
- package/dist/cr/mod.js +8 -0
- package/dist/cr/mod.js.map +1 -0
- package/dist/creditcard.d.ts +25 -0
- package/dist/creditcard.js +121 -0
- package/dist/creditcard.js.map +1 -0
- package/dist/cu/mod.d.ts +8 -0
- package/dist/cu/mod.js +8 -0
- package/dist/cu/mod.js.map +1 -0
- package/dist/cu/ni.d.ts +21 -0
- package/dist/cu/ni.js +90 -0
- package/dist/cu/ni.js.map +1 -0
- package/dist/cy/mod.d.ts +8 -0
- package/dist/cy/mod.js +8 -0
- package/dist/cy/mod.js.map +1 -0
- package/dist/cy/vat.d.ts +14 -0
- package/dist/cy/vat.js +88 -0
- package/dist/cy/vat.js.map +1 -0
- package/dist/cz/dic.d.ts +14 -0
- package/dist/cz/dic.js +97 -0
- package/dist/cz/dic.js.map +1 -0
- package/dist/cz/ico.d.ts +14 -0
- package/dist/cz/ico.js +70 -0
- package/dist/cz/ico.js.map +1 -0
- package/dist/cz/mod.d.ts +10 -0
- package/dist/cz/mod.js +14 -0
- package/dist/cz/mod.js.map +1 -0
- package/dist/cz/rc.d.ts +22 -0
- package/dist/cz/rc.js +116 -0
- package/dist/cz/rc.js.map +1 -0
- package/dist/de/handelsreg.d.ts +17 -0
- package/dist/de/handelsreg.js +86 -0
- package/dist/de/handelsreg.js.map +1 -0
- package/dist/de/idnr.d.ts +14 -0
- package/dist/de/idnr.js +102 -0
- package/dist/de/idnr.js.map +1 -0
- package/dist/de/mod.d.ts +12 -0
- package/dist/de/mod.js +18 -0
- package/dist/de/mod.js.map +1 -0
- package/dist/de/stnr.d.ts +22 -0
- package/dist/de/stnr.js +144 -0
- package/dist/de/stnr.js.map +1 -0
- package/dist/de/svnr.d.ts +14 -0
- package/dist/de/svnr.js +108 -0
- package/dist/de/svnr.js.map +1 -0
- package/dist/de/vat.d.ts +14 -0
- package/dist/de/vat.js +65 -0
- package/dist/de/vat.js.map +1 -0
- package/dist/dk/cpr.d.ts +17 -0
- package/dist/dk/cpr.js +81 -0
- package/dist/dk/cpr.js.map +1 -0
- package/dist/dk/cvr.d.ts +14 -0
- package/dist/dk/cvr.js +70 -0
- package/dist/dk/cvr.js.map +1 -0
- package/dist/dk/mod.d.ts +10 -0
- package/dist/dk/mod.js +14 -0
- package/dist/dk/mod.js.map +1 -0
- package/dist/dk/vat.d.ts +14 -0
- package/dist/dk/vat.js +72 -0
- package/dist/dk/vat.js.map +1 -0
- package/dist/do/mod.d.ts +8 -0
- package/dist/do/mod.js +8 -0
- package/dist/do/mod.js.map +1 -0
- package/dist/do/rnc.d.ts +18 -0
- package/dist/do/rnc.js +95 -0
- package/dist/do/rnc.js.map +1 -0
- package/dist/ec/mod.d.ts +8 -0
- package/dist/ec/mod.js +8 -0
- package/dist/ec/mod.js.map +1 -0
- package/dist/ec/ruc.d.ts +14 -0
- package/dist/ec/ruc.js +150 -0
- package/dist/ec/ruc.js.map +1 -0
- package/dist/ee/ik.d.ts +24 -0
- package/dist/ee/ik.js +131 -0
- package/dist/ee/ik.js.map +1 -0
- package/dist/ee/mod.d.ts +10 -0
- package/dist/ee/mod.js +14 -0
- package/dist/ee/mod.js.map +1 -0
- package/dist/ee/registrikood.d.ts +14 -0
- package/dist/ee/registrikood.js +63 -0
- package/dist/ee/registrikood.js.map +1 -0
- package/dist/ee/vat.d.ts +14 -0
- package/dist/ee/vat.js +69 -0
- package/dist/ee/vat.js.map +1 -0
- package/dist/eg/mod.d.ts +8 -0
- package/dist/eg/mod.js +8 -0
- package/dist/eg/mod.js.map +1 -0
- package/dist/eg/tn.d.ts +13 -0
- package/dist/eg/tn.js +81 -0
- package/dist/eg/tn.js.map +1 -0
- package/dist/es/cif.d.ts +14 -0
- package/dist/es/cif.js +66 -0
- package/dist/es/cif.js.map +1 -0
- package/dist/es/dni.d.ts +15 -0
- package/dist/es/dni.js +58 -0
- package/dist/es/dni.js.map +1 -0
- package/dist/es/mod.d.ts +12 -0
- package/dist/es/mod.js +18 -0
- package/dist/es/mod.js.map +1 -0
- package/dist/es/nie.d.ts +14 -0
- package/dist/es/nie.js +78 -0
- package/dist/es/nie.js.map +1 -0
- package/dist/es/nss.d.ts +14 -0
- package/dist/es/nss.js +72 -0
- package/dist/es/nss.js.map +1 -0
- package/dist/es/vat.d.ts +15 -0
- package/dist/es/vat.js +104 -0
- package/dist/es/vat.js.map +1 -0
- package/dist/eu/mod.d.ts +8 -0
- package/dist/eu/mod.js +8 -0
- package/dist/eu/mod.js.map +1 -0
- package/dist/eu/vat.d.ts +20 -0
- package/dist/eu/vat.js +145 -0
- package/dist/eu/vat.js.map +1 -0
- package/dist/fi/hetu.d.ts +17 -0
- package/dist/fi/hetu.js +107 -0
- package/dist/fi/hetu.js.map +1 -0
- package/dist/fi/mod.d.ts +10 -0
- package/dist/fi/mod.js +14 -0
- package/dist/fi/mod.js.map +1 -0
- package/dist/fi/vat.d.ts +14 -0
- package/dist/fi/vat.js +68 -0
- package/dist/fi/vat.js.map +1 -0
- package/dist/fi/ytunnus.d.ts +14 -0
- package/dist/fi/ytunnus.js +71 -0
- package/dist/fi/ytunnus.js.map +1 -0
- package/dist/fr/mod.d.ts +12 -0
- package/dist/fr/mod.js +18 -0
- package/dist/fr/mod.js.map +1 -0
- package/dist/fr/nif.d.ts +14 -0
- package/dist/fr/nif.js +64 -0
- package/dist/fr/nif.js.map +1 -0
- package/dist/fr/nir.d.ts +15 -0
- package/dist/fr/nir.js +106 -0
- package/dist/fr/nir.js.map +1 -0
- package/dist/fr/siren.d.ts +14 -0
- package/dist/fr/siren.js +56 -0
- package/dist/fr/siren.js.map +1 -0
- package/dist/fr/siret.d.ts +14 -0
- package/dist/fr/siret.js +73 -0
- package/dist/fr/siret.js.map +1 -0
- package/dist/fr/tva.d.ts +14 -0
- package/dist/fr/tva.js +80 -0
- package/dist/fr/tva.js.map +1 -0
- package/dist/gb/mod.d.ts +11 -0
- package/dist/gb/mod.js +16 -0
- package/dist/gb/mod.js.map +1 -0
- package/dist/gb/nino.d.ts +13 -0
- package/dist/gb/nino.js +103 -0
- package/dist/gb/nino.js.map +1 -0
- package/dist/gb/sedol.d.ts +15 -0
- package/dist/gb/sedol.js +85 -0
- package/dist/gb/sedol.js.map +1 -0
- package/dist/gb/utr.d.ts +14 -0
- package/dist/gb/utr.js +69 -0
- package/dist/gb/utr.js.map +1 -0
- package/dist/gb/vat.d.ts +14 -0
- package/dist/gb/vat.js +102 -0
- package/dist/gb/vat.js.map +1 -0
- package/dist/ge/mod.d.ts +8 -0
- package/dist/ge/mod.js +8 -0
- package/dist/ge/mod.js.map +1 -0
- package/dist/ge/pin.d.ts +13 -0
- package/dist/ge/pin.js +51 -0
- package/dist/ge/pin.js.map +1 -0
- package/dist/gh/mod.d.ts +8 -0
- package/dist/gh/mod.js +8 -0
- package/dist/gh/mod.js.map +1 -0
- package/dist/gh/tin.d.ts +14 -0
- package/dist/gh/tin.js +80 -0
- package/dist/gh/tin.js.map +1 -0
- package/dist/gr/amka.d.ts +14 -0
- package/dist/gr/amka.js +71 -0
- package/dist/gr/amka.js.map +1 -0
- package/dist/gr/mod.d.ts +9 -0
- package/dist/gr/mod.js +12 -0
- package/dist/gr/mod.js.map +1 -0
- package/dist/gr/vat.d.ts +14 -0
- package/dist/gr/vat.js +66 -0
- package/dist/gr/vat.js.map +1 -0
- package/dist/gt/mod.d.ts +8 -0
- package/dist/gt/mod.js +8 -0
- package/dist/gt/mod.js.map +1 -0
- package/dist/gt/nit.d.ts +21 -0
- package/dist/gt/nit.js +98 -0
- package/dist/gt/nit.js.map +1 -0
- package/dist/hk/hkid.d.ts +15 -0
- package/dist/hk/hkid.js +92 -0
- package/dist/hk/hkid.js.map +1 -0
- package/dist/hk/mod.d.ts +8 -0
- package/dist/hk/mod.js +8 -0
- package/dist/hk/mod.js.map +1 -0
- package/dist/hr/mod.d.ts +8 -0
- package/dist/hr/mod.js +8 -0
- package/dist/hr/mod.js.map +1 -0
- package/dist/hr/vat.d.ts +14 -0
- package/dist/hr/vat.js +55 -0
- package/dist/hr/vat.js.map +1 -0
- package/dist/hu/mod.d.ts +8 -0
- package/dist/hu/mod.js +8 -0
- package/dist/hu/mod.js.map +1 -0
- package/dist/hu/vat.d.ts +14 -0
- package/dist/hu/vat.js +68 -0
- package/dist/hu/vat.js.map +1 -0
- package/dist/iban.d.ts +16 -0
- package/dist/iban.js +282 -0
- package/dist/iban.js.map +1 -0
- package/dist/id/mod.d.ts +8 -0
- package/dist/id/mod.js +8 -0
- package/dist/id/mod.js.map +1 -0
- package/dist/id/npwp.d.ts +14 -0
- package/dist/id/npwp.js +133 -0
- package/dist/id/npwp.js.map +1 -0
- package/dist/ie/mod.d.ts +9 -0
- package/dist/ie/mod.js +12 -0
- package/dist/ie/mod.js.map +1 -0
- package/dist/ie/pps.d.ts +14 -0
- package/dist/ie/pps.js +69 -0
- package/dist/ie/pps.js.map +1 -0
- package/dist/ie/vat.d.ts +14 -0
- package/dist/ie/vat.js +83 -0
- package/dist/ie/vat.js.map +1 -0
- package/dist/il/idnr.d.ts +14 -0
- package/dist/il/idnr.js +61 -0
- package/dist/il/idnr.js.map +1 -0
- package/dist/il/mod.d.ts +8 -0
- package/dist/il/mod.js +8 -0
- package/dist/il/mod.js.map +1 -0
- package/dist/in/aadhaar.d.ts +14 -0
- package/dist/in/aadhaar.js +61 -0
- package/dist/in/aadhaar.js.map +1 -0
- package/dist/in/gstin.d.ts +14 -0
- package/dist/in/gstin.js +130 -0
- package/dist/in/gstin.js.map +1 -0
- package/dist/in/mod.d.ts +10 -0
- package/dist/in/mod.js +14 -0
- package/dist/in/mod.js.map +1 -0
- package/dist/in/pan.d.ts +13 -0
- package/dist/in/pan.js +58 -0
- package/dist/in/pan.js.map +1 -0
- package/dist/index.d.ts +105 -0
- package/dist/index.js +104 -0
- package/dist/iq/mod.d.ts +8 -0
- package/dist/iq/mod.js +8 -0
- package/dist/iq/mod.js.map +1 -0
- package/dist/iq/nid.d.ts +14 -0
- package/dist/iq/nid.js +56 -0
- package/dist/iq/nid.js.map +1 -0
- package/dist/ir/mod.d.ts +8 -0
- package/dist/ir/mod.js +8 -0
- package/dist/ir/mod.js.map +1 -0
- package/dist/ir/nid.d.ts +18 -0
- package/dist/ir/nid.js +90 -0
- package/dist/ir/nid.js.map +1 -0
- package/dist/is/kennitala.d.ts +14 -0
- package/dist/is/kennitala.js +92 -0
- package/dist/is/kennitala.js.map +1 -0
- package/dist/is/mod.d.ts +9 -0
- package/dist/is/mod.js +12 -0
- package/dist/is/mod.js.map +1 -0
- package/dist/is/vsk.d.ts +13 -0
- package/dist/is/vsk.js +47 -0
- package/dist/is/vsk.js.map +1 -0
- package/dist/isin.d.ts +14 -0
- package/dist/isin.js +85 -0
- package/dist/isin.js.map +1 -0
- package/dist/it/codicefiscale.d.ts +18 -0
- package/dist/it/codicefiscale.js +214 -0
- package/dist/it/codicefiscale.js.map +1 -0
- package/dist/it/iva.d.ts +14 -0
- package/dist/it/iva.js +71 -0
- package/dist/it/iva.js.map +1 -0
- package/dist/it/mod.d.ts +9 -0
- package/dist/it/mod.js +12 -0
- package/dist/it/mod.js.map +1 -0
- package/dist/jp/cn.d.ts +14 -0
- package/dist/jp/cn.js +68 -0
- package/dist/jp/cn.js.map +1 -0
- package/dist/jp/mod.d.ts +9 -0
- package/dist/jp/mod.js +12 -0
- package/dist/jp/mod.js.map +1 -0
- package/dist/jp/mynumber.d.ts +14 -0
- package/dist/jp/mynumber.js +86 -0
- package/dist/jp/mynumber.js.map +1 -0
- package/dist/kr/brn.d.ts +13 -0
- package/dist/kr/brn.js +67 -0
- package/dist/kr/brn.js.map +1 -0
- package/dist/kr/mod.d.ts +9 -0
- package/dist/kr/mod.js +12 -0
- package/dist/kr/mod.js.map +1 -0
- package/dist/kr/rrn.d.ts +22 -0
- package/dist/kr/rrn.js +133 -0
- package/dist/kr/rrn.js.map +1 -0
- package/dist/kw/civil.d.ts +18 -0
- package/dist/kw/civil.js +99 -0
- package/dist/kw/civil.js.map +1 -0
- package/dist/kw/mod.d.ts +8 -0
- package/dist/kw/mod.js +8 -0
- package/dist/kw/mod.js.map +1 -0
- package/dist/kz/iin.d.ts +23 -0
- package/dist/kz/iin.js +150 -0
- package/dist/kz/iin.js.map +1 -0
- package/dist/kz/mod.d.ts +8 -0
- package/dist/kz/mod.js +8 -0
- package/dist/kz/mod.js.map +1 -0
- package/dist/lei.d.ts +14 -0
- package/dist/lei.js +68 -0
- package/dist/lei.js.map +1 -0
- package/dist/li/mod.d.ts +8 -0
- package/dist/li/mod.js +8 -0
- package/dist/li/mod.js.map +1 -0
- package/dist/li/peid.d.ts +13 -0
- package/dist/li/peid.js +61 -0
- package/dist/li/peid.js.map +1 -0
- package/dist/lk/mod.d.ts +8 -0
- package/dist/lk/mod.js +8 -0
- package/dist/lk/mod.js.map +1 -0
- package/dist/lk/nic.d.ts +17 -0
- package/dist/lk/nic.js +139 -0
- package/dist/lk/nic.js.map +1 -0
- package/dist/lt/asmens.d.ts +14 -0
- package/dist/lt/asmens.js +81 -0
- package/dist/lt/asmens.js.map +1 -0
- package/dist/lt/mod.d.ts +9 -0
- package/dist/lt/mod.js +12 -0
- package/dist/lt/mod.js.map +1 -0
- package/dist/lt/vat.d.ts +14 -0
- package/dist/lt/vat.js +72 -0
- package/dist/lt/vat.js.map +1 -0
- package/dist/lu/mod.d.ts +8 -0
- package/dist/lu/mod.js +8 -0
- package/dist/lu/mod.js.map +1 -0
- package/dist/lu/vat.d.ts +14 -0
- package/dist/lu/vat.js +56 -0
- package/dist/lu/vat.js.map +1 -0
- package/dist/luhn.d.ts +17 -0
- package/dist/luhn.js +51 -0
- package/dist/luhn.js.map +1 -0
- package/dist/lv/mod.d.ts +8 -0
- package/dist/lv/mod.js +8 -0
- package/dist/lv/mod.js.map +1 -0
- package/dist/lv/vat.d.ts +14 -0
- package/dist/lv/vat.js +104 -0
- package/dist/lv/vat.js.map +1 -0
- package/dist/ma/ice.d.ts +14 -0
- package/dist/ma/ice.js +57 -0
- package/dist/ma/ice.js.map +1 -0
- package/dist/ma/mod.d.ts +8 -0
- package/dist/ma/mod.js +8 -0
- package/dist/ma/mod.js.map +1 -0
- package/dist/mc/mod.d.ts +8 -0
- package/dist/mc/mod.js +8 -0
- package/dist/mc/mod.js.map +1 -0
- package/dist/mc/tva.d.ts +14 -0
- package/dist/mc/tva.js +53 -0
- package/dist/mc/tva.js.map +1 -0
- package/dist/md/idno.d.ts +12 -0
- package/dist/md/idno.js +71 -0
- package/dist/md/idno.js.map +1 -0
- package/dist/md/mod.d.ts +8 -0
- package/dist/md/mod.js +8 -0
- package/dist/md/mod.js.map +1 -0
- package/dist/me/mod.d.ts +8 -0
- package/dist/me/mod.js +8 -0
- package/dist/me/mod.js.map +1 -0
- package/dist/me/pib.d.ts +14 -0
- package/dist/me/pib.js +63 -0
- package/dist/me/pib.js.map +1 -0
- package/dist/mk/edb.d.ts +14 -0
- package/dist/mk/edb.js +77 -0
- package/dist/mk/edb.js.map +1 -0
- package/dist/mk/mod.d.ts +8 -0
- package/dist/mk/mod.js +8 -0
- package/dist/mk/mod.js.map +1 -0
- package/dist/mt/mod.d.ts +8 -0
- package/dist/mt/mod.js +8 -0
- package/dist/mt/mod.js.map +1 -0
- package/dist/mt/vat.d.ts +14 -0
- package/dist/mt/vat.js +69 -0
- package/dist/mt/vat.js.map +1 -0
- package/dist/mu/brn.d.ts +13 -0
- package/dist/mu/brn.js +68 -0
- package/dist/mu/brn.js.map +1 -0
- package/dist/mu/mod.d.ts +8 -0
- package/dist/mu/mod.js +8 -0
- package/dist/mu/mod.js.map +1 -0
- package/dist/mx/clabe.d.ts +18 -0
- package/dist/mx/clabe.js +87 -0
- package/dist/mx/clabe.js.map +1 -0
- package/dist/mx/curp.d.ts +21 -0
- package/dist/mx/curp.js +140 -0
- package/dist/mx/curp.js.map +1 -0
- package/dist/mx/mod.d.ts +10 -0
- package/dist/mx/mod.js +14 -0
- package/dist/mx/mod.js.map +1 -0
- package/dist/mx/rfc.d.ts +16 -0
- package/dist/mx/rfc.js +92 -0
- package/dist/mx/rfc.js.map +1 -0
- package/dist/my/mod.d.ts +8 -0
- package/dist/my/mod.js +8 -0
- package/dist/my/mod.js.map +1 -0
- package/dist/my/nric.d.ts +17 -0
- package/dist/my/nric.js +186 -0
- package/dist/my/nric.js.map +1 -0
- package/dist/ng/mod.d.ts +8 -0
- package/dist/ng/mod.js +8 -0
- package/dist/ng/mod.js.map +1 -0
- package/dist/ng/nin.d.ts +13 -0
- package/dist/ng/nin.js +54 -0
- package/dist/ng/nin.js.map +1 -0
- package/dist/ni/mod.d.ts +8 -0
- package/dist/ni/mod.js +8 -0
- package/dist/ni/mod.js.map +1 -0
- package/dist/ni/ruc.d.ts +23 -0
- package/dist/ni/ruc.js +113 -0
- package/dist/ni/ruc.js.map +1 -0
- package/dist/nl/bsn.d.ts +14 -0
- package/dist/nl/bsn.js +70 -0
- package/dist/nl/bsn.js.map +1 -0
- package/dist/nl/kvk.d.ts +13 -0
- package/dist/nl/kvk.js +45 -0
- package/dist/nl/kvk.js.map +1 -0
- package/dist/nl/mod.d.ts +10 -0
- package/dist/nl/mod.js +14 -0
- package/dist/nl/mod.js.map +1 -0
- package/dist/nl/vat.d.ts +14 -0
- package/dist/nl/vat.js +94 -0
- package/dist/nl/vat.js.map +1 -0
- package/dist/no/fodselsnummer.d.ts +20 -0
- package/dist/no/fodselsnummer.js +134 -0
- package/dist/no/fodselsnummer.js.map +1 -0
- package/dist/no/mod.d.ts +10 -0
- package/dist/no/mod.js +14 -0
- package/dist/no/mod.js.map +1 -0
- package/dist/no/mva.d.ts +14 -0
- package/dist/no/mva.js +54 -0
- package/dist/no/mva.js.map +1 -0
- package/dist/no/orgnr.d.ts +14 -0
- package/dist/no/orgnr.js +66 -0
- package/dist/no/orgnr.js.map +1 -0
- package/dist/nz/ird.d.ts +14 -0
- package/dist/nz/ird.js +105 -0
- package/dist/nz/ird.js.map +1 -0
- package/dist/nz/mod.d.ts +8 -0
- package/dist/nz/mod.js +8 -0
- package/dist/nz/mod.js.map +1 -0
- package/dist/pa/mod.d.ts +8 -0
- package/dist/pa/mod.js +8 -0
- package/dist/pa/mod.js.map +1 -0
- package/dist/pa/ruc.d.ts +23 -0
- package/dist/pa/ruc.js +200 -0
- package/dist/pa/ruc.js.map +1 -0
- package/dist/patterns.d.ts +45 -0
- package/dist/patterns.js +123 -0
- package/dist/patterns.js.map +1 -0
- package/dist/pe/mod.d.ts +8 -0
- package/dist/pe/mod.js +8 -0
- package/dist/pe/mod.js.map +1 -0
- package/dist/pe/ruc.d.ts +19 -0
- package/dist/pe/ruc.js +109 -0
- package/dist/pe/ruc.js.map +1 -0
- package/dist/ph/mod.d.ts +8 -0
- package/dist/ph/mod.js +8 -0
- package/dist/ph/mod.js.map +1 -0
- package/dist/ph/philid.d.ts +13 -0
- package/dist/ph/philid.js +60 -0
- package/dist/ph/philid.js.map +1 -0
- package/dist/pk/cnic.d.ts +13 -0
- package/dist/pk/cnic.js +69 -0
- package/dist/pk/cnic.js.map +1 -0
- package/dist/pk/mod.d.ts +8 -0
- package/dist/pk/mod.js +8 -0
- package/dist/pk/mod.js.map +1 -0
- package/dist/pl/mod.d.ts +10 -0
- package/dist/pl/mod.js +14 -0
- package/dist/pl/mod.js.map +1 -0
- package/dist/pl/nip.d.ts +18 -0
- package/dist/pl/nip.js +77 -0
- package/dist/pl/nip.js.map +1 -0
- package/dist/pl/pesel.d.ts +19 -0
- package/dist/pl/pesel.js +109 -0
- package/dist/pl/pesel.js.map +1 -0
- package/dist/pl/regon.d.ts +14 -0
- package/dist/pl/regon.js +85 -0
- package/dist/pl/regon.js.map +1 -0
- package/dist/pt/cc.d.ts +14 -0
- package/dist/pt/cc.js +77 -0
- package/dist/pt/cc.js.map +1 -0
- package/dist/pt/mod.d.ts +9 -0
- package/dist/pt/mod.js +12 -0
- package/dist/pt/mod.js.map +1 -0
- package/dist/pt/vat.d.ts +14 -0
- package/dist/pt/vat.js +73 -0
- package/dist/pt/vat.js.map +1 -0
- package/dist/ro/cnp.d.ts +19 -0
- package/dist/ro/cnp.js +176 -0
- package/dist/ro/cnp.js.map +1 -0
- package/dist/ro/mod.d.ts +9 -0
- package/dist/ro/mod.js +12 -0
- package/dist/ro/mod.js.map +1 -0
- package/dist/ro/vat.d.ts +14 -0
- package/dist/ro/vat.js +76 -0
- package/dist/ro/vat.js.map +1 -0
- package/dist/rs/mod.d.ts +8 -0
- package/dist/rs/mod.js +8 -0
- package/dist/rs/mod.js.map +1 -0
- package/dist/rs/pib.d.ts +14 -0
- package/dist/rs/pib.js +60 -0
- package/dist/rs/pib.js.map +1 -0
- package/dist/ru/inn.d.ts +14 -0
- package/dist/ru/inn.js +103 -0
- package/dist/ru/inn.js.map +1 -0
- package/dist/ru/mod.d.ts +8 -0
- package/dist/ru/mod.js +8 -0
- package/dist/ru/mod.js.map +1 -0
- package/dist/se/mod.d.ts +10 -0
- package/dist/se/mod.js +14 -0
- package/dist/se/mod.js.map +1 -0
- package/dist/se/orgnr.d.ts +14 -0
- package/dist/se/orgnr.js +59 -0
- package/dist/se/orgnr.js.map +1 -0
- package/dist/se/personnummer.d.ts +23 -0
- package/dist/se/personnummer.js +122 -0
- package/dist/se/personnummer.js.map +1 -0
- package/dist/se/vat.d.ts +14 -0
- package/dist/se/vat.js +63 -0
- package/dist/se/vat.js.map +1 -0
- package/dist/sg/mod.d.ts +8 -0
- package/dist/sg/mod.js +8 -0
- package/dist/sg/mod.js.map +1 -0
- package/dist/sg/uen.d.ts +14 -0
- package/dist/sg/uen.js +207 -0
- package/dist/sg/uen.js.map +1 -0
- package/dist/si/emso.d.ts +19 -0
- package/dist/si/emso.js +108 -0
- package/dist/si/emso.js.map +1 -0
- package/dist/si/mod.d.ts +9 -0
- package/dist/si/mod.js +12 -0
- package/dist/si/mod.js.map +1 -0
- package/dist/si/vat.d.ts +14 -0
- package/dist/si/vat.js +74 -0
- package/dist/si/vat.js.map +1 -0
- package/dist/sk/dic.d.ts +14 -0
- package/dist/sk/dic.js +66 -0
- package/dist/sk/dic.js.map +1 -0
- package/dist/sk/ico.d.ts +10 -0
- package/dist/sk/ico.js +30 -0
- package/dist/sk/ico.js.map +1 -0
- package/dist/sk/mod.d.ts +10 -0
- package/dist/sk/mod.js +14 -0
- package/dist/sk/mod.js.map +1 -0
- package/dist/sk/rc.d.ts +10 -0
- package/dist/sk/rc.js +30 -0
- package/dist/sk/rc.js.map +1 -0
- package/dist/th/mod.d.ts +8 -0
- package/dist/th/mod.js +8 -0
- package/dist/th/mod.js.map +1 -0
- package/dist/th/tin.d.ts +14 -0
- package/dist/th/tin.js +63 -0
- package/dist/th/tin.js.map +1 -0
- package/dist/tr/mod.d.ts +9 -0
- package/dist/tr/mod.js +12 -0
- package/dist/tr/mod.js.map +1 -0
- package/dist/tr/tckimlik.d.ts +15 -0
- package/dist/tr/tckimlik.js +79 -0
- package/dist/tr/tckimlik.js.map +1 -0
- package/dist/tr/vkn.d.ts +15 -0
- package/dist/tr/vkn.js +79 -0
- package/dist/tr/vkn.js.map +1 -0
- package/dist/tw/mod.d.ts +8 -0
- package/dist/tw/mod.js +8 -0
- package/dist/tw/mod.js.map +1 -0
- package/dist/tw/ubn.d.ts +14 -0
- package/dist/tw/ubn.js +86 -0
- package/dist/tw/ubn.js.map +1 -0
- package/dist/types.d.ts +95 -0
- package/dist/types.js +1 -0
- package/dist/ua/edrpou.d.ts +14 -0
- package/dist/ua/edrpou.js +103 -0
- package/dist/ua/edrpou.js.map +1 -0
- package/dist/ua/mod.d.ts +8 -0
- package/dist/ua/mod.js +8 -0
- package/dist/ua/mod.js.map +1 -0
- package/dist/us/ein.d.ts +13 -0
- package/dist/us/ein.js +234 -0
- package/dist/us/ein.js.map +1 -0
- package/dist/us/itin.d.ts +15 -0
- package/dist/us/itin.js +69 -0
- package/dist/us/itin.js.map +1 -0
- package/dist/us/mod.d.ts +11 -0
- package/dist/us/mod.js +16 -0
- package/dist/us/mod.js.map +1 -0
- package/dist/us/rtn.d.ts +14 -0
- package/dist/us/rtn.js +91 -0
- package/dist/us/rtn.js.map +1 -0
- package/dist/us/ssn.d.ts +13 -0
- package/dist/us/ssn.js +77 -0
- package/dist/us/ssn.js.map +1 -0
- package/dist/uy/mod.d.ts +8 -0
- package/dist/uy/mod.js +8 -0
- package/dist/uy/mod.js.map +1 -0
- package/dist/uy/rut.d.ts +18 -0
- package/dist/uy/rut.js +105 -0
- package/dist/uy/rut.js.map +1 -0
- package/dist/ve/mod.d.ts +8 -0
- package/dist/ve/mod.js +8 -0
- package/dist/ve/mod.js.map +1 -0
- package/dist/ve/rif.d.ts +18 -0
- package/dist/ve/rif.js +109 -0
- package/dist/ve/rif.js.map +1 -0
- package/dist/vn/mod.d.ts +8 -0
- package/dist/vn/mod.js +8 -0
- package/dist/vn/mod.js.map +1 -0
- package/dist/vn/mst.d.ts +14 -0
- package/dist/vn/mst.js +82 -0
- package/dist/vn/mst.js.map +1 -0
- package/dist/za/idnr.d.ts +19 -0
- package/dist/za/idnr.js +110 -0
- package/dist/za/idnr.js.map +1 -0
- package/dist/za/mod.d.ts +8 -0
- package/dist/za/mod.js +8 -0
- package/dist/za/mod.js.map +1 -0
- package/package.json +936 -0
- package/src/_checksums/luhn.ts +24 -0
- package/src/_checksums/mod1110.ts +24 -0
- package/src/_checksums/mod112.ts +40 -0
- package/src/_checksums/mod97.ts +28 -0
- package/src/_checksums/verhoeff.ts +71 -0
- package/src/_checksums/weighted-sum.ts +23 -0
- package/src/_util/arabic.ts +48 -0
- package/src/_util/clean.ts +86 -0
- package/src/_util/date.ts +23 -0
- package/src/_util/generate.ts +24 -0
- package/src/_util/result.ts +10 -0
- package/src/_util/strings.ts +32 -0
- package/src/ad/mod.ts +1 -0
- package/src/ad/nrt.ts +111 -0
- package/src/ae/eid.ts +106 -0
- package/src/ae/mod.ts +1 -0
- package/src/ai/mod.ts +1 -0
- package/src/ai/tin.ts +98 -0
- package/src/al/mod.ts +1 -0
- package/src/al/nipt.ts +78 -0
- package/src/am/mod.ts +1 -0
- package/src/am/tin.ts +73 -0
- package/src/ar/cbu.ts +106 -0
- package/src/ar/cuit.ts +137 -0
- package/src/ar/dni.ts +79 -0
- package/src/ar/mod.ts +3 -0
- package/src/at/businessid.ts +74 -0
- package/src/at/mod.ts +4 -0
- package/src/at/tin.ts +90 -0
- package/src/at/uid.ts +92 -0
- package/src/at/vnr.ts +111 -0
- package/src/au/abn.ts +85 -0
- package/src/au/acn.ts +86 -0
- package/src/au/mod.ts +3 -0
- package/src/au/tfn.ts +85 -0
- package/src/az/mod.ts +1 -0
- package/src/az/voen.ts +125 -0
- package/src/ba/jmbg.ts +128 -0
- package/src/ba/mod.ts +1 -0
- package/src/bd/mod.ts +1 -0
- package/src/bd/nid.ts +139 -0
- package/src/be/bis.ts +105 -0
- package/src/be/mod.ts +3 -0
- package/src/be/nn.ts +125 -0
- package/src/be/vat.ts +107 -0
- package/src/bg/egn.ts +155 -0
- package/src/bg/mod.ts +3 -0
- package/src/bg/pnf.ts +86 -0
- package/src/bg/vat.ts +155 -0
- package/src/bh/cpr.ts +81 -0
- package/src/bh/mod.ts +1 -0
- package/src/bic.ts +99 -0
- package/src/br/cnpj.ts +152 -0
- package/src/br/cpf.ts +114 -0
- package/src/br/mod.ts +2 -0
- package/src/by/mod.ts +1 -0
- package/src/by/unp.ts +153 -0
- package/src/bz/mod.ts +1 -0
- package/src/bz/tin.ts +107 -0
- package/src/ca/bn.ts +107 -0
- package/src/ca/mod.ts +2 -0
- package/src/ca/sin.ts +91 -0
- package/src/ch/mod.ts +3 -0
- package/src/ch/ssn.ts +95 -0
- package/src/ch/uid.ts +108 -0
- package/src/ch/vat.ts +85 -0
- package/src/cl/mod.ts +1 -0
- package/src/cl/rut.ts +118 -0
- package/src/cn/mod.ts +2 -0
- package/src/cn/ric.ts +180 -0
- package/src/cn/uscc.ts +111 -0
- package/src/co/mod.ts +1 -0
- package/src/co/nit.ts +108 -0
- package/src/cr/cpf.ts +111 -0
- package/src/cr/mod.ts +1 -0
- package/src/creditcard.ts +190 -0
- package/src/cu/mod.ts +1 -0
- package/src/cu/ni.ts +125 -0
- package/src/cy/mod.ts +1 -0
- package/src/cy/vat.ts +130 -0
- package/src/cz/dic.ts +135 -0
- package/src/cz/ico.ts +82 -0
- package/src/cz/mod.ts +3 -0
- package/src/cz/rc.ts +190 -0
- package/src/de/handelsreg.ts +107 -0
- package/src/de/idnr.ts +140 -0
- package/src/de/mod.ts +5 -0
- package/src/de/stnr.ts +214 -0
- package/src/de/svnr.ts +162 -0
- package/src/de/vat.ts +98 -0
- package/src/dk/cpr.ts +122 -0
- package/src/dk/cvr.ts +87 -0
- package/src/dk/mod.ts +3 -0
- package/src/dk/vat.ts +91 -0
- package/src/do/mod.ts +1 -0
- package/src/do/rnc.ts +126 -0
- package/src/ec/mod.ts +1 -0
- package/src/ec/ruc.ts +195 -0
- package/src/ee/ik.ts +156 -0
- package/src/ee/mod.ts +3 -0
- package/src/ee/registrikood.ts +81 -0
- package/src/ee/vat.ts +85 -0
- package/src/eg/mod.ts +1 -0
- package/src/eg/tn.ts +103 -0
- package/src/es/cif.ts +105 -0
- package/src/es/dni.ts +90 -0
- package/src/es/mod.ts +5 -0
- package/src/es/nie.ts +102 -0
- package/src/es/nss.ts +109 -0
- package/src/es/vat.ts +178 -0
- package/src/eu/mod.ts +1 -0
- package/src/eu/vat.ts +171 -0
- package/src/fi/hetu.ts +182 -0
- package/src/fi/mod.ts +3 -0
- package/src/fi/vat.ts +82 -0
- package/src/fi/ytunnus.ts +83 -0
- package/src/fr/mod.ts +5 -0
- package/src/fr/nif.ts +93 -0
- package/src/fr/nir.ts +195 -0
- package/src/fr/siren.ts +79 -0
- package/src/fr/siret.ts +122 -0
- package/src/fr/tva.ts +146 -0
- package/src/gb/mod.ts +4 -0
- package/src/gb/nino.ts +153 -0
- package/src/gb/sedol.ts +137 -0
- package/src/gb/utr.ts +81 -0
- package/src/gb/vat.ts +158 -0
- package/src/ge/mod.ts +1 -0
- package/src/ge/pin.ts +71 -0
- package/src/gh/mod.ts +1 -0
- package/src/gh/tin.ts +100 -0
- package/src/gr/amka.ts +104 -0
- package/src/gr/mod.ts +2 -0
- package/src/gr/vat.ts +96 -0
- package/src/gt/mod.ts +1 -0
- package/src/gt/nit.ts +116 -0
- package/src/hk/hkid.ts +131 -0
- package/src/hk/mod.ts +1 -0
- package/src/hr/mod.ts +1 -0
- package/src/hr/vat.ts +79 -0
- package/src/hu/mod.ts +1 -0
- package/src/hu/vat.ts +82 -0
- package/src/iban.ts +340 -0
- package/src/id/mod.ts +1 -0
- package/src/id/npwp.ts +187 -0
- package/src/ie/mod.ts +2 -0
- package/src/ie/pps.ts +105 -0
- package/src/ie/vat.ts +138 -0
- package/src/il/idnr.ts +87 -0
- package/src/il/mod.ts +1 -0
- package/src/in/aadhaar.ts +96 -0
- package/src/in/gstin.ts +169 -0
- package/src/in/mod.ts +3 -0
- package/src/in/pan.ts +88 -0
- package/src/index.ts +116 -0
- package/src/iq/mod.ts +1 -0
- package/src/iq/nid.ts +71 -0
- package/src/ir/mod.ts +1 -0
- package/src/ir/nid.ts +120 -0
- package/src/is/kennitala.ts +125 -0
- package/src/is/mod.ts +2 -0
- package/src/is/vsk.ts +63 -0
- package/src/isin.ts +114 -0
- package/src/it/codicefiscale.ts +290 -0
- package/src/it/iva.ts +115 -0
- package/src/it/mod.ts +2 -0
- package/src/jp/cn.ts +91 -0
- package/src/jp/mod.ts +2 -0
- package/src/jp/mynumber.ts +103 -0
- package/src/kr/brn.ts +101 -0
- package/src/kr/mod.ts +2 -0
- package/src/kr/rrn.ts +170 -0
- package/src/kw/civil.ts +144 -0
- package/src/kw/mod.ts +1 -0
- package/src/kz/iin.ts +183 -0
- package/src/kz/mod.ts +1 -0
- package/src/lei.ts +98 -0
- package/src/li/mod.ts +1 -0
- package/src/li/peid.ts +66 -0
- package/src/lk/mod.ts +1 -0
- package/src/lk/nic.ts +210 -0
- package/src/lt/asmens.ts +120 -0
- package/src/lt/mod.ts +2 -0
- package/src/lt/vat.ts +109 -0
- package/src/lu/mod.ts +1 -0
- package/src/lu/vat.ts +80 -0
- package/src/luhn.ts +72 -0
- package/src/lv/mod.ts +1 -0
- package/src/lv/vat.ts +139 -0
- package/src/ma/ice.ts +79 -0
- package/src/ma/mod.ts +1 -0
- package/src/mc/mod.ts +1 -0
- package/src/mc/tva.ts +74 -0
- package/src/md/idno.ts +86 -0
- package/src/md/mod.ts +1 -0
- package/src/me/mod.ts +1 -0
- package/src/me/pib.ts +79 -0
- package/src/mk/edb.ts +91 -0
- package/src/mk/mod.ts +1 -0
- package/src/mt/mod.ts +1 -0
- package/src/mt/vat.ts +88 -0
- package/src/mu/brn.ts +102 -0
- package/src/mu/mod.ts +1 -0
- package/src/mx/clabe.ts +111 -0
- package/src/mx/curp.ts +210 -0
- package/src/mx/mod.ts +3 -0
- package/src/mx/rfc.ts +144 -0
- package/src/my/mod.ts +1 -0
- package/src/my/nric.ts +235 -0
- package/src/ng/mod.ts +1 -0
- package/src/ng/nin.ts +72 -0
- package/src/ni/mod.ts +1 -0
- package/src/ni/ruc.ts +176 -0
- package/src/nl/bsn.ts +87 -0
- package/src/nl/kvk.ts +59 -0
- package/src/nl/mod.ts +3 -0
- package/src/nl/vat.ts +146 -0
- package/src/no/fodselsnummer.ts +192 -0
- package/src/no/mod.ts +3 -0
- package/src/no/mva.ts +73 -0
- package/src/no/orgnr.ts +79 -0
- package/src/nz/ird.ts +128 -0
- package/src/nz/mod.ts +1 -0
- package/src/pa/mod.ts +1 -0
- package/src/pa/ruc.ts +359 -0
- package/src/patterns.ts +252 -0
- package/src/pe/mod.ts +1 -0
- package/src/pe/ruc.ts +121 -0
- package/src/ph/mod.ts +1 -0
- package/src/ph/philid.ts +76 -0
- package/src/pk/cnic.ts +103 -0
- package/src/pk/mod.ts +1 -0
- package/src/pl/mod.ts +3 -0
- package/src/pl/nip.ts +96 -0
- package/src/pl/pesel.ts +153 -0
- package/src/pl/regon.ts +98 -0
- package/src/pt/cc.ts +106 -0
- package/src/pt/mod.ts +2 -0
- package/src/pt/vat.ts +93 -0
- package/src/ro/cnp.ts +171 -0
- package/src/ro/mod.ts +2 -0
- package/src/ro/vat.ts +94 -0
- package/src/rs/mod.ts +1 -0
- package/src/rs/pib.ts +83 -0
- package/src/ru/inn.ts +109 -0
- package/src/ru/mod.ts +1 -0
- package/src/se/mod.ts +3 -0
- package/src/se/orgnr.ts +81 -0
- package/src/se/personnummer.ts +180 -0
- package/src/se/vat.ts +92 -0
- package/src/sg/mod.ts +1 -0
- package/src/sg/uen.ts +267 -0
- package/src/si/emso.ts +152 -0
- package/src/si/mod.ts +2 -0
- package/src/si/vat.ts +108 -0
- package/src/sk/dic.ts +106 -0
- package/src/sk/ico.ts +39 -0
- package/src/sk/mod.ts +3 -0
- package/src/sk/rc.ts +31 -0
- package/src/th/mod.ts +1 -0
- package/src/th/tin.ts +102 -0
- package/src/tr/mod.ts +2 -0
- package/src/tr/tckimlik.ts +111 -0
- package/src/tr/vkn.ts +97 -0
- package/src/tw/mod.ts +1 -0
- package/src/tw/ubn.ts +108 -0
- package/src/types.ts +200 -0
- package/src/ua/edrpou.ts +103 -0
- package/src/ua/mod.ts +1 -0
- package/src/us/ein.ts +257 -0
- package/src/us/itin.ts +126 -0
- package/src/us/mod.ts +4 -0
- package/src/us/rtn.ts +126 -0
- package/src/us/ssn.ts +117 -0
- package/src/uy/mod.ts +1 -0
- package/src/uy/rut.ts +146 -0
- package/src/ve/mod.ts +1 -0
- package/src/ve/rif.ts +140 -0
- package/src/vn/mod.ts +1 -0
- package/src/vn/mst.ts +128 -0
- package/src/za/idnr.ts +157 -0
- package/src/za/mod.ts +1 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 stella labs, s.r.o., a limited liability company
|
|
4
|
+
established under the laws of the Czech Republic, with its registered
|
|
5
|
+
office at Nad Porubkou 2355, Poruba, 708 00 Ostrava, Czech Republic,
|
|
6
|
+
Company ID (IČO): 24632872, registered in the Commercial Register
|
|
7
|
+
maintained by the Regional Court in Ostrava, Section C, File No. 103233.
|
|
8
|
+
|
|
9
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
10
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
11
|
+
in the Software without restriction, including without limitation the rights
|
|
12
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
13
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
14
|
+
furnished to do so, subject to the following conditions:
|
|
15
|
+
|
|
16
|
+
The above copyright notice and this permission notice shall be included in all
|
|
17
|
+
copies or substantial portions of the Software.
|
|
18
|
+
|
|
19
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
20
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
21
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
22
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
23
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
24
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
25
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src=".github/assets/banner.png" alt="Stella" width="100%" />
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
# @stll/stdnum
|
|
6
|
+
|
|
7
|
+
Validate, compact, and format standard
|
|
8
|
+
identifiers. Pure TypeScript, zero dependencies,
|
|
9
|
+
tree-shakeable.
|
|
10
|
+
|
|
11
|
+
## Install
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm install @stll/stdnum
|
|
15
|
+
# or
|
|
16
|
+
bun add @stll/stdnum
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Usage
|
|
20
|
+
|
|
21
|
+
```typescript
|
|
22
|
+
import { cz } from "@stll/stdnum";
|
|
23
|
+
|
|
24
|
+
cz.ico.validate("25596641");
|
|
25
|
+
// { valid: true, compact: "25596641" }
|
|
26
|
+
|
|
27
|
+
cz.ico.validate("12345678");
|
|
28
|
+
// { valid: false, error: { code: "INVALID_CHECKSUM", ... } }
|
|
29
|
+
|
|
30
|
+
cz.rc.format("7103192745");
|
|
31
|
+
// "710319/2745"
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Tree-shaking
|
|
35
|
+
|
|
36
|
+
Import only what you need:
|
|
37
|
+
|
|
38
|
+
```typescript
|
|
39
|
+
import ico from "@stll/stdnum/cz/ico";
|
|
40
|
+
import iban from "@stll/stdnum/iban";
|
|
41
|
+
|
|
42
|
+
ico.validate("25596641");
|
|
43
|
+
iban.validate("CZ65 0800 0000 1920 0014 5399");
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Supported Identifiers
|
|
47
|
+
|
|
48
|
+
### International
|
|
49
|
+
|
|
50
|
+
| Identifier | Module | Type |
|
|
51
|
+
| ------------------ | ------------ | ------- |
|
|
52
|
+
| BIC (ISO 9362) | `bic` | company |
|
|
53
|
+
| Credit Card (Luhn) | `creditcard` | any |
|
|
54
|
+
| IBAN | `iban` | any |
|
|
55
|
+
| ISIN (ISO 6166) | `isin` | any |
|
|
56
|
+
| LEI | `lei` | company |
|
|
57
|
+
| Luhn | `luhn` | any |
|
|
58
|
+
| EU VAT | `eu/vat` | company |
|
|
59
|
+
|
|
60
|
+
### Countries
|
|
61
|
+
|
|
62
|
+
<details>
|
|
63
|
+
<summary>96 countries supported (click to expand)</summary>
|
|
64
|
+
|
|
65
|
+
| Country | Module | Identifier |
|
|
66
|
+
| ------------------------- | ------------------ | ------------ |
|
|
67
|
+
| AD Andorra | `ad/nrt` | NRT |
|
|
68
|
+
| AE United Arab Emirates | `ae/eid` | EID |
|
|
69
|
+
| AI Anguilla | `ai/tin` | TIN |
|
|
70
|
+
| AL Albania | `al/nipt` | NIPT |
|
|
71
|
+
| AM Armenia | `am/tin` | TIN |
|
|
72
|
+
| AR Argentina | `ar/cbu` | CBU |
|
|
73
|
+
| | `ar/cuit` | CUIT |
|
|
74
|
+
| | `ar/dni` | DNI |
|
|
75
|
+
| AT Austria | `at/businessid` | FN |
|
|
76
|
+
| | `at/tin` | TIN |
|
|
77
|
+
| | `at/uid` | UID |
|
|
78
|
+
| | `at/vnr` | VNR |
|
|
79
|
+
| AU Australia | `au/abn` | ABN |
|
|
80
|
+
| | `au/acn` | ACN |
|
|
81
|
+
| | `au/tfn` | TFN |
|
|
82
|
+
| AZ Azerbaijan | `az/voen` | VÖEN |
|
|
83
|
+
| BA Bosnia and Herzegovina | `ba/jmbg` | JMBG |
|
|
84
|
+
| BD Bangladesh | `bd/nid` | NID |
|
|
85
|
+
| BE Belgium | `be/bis` | BIS |
|
|
86
|
+
| | `be/nn` | NN |
|
|
87
|
+
| | `be/vat` | BTW |
|
|
88
|
+
| BG Bulgaria | `bg/egn` | ЕГН |
|
|
89
|
+
| | `bg/pnf` | ЛНЧ |
|
|
90
|
+
| | `bg/vat` | ИН по ДДС |
|
|
91
|
+
| BH Bahrain | `bh/cpr` | CPR |
|
|
92
|
+
| BR Brazil | `br/cnpj` | CNPJ |
|
|
93
|
+
| | `br/cpf` | CPF |
|
|
94
|
+
| BY Belarus | `by/unp` | УНП |
|
|
95
|
+
| BZ Belize | `bz/tin` | TIN |
|
|
96
|
+
| CA Canada | `ca/bn` | BN |
|
|
97
|
+
| | `ca/sin` | SIN |
|
|
98
|
+
| CH Switzerland | `ch/ssn` | AHV |
|
|
99
|
+
| | `ch/uid` | UID |
|
|
100
|
+
| | `ch/vat` | MWST |
|
|
101
|
+
| CL Chile | `cl/rut` | RUT |
|
|
102
|
+
| CN China | `cn/ric` | RIC |
|
|
103
|
+
| | `cn/uscc` | USCC |
|
|
104
|
+
| CO Colombia | `co/nit` | NIT |
|
|
105
|
+
| CR Costa Rica | `cr/cpf` | CPF |
|
|
106
|
+
| CU Cuba | `cu/ni` | NI |
|
|
107
|
+
| CY Cyprus | `cy/vat` | ΦΠΑ |
|
|
108
|
+
| CZ Czech Republic | `cz/dic` | DIČ |
|
|
109
|
+
| | `cz/ico` | IČO |
|
|
110
|
+
| | `cz/rc` | RČ |
|
|
111
|
+
| DE Germany | `de/handelsreg` | HReg |
|
|
112
|
+
| | `de/idnr` | IdNr |
|
|
113
|
+
| | `de/stnr` | StNr |
|
|
114
|
+
| | `de/svnr` | SVNR |
|
|
115
|
+
| | `de/vat` | USt-IdNr. |
|
|
116
|
+
| DK Denmark | `dk/cpr` | CPR |
|
|
117
|
+
| | `dk/cvr` | CVR |
|
|
118
|
+
| | `dk/vat` | CVR |
|
|
119
|
+
| DO Dominican Republic | `do/rnc` | RNC |
|
|
120
|
+
| EC Ecuador | `ec/ruc` | RUC |
|
|
121
|
+
| EE Estonia | `ee/ik` | IK |
|
|
122
|
+
| | `ee/registrikood` | Registrikood |
|
|
123
|
+
| | `ee/vat` | KMKR |
|
|
124
|
+
| EG Egypt | `eg/tn` | TN |
|
|
125
|
+
| ES Spain | `es/cif` | CIF |
|
|
126
|
+
| | `es/dni` | DNI |
|
|
127
|
+
| | `es/nie` | NIE |
|
|
128
|
+
| | `es/nss` | NSS |
|
|
129
|
+
| | `es/vat` | NIF |
|
|
130
|
+
| FI Finland | `fi/hetu` | HETU |
|
|
131
|
+
| | `fi/vat` | ALV nro |
|
|
132
|
+
| | `fi/ytunnus` | Y-tunnus |
|
|
133
|
+
| FR France | `fr/nif` | NIF |
|
|
134
|
+
| | `fr/nir` | NIR |
|
|
135
|
+
| | `fr/siren` | SIREN |
|
|
136
|
+
| | `fr/siret` | SIRET |
|
|
137
|
+
| | `fr/tva` | TVA |
|
|
138
|
+
| GB United Kingdom | `gb/nino` | NINO |
|
|
139
|
+
| | `gb/sedol` | SEDOL |
|
|
140
|
+
| | `gb/utr` | UTR |
|
|
141
|
+
| | `gb/vat` | VAT |
|
|
142
|
+
| GE Georgia | `ge/pin` | PIN |
|
|
143
|
+
| GH Ghana | `gh/tin` | TIN |
|
|
144
|
+
| GR Greece | `gr/amka` | ΑΜΚΑ |
|
|
145
|
+
| | `gr/vat` | ΑΦΜ |
|
|
146
|
+
| GT Guatemala | `gt/nit` | NIT |
|
|
147
|
+
| HK Hong Kong | `hk/hkid` | HKID |
|
|
148
|
+
| HR Croatia | `hr/vat` | OIB |
|
|
149
|
+
| HU Hungary | `hu/vat` | ANUM |
|
|
150
|
+
| ID Indonesia | `id/npwp` | NPWP |
|
|
151
|
+
| IE Ireland | `ie/pps` | PPS |
|
|
152
|
+
| | `ie/vat` | VAT |
|
|
153
|
+
| IL Israel | `il/idnr` | ת.ז. |
|
|
154
|
+
| IN India | `in/aadhaar` | Aadhaar |
|
|
155
|
+
| | `in/gstin` | GSTIN |
|
|
156
|
+
| | `in/pan` | PAN |
|
|
157
|
+
| IQ Iraq | `iq/nid` | NID |
|
|
158
|
+
| IR Iran | `ir/nid` | NID |
|
|
159
|
+
| IS Iceland | `is/kennitala` | kt. |
|
|
160
|
+
| | `is/vsk` | VSK |
|
|
161
|
+
| IT Italy | `it/codicefiscale` | CF |
|
|
162
|
+
| | `it/iva` | P.IVA |
|
|
163
|
+
| JP Japan | `jp/cn` | CN |
|
|
164
|
+
| | `jp/mynumber` | My Number |
|
|
165
|
+
| KR South Korea | `kr/brn` | BRN |
|
|
166
|
+
| | `kr/rrn` | RRN |
|
|
167
|
+
| KW Kuwait | `kw/civil` | Civil ID |
|
|
168
|
+
| KZ Kazakhstan | `kz/iin` | IIN |
|
|
169
|
+
| LI Liechtenstein | `li/peid` | PEID |
|
|
170
|
+
| LK Sri Lanka | `lk/nic` | NIC |
|
|
171
|
+
| LT Lithuania | `lt/asmens` | AK |
|
|
172
|
+
| | `lt/vat` | PVM kodas |
|
|
173
|
+
| LU Luxembourg | `lu/vat` | TVA |
|
|
174
|
+
| LV Latvia | `lv/vat` | PVN |
|
|
175
|
+
| MA Morocco | `ma/ice` | ICE |
|
|
176
|
+
| MC Monaco | `mc/tva` | TVA |
|
|
177
|
+
| MD Moldova | `md/idno` | IDNO |
|
|
178
|
+
| ME Montenegro | `me/pib` | PIB |
|
|
179
|
+
| MK North Macedonia | `mk/edb` | EDB |
|
|
180
|
+
| MT Malta | `mt/vat` | VAT |
|
|
181
|
+
| MU Mauritius | `mu/brn` | BRN |
|
|
182
|
+
| MX Mexico | `mx/clabe` | CLABE |
|
|
183
|
+
| | `mx/curp` | CURP |
|
|
184
|
+
| | `mx/rfc` | RFC |
|
|
185
|
+
| MY Malaysia | `my/nric` | NRIC |
|
|
186
|
+
| NG Nigeria | `ng/nin` | NIN |
|
|
187
|
+
| NI Nicaragua | `ni/ruc` | RUC |
|
|
188
|
+
| NL Netherlands | `nl/bsn` | BSN |
|
|
189
|
+
| | `nl/kvk` | KvK |
|
|
190
|
+
| | `nl/vat` | BTW |
|
|
191
|
+
| NO Norway | `no/fodselsnummer` | Fødselsnr |
|
|
192
|
+
| | `no/mva` | MVA |
|
|
193
|
+
| | `no/orgnr` | Orgnr |
|
|
194
|
+
| NZ New Zealand | `nz/ird` | IRD |
|
|
195
|
+
| PA Panama | `pa/ruc` | RUC |
|
|
196
|
+
| PE Peru | `pe/ruc` | RUC |
|
|
197
|
+
| PH Philippines | `ph/philid` | PhilID |
|
|
198
|
+
| PK Pakistan | `pk/cnic` | CNIC |
|
|
199
|
+
| PL Poland | `pl/nip` | NIP |
|
|
200
|
+
| | `pl/pesel` | PESEL |
|
|
201
|
+
| | `pl/regon` | REGON |
|
|
202
|
+
| PT Portugal | `pt/cc` | CC |
|
|
203
|
+
| | `pt/vat` | NIF |
|
|
204
|
+
| RO Romania | `ro/cnp` | CNP |
|
|
205
|
+
| | `ro/vat` | CIF |
|
|
206
|
+
| RS Serbia | `rs/pib` | PIB |
|
|
207
|
+
| RU Russia | `ru/inn` | ИНН |
|
|
208
|
+
| SE Sweden | `se/orgnr` | Orgnr |
|
|
209
|
+
| | `se/personnummer` | PN |
|
|
210
|
+
| | `se/vat` | Momsnr. |
|
|
211
|
+
| SG Singapore | `sg/uen` | UEN |
|
|
212
|
+
| SI Slovenia | `si/emso` | EMŠO |
|
|
213
|
+
| | `si/vat` | DDV |
|
|
214
|
+
| SK Slovakia | `sk/dic` | IČ DPH |
|
|
215
|
+
| | `sk/ico` | IČO |
|
|
216
|
+
| | `sk/rc` | RČ |
|
|
217
|
+
| TH Thailand | `th/tin` | TIN |
|
|
218
|
+
| TR Turkey | `tr/tckimlik` | T.C. Kimlik |
|
|
219
|
+
| | `tr/vkn` | VKN |
|
|
220
|
+
| TW Taiwan | `tw/ubn` | UBN |
|
|
221
|
+
| UA Ukraine | `ua/edrpou` | ЄДРПОУ |
|
|
222
|
+
| US United States | `us/ein` | EIN |
|
|
223
|
+
| | `us/itin` | ITIN |
|
|
224
|
+
| | `us/rtn` | RTN |
|
|
225
|
+
| | `us/ssn` | SSN |
|
|
226
|
+
| UY Uruguay | `uy/rut` | RUT |
|
|
227
|
+
| VE Venezuela | `ve/rif` | RIF |
|
|
228
|
+
| VN Vietnam | `vn/mst` | MST |
|
|
229
|
+
| ZA South Africa | `za/idnr` | SA ID |
|
|
230
|
+
|
|
231
|
+
</details>
|
|
232
|
+
|
|
233
|
+
## API
|
|
234
|
+
|
|
235
|
+
Every identifier exports the same interface:
|
|
236
|
+
|
|
237
|
+
```typescript
|
|
238
|
+
type Validator = {
|
|
239
|
+
name: string;
|
|
240
|
+
localName: string;
|
|
241
|
+
abbreviation: string;
|
|
242
|
+
country?: CountryCode;
|
|
243
|
+
entityType: "person" | "company" | "any";
|
|
244
|
+
compact: (value: string) => string;
|
|
245
|
+
format: (value: string) => string;
|
|
246
|
+
validate: (value: string) => ValidateResult;
|
|
247
|
+
|
|
248
|
+
// Optional metadata
|
|
249
|
+
description?: string;
|
|
250
|
+
sourceUrl?: string;
|
|
251
|
+
lengths?: readonly number[];
|
|
252
|
+
examples?: readonly string[];
|
|
253
|
+
aliases?: readonly string[];
|
|
254
|
+
candidatePattern?: string;
|
|
255
|
+
|
|
256
|
+
// Available on most validators
|
|
257
|
+
generate?: () => string;
|
|
258
|
+
};
|
|
259
|
+
|
|
260
|
+
type ValidateResult =
|
|
261
|
+
| { valid: true; compact: string }
|
|
262
|
+
| {
|
|
263
|
+
valid: false;
|
|
264
|
+
error: {
|
|
265
|
+
code:
|
|
266
|
+
| "INVALID_FORMAT"
|
|
267
|
+
| "INVALID_LENGTH"
|
|
268
|
+
| "INVALID_CHECKSUM"
|
|
269
|
+
| "INVALID_COMPONENT";
|
|
270
|
+
message: string;
|
|
271
|
+
};
|
|
272
|
+
};
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
### Additional exports
|
|
276
|
+
|
|
277
|
+
Many person-type validators export `parse()`, returning
|
|
278
|
+
structured data extracted from the identifier:
|
|
279
|
+
|
|
280
|
+
```typescript
|
|
281
|
+
import { cz } from "@stll/stdnum";
|
|
282
|
+
|
|
283
|
+
cz.rc.parse("7103192745");
|
|
284
|
+
// { birthDate: Date, gender: "male" }
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
Validators with `parse()`: BA JMBG, BG ЕГН, CN RIC,
|
|
288
|
+
CU NI, CZ RČ, DK CPR, EE IK, FI HETU, FR NIR,
|
|
289
|
+
IT CF, KR RRN, KW Civil ID, KZ IIN, LK NIC,
|
|
290
|
+
MX CURP, MY NRIC, NO Fødselsnr, PL PESEL, RO CNP,
|
|
291
|
+
SE PN, SI EMŠO, SK RČ, ZA SA ID.
|
|
292
|
+
|
|
293
|
+
`detectNetwork()` and the `CardNetwork` type are
|
|
294
|
+
top-level named exports:
|
|
295
|
+
|
|
296
|
+
```typescript
|
|
297
|
+
import { detectNetwork } from "@stll/stdnum";
|
|
298
|
+
import type { CardNetwork } from "@stll/stdnum";
|
|
299
|
+
|
|
300
|
+
detectNetwork("4111111111111111");
|
|
301
|
+
// "visa"
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
## Unicode handling
|
|
305
|
+
|
|
306
|
+
All validators normalize Unicode artifacts before
|
|
307
|
+
validation: fullwidth digits, various dashes,
|
|
308
|
+
non-breaking spaces, zero-width characters, and
|
|
309
|
+
other common OCR/PDF copy-paste issues are
|
|
310
|
+
handled automatically.
|
|
311
|
+
|
|
312
|
+
## Development
|
|
313
|
+
|
|
314
|
+
```bash
|
|
315
|
+
bun install
|
|
316
|
+
bun test # 4,185 tests
|
|
317
|
+
bun run lint # oxlint
|
|
318
|
+
bun run format # oxfmt
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
## License
|
|
322
|
+
|
|
323
|
+
[MIT](./LICENSE)
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
//#region src/_checksums/luhn.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Luhn checksum algorithm (ISO/IEC 7812-1).
|
|
4
|
+
* Used by credit cards, IMEI, Canadian SIN, etc.
|
|
5
|
+
*/
|
|
6
|
+
/** Compute the Luhn checksum of a digit string. */
|
|
7
|
+
declare const luhnChecksum: (value: string) => number;
|
|
8
|
+
/** Validate a digit string using Luhn. */
|
|
9
|
+
declare const luhnValidate: (value: string) => boolean;
|
|
10
|
+
//#endregion
|
|
11
|
+
export { luhnChecksum, luhnValidate };
|
|
12
|
+
//# sourceMappingURL=luhn.d.ts.map
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
//#region src/_checksums/luhn.ts
|
|
2
|
+
/**
|
|
3
|
+
* Luhn checksum algorithm (ISO/IEC 7812-1).
|
|
4
|
+
* Used by credit cards, IMEI, Canadian SIN, etc.
|
|
5
|
+
*/
|
|
6
|
+
/** Compute the Luhn checksum of a digit string. */
|
|
7
|
+
const luhnChecksum = (value) => {
|
|
8
|
+
let sum = 0;
|
|
9
|
+
let double = false;
|
|
10
|
+
for (let i = value.length - 1; i >= 0; i--) {
|
|
11
|
+
let d = Number(value[i]);
|
|
12
|
+
if (double) {
|
|
13
|
+
d *= 2;
|
|
14
|
+
if (d > 9) d -= 9;
|
|
15
|
+
}
|
|
16
|
+
sum += d;
|
|
17
|
+
double = !double;
|
|
18
|
+
}
|
|
19
|
+
return sum % 10;
|
|
20
|
+
};
|
|
21
|
+
/** Validate a digit string using Luhn. */
|
|
22
|
+
const luhnValidate = (value) => luhnChecksum(value) === 0;
|
|
23
|
+
//#endregion
|
|
24
|
+
export { luhnChecksum, luhnValidate };
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=luhn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"luhn.js","names":[],"sources":["../../src/_checksums/luhn.ts"],"sourcesContent":["/**\n * Luhn checksum algorithm (ISO/IEC 7812-1).\n * Used by credit cards, IMEI, Canadian SIN, etc.\n */\n\n/** Compute the Luhn checksum of a digit string. */\nexport const luhnChecksum = (value: string): number => {\n let sum = 0;\n let double = false;\n for (let i = value.length - 1; i >= 0; i--) {\n let d = Number(value[i]);\n if (double) {\n d *= 2;\n if (d > 9) d -= 9;\n }\n sum += d;\n double = !double;\n }\n return sum % 10;\n};\n\n/** Validate a digit string using Luhn. */\nexport const luhnValidate = (value: string): boolean =>\n luhnChecksum(value) === 0;\n"],"mappings":";;;;;;AAMA,MAAa,gBAAgB,UAA0B;CACrD,IAAI,MAAM;CACV,IAAI,SAAS;AACb,MAAK,IAAI,IAAI,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK;EAC1C,IAAI,IAAI,OAAO,MAAM,GAAG;AACxB,MAAI,QAAQ;AACV,QAAK;AACL,OAAI,IAAI,EAAG,MAAK;;AAElB,SAAO;AACP,WAAS,CAAC;;AAEZ,QAAO,MAAM;;;AAIf,MAAa,gBAAgB,UAC3B,aAAa,MAAM,KAAK"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
//#region src/_checksums/mod1110.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* ISO 7064 Mod 11,10 check digit algorithm.
|
|
4
|
+
* Used by DE VAT, DE IdNr, HR OIB.
|
|
5
|
+
*/
|
|
6
|
+
/** Compute the Mod 11,10 check digit for a payload. */
|
|
7
|
+
declare const mod1110checkDigit: (payload: string) => number;
|
|
8
|
+
/** Validate a string with a Mod 11,10 check digit. */
|
|
9
|
+
declare const mod1110validate: (value: string) => boolean;
|
|
10
|
+
//#endregion
|
|
11
|
+
export { mod1110checkDigit, mod1110validate };
|
|
12
|
+
//# sourceMappingURL=mod1110.d.ts.map
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
//#region src/_checksums/mod1110.ts
|
|
2
|
+
/**
|
|
3
|
+
* ISO 7064 Mod 11,10 check digit algorithm.
|
|
4
|
+
* Used by DE VAT, DE IdNr, HR OIB.
|
|
5
|
+
*/
|
|
6
|
+
/** Compute the Mod 11,10 check digit for a payload. */
|
|
7
|
+
const mod1110checkDigit = (payload) => {
|
|
8
|
+
let product = 10;
|
|
9
|
+
for (let i = 0; i < payload.length; i++) {
|
|
10
|
+
let sum = (Number(payload[i]) + product) % 10;
|
|
11
|
+
if (sum === 0) sum = 10;
|
|
12
|
+
product = sum * 2 % 11;
|
|
13
|
+
}
|
|
14
|
+
return (11 - product) % 10;
|
|
15
|
+
};
|
|
16
|
+
/** Validate a string with a Mod 11,10 check digit. */
|
|
17
|
+
const mod1110validate = (value) => {
|
|
18
|
+
const payload = value.slice(0, -1);
|
|
19
|
+
const check = Number(value[value.length - 1]);
|
|
20
|
+
return mod1110checkDigit(payload) === check;
|
|
21
|
+
};
|
|
22
|
+
//#endregion
|
|
23
|
+
export { mod1110checkDigit, mod1110validate };
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=mod1110.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mod1110.js","names":[],"sources":["../../src/_checksums/mod1110.ts"],"sourcesContent":["/**\n * ISO 7064 Mod 11,10 check digit algorithm.\n * Used by DE VAT, DE IdNr, HR OIB.\n */\n\n/** Compute the Mod 11,10 check digit for a payload. */\nexport const mod1110checkDigit = (\n payload: string,\n): number => {\n let product = 10;\n for (let i = 0; i < payload.length; i++) {\n let sum = (Number(payload[i]) + product) % 10;\n if (sum === 0) sum = 10;\n product = (sum * 2) % 11;\n }\n return (11 - product) % 10;\n};\n\n/** Validate a string with a Mod 11,10 check digit. */\nexport const mod1110validate = (value: string): boolean => {\n const payload = value.slice(0, -1);\n const check = Number(value[value.length - 1]);\n return mod1110checkDigit(payload) === check;\n};\n"],"mappings":";;;;;;AAMA,MAAa,qBACX,YACW;CACX,IAAI,UAAU;AACd,MAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;EACvC,IAAI,OAAO,OAAO,QAAQ,GAAG,GAAG,WAAW;AAC3C,MAAI,QAAQ,EAAG,OAAM;AACrB,YAAW,MAAM,IAAK;;AAExB,SAAQ,KAAK,WAAW;;;AAI1B,MAAa,mBAAmB,UAA2B;CACzD,MAAM,UAAU,MAAM,MAAM,GAAG,GAAG;CAClC,MAAM,QAAQ,OAAO,MAAM,MAAM,SAAS,GAAG;AAC7C,QAAO,kBAAkB,QAAQ,KAAK"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
//#region src/_checksums/mod112.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* ISO 7064 Mod 11,2 check character algorithm.
|
|
4
|
+
* Used by CN RIC (Resident Identity Card).
|
|
5
|
+
*
|
|
6
|
+
* Weights are powers of 2 modulo 11
|
|
7
|
+
* (2^17 mod 11 ... 2^1 mod 11), applied
|
|
8
|
+
* left-to-right across the 17-character payload.
|
|
9
|
+
* The check character is looked up from
|
|
10
|
+
* "10X98765432".
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Compute the ISO 7064 Mod 11,2 check character
|
|
14
|
+
* for a 17-character payload.
|
|
15
|
+
*/
|
|
16
|
+
declare const mod112checkChar: (payload: string) => string;
|
|
17
|
+
/**
|
|
18
|
+
* Validate an 18-character string with a Mod 11,2
|
|
19
|
+
* check character (last char is 0-9 or X).
|
|
20
|
+
*/
|
|
21
|
+
declare const mod112validate: (value: string) => boolean;
|
|
22
|
+
//#endregion
|
|
23
|
+
export { mod112checkChar, mod112validate };
|
|
24
|
+
//# sourceMappingURL=mod112.d.ts.map
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
//#region src/_checksums/mod112.ts
|
|
2
|
+
/**
|
|
3
|
+
* ISO 7064 Mod 11,2 check character algorithm.
|
|
4
|
+
* Used by CN RIC (Resident Identity Card).
|
|
5
|
+
*
|
|
6
|
+
* Weights are powers of 2 modulo 11
|
|
7
|
+
* (2^17 mod 11 ... 2^1 mod 11), applied
|
|
8
|
+
* left-to-right across the 17-character payload.
|
|
9
|
+
* The check character is looked up from
|
|
10
|
+
* "10X98765432".
|
|
11
|
+
*/
|
|
12
|
+
const WEIGHTS = [
|
|
13
|
+
7,
|
|
14
|
+
9,
|
|
15
|
+
10,
|
|
16
|
+
5,
|
|
17
|
+
8,
|
|
18
|
+
4,
|
|
19
|
+
2,
|
|
20
|
+
1,
|
|
21
|
+
6,
|
|
22
|
+
3,
|
|
23
|
+
7,
|
|
24
|
+
9,
|
|
25
|
+
10,
|
|
26
|
+
5,
|
|
27
|
+
8,
|
|
28
|
+
4,
|
|
29
|
+
2
|
|
30
|
+
];
|
|
31
|
+
const CHECK_CHARS = "10X98765432";
|
|
32
|
+
/**
|
|
33
|
+
* Compute the ISO 7064 Mod 11,2 check character
|
|
34
|
+
* for a 17-character payload.
|
|
35
|
+
*/
|
|
36
|
+
const mod112checkChar = (payload) => {
|
|
37
|
+
let sum = 0;
|
|
38
|
+
for (let i = 0; i < 17; i++) sum += Number(payload[i]) * WEIGHTS[i];
|
|
39
|
+
return CHECK_CHARS[sum % 11];
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Validate an 18-character string with a Mod 11,2
|
|
43
|
+
* check character (last char is 0-9 or X).
|
|
44
|
+
*/
|
|
45
|
+
const mod112validate = (value) => {
|
|
46
|
+
const payload = value.slice(0, 17);
|
|
47
|
+
const check = value[17].toUpperCase();
|
|
48
|
+
return mod112checkChar(payload) === check;
|
|
49
|
+
};
|
|
50
|
+
//#endregion
|
|
51
|
+
export { mod112checkChar, mod112validate };
|
|
52
|
+
|
|
53
|
+
//# sourceMappingURL=mod112.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mod112.js","names":[],"sources":["../../src/_checksums/mod112.ts"],"sourcesContent":["/**\n * ISO 7064 Mod 11,2 check character algorithm.\n * Used by CN RIC (Resident Identity Card).\n *\n * Weights are powers of 2 modulo 11\n * (2^17 mod 11 ... 2^1 mod 11), applied\n * left-to-right across the 17-character payload.\n * The check character is looked up from\n * \"10X98765432\".\n */\n\nconst WEIGHTS = [\n 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2,\n] as const;\n\nconst CHECK_CHARS = \"10X98765432\";\n\n/**\n * Compute the ISO 7064 Mod 11,2 check character\n * for a 17-character payload.\n */\nexport const mod112checkChar = (\n payload: string,\n): string => {\n let sum = 0;\n for (let i = 0; i < 17; i++) {\n sum += Number(payload[i]) * WEIGHTS[i]!;\n }\n return CHECK_CHARS[sum % 11]!;\n};\n\n/**\n * Validate an 18-character string with a Mod 11,2\n * check character (last char is 0-9 or X).\n */\nexport const mod112validate = (value: string): boolean => {\n const payload = value.slice(0, 17);\n const check = value[17]!.toUpperCase();\n return mod112checkChar(payload) === check;\n};\n"],"mappings":";;;;;;;;;;;AAWA,MAAM,UAAU;CACd;CAAG;CAAG;CAAI;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;CAAI;CAAG;CAAG;CAAG;CACnD;AAED,MAAM,cAAc;;;;;AAMpB,MAAa,mBACX,YACW;CACX,IAAI,MAAM;AACV,MAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IACtB,QAAO,OAAO,QAAQ,GAAG,GAAG,QAAQ;AAEtC,QAAO,YAAY,MAAM;;;;;;AAO3B,MAAa,kBAAkB,UAA2B;CACxD,MAAM,UAAU,MAAM,MAAM,GAAG,GAAG;CAClC,MAAM,QAAQ,MAAM,IAAK,aAAa;AACtC,QAAO,gBAAgB,QAAQ,KAAK"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
//#region src/_checksums/mod97.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* ISO 7064 Mod 97-10 checksum.
|
|
4
|
+
* Used by IBAN and LEI.
|
|
5
|
+
*
|
|
6
|
+
* Processes one digit at a time to avoid BigInt.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Compute mod 97 of a numeric string.
|
|
10
|
+
* Letters must already be converted to digits.
|
|
11
|
+
*/
|
|
12
|
+
declare const mod97: (value: string) => number;
|
|
13
|
+
/**
|
|
14
|
+
* Validate a string using ISO 7064 Mod 97-10.
|
|
15
|
+
* The remainder must equal 1.
|
|
16
|
+
*
|
|
17
|
+
* @param value - Numeric string (letters already
|
|
18
|
+
* converted via charValue)
|
|
19
|
+
*/
|
|
20
|
+
declare const mod97validate: (value: string) => boolean;
|
|
21
|
+
//#endregion
|
|
22
|
+
export { mod97, mod97validate };
|
|
23
|
+
//# sourceMappingURL=mod97.d.ts.map
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
//#region src/_checksums/mod97.ts
|
|
2
|
+
/**
|
|
3
|
+
* ISO 7064 Mod 97-10 checksum.
|
|
4
|
+
* Used by IBAN and LEI.
|
|
5
|
+
*
|
|
6
|
+
* Processes one digit at a time to avoid BigInt.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Compute mod 97 of a numeric string.
|
|
10
|
+
* Letters must already be converted to digits.
|
|
11
|
+
*/
|
|
12
|
+
const mod97 = (value) => {
|
|
13
|
+
let remainder = 0;
|
|
14
|
+
for (let i = 0; i < value.length; i++) remainder = (remainder * 10 + Number(value[i])) % 97;
|
|
15
|
+
return remainder;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Validate a string using ISO 7064 Mod 97-10.
|
|
19
|
+
* The remainder must equal 1.
|
|
20
|
+
*
|
|
21
|
+
* @param value - Numeric string (letters already
|
|
22
|
+
* converted via charValue)
|
|
23
|
+
*/
|
|
24
|
+
const mod97validate = (value) => mod97(value) === 1;
|
|
25
|
+
//#endregion
|
|
26
|
+
export { mod97, mod97validate };
|
|
27
|
+
|
|
28
|
+
//# sourceMappingURL=mod97.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mod97.js","names":[],"sources":["../../src/_checksums/mod97.ts"],"sourcesContent":["/**\n * ISO 7064 Mod 97-10 checksum.\n * Used by IBAN and LEI.\n *\n * Processes one digit at a time to avoid BigInt.\n */\n\n/**\n * Compute mod 97 of a numeric string.\n * Letters must already be converted to digits.\n */\nexport const mod97 = (value: string): number => {\n let remainder = 0;\n for (let i = 0; i < value.length; i++) {\n remainder = (remainder * 10 + Number(value[i])) % 97;\n }\n return remainder;\n};\n\n/**\n * Validate a string using ISO 7064 Mod 97-10.\n * The remainder must equal 1.\n *\n * @param value - Numeric string (letters already\n * converted via charValue)\n */\nexport const mod97validate = (value: string): boolean =>\n mod97(value) === 1;\n"],"mappings":";;;;;;;;;;;AAWA,MAAa,SAAS,UAA0B;CAC9C,IAAI,YAAY;AAChB,MAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,IAChC,cAAa,YAAY,KAAK,OAAO,MAAM,GAAG,IAAI;AAEpD,QAAO;;;;;;;;;AAUT,MAAa,iBAAiB,UAC5B,MAAM,MAAM,KAAK"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
//#region src/_checksums/verhoeff.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Verhoeff checksum algorithm.
|
|
4
|
+
*
|
|
5
|
+
* Uses three tables (d, p, inv) to detect all
|
|
6
|
+
* single-digit and adjacent-transposition errors.
|
|
7
|
+
* Used by Indian Aadhaar numbers.
|
|
8
|
+
*
|
|
9
|
+
* @see https://en.wikipedia.org/wiki/Verhoeff_algorithm
|
|
10
|
+
*/
|
|
11
|
+
/** Compute the Verhoeff checksum of a digit string. */
|
|
12
|
+
declare const verhoeffChecksum: (value: string) => number;
|
|
13
|
+
/** Validate a digit string using Verhoeff. */
|
|
14
|
+
declare const verhoeffValidate: (value: string) => boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Calculate the Verhoeff check digit for a
|
|
17
|
+
* digit string (without the check digit).
|
|
18
|
+
*/
|
|
19
|
+
declare const verhoeffCheckDigit: (value: string) => number;
|
|
20
|
+
//#endregion
|
|
21
|
+
export { verhoeffCheckDigit, verhoeffChecksum, verhoeffValidate };
|
|
22
|
+
//# sourceMappingURL=verhoeff.d.ts.map
|