@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/si/emso.js
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { clean } from "../_util/clean.js";
|
|
2
|
+
import { randomInt } from "../_util/generate.js";
|
|
3
|
+
import { err } from "../_util/result.js";
|
|
4
|
+
import { isdigits } from "../_util/strings.js";
|
|
5
|
+
import { weightedSum } from "../_checksums/weighted-sum.js";
|
|
6
|
+
import { isValidDate } from "../_util/date.js";
|
|
7
|
+
//#region src/si/emso.ts
|
|
8
|
+
/**
|
|
9
|
+
* EMŠO (Enotna matična številka občana).
|
|
10
|
+
*
|
|
11
|
+
* Slovenian unique master citizen number. 13 digits
|
|
12
|
+
* encoding DDMMYYY (7-digit birth year), region code,
|
|
13
|
+
* serial number, and a check digit.
|
|
14
|
+
*
|
|
15
|
+
* @see https://en.wikipedia.org/wiki/Unique_Master_Citizen_Number
|
|
16
|
+
* @see https://www.gov.si/
|
|
17
|
+
*/
|
|
18
|
+
const WEIGHTS = [
|
|
19
|
+
7,
|
|
20
|
+
6,
|
|
21
|
+
5,
|
|
22
|
+
4,
|
|
23
|
+
3,
|
|
24
|
+
2,
|
|
25
|
+
7,
|
|
26
|
+
6,
|
|
27
|
+
5,
|
|
28
|
+
4,
|
|
29
|
+
3,
|
|
30
|
+
2
|
|
31
|
+
];
|
|
32
|
+
const compact = (value) => clean(value, " -");
|
|
33
|
+
/**
|
|
34
|
+
* Compute the check digit matching python-stdnum:
|
|
35
|
+
* `str(-total % 11 % 10)`.
|
|
36
|
+
*/
|
|
37
|
+
const calcCheckDigit = (v) => {
|
|
38
|
+
return (11 - weightedSum(v.slice(0, 12), WEIGHTS, 11)) % 11 % 10;
|
|
39
|
+
};
|
|
40
|
+
const validate = (value) => {
|
|
41
|
+
const v = compact(value);
|
|
42
|
+
if (v.length !== 13) return err("INVALID_LENGTH", "EMŠO must be exactly 13 digits");
|
|
43
|
+
if (!isdigits(v)) return err("INVALID_FORMAT", "EMŠO must contain only digits");
|
|
44
|
+
const dd = Number(v.slice(0, 2));
|
|
45
|
+
const mm = Number(v.slice(2, 4));
|
|
46
|
+
let yyyy = Number(v.slice(4, 7));
|
|
47
|
+
if (yyyy < 900) yyyy += 2e3;
|
|
48
|
+
else yyyy += 1e3;
|
|
49
|
+
if (!isValidDate(yyyy, mm, dd)) return err("INVALID_COMPONENT", "EMŠO contains an invalid date");
|
|
50
|
+
if (calcCheckDigit(v) !== Number(v[12])) return err("INVALID_CHECKSUM", "EMŠO check digit does not match");
|
|
51
|
+
return {
|
|
52
|
+
valid: true,
|
|
53
|
+
compact: v
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
const format = (value) => compact(value);
|
|
57
|
+
/**
|
|
58
|
+
* Extract birth date and gender from an EMSO.
|
|
59
|
+
* Returns null if the value is not valid.
|
|
60
|
+
*/
|
|
61
|
+
const parse = (value) => {
|
|
62
|
+
const result = validate(value);
|
|
63
|
+
if (!result.valid) return null;
|
|
64
|
+
const v = result.compact;
|
|
65
|
+
const dd = Number(v.slice(0, 2));
|
|
66
|
+
const mm = Number(v.slice(2, 4));
|
|
67
|
+
let yyyy = Number(v.slice(4, 7));
|
|
68
|
+
if (yyyy < 900) yyyy += 2e3;
|
|
69
|
+
else yyyy += 1e3;
|
|
70
|
+
const serial = Number(v.slice(9, 12));
|
|
71
|
+
return {
|
|
72
|
+
birthDate: new Date(yyyy, mm - 1, dd),
|
|
73
|
+
gender: serial < 500 ? "male" : "female"
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
/** Generate a random valid Slovenian EMSO. */
|
|
77
|
+
const generate = () => {
|
|
78
|
+
for (;;) {
|
|
79
|
+
const dd = String(randomInt(1, 28)).padStart(2, "0");
|
|
80
|
+
const mm = String(randomInt(1, 12)).padStart(2, "0");
|
|
81
|
+
const yyy = String(randomInt(900, 999));
|
|
82
|
+
const rr = String(randomInt(50, 99));
|
|
83
|
+
const sss = String(randomInt(0, 999)).padStart(3, "0");
|
|
84
|
+
const partial = dd + mm + yyy + rr + sss;
|
|
85
|
+
const c = partial + String(calcCheckDigit(partial));
|
|
86
|
+
if (validate(c).valid) return c;
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
/** Slovenian Unique Master Citizen Number. */
|
|
90
|
+
const emso = {
|
|
91
|
+
name: "Slovenian Personal ID",
|
|
92
|
+
localName: "Enotna matična številka občana",
|
|
93
|
+
abbreviation: "EMŠO",
|
|
94
|
+
aliases: ["EMŠO", "enotna matična številka občana"],
|
|
95
|
+
candidatePattern: "\\d{13}",
|
|
96
|
+
country: "SI",
|
|
97
|
+
entityType: "person",
|
|
98
|
+
sourceUrl: "https://www.gov.si/",
|
|
99
|
+
examples: ["0101006500006"],
|
|
100
|
+
compact,
|
|
101
|
+
format,
|
|
102
|
+
validate,
|
|
103
|
+
generate
|
|
104
|
+
};
|
|
105
|
+
//#endregion
|
|
106
|
+
export { compact, emso as default, format, generate, parse, validate };
|
|
107
|
+
|
|
108
|
+
//# sourceMappingURL=emso.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emso.js","names":[],"sources":["../../src/si/emso.ts"],"sourcesContent":["/**\n * EMŠO (Enotna matična številka občana).\n *\n * Slovenian unique master citizen number. 13 digits\n * encoding DDMMYYY (7-digit birth year), region code,\n * serial number, and a check digit.\n *\n * @see https://en.wikipedia.org/wiki/Unique_Master_Citizen_Number\n * @see https://www.gov.si/\n */\n\nimport { weightedSum } from \"#checksums/weighted-sum\";\nimport { clean } from \"#util/clean\";\nimport { isValidDate } from \"#util/date\";\nimport { randomInt } from \"#util/generate\";\nimport { err } from \"#util/result\";\nimport { isdigits } from \"#util/strings\";\n\nimport type {\n ParsedPersonId,\n ValidateResult,\n Validator,\n} from \"../types\";\n\nconst WEIGHTS = [\n 7, 6, 5, 4, 3, 2, 7, 6, 5, 4, 3, 2,\n] as const;\n\nconst compact = (value: string): string =>\n clean(value, \" -\");\n\n/**\n * Compute the check digit matching python-stdnum:\n * `str(-total % 11 % 10)`.\n */\nconst calcCheckDigit = (v: string): number => {\n const total = weightedSum(v.slice(0, 12), WEIGHTS, 11);\n // Python's (-total % 11 % 10) — always 0..9\n // weightedSum already returns (sum % 11 + 11) % 11,\n // so total is 0..10. Negate within mod 11:\n return ((11 - total) % 11) % 10;\n};\n\nconst validate = (value: string): ValidateResult => {\n const v = compact(value);\n if (v.length !== 13) {\n return err(\n \"INVALID_LENGTH\",\n \"EMŠO must be exactly 13 digits\",\n );\n }\n if (!isdigits(v)) {\n return err(\n \"INVALID_FORMAT\",\n \"EMŠO must contain only digits\",\n );\n }\n\n // Validate embedded birth date (DDMMYYY)\n const dd = Number(v.slice(0, 2));\n const mm = Number(v.slice(2, 4));\n let yyyy = Number(v.slice(4, 7));\n // JMBG standard: 900-999 → 1900s, 000-899 → 2000s\n // Note: python-stdnum uses 800 as threshold, but\n // the official JMBG spec uses 900. No practical\n // difference (800-899 range has no living citizens).\n if (yyyy < 900) {\n yyyy += 2000;\n } else {\n yyyy += 1000;\n }\n if (!isValidDate(yyyy, mm, dd)) {\n return err(\n \"INVALID_COMPONENT\",\n \"EMŠO contains an invalid date\",\n );\n }\n\n if (calcCheckDigit(v) !== Number(v[12])) {\n return err(\n \"INVALID_CHECKSUM\",\n \"EMŠO check digit does not match\",\n );\n }\n\n return { valid: true, compact: v };\n};\n\nconst format = (value: string): string => compact(value);\n\n/**\n * Extract birth date and gender from an EMSO.\n * Returns null if the value is not valid.\n */\nconst parse = (value: string): ParsedPersonId | null => {\n const result = validate(value);\n if (!result.valid) return null;\n\n const v = result.compact;\n const dd = Number(v.slice(0, 2));\n const mm = Number(v.slice(2, 4));\n let yyyy = Number(v.slice(4, 7));\n if (yyyy < 900) {\n yyyy += 2000;\n } else {\n yyyy += 1000;\n }\n\n const serial = Number(v.slice(9, 12));\n\n return {\n birthDate: new Date(yyyy, mm - 1, dd),\n gender: serial < 500 ? \"male\" : \"female\",\n };\n};\n\n/** Generate a random valid Slovenian EMSO. */\nconst generate = (): string => {\n for (;;) {\n const dd = String(randomInt(1, 28)).padStart(2, \"0\");\n const mm = String(randomInt(1, 12)).padStart(2, \"0\");\n const yyy = String(randomInt(900, 999));\n const rr = String(randomInt(50, 99));\n const sss = String(randomInt(0, 999)).padStart(3, \"0\");\n const partial = dd + mm + yyy + rr + sss;\n const c = partial + String(calcCheckDigit(partial));\n if (validate(c).valid) return c;\n }\n};\n\n/** Slovenian Unique Master Citizen Number. */\nconst emso: Validator = {\n name: \"Slovenian Personal ID\",\n localName: \"Enotna matična številka občana\",\n abbreviation: \"EMŠO\",\n aliases: [\n \"EMŠO\",\n \"enotna matična številka občana\",\n ] as const,\n candidatePattern: \"\\\\d{13}\",\n country: \"SI\",\n entityType: \"person\",\n sourceUrl: \"https://www.gov.si/\",\n examples: [\"0101006500006\"] as const,\n compact,\n format,\n validate,\n generate,\n};\n\nexport default emso;\nexport { compact, format, parse, validate, generate };\n"],"mappings":";;;;;;;;;;;;;;;;;AAwBA,MAAM,UAAU;CACd;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;CAClC;AAED,MAAM,WAAW,UACf,MAAM,OAAO,KAAK;;;;;AAMpB,MAAM,kBAAkB,MAAsB;AAK5C,SAAS,KAJK,YAAY,EAAE,MAAM,GAAG,GAAG,EAAE,SAAS,GAAG,IAI/B,KAAM;;AAG/B,MAAM,YAAY,UAAkC;CAClD,MAAM,IAAI,QAAQ,MAAM;AACxB,KAAI,EAAE,WAAW,GACf,QAAO,IACL,kBACA,iCACD;AAEH,KAAI,CAAC,SAAS,EAAE,CACd,QAAO,IACL,kBACA,gCACD;CAIH,MAAM,KAAK,OAAO,EAAE,MAAM,GAAG,EAAE,CAAC;CAChC,MAAM,KAAK,OAAO,EAAE,MAAM,GAAG,EAAE,CAAC;CAChC,IAAI,OAAO,OAAO,EAAE,MAAM,GAAG,EAAE,CAAC;AAKhC,KAAI,OAAO,IACT,SAAQ;KAER,SAAQ;AAEV,KAAI,CAAC,YAAY,MAAM,IAAI,GAAG,CAC5B,QAAO,IACL,qBACA,gCACD;AAGH,KAAI,eAAe,EAAE,KAAK,OAAO,EAAE,IAAI,CACrC,QAAO,IACL,oBACA,kCACD;AAGH,QAAO;EAAE,OAAO;EAAM,SAAS;EAAG;;AAGpC,MAAM,UAAU,UAA0B,QAAQ,MAAM;;;;;AAMxD,MAAM,SAAS,UAAyC;CACtD,MAAM,SAAS,SAAS,MAAM;AAC9B,KAAI,CAAC,OAAO,MAAO,QAAO;CAE1B,MAAM,IAAI,OAAO;CACjB,MAAM,KAAK,OAAO,EAAE,MAAM,GAAG,EAAE,CAAC;CAChC,MAAM,KAAK,OAAO,EAAE,MAAM,GAAG,EAAE,CAAC;CAChC,IAAI,OAAO,OAAO,EAAE,MAAM,GAAG,EAAE,CAAC;AAChC,KAAI,OAAO,IACT,SAAQ;KAER,SAAQ;CAGV,MAAM,SAAS,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC;AAErC,QAAO;EACL,WAAW,IAAI,KAAK,MAAM,KAAK,GAAG,GAAG;EACrC,QAAQ,SAAS,MAAM,SAAS;EACjC;;;AAIH,MAAM,iBAAyB;AAC7B,UAAS;EACP,MAAM,KAAK,OAAO,UAAU,GAAG,GAAG,CAAC,CAAC,SAAS,GAAG,IAAI;EACpD,MAAM,KAAK,OAAO,UAAU,GAAG,GAAG,CAAC,CAAC,SAAS,GAAG,IAAI;EACpD,MAAM,MAAM,OAAO,UAAU,KAAK,IAAI,CAAC;EACvC,MAAM,KAAK,OAAO,UAAU,IAAI,GAAG,CAAC;EACpC,MAAM,MAAM,OAAO,UAAU,GAAG,IAAI,CAAC,CAAC,SAAS,GAAG,IAAI;EACtD,MAAM,UAAU,KAAK,KAAK,MAAM,KAAK;EACrC,MAAM,IAAI,UAAU,OAAO,eAAe,QAAQ,CAAC;AACnD,MAAI,SAAS,EAAE,CAAC,MAAO,QAAO;;;;AAKlC,MAAM,OAAkB;CACtB,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS,CACP,QACA,iCACD;CACD,kBAAkB;CAClB,SAAS;CACT,YAAY;CACZ,WAAW;CACX,UAAU,CAAC,gBAAgB;CAC3B;CACA;CACA;CACA;CACD"}
|
package/dist/si/mod.d.ts
ADDED
package/dist/si/mod.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { __exportAll } from "../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import vat from "./vat.js";
|
|
3
|
+
import emso from "./emso.js";
|
|
4
|
+
//#region src/si/mod.ts
|
|
5
|
+
var si_exports = /* @__PURE__ */ __exportAll({
|
|
6
|
+
emso: () => emso,
|
|
7
|
+
vat: () => vat
|
|
8
|
+
});
|
|
9
|
+
//#endregion
|
|
10
|
+
export { emso, si_exports, vat };
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=mod.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mod.js","names":[],"sources":["../../src/si/mod.ts"],"sourcesContent":["export { default as emso } from \"./emso\";\nexport { default as vat } from \"./vat\";\n"],"mappings":""}
|
package/dist/si/vat.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ValidateResult, Validator } from "../types.js";
|
|
2
|
+
|
|
3
|
+
//#region src/si/vat.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 Slovenian VAT number. */
|
|
9
|
+
declare const generate: () => string;
|
|
10
|
+
/** Slovenian VAT Number. */
|
|
11
|
+
declare const vat: Validator;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { compact, vat as default, format, generate, validate };
|
|
14
|
+
//# sourceMappingURL=vat.d.ts.map
|
package/dist/si/vat.js
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
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
|
+
import { weightedSum } from "../_checksums/weighted-sum.js";
|
|
6
|
+
//#region src/si/vat.ts
|
|
7
|
+
/**
|
|
8
|
+
* DDV (Slovenian VAT number).
|
|
9
|
+
*
|
|
10
|
+
* 8 digits, no leading 0.
|
|
11
|
+
* Weights [8,7,6,5,4,3,2], check = 11 - sum % 11.
|
|
12
|
+
* If check === 10 invalid; if 11 the number is
|
|
13
|
+
* invalid (spec says no valid number yields 11).
|
|
14
|
+
*
|
|
15
|
+
* @see https://www.vatify.eu/slovenia-vat-number.html
|
|
16
|
+
* @see https://spot.gov.si/en/info/taxes/value-added-tax-vat
|
|
17
|
+
*/
|
|
18
|
+
const WEIGHTS = [
|
|
19
|
+
8,
|
|
20
|
+
7,
|
|
21
|
+
6,
|
|
22
|
+
5,
|
|
23
|
+
4,
|
|
24
|
+
3,
|
|
25
|
+
2
|
|
26
|
+
];
|
|
27
|
+
const compact = (value) => {
|
|
28
|
+
let v = clean(value, " -/.");
|
|
29
|
+
if (v.startsWith("SI") || v.startsWith("si")) v = v.slice(2);
|
|
30
|
+
return v;
|
|
31
|
+
};
|
|
32
|
+
const validate = (value) => {
|
|
33
|
+
const v = compact(value);
|
|
34
|
+
if (v.length !== 8) return err("INVALID_LENGTH", "Slovenian VAT number must be 8 digits");
|
|
35
|
+
if (!isdigits(v)) return err("INVALID_FORMAT", "Slovenian VAT number must contain only digits");
|
|
36
|
+
if (v[0] === "0") return err("INVALID_COMPONENT", "Slovenian VAT number cannot start with 0");
|
|
37
|
+
const check = 11 - weightedSum(v.slice(0, 7), WEIGHTS, 11);
|
|
38
|
+
if (check === 11) return err("INVALID_CHECKSUM", "Slovenian VAT number check digit invalid");
|
|
39
|
+
if (check === 10) {
|
|
40
|
+
if (Number(v[7]) !== 0) return err("INVALID_CHECKSUM", "Slovenian VAT number check digit mismatch");
|
|
41
|
+
} else if (check !== Number(v[7])) return err("INVALID_CHECKSUM", "Slovenian VAT number check digit mismatch");
|
|
42
|
+
return {
|
|
43
|
+
valid: true,
|
|
44
|
+
compact: v
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
const format = (value) => `SI${compact(value)}`;
|
|
48
|
+
/** Generate a random valid Slovenian VAT number. */
|
|
49
|
+
const generate = () => {
|
|
50
|
+
for (;;) {
|
|
51
|
+
const c = String(randomInt(1, 9)) + randomDigits(7);
|
|
52
|
+
if (validate(c).valid) return c;
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
/** Slovenian VAT Number. */
|
|
56
|
+
const vat = {
|
|
57
|
+
name: "Slovenian VAT Number",
|
|
58
|
+
localName: "Davčna številka",
|
|
59
|
+
abbreviation: "DDV",
|
|
60
|
+
aliases: ["DDV", "identifikacijska številka za DDV"],
|
|
61
|
+
candidatePattern: "SI\\d{8}",
|
|
62
|
+
country: "SI",
|
|
63
|
+
entityType: "company",
|
|
64
|
+
sourceUrl: "https://www.fu.gov.si/",
|
|
65
|
+
examples: ["15012557"],
|
|
66
|
+
compact,
|
|
67
|
+
format,
|
|
68
|
+
validate,
|
|
69
|
+
generate
|
|
70
|
+
};
|
|
71
|
+
//#endregion
|
|
72
|
+
export { compact, vat as default, format, generate, validate };
|
|
73
|
+
|
|
74
|
+
//# sourceMappingURL=vat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vat.js","names":[],"sources":["../../src/si/vat.ts"],"sourcesContent":["/**\n * DDV (Slovenian VAT number).\n *\n * 8 digits, no leading 0.\n * Weights [8,7,6,5,4,3,2], check = 11 - sum % 11.\n * If check === 10 invalid; if 11 the number is\n * invalid (spec says no valid number yields 11).\n *\n * @see https://www.vatify.eu/slovenia-vat-number.html\n * @see https://spot.gov.si/en/info/taxes/value-added-tax-vat\n */\n\nimport { weightedSum } from \"#checksums/weighted-sum\";\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 WEIGHTS = [8, 7, 6, 5, 4, 3, 2];\n\nconst compact = (value: string): string => {\n let v = clean(value, \" -/.\");\n if (v.startsWith(\"SI\") || v.startsWith(\"si\")) {\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 !== 8) {\n return err(\n \"INVALID_LENGTH\",\n \"Slovenian VAT number must be 8 digits\",\n );\n }\n if (!isdigits(v)) {\n return err(\n \"INVALID_FORMAT\",\n \"Slovenian VAT number must contain only digits\",\n );\n }\n if (v[0] === \"0\") {\n return err(\n \"INVALID_COMPONENT\",\n \"Slovenian VAT number cannot start with 0\",\n );\n }\n const remainder = weightedSum(v.slice(0, 7), WEIGHTS, 11);\n const check = 11 - remainder;\n if (check === 11) {\n return err(\n \"INVALID_CHECKSUM\",\n \"Slovenian VAT number check digit invalid\",\n );\n }\n if (check === 10) {\n // check digit 10 means 0\n if (Number(v[7]) !== 0) {\n return err(\n \"INVALID_CHECKSUM\",\n \"Slovenian VAT number check digit mismatch\",\n );\n }\n } else if (check !== Number(v[7])) {\n return err(\n \"INVALID_CHECKSUM\",\n \"Slovenian VAT number check digit mismatch\",\n );\n }\n return { valid: true, compact: v };\n};\n\nconst format = (value: string): string =>\n `SI${compact(value)}`;\n\n/** Generate a random valid Slovenian VAT number. */\nconst generate = (): string => {\n for (;;) {\n const c = String(randomInt(1, 9)) + randomDigits(7);\n if (validate(c).valid) return c;\n }\n};\n\n/** Slovenian VAT Number. */\nconst vat: Validator = {\n name: \"Slovenian VAT Number\",\n localName: \"Davčna številka\",\n abbreviation: \"DDV\",\n aliases: [\n \"DDV\",\n \"identifikacijska številka za DDV\",\n ] as const,\n candidatePattern: \"SI\\\\d{8}\",\n country: \"SI\",\n entityType: \"company\",\n sourceUrl: \"https://www.fu.gov.si/\",\n examples: [\"15012557\"] as const,\n compact,\n format,\n validate,\n generate,\n};\n\nexport default vat;\nexport { compact, format, validate, generate };\n"],"mappings":";;;;;;;;;;;;;;;;;AAoBA,MAAM,UAAU;CAAC;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;CAAE;AAErC,MAAM,WAAW,UAA0B;CACzC,IAAI,IAAI,MAAM,OAAO,OAAO;AAC5B,KAAI,EAAE,WAAW,KAAK,IAAI,EAAE,WAAW,KAAK,CAC1C,KAAI,EAAE,MAAM,EAAE;AAEhB,QAAO;;AAGT,MAAM,YAAY,UAAkC;CAClD,MAAM,IAAI,QAAQ,MAAM;AACxB,KAAI,EAAE,WAAW,EACf,QAAO,IACL,kBACA,wCACD;AAEH,KAAI,CAAC,SAAS,EAAE,CACd,QAAO,IACL,kBACA,gDACD;AAEH,KAAI,EAAE,OAAO,IACX,QAAO,IACL,qBACA,2CACD;CAGH,MAAM,QAAQ,KADI,YAAY,EAAE,MAAM,GAAG,EAAE,EAAE,SAAS,GAAG;AAEzD,KAAI,UAAU,GACZ,QAAO,IACL,oBACA,2CACD;AAEH,KAAI,UAAU;MAER,OAAO,EAAE,GAAG,KAAK,EACnB,QAAO,IACL,oBACA,4CACD;YAEM,UAAU,OAAO,EAAE,GAAG,CAC/B,QAAO,IACL,oBACA,4CACD;AAEH,QAAO;EAAE,OAAO;EAAM,SAAS;EAAG;;AAGpC,MAAM,UAAU,UACd,KAAK,QAAQ,MAAM;;AAGrB,MAAM,iBAAyB;AAC7B,UAAS;EACP,MAAM,IAAI,OAAO,UAAU,GAAG,EAAE,CAAC,GAAG,aAAa,EAAE;AACnD,MAAI,SAAS,EAAE,CAAC,MAAO,QAAO;;;;AAKlC,MAAM,MAAiB;CACrB,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS,CACP,OACA,mCACD;CACD,kBAAkB;CAClB,SAAS;CACT,YAAY;CACZ,WAAW;CACX,UAAU,CAAC,WAAW;CACtB;CACA;CACA;CACA;CACD"}
|
package/dist/sk/dic.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ValidateResult, Validator } from "../types.js";
|
|
2
|
+
|
|
3
|
+
//#region src/sk/dic.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 Slovak DIČ. */
|
|
9
|
+
declare const generate: () => string;
|
|
10
|
+
/** Slovak VAT Number. */
|
|
11
|
+
declare const dic: Validator;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { compact, dic as default, format, generate, validate };
|
|
14
|
+
//# sourceMappingURL=dic.d.ts.map
|
package/dist/sk/dic.js
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
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
|
+
import { validate as validate$1 } from "../cz/rc.js";
|
|
6
|
+
//#region src/sk/dic.ts
|
|
7
|
+
/**
|
|
8
|
+
* IČ DPH (Identifikačné číslo pre daň z
|
|
9
|
+
* pridanej hodnoty).
|
|
10
|
+
*
|
|
11
|
+
* Slovak VAT number. Format: "SK" + 10 digits.
|
|
12
|
+
* The 10-digit number must be divisible by 11.
|
|
13
|
+
* First digit is 1-9.
|
|
14
|
+
*
|
|
15
|
+
* @see https://www.financnasprava.sk/
|
|
16
|
+
*/
|
|
17
|
+
const compact = (value) => {
|
|
18
|
+
const v = clean(value, " -");
|
|
19
|
+
if (v.startsWith("SK") || v.startsWith("sk")) return v.slice(2);
|
|
20
|
+
return v;
|
|
21
|
+
};
|
|
22
|
+
const validate = (value) => {
|
|
23
|
+
const v = compact(value);
|
|
24
|
+
if (v.length !== 10) return err("INVALID_LENGTH", "Slovak VAT number must be 10 digits");
|
|
25
|
+
if (!isdigits(v)) return err("INVALID_FORMAT", "Slovak VAT number must contain only digits");
|
|
26
|
+
if (validate$1(v).valid) return {
|
|
27
|
+
valid: true,
|
|
28
|
+
compact: v
|
|
29
|
+
};
|
|
30
|
+
if (v[0] === "0") return err("INVALID_COMPONENT", "Slovak VAT number cannot start with 0");
|
|
31
|
+
const d3 = Number(v[2]);
|
|
32
|
+
if (d3 !== 2 && d3 !== 3 && d3 !== 4 && d3 !== 7 && d3 !== 8 && d3 !== 9) return err("INVALID_FORMAT", "Slovak VAT number has invalid third digit");
|
|
33
|
+
if (Number(v) % 11 !== 0) return err("INVALID_CHECKSUM", "Slovak VAT number is not divisible by 11");
|
|
34
|
+
return {
|
|
35
|
+
valid: true,
|
|
36
|
+
compact: v
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
const format = (value) => `SK${compact(value)}`;
|
|
40
|
+
/** Generate a random valid Slovak DIČ. */
|
|
41
|
+
const generate = () => {
|
|
42
|
+
for (;;) {
|
|
43
|
+
const c = randomDigits(10);
|
|
44
|
+
if (validate(c).valid) return c;
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
/** Slovak VAT Number. */
|
|
48
|
+
const dic = {
|
|
49
|
+
name: "Slovak VAT Number",
|
|
50
|
+
localName: "Identifikačné číslo pre daň z pridanej hodnoty",
|
|
51
|
+
abbreviation: "IČ DPH",
|
|
52
|
+
aliases: ["DIČ", "daňové identifikačné číslo"],
|
|
53
|
+
candidatePattern: "SK\\d{10}",
|
|
54
|
+
country: "SK",
|
|
55
|
+
entityType: "company",
|
|
56
|
+
sourceUrl: "https://www.financnasprava.sk/",
|
|
57
|
+
examples: ["2021853504"],
|
|
58
|
+
compact,
|
|
59
|
+
format,
|
|
60
|
+
validate,
|
|
61
|
+
generate
|
|
62
|
+
};
|
|
63
|
+
//#endregion
|
|
64
|
+
export { compact, dic as default, format, generate, validate };
|
|
65
|
+
|
|
66
|
+
//# sourceMappingURL=dic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dic.js","names":["validateRc"],"sources":["../../src/sk/dic.ts"],"sourcesContent":["/**\n * IČ DPH (Identifikačné číslo pre daň z\n * pridanej hodnoty).\n *\n * Slovak VAT number. Format: \"SK\" + 10 digits.\n * The 10-digit number must be divisible by 11.\n * First digit is 1-9.\n *\n * @see https://www.financnasprava.sk/\n */\n\nimport { clean } from \"#util/clean\";\nimport { randomDigits } from \"#util/generate\";\nimport { err } from \"#util/result\";\nimport { isdigits } from \"#util/strings\";\n\nimport { validate as validateRc } from \"../cz/rc\";\nimport type { ValidateResult, Validator } from \"../types\";\n\nconst compact = (value: string): string => {\n const v = clean(value, \" -\");\n if (v.startsWith(\"SK\") || v.startsWith(\"sk\")) {\n return 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 \"Slovak VAT number must be 10 digits\",\n );\n }\n if (!isdigits(v)) {\n return err(\n \"INVALID_FORMAT\",\n \"Slovak VAT number must contain only digits\",\n );\n }\n // A valid birth number is also accepted as DPH\n if (validateRc(v).valid) {\n return { valid: true, compact: v };\n }\n if (v[0] === \"0\") {\n return err(\n \"INVALID_COMPONENT\",\n \"Slovak VAT number cannot start with 0\",\n );\n }\n // Third digit must be 2, 3, 4, 7, 8, or 9\n const d3 = Number(v[2]);\n if (\n d3 !== 2 &&\n d3 !== 3 &&\n d3 !== 4 &&\n d3 !== 7 &&\n d3 !== 8 &&\n d3 !== 9\n ) {\n return err(\n \"INVALID_FORMAT\",\n \"Slovak VAT number has invalid third digit\",\n );\n }\n if (Number(v) % 11 !== 0) {\n return err(\n \"INVALID_CHECKSUM\",\n \"Slovak VAT number is not divisible by 11\",\n );\n }\n return { valid: true, compact: v };\n};\n\nconst format = (value: string): string =>\n `SK${compact(value)}`;\n\n/** Generate a random valid Slovak DIČ. */\nconst generate = (): string => {\n for (;;) {\n const c = randomDigits(10);\n if (validate(c).valid) return c;\n }\n};\n\n/** Slovak VAT Number. */\nconst dic: Validator = {\n name: \"Slovak VAT Number\",\n localName:\n \"Identifikačné číslo pre daň z pridanej hodnoty\",\n abbreviation: \"IČ DPH\",\n aliases: [\"DIČ\", \"daňové identifikačné číslo\"] as const,\n candidatePattern: \"SK\\\\d{10}\",\n country: \"SK\",\n entityType: \"company\",\n sourceUrl: \"https://www.financnasprava.sk/\",\n examples: [\"2021853504\"] as const,\n compact,\n format,\n validate,\n generate,\n};\n\nexport default dic;\nexport { compact, format, validate, generate };\n"],"mappings":";;;;;;;;;;;;;;;;AAmBA,MAAM,WAAW,UAA0B;CACzC,MAAM,IAAI,MAAM,OAAO,KAAK;AAC5B,KAAI,EAAE,WAAW,KAAK,IAAI,EAAE,WAAW,KAAK,CAC1C,QAAO,EAAE,MAAM,EAAE;AAEnB,QAAO;;AAGT,MAAM,YAAY,UAAkC;CAClD,MAAM,IAAI,QAAQ,MAAM;AACxB,KAAI,EAAE,WAAW,GACf,QAAO,IACL,kBACA,sCACD;AAEH,KAAI,CAAC,SAAS,EAAE,CACd,QAAO,IACL,kBACA,6CACD;AAGH,KAAIA,WAAW,EAAE,CAAC,MAChB,QAAO;EAAE,OAAO;EAAM,SAAS;EAAG;AAEpC,KAAI,EAAE,OAAO,IACX,QAAO,IACL,qBACA,wCACD;CAGH,MAAM,KAAK,OAAO,EAAE,GAAG;AACvB,KACE,OAAO,KACP,OAAO,KACP,OAAO,KACP,OAAO,KACP,OAAO,KACP,OAAO,EAEP,QAAO,IACL,kBACA,4CACD;AAEH,KAAI,OAAO,EAAE,GAAG,OAAO,EACrB,QAAO,IACL,oBACA,2CACD;AAEH,QAAO;EAAE,OAAO;EAAM,SAAS;EAAG;;AAGpC,MAAM,UAAU,UACd,KAAK,QAAQ,MAAM;;AAGrB,MAAM,iBAAyB;AAC7B,UAAS;EACP,MAAM,IAAI,aAAa,GAAG;AAC1B,MAAI,SAAS,EAAE,CAAC,MAAO,QAAO;;;;AAKlC,MAAM,MAAiB;CACrB,MAAM;CACN,WACE;CACF,cAAc;CACd,SAAS,CAAC,OAAO,6BAA6B;CAC9C,kBAAkB;CAClB,SAAS;CACT,YAAY;CACZ,WAAW;CACX,UAAU,CAAC,aAAa;CACxB;CACA;CACA;CACA;CACD"}
|
package/dist/sk/ico.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Validator } from "../types.js";
|
|
2
|
+
import { compact, format, generate, validate } from "../cz/ico.js";
|
|
3
|
+
|
|
4
|
+
//#region src/sk/ico.d.ts
|
|
5
|
+
|
|
6
|
+
/** Slovak Company Identification Number. */
|
|
7
|
+
declare const ico: Validator;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { compact, ico as default, format, generate, validate };
|
|
10
|
+
//# sourceMappingURL=ico.d.ts.map
|
package/dist/sk/ico.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { compact, format, generate, validate } from "../cz/ico.js";
|
|
2
|
+
//#region src/sk/ico.ts
|
|
3
|
+
/**
|
|
4
|
+
* IČO (Identifikačné číslo organizácie).
|
|
5
|
+
*
|
|
6
|
+
* Slovak company identification number. Same
|
|
7
|
+
* 8-digit weighted checksum as the Czech IČO.
|
|
8
|
+
*
|
|
9
|
+
* @see https://www.statistics.sk/
|
|
10
|
+
*/
|
|
11
|
+
/** Slovak Company Identification Number. */
|
|
12
|
+
const ico = {
|
|
13
|
+
name: "Slovak Company ID",
|
|
14
|
+
localName: "Identifikačné číslo organizácie",
|
|
15
|
+
abbreviation: "IČO",
|
|
16
|
+
aliases: ["IČO", "identifikačné číslo organizácie"],
|
|
17
|
+
candidatePattern: "\\d{8}",
|
|
18
|
+
country: "SK",
|
|
19
|
+
entityType: "company",
|
|
20
|
+
sourceUrl: "https://www.statistics.sk/",
|
|
21
|
+
examples: ["25123891"],
|
|
22
|
+
compact,
|
|
23
|
+
format,
|
|
24
|
+
validate,
|
|
25
|
+
generate
|
|
26
|
+
};
|
|
27
|
+
//#endregion
|
|
28
|
+
export { compact, ico as default, format, generate, validate };
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=ico.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ico.js","names":[],"sources":["../../src/sk/ico.ts"],"sourcesContent":["/**\n * IČO (Identifikačné číslo organizácie).\n *\n * Slovak company identification number. Same\n * 8-digit weighted checksum as the Czech IČO.\n *\n * @see https://www.statistics.sk/\n */\n\nimport {\n compact,\n format,\n generate,\n validate,\n} from \"../cz/ico\";\nimport type { Validator } from \"../types\";\n\n/** Slovak Company Identification Number. */\nconst ico: Validator = {\n name: \"Slovak Company ID\",\n localName: \"Identifikačné číslo organizácie\",\n abbreviation: \"IČO\",\n aliases: [\n \"IČO\",\n \"identifikačné číslo organizácie\",\n ] as const,\n candidatePattern: \"\\\\d{8}\",\n country: \"SK\",\n entityType: \"company\",\n sourceUrl: \"https://www.statistics.sk/\",\n examples: [\"25123891\"] as const,\n compact,\n format,\n validate,\n generate,\n};\n\nexport default ico;\nexport { compact, format, validate, generate };\n"],"mappings":";;;;;;;;;;;AAkBA,MAAM,MAAiB;CACrB,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS,CACP,OACA,kCACD;CACD,kBAAkB;CAClB,SAAS;CACT,YAAY;CACZ,WAAW;CACX,UAAU,CAAC,WAAW;CACtB;CACA;CACA;CACA;CACD"}
|
package/dist/sk/mod.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { __exportAll } from "../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import dic from "./dic.js";
|
|
3
|
+
import ico from "./ico.js";
|
|
4
|
+
import rc from "./rc.js";
|
|
5
|
+
|
|
6
|
+
//#region src/sk/mod.d.ts
|
|
7
|
+
|
|
8
|
+
//#endregion
|
|
9
|
+
export { dic, ico, mod_d_exports, rc };
|
|
10
|
+
//# sourceMappingURL=mod.d.ts.map
|
package/dist/sk/mod.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { __exportAll } from "../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import dic from "./dic.js";
|
|
3
|
+
import ico from "./ico.js";
|
|
4
|
+
import rc from "./rc.js";
|
|
5
|
+
//#region src/sk/mod.ts
|
|
6
|
+
var sk_exports = /* @__PURE__ */ __exportAll({
|
|
7
|
+
dic: () => dic,
|
|
8
|
+
ico: () => ico,
|
|
9
|
+
rc: () => rc
|
|
10
|
+
});
|
|
11
|
+
//#endregion
|
|
12
|
+
export { dic, ico, rc, sk_exports };
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=mod.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mod.js","names":[],"sources":["../../src/sk/mod.ts"],"sourcesContent":["export { default as dic } from \"./dic\";\nexport { default as ico } from \"./ico\";\nexport { default as rc } from \"./rc\";\n"],"mappings":""}
|
package/dist/sk/rc.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Validator } from "../types.js";
|
|
2
|
+
import { compact, format, parse, validate } from "../cz/rc.js";
|
|
3
|
+
|
|
4
|
+
//#region src/sk/rc.d.ts
|
|
5
|
+
|
|
6
|
+
/** Slovak Birth Number. */
|
|
7
|
+
declare const rc: Validator;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { compact, rc as default, format, parse, validate };
|
|
10
|
+
//# sourceMappingURL=rc.d.ts.map
|
package/dist/sk/rc.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { compact, format, parse, validate } from "../cz/rc.js";
|
|
2
|
+
//#region src/sk/rc.ts
|
|
3
|
+
/**
|
|
4
|
+
* RČ (Rodné číslo).
|
|
5
|
+
*
|
|
6
|
+
* Slovak birth number. Identical algorithm to
|
|
7
|
+
* the Czech birth number.
|
|
8
|
+
*
|
|
9
|
+
* @see https://www.mvcr.cz/mvcren/docDetail.aspx?docid=21975362&doctype=ART
|
|
10
|
+
* @see https://www.minv.sk/
|
|
11
|
+
*/
|
|
12
|
+
/** Slovak Birth Number. */
|
|
13
|
+
const rc = {
|
|
14
|
+
name: "Slovak Birth Number",
|
|
15
|
+
localName: "Rodné číslo",
|
|
16
|
+
abbreviation: "RČ",
|
|
17
|
+
aliases: ["rodné číslo", "RČ"],
|
|
18
|
+
candidatePattern: "\\d{6}/\\d{3,4}",
|
|
19
|
+
country: "SK",
|
|
20
|
+
entityType: "person",
|
|
21
|
+
sourceUrl: "https://www.minv.sk/",
|
|
22
|
+
examples: ["7103192745"],
|
|
23
|
+
compact,
|
|
24
|
+
format,
|
|
25
|
+
validate
|
|
26
|
+
};
|
|
27
|
+
//#endregion
|
|
28
|
+
export { compact, rc as default, format, parse, validate };
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=rc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rc.js","names":[],"sources":["../../src/sk/rc.ts"],"sourcesContent":["/**\n * RČ (Rodné číslo).\n *\n * Slovak birth number. Identical algorithm to\n * the Czech birth number.\n *\n * @see https://www.mvcr.cz/mvcren/docDetail.aspx?docid=21975362&doctype=ART\n * @see https://www.minv.sk/\n */\n\nimport { compact, format, parse, validate } from \"../cz/rc\";\nimport type { Validator } from \"../types\";\n\n/** Slovak Birth Number. */\nconst rc: Validator = {\n name: \"Slovak Birth Number\",\n localName: \"Rodné číslo\",\n abbreviation: \"RČ\",\n aliases: [\"rodné číslo\", \"RČ\"] as const,\n candidatePattern: \"\\\\d{6}/\\\\d{3,4}\",\n country: \"SK\",\n entityType: \"person\",\n sourceUrl: \"https://www.minv.sk/\",\n examples: [\"7103192745\"] as const,\n compact,\n format,\n validate,\n};\n\nexport default rc;\nexport { compact, format, parse, validate };\n"],"mappings":";;;;;;;;;;;;AAcA,MAAM,KAAgB;CACpB,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS,CAAC,eAAe,KAAK;CAC9B,kBAAkB;CAClB,SAAS;CACT,YAAY;CACZ,WAAW;CACX,UAAU,CAAC,aAAa;CACxB;CACA;CACA;CACD"}
|
package/dist/th/mod.d.ts
ADDED
package/dist/th/mod.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { __exportAll } from "../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import tin from "./tin.js";
|
|
3
|
+
//#region src/th/mod.ts
|
|
4
|
+
var th_exports = /* @__PURE__ */ __exportAll({ tin: () => tin });
|
|
5
|
+
//#endregion
|
|
6
|
+
export { th_exports, tin };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=mod.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mod.js","names":[],"sources":["../../src/th/mod.ts"],"sourcesContent":["export { default as tin } from \"./tin\";\n"],"mappings":""}
|
package/dist/th/tin.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ValidateResult, Validator } from "../types.js";
|
|
2
|
+
|
|
3
|
+
//#region src/th/tin.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 Thai TIN. */
|
|
9
|
+
declare const generate: () => string;
|
|
10
|
+
/** Thai Tax Identification Number. */
|
|
11
|
+
declare const tin: Validator;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { compact, tin as default, format, generate, validate };
|
|
14
|
+
//# sourceMappingURL=tin.d.ts.map
|
package/dist/th/tin.js
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
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/th/tin.ts
|
|
6
|
+
/**
|
|
7
|
+
* TIN (Thai Tax Identification Number,
|
|
8
|
+
* เลขประจำตัวผู้เสียภาษี).
|
|
9
|
+
*
|
|
10
|
+
* 13 digits. Individual TINs have first digit 1-8;
|
|
11
|
+
* company TINs (MOA) start with 0. Both use a
|
|
12
|
+
* weighted mod-11 check digit.
|
|
13
|
+
*
|
|
14
|
+
* @see https://www.rd.go.th/
|
|
15
|
+
* @see https://en.wikipedia.org/wiki/Thai_identity_card
|
|
16
|
+
*/
|
|
17
|
+
const compact = (value) => clean(value, " -");
|
|
18
|
+
const validate = (value) => {
|
|
19
|
+
const v = compact(value);
|
|
20
|
+
if (v.length !== 13) return err("INVALID_LENGTH", "TIN must be exactly 13 digits");
|
|
21
|
+
if (!isdigits(v)) return err("INVALID_FORMAT", "TIN must contain only digits");
|
|
22
|
+
if (Number(v[0]) > 8) return err("INVALID_COMPONENT", "TIN first digit must be 0-8");
|
|
23
|
+
let sum = 0;
|
|
24
|
+
for (let i = 0; i < 12; i++) sum += Number(v[i]) * (13 - i);
|
|
25
|
+
if ((11 - sum % 11) % 10 !== Number(v[12])) return err("INVALID_CHECKSUM", "TIN check digit does not match");
|
|
26
|
+
return {
|
|
27
|
+
valid: true,
|
|
28
|
+
compact: v
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
const format = (value) => {
|
|
32
|
+
const v = compact(value);
|
|
33
|
+
return `${v[0]} ${v.slice(1, 5)} ${v.slice(5, 10)} ${v.slice(10, 12)} ${v[12]}`;
|
|
34
|
+
};
|
|
35
|
+
/** Generate a random valid Thai TIN. */
|
|
36
|
+
const generate = () => {
|
|
37
|
+
const payload = String(randomInt(1, 8)) + randomDigits(11);
|
|
38
|
+
let sum = 0;
|
|
39
|
+
for (let i = 0; i < 12; i++) sum += (13 - i) * Number(payload[i]);
|
|
40
|
+
return payload + String((11 - sum % 11) % 10);
|
|
41
|
+
};
|
|
42
|
+
/** Thai Tax Identification Number. */
|
|
43
|
+
const tin = {
|
|
44
|
+
name: "Thai Tax Identification Number",
|
|
45
|
+
localName: "เลขประจำตัวผู้เสียภาษี",
|
|
46
|
+
abbreviation: "TIN",
|
|
47
|
+
aliases: ["เลขประจำตัวผู้เสียภาษี", "TIN"],
|
|
48
|
+
candidatePattern: "\\d{13}",
|
|
49
|
+
country: "TH",
|
|
50
|
+
entityType: "any",
|
|
51
|
+
description: "13-digit tax identifier for individuals and companies",
|
|
52
|
+
sourceUrl: "https://www.rd.go.th/",
|
|
53
|
+
lengths: [13],
|
|
54
|
+
examples: ["1101700230708", "3100600445015"],
|
|
55
|
+
compact,
|
|
56
|
+
format,
|
|
57
|
+
validate,
|
|
58
|
+
generate
|
|
59
|
+
};
|
|
60
|
+
//#endregion
|
|
61
|
+
export { compact, tin as default, format, generate, validate };
|
|
62
|
+
|
|
63
|
+
//# sourceMappingURL=tin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tin.js","names":[],"sources":["../../src/th/tin.ts"],"sourcesContent":["/**\n * TIN (Thai Tax Identification Number,\n * เลขประจำตัวผู้เสียภาษี).\n *\n * 13 digits. Individual TINs have first digit 1-8;\n * company TINs (MOA) start with 0. Both use a\n * weighted mod-11 check digit.\n *\n * @see https://www.rd.go.th/\n * @see https://en.wikipedia.org/wiki/Thai_identity_card\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 compact = (value: string): string =>\n clean(value, \" -\");\n\nconst validate = (value: string): ValidateResult => {\n const v = compact(value);\n if (v.length !== 13) {\n return err(\n \"INVALID_LENGTH\",\n \"TIN must be exactly 13 digits\",\n );\n }\n if (!isdigits(v)) {\n return err(\n \"INVALID_FORMAT\",\n \"TIN must contain only digits\",\n );\n }\n\n // First digit: 1-8 for individuals, 0 for companies\n const first = Number(v[0]);\n if (first > 8) {\n return err(\n \"INVALID_COMPONENT\",\n \"TIN first digit must be 0-8\",\n );\n }\n\n // Mod-11 check digit (position 13)\n let sum = 0;\n for (let i = 0; i < 12; i++) {\n sum += Number(v[i]) * (13 - i);\n }\n const check = (11 - (sum % 11)) % 10;\n if (check !== Number(v[12])) {\n return err(\n \"INVALID_CHECKSUM\",\n \"TIN check digit does not match\",\n );\n }\n\n return { valid: true, compact: v };\n};\n\nconst format = (value: string): string => {\n const v = compact(value);\n return (\n `${v[0]} ${v.slice(1, 5)} ` +\n `${v.slice(5, 10)} ${v.slice(10, 12)} ${v[12]}`\n );\n};\n\n/** Generate a random valid Thai TIN. */\nconst generate = (): string => {\n const first = String(randomInt(1, 8));\n const payload = first + randomDigits(11);\n let sum = 0;\n for (let i = 0; i < 12; i++)\n sum += (13 - i) * Number(payload[i]);\n return payload + String((11 - (sum % 11)) % 10);\n};\n\n/** Thai Tax Identification Number. */\nconst tin: Validator = {\n name: \"Thai Tax Identification Number\",\n localName: \"เลขประจำตัวผู้เสียภาษี\",\n abbreviation: \"TIN\",\n aliases: [\"เลขประจำตัวผู้เสียภาษี\", \"TIN\"] as const,\n candidatePattern: \"\\\\d{13}\",\n country: \"TH\",\n entityType: \"any\",\n description:\n \"13-digit tax identifier for individuals and companies\",\n sourceUrl: \"https://www.rd.go.th/\",\n lengths: [13] as const,\n examples: [\"1101700230708\", \"3100600445015\"] as const,\n compact,\n format,\n validate,\n generate,\n};\n\nexport default tin;\nexport { compact, format, validate, generate };\n"],"mappings":";;;;;;;;;;;;;;;;AAmBA,MAAM,WAAW,UACf,MAAM,OAAO,KAAK;AAEpB,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,+BACD;AAKH,KADc,OAAO,EAAE,GAAG,GACd,EACV,QAAO,IACL,qBACA,8BACD;CAIH,IAAI,MAAM;AACV,MAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IACtB,QAAO,OAAO,EAAE,GAAG,IAAI,KAAK;AAG9B,MADe,KAAM,MAAM,MAAO,OACpB,OAAO,EAAE,IAAI,CACzB,QAAO,IACL,oBACA,iCACD;AAGH,QAAO;EAAE,OAAO;EAAM,SAAS;EAAG;;AAGpC,MAAM,UAAU,UAA0B;CACxC,MAAM,IAAI,QAAQ,MAAM;AACxB,QACE,GAAG,EAAE,GAAG,GAAG,EAAE,MAAM,GAAG,EAAE,CAAC,GACtB,EAAE,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE;;;AAK9C,MAAM,iBAAyB;CAE7B,MAAM,UADQ,OAAO,UAAU,GAAG,EAAE,CAAC,GACb,aAAa,GAAG;CACxC,IAAI,MAAM;AACV,MAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IACtB,SAAQ,KAAK,KAAK,OAAO,QAAQ,GAAG;AACtC,QAAO,UAAU,QAAQ,KAAM,MAAM,MAAO,GAAG;;;AAIjD,MAAM,MAAiB;CACrB,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS,CAAC,0BAA0B,MAAM;CAC1C,kBAAkB;CAClB,SAAS;CACT,YAAY;CACZ,aACE;CACF,WAAW;CACX,SAAS,CAAC,GAAG;CACb,UAAU,CAAC,iBAAiB,gBAAgB;CAC5C;CACA;CACA;CACA;CACD"}
|
package/dist/tr/mod.d.ts
ADDED
package/dist/tr/mod.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { __exportAll } from "../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import tckimlik from "./tckimlik.js";
|
|
3
|
+
import vkn from "./vkn.js";
|
|
4
|
+
//#region src/tr/mod.ts
|
|
5
|
+
var tr_exports = /* @__PURE__ */ __exportAll({
|
|
6
|
+
tckimlik: () => tckimlik,
|
|
7
|
+
vkn: () => vkn
|
|
8
|
+
});
|
|
9
|
+
//#endregion
|
|
10
|
+
export { tckimlik, tr_exports, vkn };
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=mod.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mod.js","names":[],"sources":["../../src/tr/mod.ts"],"sourcesContent":["export { default as tckimlik } from \"./tckimlik\";\nexport { default as vkn } from \"./vkn\";\n"],"mappings":""}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ValidateResult, Validator } from "../types.js";
|
|
2
|
+
|
|
3
|
+
//#region src/tr/tckimlik.d.ts
|
|
4
|
+
|
|
5
|
+
declare const compact: (value: string) => string;
|
|
6
|
+
declare const validate: (value: string) => ValidateResult;
|
|
7
|
+
/** TR IDs are displayed without separators. */
|
|
8
|
+
declare const format: (value: string) => string;
|
|
9
|
+
/** Generate a random valid Turkish T.C. Kimlik No. */
|
|
10
|
+
declare const generate: () => string;
|
|
11
|
+
/** Turkish Personal Identification Number. */
|
|
12
|
+
declare const tckimlik: Validator;
|
|
13
|
+
//#endregion
|
|
14
|
+
export { compact, tckimlik as default, format, generate, validate };
|
|
15
|
+
//# sourceMappingURL=tckimlik.d.ts.map
|