@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/dist/ad/mod.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { __exportAll } from "../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import nrt from "./nrt.js";
|
|
3
|
+
//#region src/ad/mod.ts
|
|
4
|
+
var ad_exports = /* @__PURE__ */ __exportAll({ nrt: () => nrt });
|
|
5
|
+
//#endregion
|
|
6
|
+
export { ad_exports, nrt };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=mod.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mod.js","names":[],"sources":["../../src/ad/mod.ts"],"sourcesContent":["export { default as nrt } from \"./nrt\";\n"],"mappings":""}
|
package/dist/ad/nrt.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ValidateResult, Validator } from "../types.js";
|
|
2
|
+
|
|
3
|
+
//#region src/ad/nrt.d.ts
|
|
4
|
+
/** Generate a random valid Andorra NRT. */
|
|
5
|
+
declare const generate: () => string;
|
|
6
|
+
declare const compact: (value: string) => string;
|
|
7
|
+
declare const validate: (value: string) => ValidateResult;
|
|
8
|
+
declare const format: (value: string) => string;
|
|
9
|
+
/** Andorra NRT (Número de Registre Tributari). */
|
|
10
|
+
declare const nrt: Validator;
|
|
11
|
+
//#endregion
|
|
12
|
+
export { compact, nrt as default, format, generate, validate };
|
|
13
|
+
//# sourceMappingURL=nrt.d.ts.map
|
package/dist/ad/nrt.js
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { clean } from "../_util/clean.js";
|
|
2
|
+
import { randomDigits, randomInt } from "../_util/generate.js";
|
|
3
|
+
import { err } from "../_util/result.js";
|
|
4
|
+
import { isdigits } from "../_util/strings.js";
|
|
5
|
+
//#region src/ad/nrt.ts
|
|
6
|
+
/**
|
|
7
|
+
* NRT (Número de Registre Tributari, Andorra tax number).
|
|
8
|
+
*
|
|
9
|
+
* The NRT identifies legal and natural entities for tax
|
|
10
|
+
* purposes. It consists of one letter indicating entity
|
|
11
|
+
* type, six digits, and a check letter.
|
|
12
|
+
*
|
|
13
|
+
* Entity type prefixes:
|
|
14
|
+
* F — companies (digits <= 699999)
|
|
15
|
+
* A, L — other entities (digits 700000-799999)
|
|
16
|
+
* C, D, E, G, O, P, U — other types
|
|
17
|
+
*
|
|
18
|
+
* @see https://www.oecd.org/tax/automatic-exchange/crs-implementation-and-assistance/tax-identification-numbers/Andorra-TIN.pdf
|
|
19
|
+
*/
|
|
20
|
+
/** Generate a random valid Andorra NRT. */
|
|
21
|
+
const generate = () => {
|
|
22
|
+
return `${"CDEGOPU"[randomInt(0, 6)]}${randomDigits(6)}${String.fromCodePoint(65 + randomInt(0, 25))}`;
|
|
23
|
+
};
|
|
24
|
+
const VALID_PREFIXES = "ACDEFGLOPU";
|
|
25
|
+
const compact = (value) => clean(value, " -.").toUpperCase().trim();
|
|
26
|
+
const validate = (value) => {
|
|
27
|
+
const v = compact(value);
|
|
28
|
+
if (v.length !== 8) return err("INVALID_LENGTH", "Andorra NRT must be 8 characters");
|
|
29
|
+
const prefix = v[0];
|
|
30
|
+
const tail = v[7];
|
|
31
|
+
const digits = v.slice(1, 7);
|
|
32
|
+
if (!/^[A-Z]$/.test(prefix) || !/^[A-Z]$/.test(tail)) return err("INVALID_FORMAT", "Andorra NRT must start and end with a letter");
|
|
33
|
+
if (!isdigits(digits)) return err("INVALID_FORMAT", "Andorra NRT must have 6 digits in the middle");
|
|
34
|
+
if (!VALID_PREFIXES.includes(prefix)) return err("INVALID_COMPONENT", "Andorra NRT has an invalid entity type prefix");
|
|
35
|
+
if (prefix === "F" && digits > "699999") return err("INVALID_COMPONENT", "Andorra NRT F-type digits must be <= 699999");
|
|
36
|
+
if ((prefix === "A" || prefix === "L") && !("699999" < digits && digits < "800000")) return err("INVALID_COMPONENT", "Andorra NRT A/L-type digits must be 700000-799999");
|
|
37
|
+
return {
|
|
38
|
+
valid: true,
|
|
39
|
+
compact: v
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
const format = (value) => {
|
|
43
|
+
const v = compact(value);
|
|
44
|
+
return `${v[0]}-${v.slice(1, 7)}-${v[7]}`;
|
|
45
|
+
};
|
|
46
|
+
/** Andorra NRT (Número de Registre Tributari). */
|
|
47
|
+
const nrt = {
|
|
48
|
+
name: "Andorra Tax Number",
|
|
49
|
+
localName: "Número de Registre Tributari",
|
|
50
|
+
abbreviation: "NRT",
|
|
51
|
+
aliases: ["NRT", "Número de Registre Tributari"],
|
|
52
|
+
candidatePattern: "[A-Z]-?\\d{6}-?[A-Z]",
|
|
53
|
+
country: "AD",
|
|
54
|
+
entityType: "any",
|
|
55
|
+
sourceUrl: "https://www.oecd.org/tax/automatic-exchange/crs-implementation-and-assistance/tax-identification-numbers/Andorra-TIN.pdf",
|
|
56
|
+
examples: [
|
|
57
|
+
"U132950X",
|
|
58
|
+
"D059888N",
|
|
59
|
+
"F123456M"
|
|
60
|
+
],
|
|
61
|
+
compact,
|
|
62
|
+
format,
|
|
63
|
+
validate,
|
|
64
|
+
generate
|
|
65
|
+
};
|
|
66
|
+
//#endregion
|
|
67
|
+
export { compact, nrt as default, format, generate, validate };
|
|
68
|
+
|
|
69
|
+
//# sourceMappingURL=nrt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nrt.js","names":[],"sources":["../../src/ad/nrt.ts"],"sourcesContent":["/** Generate a random valid Andorra NRT. */\nconst generate = (): string => {\n const prefixes = \"CDEGOPU\";\n const prefix =\n prefixes[randomInt(0, prefixes.length - 1)]!;\n const digits = randomDigits(6);\n const suffix = String.fromCodePoint(\n 65 + randomInt(0, 25),\n );\n return `${prefix}${digits}${suffix}`;\n};\n\n/**\n * NRT (Número de Registre Tributari, Andorra tax number).\n *\n * The NRT identifies legal and natural entities for tax\n * purposes. It consists of one letter indicating entity\n * type, six digits, and a check letter.\n *\n * Entity type prefixes:\n * F — companies (digits <= 699999)\n * A, L — other entities (digits 700000-799999)\n * C, D, E, G, O, P, U — other types\n *\n * @see https://www.oecd.org/tax/automatic-exchange/crs-implementation-and-assistance/tax-identification-numbers/Andorra-TIN.pdf\n */\n\nimport { clean } from \"#util/clean\";\nimport { randomDigits, randomInt } from \"#util/generate\";\nimport { err } from \"#util/result\";\nimport { isdigits } from \"#util/strings\";\n\nimport type { ValidateResult, Validator } from \"../types\";\n\nconst VALID_PREFIXES = \"ACDEFGLOPU\";\n\nconst compact = (value: string): string =>\n clean(value, \" -.\").toUpperCase().trim();\n\nconst validate = (value: string): ValidateResult => {\n const v = compact(value);\n if (v.length !== 8) {\n return err(\n \"INVALID_LENGTH\",\n \"Andorra NRT must be 8 characters\",\n );\n }\n const prefix = v[0]!;\n const tail = v[7]!;\n const digits = v.slice(1, 7);\n if (!/^[A-Z]$/.test(prefix) || !/^[A-Z]$/.test(tail)) {\n return err(\n \"INVALID_FORMAT\",\n \"Andorra NRT must start and end with a letter\",\n );\n }\n if (!isdigits(digits)) {\n return err(\n \"INVALID_FORMAT\",\n \"Andorra NRT must have 6 digits in the middle\",\n );\n }\n if (!VALID_PREFIXES.includes(prefix)) {\n return err(\n \"INVALID_COMPONENT\",\n \"Andorra NRT has an invalid entity type prefix\",\n );\n }\n if (prefix === \"F\" && digits > \"699999\") {\n return err(\n \"INVALID_COMPONENT\",\n \"Andorra NRT F-type digits must be <= 699999\",\n );\n }\n if (\n (prefix === \"A\" || prefix === \"L\") &&\n !(\"699999\" < digits && digits < \"800000\")\n ) {\n return err(\n \"INVALID_COMPONENT\",\n \"Andorra NRT A/L-type digits must be 700000-799999\",\n );\n }\n return { valid: true, compact: v };\n};\n\nconst format = (value: string): string => {\n const v = compact(value);\n return `${v[0]}-${v.slice(1, 7)}-${v[7]}`;\n};\n\n/** Andorra NRT (Número de Registre Tributari). */\nconst nrt: Validator = {\n name: \"Andorra Tax Number\",\n localName: \"Número de Registre Tributari\",\n abbreviation: \"NRT\",\n aliases: [\"NRT\", \"Número de Registre Tributari\"] as const,\n candidatePattern: \"[A-Z]-?\\\\d{6}-?[A-Z]\",\n country: \"AD\",\n entityType: \"any\",\n sourceUrl:\n \"https://www.oecd.org/tax/automatic-exchange/crs-implementation-and-assistance/tax-identification-numbers/Andorra-TIN.pdf\",\n examples: [\"U132950X\", \"D059888N\", \"F123456M\"] as const,\n compact,\n format,\n validate,\n generate,\n};\n\nexport default nrt;\nexport { compact, format, validate, generate };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AACA,MAAM,iBAAyB;AAQ7B,QAAO,GAPU,UAEN,UAAU,GAAG,EAAoB,IAC7B,aAAa,EAAE,GACf,OAAO,cACpB,KAAK,UAAU,GAAG,GAAG,CACtB;;AA0BH,MAAM,iBAAiB;AAEvB,MAAM,WAAW,UACf,MAAM,OAAO,MAAM,CAAC,aAAa,CAAC,MAAM;AAE1C,MAAM,YAAY,UAAkC;CAClD,MAAM,IAAI,QAAQ,MAAM;AACxB,KAAI,EAAE,WAAW,EACf,QAAO,IACL,kBACA,mCACD;CAEH,MAAM,SAAS,EAAE;CACjB,MAAM,OAAO,EAAE;CACf,MAAM,SAAS,EAAE,MAAM,GAAG,EAAE;AAC5B,KAAI,CAAC,UAAU,KAAK,OAAO,IAAI,CAAC,UAAU,KAAK,KAAK,CAClD,QAAO,IACL,kBACA,+CACD;AAEH,KAAI,CAAC,SAAS,OAAO,CACnB,QAAO,IACL,kBACA,+CACD;AAEH,KAAI,CAAC,eAAe,SAAS,OAAO,CAClC,QAAO,IACL,qBACA,gDACD;AAEH,KAAI,WAAW,OAAO,SAAS,SAC7B,QAAO,IACL,qBACA,8CACD;AAEH,MACG,WAAW,OAAO,WAAW,QAC9B,EAAE,WAAW,UAAU,SAAS,UAEhC,QAAO,IACL,qBACA,oDACD;AAEH,QAAO;EAAE,OAAO;EAAM,SAAS;EAAG;;AAGpC,MAAM,UAAU,UAA0B;CACxC,MAAM,IAAI,QAAQ,MAAM;AACxB,QAAO,GAAG,EAAE,GAAG,GAAG,EAAE,MAAM,GAAG,EAAE,CAAC,GAAG,EAAE;;;AAIvC,MAAM,MAAiB;CACrB,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS,CAAC,OAAO,+BAA+B;CAChD,kBAAkB;CAClB,SAAS;CACT,YAAY;CACZ,WACE;CACF,UAAU;EAAC;EAAY;EAAY;EAAW;CAC9C;CACA;CACA;CACA;CACD"}
|
package/dist/ae/eid.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ValidateResult, Validator } from "../types.js";
|
|
2
|
+
|
|
3
|
+
//#region src/ae/eid.d.ts
|
|
4
|
+
|
|
5
|
+
declare const compact: (value: string) => string;
|
|
6
|
+
declare const validate: (value: string) => ValidateResult;
|
|
7
|
+
declare const format: (value: string) => string;
|
|
8
|
+
/**
|
|
9
|
+
* Generate a random valid Emirates ID in compact
|
|
10
|
+
* form. NOT cryptographically secure.
|
|
11
|
+
*/
|
|
12
|
+
declare const generate: () => string;
|
|
13
|
+
/** UAE Emirates ID. */
|
|
14
|
+
declare const eid: Validator;
|
|
15
|
+
//#endregion
|
|
16
|
+
export { compact, eid as default, format, generate, validate };
|
|
17
|
+
//# sourceMappingURL=eid.d.ts.map
|
package/dist/ae/eid.js
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { clean } from "../_util/clean.js";
|
|
2
|
+
import { randomDigits, randomInt } from "../_util/generate.js";
|
|
3
|
+
import { err } from "../_util/result.js";
|
|
4
|
+
import { luhnChecksum, luhnValidate } from "../_checksums/luhn.js";
|
|
5
|
+
import { isdigits } from "../_util/strings.js";
|
|
6
|
+
//#region src/ae/eid.ts
|
|
7
|
+
/**
|
|
8
|
+
* Emirates ID (رقم الهوية, UAE).
|
|
9
|
+
*
|
|
10
|
+
* 15 digits: 784-YYYY-NNNNNNN-C where 784 is the
|
|
11
|
+
* ISO 3166-1 numeric code for the UAE, YYYY is the
|
|
12
|
+
* year of birth, NNNNNNN is a serial number, and C
|
|
13
|
+
* is a Luhn check digit.
|
|
14
|
+
*
|
|
15
|
+
* @see https://en.wikipedia.org/wiki/National_identification_number#United_Arab_Emirates
|
|
16
|
+
* @see https://u.ae/en/information-and-services/visa-and-emirates-id/emirates-id
|
|
17
|
+
*/
|
|
18
|
+
const compact = (value) => clean(value, " -/");
|
|
19
|
+
const validate = (value) => {
|
|
20
|
+
const v = compact(value);
|
|
21
|
+
if (v.length !== 15) return err("INVALID_LENGTH", "Emirates ID must be 15 digits");
|
|
22
|
+
if (!isdigits(v)) return err("INVALID_FORMAT", "Emirates ID must contain only digits");
|
|
23
|
+
if (!v.startsWith("784")) return err("INVALID_COMPONENT", "Emirates ID must start with 784");
|
|
24
|
+
if (!luhnValidate(v)) return err("INVALID_CHECKSUM", "Emirates ID Luhn check digit is invalid");
|
|
25
|
+
return {
|
|
26
|
+
valid: true,
|
|
27
|
+
compact: v
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
const format = (value) => {
|
|
31
|
+
const v = compact(value);
|
|
32
|
+
return [
|
|
33
|
+
v.slice(0, 3),
|
|
34
|
+
v.slice(3, 7),
|
|
35
|
+
v.slice(7, 14),
|
|
36
|
+
v.slice(14)
|
|
37
|
+
].join("-");
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Generate a random valid Emirates ID in compact
|
|
41
|
+
* form. NOT cryptographically secure.
|
|
42
|
+
*/
|
|
43
|
+
const generate = () => {
|
|
44
|
+
const yyyy = String(randomInt(1950, 2010));
|
|
45
|
+
const serial = randomDigits(7);
|
|
46
|
+
const check = (10 - luhnChecksum(`784${yyyy}${serial}0`)) % 10;
|
|
47
|
+
return `784${yyyy}${serial}${String(check)}`;
|
|
48
|
+
};
|
|
49
|
+
/** UAE Emirates ID. */
|
|
50
|
+
const eid = {
|
|
51
|
+
name: "Emirates ID",
|
|
52
|
+
localName: "رقم الهوية",
|
|
53
|
+
abbreviation: "EID",
|
|
54
|
+
aliases: [
|
|
55
|
+
"EID",
|
|
56
|
+
"Emirates ID",
|
|
57
|
+
"رقم الهوية"
|
|
58
|
+
],
|
|
59
|
+
candidatePattern: "784-\\d{4}-\\d{7}-\\d",
|
|
60
|
+
country: "AE",
|
|
61
|
+
entityType: "person",
|
|
62
|
+
lengths: [15],
|
|
63
|
+
examples: [
|
|
64
|
+
"784198012345678",
|
|
65
|
+
"784197912345671",
|
|
66
|
+
"784195204640486",
|
|
67
|
+
"784196865703050"
|
|
68
|
+
],
|
|
69
|
+
description: "15-digit identity number issued to UAE residents",
|
|
70
|
+
sourceUrl: "https://u.ae/en/information-and-services/visa-and-emirates-id/emirates-id",
|
|
71
|
+
compact,
|
|
72
|
+
format,
|
|
73
|
+
validate,
|
|
74
|
+
generate
|
|
75
|
+
};
|
|
76
|
+
//#endregion
|
|
77
|
+
export { compact, eid as default, format, generate, validate };
|
|
78
|
+
|
|
79
|
+
//# sourceMappingURL=eid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eid.js","names":[],"sources":["../../src/ae/eid.ts"],"sourcesContent":["/**\n * Emirates ID (رقم الهوية, UAE).\n *\n * 15 digits: 784-YYYY-NNNNNNN-C where 784 is the\n * ISO 3166-1 numeric code for the UAE, YYYY is the\n * year of birth, NNNNNNN is a serial number, and C\n * is a Luhn check digit.\n *\n * @see https://en.wikipedia.org/wiki/National_identification_number#United_Arab_Emirates\n * @see https://u.ae/en/information-and-services/visa-and-emirates-id/emirates-id\n */\n\nimport {\n luhnChecksum,\n luhnValidate,\n} from \"#checksums/luhn\";\nimport { clean } from \"#util/clean\";\nimport { randomDigits, randomInt } from \"#util/generate\";\nimport { err } from \"#util/result\";\nimport { isdigits } from \"#util/strings\";\n\nimport type { ValidateResult, Validator } from \"../types\";\n\nconst compact = (value: string): string =>\n clean(value, \" -/\");\n\nconst validate = (value: string): ValidateResult => {\n const v = compact(value);\n if (v.length !== 15) {\n return err(\n \"INVALID_LENGTH\",\n \"Emirates ID must be 15 digits\",\n );\n }\n if (!isdigits(v)) {\n return err(\n \"INVALID_FORMAT\",\n \"Emirates ID must contain only digits\",\n );\n }\n if (!v.startsWith(\"784\")) {\n return err(\n \"INVALID_COMPONENT\",\n \"Emirates ID must start with 784\",\n );\n }\n if (!luhnValidate(v)) {\n return err(\n \"INVALID_CHECKSUM\",\n \"Emirates ID Luhn check digit is invalid\",\n );\n }\n return { valid: true, compact: v };\n};\n\nconst format = (value: string): string => {\n const v = compact(value);\n return [\n v.slice(0, 3),\n v.slice(3, 7),\n v.slice(7, 14),\n v.slice(14),\n ].join(\"-\");\n};\n\n/**\n * Generate a random valid Emirates ID in compact\n * form. NOT cryptographically secure.\n */\nconst generate = (): string => {\n const yyyy = String(randomInt(1950, 2010));\n const serial = randomDigits(7);\n const partial = `784${yyyy}${serial}0`;\n const remainder = luhnChecksum(partial);\n const check = (10 - remainder) % 10;\n return `784${yyyy}${serial}${String(check)}`;\n};\n\n/** UAE Emirates ID. */\nconst eid: Validator = {\n name: \"Emirates ID\",\n localName: \"رقم الهوية\",\n abbreviation: \"EID\",\n aliases: [\"EID\", \"Emirates ID\", \"رقم الهوية\"] as const,\n candidatePattern: \"784-\\\\d{4}-\\\\d{7}-\\\\d\",\n country: \"AE\",\n entityType: \"person\",\n lengths: [15],\n examples: [\n \"784198012345678\",\n \"784197912345671\",\n \"784195204640486\",\n \"784196865703050\",\n ] as const,\n description:\n \"15-digit identity number issued to UAE residents\",\n sourceUrl:\n \"https://u.ae/en/information-and-services/visa-and-emirates-id/emirates-id\",\n compact,\n format,\n validate,\n generate,\n};\n\nexport default eid;\nexport { compact, format, generate, validate };\n"],"mappings":";;;;;;;;;;;;;;;;;AAuBA,MAAM,WAAW,UACf,MAAM,OAAO,MAAM;AAErB,MAAM,YAAY,UAAkC;CAClD,MAAM,IAAI,QAAQ,MAAM;AACxB,KAAI,EAAE,WAAW,GACf,QAAO,IACL,kBACA,gCACD;AAEH,KAAI,CAAC,SAAS,EAAE,CACd,QAAO,IACL,kBACA,uCACD;AAEH,KAAI,CAAC,EAAE,WAAW,MAAM,CACtB,QAAO,IACL,qBACA,kCACD;AAEH,KAAI,CAAC,aAAa,EAAE,CAClB,QAAO,IACL,oBACA,0CACD;AAEH,QAAO;EAAE,OAAO;EAAM,SAAS;EAAG;;AAGpC,MAAM,UAAU,UAA0B;CACxC,MAAM,IAAI,QAAQ,MAAM;AACxB,QAAO;EACL,EAAE,MAAM,GAAG,EAAE;EACb,EAAE,MAAM,GAAG,EAAE;EACb,EAAE,MAAM,GAAG,GAAG;EACd,EAAE,MAAM,GAAG;EACZ,CAAC,KAAK,IAAI;;;;;;AAOb,MAAM,iBAAyB;CAC7B,MAAM,OAAO,OAAO,UAAU,MAAM,KAAK,CAAC;CAC1C,MAAM,SAAS,aAAa,EAAE;CAG9B,MAAM,SAAS,KADG,aADF,MAAM,OAAO,OAAO,GACG,IACN;AACjC,QAAO,MAAM,OAAO,SAAS,OAAO,MAAM;;;AAI5C,MAAM,MAAiB;CACrB,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS;EAAC;EAAO;EAAe;EAAa;CAC7C,kBAAkB;CAClB,SAAS;CACT,YAAY;CACZ,SAAS,CAAC,GAAG;CACb,UAAU;EACR;EACA;EACA;EACA;EACD;CACD,aACE;CACF,WACE;CACF;CACA;CACA;CACA;CACD"}
|
package/dist/ae/mod.d.ts
ADDED
package/dist/ae/mod.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { __exportAll } from "../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import eid from "./eid.js";
|
|
3
|
+
//#region src/ae/mod.ts
|
|
4
|
+
var ae_exports = /* @__PURE__ */ __exportAll({ eid: () => eid });
|
|
5
|
+
//#endregion
|
|
6
|
+
export { ae_exports, eid };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=mod.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mod.js","names":[],"sources":["../../src/ae/mod.ts"],"sourcesContent":["export { default as eid } from \"./eid\";\n"],"mappings":""}
|
package/dist/ai/mod.d.ts
ADDED
package/dist/ai/mod.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { __exportAll } from "../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import tin from "./tin.js";
|
|
3
|
+
//#region src/ai/mod.ts
|
|
4
|
+
var ai_exports = /* @__PURE__ */ __exportAll({ tin: () => tin });
|
|
5
|
+
//#endregion
|
|
6
|
+
export { ai_exports, tin };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=mod.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mod.js","names":[],"sources":["../../src/ai/mod.ts"],"sourcesContent":["export { default as tin } from \"./tin\";\n"],"mappings":""}
|
package/dist/ai/tin.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ValidateResult, Validator } from "../types.js";
|
|
2
|
+
|
|
3
|
+
//#region src/ai/tin.d.ts
|
|
4
|
+
/** Generate a random valid Anguilla TIN. */
|
|
5
|
+
declare const generate: () => string;
|
|
6
|
+
declare const compact: (value: string) => string;
|
|
7
|
+
declare const validate: (value: string) => ValidateResult;
|
|
8
|
+
declare const format: (value: string) => string;
|
|
9
|
+
/**
|
|
10
|
+
* Anguilla Tax Identification Number.
|
|
11
|
+
*
|
|
12
|
+
* Examples derived from stdnum-js test suite
|
|
13
|
+
* (format-only validation, no published check
|
|
14
|
+
* digit algorithm).
|
|
15
|
+
*/
|
|
16
|
+
declare const tin: Validator;
|
|
17
|
+
//#endregion
|
|
18
|
+
export { compact, tin as default, format, generate, validate };
|
|
19
|
+
//# sourceMappingURL=tin.d.ts.map
|
package/dist/ai/tin.js
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { clean } from "../_util/clean.js";
|
|
2
|
+
import { randomDigits } from "../_util/generate.js";
|
|
3
|
+
import { err } from "../_util/result.js";
|
|
4
|
+
//#region src/ai/tin.ts
|
|
5
|
+
/**
|
|
6
|
+
* TIN (Anguilla Tax Identification Number).
|
|
7
|
+
*
|
|
8
|
+
* Issued by the Inland Revenue Department (IRD) to
|
|
9
|
+
* individuals and entities for tax purposes. The
|
|
10
|
+
* number consists of 10 digits including a prefix
|
|
11
|
+
* digit and check digit:
|
|
12
|
+
* - Prefix 1: individual TIN
|
|
13
|
+
* - Prefix 2: non-individual (business) TIN
|
|
14
|
+
*
|
|
15
|
+
* Formatted as XXXXX-XXXXX.
|
|
16
|
+
*
|
|
17
|
+
* Source: OECD CRS TIN information sheet.
|
|
18
|
+
*
|
|
19
|
+
* PERSON/ENTITY
|
|
20
|
+
*
|
|
21
|
+
* @see https://www.oecd.org/tax/automatic-exchange/crs-implementation-and-assistance/tax-identification-numbers/Anguilla-TIN.pdf
|
|
22
|
+
*/
|
|
23
|
+
/** Generate a random valid Anguilla TIN. */
|
|
24
|
+
const generate = () => {
|
|
25
|
+
return (Math.random() < .5 ? "1" : "2") + randomDigits(9);
|
|
26
|
+
};
|
|
27
|
+
const compact = (value) => {
|
|
28
|
+
return clean(value, " -").trim();
|
|
29
|
+
};
|
|
30
|
+
const validate = (value) => {
|
|
31
|
+
const v = compact(value);
|
|
32
|
+
if (v.length !== 10) return err("INVALID_LENGTH", "Anguilla TIN must be 10 digits");
|
|
33
|
+
if (!/^\d{10}$/.test(v)) return err("INVALID_FORMAT", "Anguilla TIN must contain only digits");
|
|
34
|
+
const prefix = v[0];
|
|
35
|
+
if (prefix !== "1" && prefix !== "2") return err("INVALID_COMPONENT", "Anguilla TIN must start with 1 (individual) or 2 (business)");
|
|
36
|
+
return {
|
|
37
|
+
valid: true,
|
|
38
|
+
compact: v
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
const format = (value) => {
|
|
42
|
+
const v = compact(value);
|
|
43
|
+
return `${v.slice(0, 5)}-${v.slice(5)}`;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Anguilla Tax Identification Number.
|
|
47
|
+
*
|
|
48
|
+
* Examples derived from stdnum-js test suite
|
|
49
|
+
* (format-only validation, no published check
|
|
50
|
+
* digit algorithm).
|
|
51
|
+
*/
|
|
52
|
+
const tin = {
|
|
53
|
+
name: "Anguilla Tax Identification Number",
|
|
54
|
+
localName: "Tax Identification Number",
|
|
55
|
+
abbreviation: "TIN",
|
|
56
|
+
aliases: ["TIN"],
|
|
57
|
+
candidatePattern: "\\d{11}",
|
|
58
|
+
country: "AI",
|
|
59
|
+
entityType: "any",
|
|
60
|
+
lengths: [10],
|
|
61
|
+
examples: ["1234567890", "2345678901"],
|
|
62
|
+
compact,
|
|
63
|
+
format,
|
|
64
|
+
validate,
|
|
65
|
+
description: "Anguilla tax number issued by the Inland Revenue Department",
|
|
66
|
+
sourceUrl: "https://www.oecd.org/tax/automatic-exchange/crs-implementation-and-assistance/tax-identification-numbers/Anguilla-TIN.pdf",
|
|
67
|
+
generate
|
|
68
|
+
};
|
|
69
|
+
//#endregion
|
|
70
|
+
export { compact, tin as default, format, generate, validate };
|
|
71
|
+
|
|
72
|
+
//# sourceMappingURL=tin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tin.js","names":[],"sources":["../../src/ai/tin.ts"],"sourcesContent":["/** Generate a random valid Anguilla TIN. */\nconst generate = (): string => {\n const prefix = Math.random() < 0.5 ? \"1\" : \"2\";\n return prefix + randomDigits(9);\n};\n\n/**\n * TIN (Anguilla Tax Identification Number).\n *\n * Issued by the Inland Revenue Department (IRD) to\n * individuals and entities for tax purposes. The\n * number consists of 10 digits including a prefix\n * digit and check digit:\n * - Prefix 1: individual TIN\n * - Prefix 2: non-individual (business) TIN\n *\n * Formatted as XXXXX-XXXXX.\n *\n * Source: OECD CRS TIN information sheet.\n *\n * PERSON/ENTITY\n *\n * @see https://www.oecd.org/tax/automatic-exchange/crs-implementation-and-assistance/tax-identification-numbers/Anguilla-TIN.pdf\n */\n\nimport { clean } from \"#util/clean\";\nimport { randomDigits } from \"#util/generate\";\nimport { err } from \"#util/result\";\n\nimport type { ValidateResult, Validator } from \"../types\";\n\nconst compact = (value: string): string => {\n return clean(value, \" -\").trim();\n};\n\nconst validate = (value: string): ValidateResult => {\n const v = compact(value);\n\n if (v.length !== 10) {\n return err(\n \"INVALID_LENGTH\",\n \"Anguilla TIN must be 10 digits\",\n );\n }\n\n if (!/^\\d{10}$/.test(v)) {\n return err(\n \"INVALID_FORMAT\",\n \"Anguilla TIN must contain only digits\",\n );\n }\n\n const prefix = v[0];\n\n if (prefix !== \"1\" && prefix !== \"2\") {\n return err(\n \"INVALID_COMPONENT\",\n \"Anguilla TIN must start with 1 (individual) or 2 (business)\",\n );\n }\n\n return { valid: true, compact: v };\n};\n\nconst format = (value: string): string => {\n const v = compact(value);\n return `${v.slice(0, 5)}-${v.slice(5)}`;\n};\n\n/**\n * Anguilla Tax Identification Number.\n *\n * Examples derived from stdnum-js test suite\n * (format-only validation, no published check\n * digit algorithm).\n */\nconst tin: Validator = {\n name: \"Anguilla Tax Identification Number\",\n localName: \"Tax Identification Number\",\n abbreviation: \"TIN\",\n aliases: [\"TIN\"] as const,\n candidatePattern: \"\\\\d{11}\",\n country: \"AI\",\n entityType: \"any\",\n lengths: [10] as const,\n examples: [\"1234567890\", \"2345678901\"] as const,\n compact,\n format,\n validate,\n description:\n \"Anguilla tax number issued by the Inland Revenue Department\",\n sourceUrl:\n \"https://www.oecd.org/tax/automatic-exchange/crs-implementation-and-assistance/tax-identification-numbers/Anguilla-TIN.pdf\",\n generate,\n};\n\nexport default tin;\nexport { compact, format, validate, generate };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA,MAAM,iBAAyB;AAE7B,SADe,KAAK,QAAQ,GAAG,KAAM,MAAM,OAC3B,aAAa,EAAE;;AA4BjC,MAAM,WAAW,UAA0B;AACzC,QAAO,MAAM,OAAO,KAAK,CAAC,MAAM;;AAGlC,MAAM,YAAY,UAAkC;CAClD,MAAM,IAAI,QAAQ,MAAM;AAExB,KAAI,EAAE,WAAW,GACf,QAAO,IACL,kBACA,iCACD;AAGH,KAAI,CAAC,WAAW,KAAK,EAAE,CACrB,QAAO,IACL,kBACA,wCACD;CAGH,MAAM,SAAS,EAAE;AAEjB,KAAI,WAAW,OAAO,WAAW,IAC/B,QAAO,IACL,qBACA,8DACD;AAGH,QAAO;EAAE,OAAO;EAAM,SAAS;EAAG;;AAGpC,MAAM,UAAU,UAA0B;CACxC,MAAM,IAAI,QAAQ,MAAM;AACxB,QAAO,GAAG,EAAE,MAAM,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE;;;;;;;;;AAUvC,MAAM,MAAiB;CACrB,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS,CAAC,MAAM;CAChB,kBAAkB;CAClB,SAAS;CACT,YAAY;CACZ,SAAS,CAAC,GAAG;CACb,UAAU,CAAC,cAAc,aAAa;CACtC;CACA;CACA;CACA,aACE;CACF,WACE;CACF;CACD"}
|
package/dist/al/mod.d.ts
ADDED
package/dist/al/mod.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { __exportAll } from "../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import nipt from "./nipt.js";
|
|
3
|
+
//#region src/al/mod.ts
|
|
4
|
+
var al_exports = /* @__PURE__ */ __exportAll({ nipt: () => nipt });
|
|
5
|
+
//#endregion
|
|
6
|
+
export { al_exports, nipt };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=mod.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mod.js","names":[],"sources":["../../src/al/mod.ts"],"sourcesContent":["export { default as nipt } from \"./nipt\";\n"],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ValidateResult, Validator } from "../types.js";
|
|
2
|
+
|
|
3
|
+
//#region src/al/nipt.d.ts
|
|
4
|
+
/** Generate a random valid Albanian NIPT. */
|
|
5
|
+
declare const generate: () => string;
|
|
6
|
+
declare const compact: (value: string) => string;
|
|
7
|
+
declare const validate: (value: string) => ValidateResult;
|
|
8
|
+
declare const format: (value: string) => string;
|
|
9
|
+
/** Albanian NIPT (tax identification number). */
|
|
10
|
+
declare const nipt: Validator;
|
|
11
|
+
//#endregion
|
|
12
|
+
export { compact, nipt as default, format, generate, validate };
|
|
13
|
+
//# sourceMappingURL=nipt.d.ts.map
|
package/dist/al/nipt.js
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { clean } from "../_util/clean.js";
|
|
2
|
+
import { randomDigits, randomInt } from "../_util/generate.js";
|
|
3
|
+
import { err } from "../_util/result.js";
|
|
4
|
+
//#region src/al/nipt.ts
|
|
5
|
+
/**
|
|
6
|
+
* NIPT (Numri i Identifikimit për Personin e Tatueshëm,
|
|
7
|
+
* Albanian tax number).
|
|
8
|
+
*
|
|
9
|
+
* 10 characters: a letter (A-M) indicating the decade or
|
|
10
|
+
* birth decade, 8 digits encoding year/month/day/serial,
|
|
11
|
+
* and a trailing check letter. The check digit algorithm
|
|
12
|
+
* is undocumented.
|
|
13
|
+
*
|
|
14
|
+
* @see https://www.tatime.gov.al/eng/c/4/103/business-lifecycle
|
|
15
|
+
*/
|
|
16
|
+
/** Generate a random valid Albanian NIPT. */
|
|
17
|
+
const generate = () => {
|
|
18
|
+
return `${String.fromCodePoint(65 + randomInt(0, 12))}${randomDigits(8)}${String.fromCodePoint(65 + randomInt(0, 25))}`;
|
|
19
|
+
};
|
|
20
|
+
const NIPT_RE = /^[A-M]\d{8}[A-Z]$/;
|
|
21
|
+
const compact = (value) => {
|
|
22
|
+
let v = clean(value, " ").toUpperCase().trim();
|
|
23
|
+
if (v.startsWith("(AL)")) v = v.slice(4);
|
|
24
|
+
else if (v.startsWith("AL")) v = v.slice(2);
|
|
25
|
+
return v;
|
|
26
|
+
};
|
|
27
|
+
const validate = (value) => {
|
|
28
|
+
const v = compact(value);
|
|
29
|
+
if (v.length !== 10) return err("INVALID_LENGTH", "Albanian NIPT must be 10 characters");
|
|
30
|
+
if (!NIPT_RE.test(v)) return err("INVALID_FORMAT", "Albanian NIPT must be letter + 8 digits + letter (first letter A-M)");
|
|
31
|
+
return {
|
|
32
|
+
valid: true,
|
|
33
|
+
compact: v
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
const format = (value) => compact(value);
|
|
37
|
+
/** Albanian NIPT (tax identification number). */
|
|
38
|
+
const nipt = {
|
|
39
|
+
name: "Albanian Tax Number",
|
|
40
|
+
localName: "Numri i Identifikimit për Personin e Tatueshëm",
|
|
41
|
+
abbreviation: "NIPT",
|
|
42
|
+
aliases: ["NIPT", "NUIS"],
|
|
43
|
+
candidatePattern: "[A-Z]\\d{8}[A-Z]",
|
|
44
|
+
country: "AL",
|
|
45
|
+
entityType: "any",
|
|
46
|
+
sourceUrl: "https://www.tatime.gov.al/",
|
|
47
|
+
examples: ["J91402501L", "K22218003V"],
|
|
48
|
+
compact,
|
|
49
|
+
format,
|
|
50
|
+
validate,
|
|
51
|
+
generate
|
|
52
|
+
};
|
|
53
|
+
//#endregion
|
|
54
|
+
export { compact, nipt as default, format, generate, validate };
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=nipt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nipt.js","names":[],"sources":["../../src/al/nipt.ts"],"sourcesContent":["/** Generate a random valid Albanian NIPT. */\nconst generate = (): string => {\n const first = String.fromCodePoint(65 + randomInt(0, 12)); // A-M\n const digits = randomDigits(8);\n const last = String.fromCodePoint(65 + randomInt(0, 25)); // A-Z\n return `${first}${digits}${last}`;\n};\n\n/**\n * NIPT (Numri i Identifikimit për Personin e Tatueshëm,\n * Albanian tax number).\n *\n * 10 characters: a letter (A-M) indicating the decade or\n * birth decade, 8 digits encoding year/month/day/serial,\n * and a trailing check letter. The check digit algorithm\n * is undocumented.\n *\n * @see https://www.tatime.gov.al/eng/c/4/103/business-lifecycle\n */\n\nimport { clean } from \"#util/clean\";\nimport { randomDigits, randomInt } from \"#util/generate\";\nimport { err } from \"#util/result\";\n\nimport type { ValidateResult, Validator } from \"../types\";\n\nconst NIPT_RE = /^[A-M]\\d{8}[A-Z]$/;\n\nconst compact = (value: string): string => {\n let v = clean(value, \" \").toUpperCase().trim();\n if (v.startsWith(\"(AL)\")) {\n v = v.slice(4);\n } else if (v.startsWith(\"AL\")) {\n v = v.slice(2);\n }\n return v;\n};\n\nconst validate = (value: string): ValidateResult => {\n const v = compact(value);\n if (v.length !== 10) {\n return err(\n \"INVALID_LENGTH\",\n \"Albanian NIPT must be 10 characters\",\n );\n }\n if (!NIPT_RE.test(v)) {\n return err(\n \"INVALID_FORMAT\",\n \"Albanian NIPT must be letter + 8 digits + letter\" +\n \" (first letter A-M)\",\n );\n }\n return { valid: true, compact: v };\n};\n\nconst format = (value: string): string => compact(value);\n\n/** Albanian NIPT (tax identification number). */\nconst nipt: Validator = {\n name: \"Albanian Tax Number\",\n localName:\n \"Numri i Identifikimit për Personin e Tatueshëm\",\n abbreviation: \"NIPT\",\n aliases: [\"NIPT\", \"NUIS\"] as const,\n candidatePattern: \"[A-Z]\\\\d{8}[A-Z]\",\n country: \"AL\",\n entityType: \"any\",\n sourceUrl: \"https://www.tatime.gov.al/\",\n examples: [\"J91402501L\", \"K22218003V\"] as const,\n compact,\n format,\n validate,\n generate,\n};\n\nexport default nipt;\nexport { compact, format, validate, generate };\n"],"mappings":";;;;;;;;;;;;;;;;AACA,MAAM,iBAAyB;AAI7B,QAAO,GAHO,OAAO,cAAc,KAAK,UAAU,GAAG,GAAG,CAAC,GAC1C,aAAa,EAAE,GACjB,OAAO,cAAc,KAAK,UAAU,GAAG,GAAG,CAAC;;AAsB1D,MAAM,UAAU;AAEhB,MAAM,WAAW,UAA0B;CACzC,IAAI,IAAI,MAAM,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM;AAC9C,KAAI,EAAE,WAAW,OAAO,CACtB,KAAI,EAAE,MAAM,EAAE;UACL,EAAE,WAAW,KAAK,CAC3B,KAAI,EAAE,MAAM,EAAE;AAEhB,QAAO;;AAGT,MAAM,YAAY,UAAkC;CAClD,MAAM,IAAI,QAAQ,MAAM;AACxB,KAAI,EAAE,WAAW,GACf,QAAO,IACL,kBACA,sCACD;AAEH,KAAI,CAAC,QAAQ,KAAK,EAAE,CAClB,QAAO,IACL,kBACA,sEAED;AAEH,QAAO;EAAE,OAAO;EAAM,SAAS;EAAG;;AAGpC,MAAM,UAAU,UAA0B,QAAQ,MAAM;;AAGxD,MAAM,OAAkB;CACtB,MAAM;CACN,WACE;CACF,cAAc;CACd,SAAS,CAAC,QAAQ,OAAO;CACzB,kBAAkB;CAClB,SAAS;CACT,YAAY;CACZ,WAAW;CACX,UAAU,CAAC,cAAc,aAAa;CACtC;CACA;CACA;CACA;CACD"}
|
package/dist/am/mod.d.ts
ADDED
package/dist/am/mod.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { __exportAll } from "../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import tin from "./tin.js";
|
|
3
|
+
//#region src/am/mod.ts
|
|
4
|
+
var am_exports = /* @__PURE__ */ __exportAll({ tin: () => tin });
|
|
5
|
+
//#endregion
|
|
6
|
+
export { am_exports, tin };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=mod.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mod.js","names":[],"sources":["../../src/am/mod.ts"],"sourcesContent":["export { default as tin } from \"./tin\";\n"],"mappings":""}
|
package/dist/am/tin.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ValidateResult, Validator } from "../types.js";
|
|
2
|
+
|
|
3
|
+
//#region src/am/tin.d.ts
|
|
4
|
+
/** Generate a random valid Armenian TIN. */
|
|
5
|
+
declare const generate: () => string;
|
|
6
|
+
declare const compact: (value: string) => string;
|
|
7
|
+
declare const validate: (value: string) => ValidateResult;
|
|
8
|
+
declare const format: (value: string) => string;
|
|
9
|
+
/** Armenian Tax Identification Number. */
|
|
10
|
+
declare const tin: Validator;
|
|
11
|
+
//#endregion
|
|
12
|
+
export { compact, tin as default, format, generate, validate };
|
|
13
|
+
//# sourceMappingURL=tin.d.ts.map
|
package/dist/am/tin.js
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { clean } from "../_util/clean.js";
|
|
2
|
+
import { randomDigits } from "../_util/generate.js";
|
|
3
|
+
import { err } from "../_util/result.js";
|
|
4
|
+
import { isdigits } from "../_util/strings.js";
|
|
5
|
+
//#region src/am/tin.ts
|
|
6
|
+
/**
|
|
7
|
+
* TIN (Tax Identification Number, ՀԾՀ).
|
|
8
|
+
*
|
|
9
|
+
* Armenian taxpayer identification number issued by the
|
|
10
|
+
* State Revenue Committee (SRC). 8 digits; the 8th digit
|
|
11
|
+
* is a check digit calculated from the first 7. The
|
|
12
|
+
* checksum algorithm is not publicly documented, so only
|
|
13
|
+
* format validation is performed.
|
|
14
|
+
*
|
|
15
|
+
* Issued to both individuals and entities.
|
|
16
|
+
*
|
|
17
|
+
* @see https://www.oecd.org/tax/automatic-exchange/crs-implementation-and-assistance/tax-identification-numbers/Armenia-TIN.pdf
|
|
18
|
+
* @see https://www.src.am/en/taxpayerSearchSystemPage/112
|
|
19
|
+
*/
|
|
20
|
+
/** Generate a random valid Armenian TIN. */
|
|
21
|
+
const generate = () => randomDigits(8);
|
|
22
|
+
const compact = (value) => clean(value, " -").trim();
|
|
23
|
+
const validate = (value) => {
|
|
24
|
+
const v = compact(value);
|
|
25
|
+
if (v.length !== 8) return err("INVALID_LENGTH", "Armenian TIN must be 8 digits");
|
|
26
|
+
if (!isdigits(v)) return err("INVALID_FORMAT", "Armenian TIN must contain only digits");
|
|
27
|
+
return {
|
|
28
|
+
valid: true,
|
|
29
|
+
compact: v
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
const format = (value) => compact(value);
|
|
33
|
+
/** Armenian Tax Identification Number. */
|
|
34
|
+
const tin = {
|
|
35
|
+
name: "Armenian Tax ID",
|
|
36
|
+
localName: "Հարկ վճարողի հաշվառման համար",
|
|
37
|
+
abbreviation: "TIN",
|
|
38
|
+
aliases: ["ՀՎՀՀ", "TIN"],
|
|
39
|
+
candidatePattern: "\\d{8}",
|
|
40
|
+
country: "AM",
|
|
41
|
+
entityType: "any",
|
|
42
|
+
lengths: [8],
|
|
43
|
+
examples: ["01234561", "10048376"],
|
|
44
|
+
compact,
|
|
45
|
+
format,
|
|
46
|
+
validate,
|
|
47
|
+
sourceUrl: "https://www.oecd.org/tax/automatic-exchange/crs-implementation-and-assistance/tax-identification-numbers/Armenia-TIN.pdf",
|
|
48
|
+
generate
|
|
49
|
+
};
|
|
50
|
+
//#endregion
|
|
51
|
+
export { compact, tin as default, format, generate, validate };
|
|
52
|
+
|
|
53
|
+
//# sourceMappingURL=tin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tin.js","names":[],"sources":["../../src/am/tin.ts"],"sourcesContent":["/** Generate a random valid Armenian TIN. */\nconst generate = (): string => randomDigits(8);\n\n/**\n * TIN (Tax Identification Number, ՀԾՀ).\n *\n * Armenian taxpayer identification number issued by the\n * State Revenue Committee (SRC). 8 digits; the 8th digit\n * is a check digit calculated from the first 7. The\n * checksum algorithm is not publicly documented, so only\n * format validation is performed.\n *\n * Issued to both individuals and entities.\n *\n * @see https://www.oecd.org/tax/automatic-exchange/crs-implementation-and-assistance/tax-identification-numbers/Armenia-TIN.pdf\n * @see https://www.src.am/en/taxpayerSearchSystemPage/112\n */\n\nimport { clean } from \"#util/clean\";\nimport { randomDigits } from \"#util/generate\";\nimport { err } from \"#util/result\";\nimport { isdigits } from \"#util/strings\";\n\nimport type { ValidateResult, Validator } from \"../types\";\n\nconst compact = (value: string): string =>\n clean(value, \" -\").trim();\n\nconst validate = (value: string): ValidateResult => {\n const v = compact(value);\n\n if (v.length !== 8) {\n return err(\n \"INVALID_LENGTH\",\n \"Armenian TIN must be 8 digits\",\n );\n }\n\n if (!isdigits(v)) {\n return err(\n \"INVALID_FORMAT\",\n \"Armenian TIN must contain only digits\",\n );\n }\n\n return { valid: true, compact: v };\n};\n\nconst format = (value: string): string => compact(value);\n\n/** Armenian Tax Identification Number. */\nconst tin: Validator = {\n name: \"Armenian Tax ID\",\n localName: \"Հարկ վճարողի հաշվառման համար\",\n abbreviation: \"TIN\",\n aliases: [\"ՀՎՀՀ\", \"TIN\"] as const,\n candidatePattern: \"\\\\d{8}\",\n country: \"AM\",\n entityType: \"any\",\n lengths: [8] as const,\n examples: [\"01234561\", \"10048376\"] as const,\n compact,\n format,\n validate,\n sourceUrl:\n \"https://www.oecd.org/tax/automatic-exchange/\" +\n \"crs-implementation-and-assistance/\" +\n \"tax-identification-numbers/Armenia-TIN.pdf\",\n generate,\n};\n\nexport default tin;\nexport { compact, format, validate, generate };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AACA,MAAM,iBAAyB,aAAa,EAAE;AAwB9C,MAAM,WAAW,UACf,MAAM,OAAO,KAAK,CAAC,MAAM;AAE3B,MAAM,YAAY,UAAkC;CAClD,MAAM,IAAI,QAAQ,MAAM;AAExB,KAAI,EAAE,WAAW,EACf,QAAO,IACL,kBACA,gCACD;AAGH,KAAI,CAAC,SAAS,EAAE,CACd,QAAO,IACL,kBACA,wCACD;AAGH,QAAO;EAAE,OAAO;EAAM,SAAS;EAAG;;AAGpC,MAAM,UAAU,UAA0B,QAAQ,MAAM;;AAGxD,MAAM,MAAiB;CACrB,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS,CAAC,QAAQ,MAAM;CACxB,kBAAkB;CAClB,SAAS;CACT,YAAY;CACZ,SAAS,CAAC,EAAE;CACZ,UAAU,CAAC,YAAY,WAAW;CAClC;CACA;CACA;CACA,WACE;CAGF;CACD"}
|
package/dist/ar/cbu.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ValidateResult, Validator } from "../types.js";
|
|
2
|
+
|
|
3
|
+
//#region src/ar/cbu.d.ts
|
|
4
|
+
|
|
5
|
+
declare const compact: (value: string) => string;
|
|
6
|
+
declare const validate: (value: string) => ValidateResult;
|
|
7
|
+
declare const format: (value: string) => string;
|
|
8
|
+
/** Generate a random valid CBU. */
|
|
9
|
+
declare const generate: () => string;
|
|
10
|
+
/** Argentine Uniform Bank Key. */
|
|
11
|
+
declare const cbu: Validator;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { compact, cbu as default, format, generate, validate };
|
|
14
|
+
//# sourceMappingURL=cbu.d.ts.map
|