@stll/stdnum 0.0.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -5
- package/README.md +28 -4
- package/dist/_checksums/mod112.js +5 -5
- package/dist/_checksums/mod112.js.map +1 -1
- package/dist/_util/generate.d.ts +13 -1
- package/dist/_util/generate.js +23 -1
- package/dist/_util/generate.js.map +1 -1
- package/dist/ad/mod.d.ts +3 -2
- package/dist/ad/nrt.js +3 -2
- package/dist/ad/nrt.js.map +1 -1
- package/dist/ae/eid.d.ts +0 -1
- package/dist/ae/mod.d.ts +3 -2
- package/dist/ai/mod.d.ts +3 -2
- package/dist/al/mod.d.ts +3 -2
- package/dist/am/mod.d.ts +3 -2
- package/dist/ar/cbu.d.ts +0 -1
- package/dist/ar/cbu.js +1 -1
- package/dist/ar/cbu.js.map +1 -1
- package/dist/ar/cuit.d.ts +0 -1
- package/dist/ar/cuit.js +12 -12
- package/dist/ar/cuit.js.map +1 -1
- package/dist/ar/mod.d.ts +3 -2
- package/dist/at/mod.d.ts +3 -2
- package/dist/at/tin.d.ts +0 -1
- package/dist/at/uid.d.ts +0 -1
- package/dist/at/vnr.d.ts +3 -2
- package/dist/at/vnr.js +20 -3
- package/dist/at/vnr.js.map +1 -1
- package/dist/au/abn.d.ts +0 -1
- package/dist/au/acn.d.ts +0 -1
- package/dist/au/mod.d.ts +3 -2
- package/dist/au/tfn.d.ts +0 -1
- package/dist/az/mod.d.ts +3 -2
- package/dist/az/voen.d.ts +0 -1
- package/dist/az/voen.js.map +1 -1
- package/dist/ba/jmbg.d.ts +1 -2
- package/dist/ba/jmbg.js +1 -0
- package/dist/ba/jmbg.js.map +1 -1
- package/dist/ba/mod.d.ts +3 -2
- package/dist/bd/mod.d.ts +3 -2
- package/dist/bd/nid.js +10 -11
- package/dist/bd/nid.js.map +1 -1
- package/dist/be/bis.d.ts +0 -1
- package/dist/be/mod.d.ts +3 -2
- package/dist/be/nn.d.ts +0 -1
- package/dist/be/vat.d.ts +0 -1
- package/dist/bg/egn.d.ts +1 -2
- package/dist/bg/egn.js +10 -3
- package/dist/bg/egn.js.map +1 -1
- package/dist/bg/mod.d.ts +3 -2
- package/dist/bg/pnf.d.ts +0 -1
- package/dist/bg/vat.d.ts +0 -1
- package/dist/bh/cpr.d.ts +3 -2
- package/dist/bh/cpr.js +8 -2
- package/dist/bh/cpr.js.map +1 -1
- package/dist/bh/mod.d.ts +3 -2
- package/dist/bic.js +13 -15
- package/dist/bic.js.map +1 -1
- package/dist/br/cnpj.d.ts +0 -1
- package/dist/br/cpf.d.ts +0 -1
- package/dist/br/mod.d.ts +3 -2
- package/dist/by/mod.d.ts +3 -2
- package/dist/by/unp.d.ts +0 -1
- package/dist/by/unp.js +6 -3
- package/dist/by/unp.js.map +1 -1
- package/dist/bz/mod.d.ts +3 -2
- package/dist/bz/tin.d.ts +3 -2
- package/dist/bz/tin.js +9 -1
- package/dist/bz/tin.js.map +1 -1
- package/dist/ca/bn.d.ts +0 -1
- package/dist/ca/mod.d.ts +3 -2
- package/dist/ca/sin.d.ts +0 -1
- package/dist/ch/mod.d.ts +3 -2
- package/dist/ch/ssn.d.ts +0 -1
- package/dist/ch/uid.d.ts +0 -1
- package/dist/ch/vat.d.ts +0 -1
- package/dist/cl/mod.d.ts +3 -2
- package/dist/cl/rut.d.ts +0 -1
- package/dist/cl/rut.js +1 -1
- package/dist/cl/rut.js.map +1 -1
- package/dist/cn/mod.d.ts +3 -2
- package/dist/cn/ric.d.ts +1 -2
- package/dist/cn/ric.js +1 -0
- package/dist/cn/ric.js.map +1 -1
- package/dist/cn/uscc.d.ts +0 -1
- package/dist/cn/uscc.js +7 -6
- package/dist/cn/uscc.js.map +1 -1
- package/dist/co/mod.d.ts +3 -2
- package/dist/co/nit.d.ts +0 -1
- package/dist/co/nit.js +4 -1
- package/dist/co/nit.js.map +1 -1
- package/dist/cr/cpf.js +4 -3
- package/dist/cr/cpf.js.map +1 -1
- package/dist/cr/mod.d.ts +3 -2
- package/dist/creditcard.d.ts +0 -1
- package/dist/cu/mod.d.ts +3 -2
- package/dist/cu/ni.d.ts +4 -3
- package/dist/cu/ni.js +11 -1
- package/dist/cu/ni.js.map +1 -1
- package/dist/cy/mod.d.ts +3 -2
- package/dist/cy/vat.d.ts +0 -1
- package/dist/cz/dic.d.ts +0 -1
- package/dist/cz/ico.d.ts +0 -1
- package/dist/cz/mod.d.ts +3 -2
- package/dist/cz/rc.d.ts +1 -2
- package/dist/cz/rc.js +33 -8
- package/dist/cz/rc.js.map +1 -1
- package/dist/de/handelsreg.js +9 -9
- package/dist/de/handelsreg.js.map +1 -1
- package/dist/de/idnr.d.ts +0 -1
- package/dist/de/idnr.js.map +1 -1
- package/dist/de/mod.d.ts +3 -2
- package/dist/de/stnr.d.ts +0 -1
- package/dist/de/stnr.js.map +1 -1
- package/dist/de/svnr.d.ts +0 -1
- package/dist/de/svnr.js +2 -2
- package/dist/de/svnr.js.map +1 -1
- package/dist/de/vat.d.ts +0 -1
- package/dist/dk/cpr.d.ts +4 -3
- package/dist/dk/cpr.js +12 -2
- package/dist/dk/cpr.js.map +1 -1
- package/dist/dk/cvr.d.ts +0 -1
- package/dist/dk/mod.d.ts +3 -2
- package/dist/dk/vat.d.ts +0 -1
- package/dist/do/mod.d.ts +3 -2
- package/dist/do/rnc.d.ts +0 -1
- package/dist/do/rnc.js +1 -1
- package/dist/do/rnc.js.map +1 -1
- package/dist/ec/mod.d.ts +3 -2
- package/dist/ec/ruc.d.ts +0 -1
- package/dist/ec/ruc.js +1 -1
- package/dist/ec/ruc.js.map +1 -1
- package/dist/ee/ik.d.ts +1 -2
- package/dist/ee/ik.js +12 -4
- package/dist/ee/ik.js.map +1 -1
- package/dist/ee/mod.d.ts +3 -2
- package/dist/ee/registrikood.d.ts +0 -1
- package/dist/ee/registrikood.js +8 -7
- package/dist/ee/registrikood.js.map +1 -1
- package/dist/ee/vat.d.ts +0 -1
- package/dist/eg/mod.d.ts +3 -2
- package/dist/es/cif.d.ts +0 -1
- package/dist/es/cif.js +2 -2
- package/dist/es/cif.js.map +1 -1
- package/dist/es/dni.d.ts +0 -1
- package/dist/es/mod.d.ts +3 -2
- package/dist/es/nie.d.ts +0 -1
- package/dist/es/nie.js +13 -13
- package/dist/es/nie.js.map +1 -1
- package/dist/es/nss.d.ts +0 -1
- package/dist/es/vat.d.ts +0 -1
- package/dist/eu/mod.d.ts +3 -2
- package/dist/eu/vat.d.ts +3 -2
- package/dist/eu/vat.js +43 -2
- package/dist/eu/vat.js.map +1 -1
- package/dist/fi/hetu.d.ts +4 -3
- package/dist/fi/hetu.js +17 -2
- package/dist/fi/hetu.js.map +1 -1
- package/dist/fi/mod.d.ts +3 -2
- package/dist/fi/vat.d.ts +0 -1
- package/dist/fi/ytunnus.d.ts +0 -1
- package/dist/fr/mod.d.ts +3 -2
- package/dist/fr/nif.d.ts +0 -1
- package/dist/fr/nir.d.ts +1 -2
- package/dist/fr/nir.js +1 -0
- package/dist/fr/nir.js.map +1 -1
- package/dist/fr/siren.d.ts +0 -1
- package/dist/fr/siret.d.ts +0 -1
- package/dist/fr/tva.d.ts +0 -1
- package/dist/gb/mod.d.ts +3 -2
- package/dist/gb/nino.js +7 -7
- package/dist/gb/nino.js.map +1 -1
- package/dist/gb/sedol.d.ts +0 -1
- package/dist/gb/sedol.js +8 -7
- package/dist/gb/sedol.js.map +1 -1
- package/dist/gb/utr.d.ts +0 -1
- package/dist/gb/vat.d.ts +0 -1
- package/dist/ge/mod.d.ts +3 -2
- package/dist/gh/mod.d.ts +3 -2
- package/dist/gh/tin.d.ts +0 -1
- package/dist/gh/tin.js +9 -9
- package/dist/gh/tin.js.map +1 -1
- package/dist/gr/amka.d.ts +0 -1
- package/dist/gr/mod.d.ts +3 -2
- package/dist/gr/vat.d.ts +0 -1
- package/dist/gt/mod.d.ts +3 -2
- package/dist/gt/nit.d.ts +0 -1
- package/dist/gt/nit.js +5 -2
- package/dist/gt/nit.js.map +1 -1
- package/dist/hk/hkid.d.ts +0 -1
- package/dist/hk/hkid.js +1 -0
- package/dist/hk/hkid.js.map +1 -1
- package/dist/hk/mod.d.ts +3 -2
- package/dist/hr/mod.d.ts +3 -2
- package/dist/hr/vat.d.ts +0 -1
- package/dist/hu/mod.d.ts +3 -2
- package/dist/hu/vat.d.ts +0 -1
- package/dist/iban.d.ts +0 -1
- package/dist/id/mod.d.ts +3 -2
- package/dist/id/npwp.d.ts +0 -1
- package/dist/ie/mod.d.ts +3 -2
- package/dist/ie/pps.d.ts +0 -1
- package/dist/ie/vat.d.ts +0 -1
- package/dist/il/idnr.d.ts +0 -1
- package/dist/il/mod.d.ts +3 -2
- package/dist/in/aadhaar.d.ts +0 -1
- package/dist/in/gstin.d.ts +0 -1
- package/dist/in/gstin.js +3 -1
- package/dist/in/gstin.js.map +1 -1
- package/dist/in/mod.d.ts +3 -2
- package/dist/in/pan.js +2 -2
- package/dist/in/pan.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/iq/mod.d.ts +3 -2
- package/dist/ir/mod.d.ts +3 -2
- package/dist/ir/nid.d.ts +0 -1
- package/dist/is/kennitala.d.ts +0 -1
- package/dist/is/mod.d.ts +3 -2
- package/dist/isin.d.ts +0 -1
- package/dist/isin.js +9 -9
- package/dist/isin.js.map +1 -1
- package/dist/it/codicefiscale.d.ts +4 -3
- package/dist/it/codicefiscale.js +26 -2
- package/dist/it/codicefiscale.js.map +1 -1
- package/dist/it/iva.d.ts +0 -1
- package/dist/it/mod.d.ts +3 -2
- package/dist/jp/cn.d.ts +0 -1
- package/dist/jp/mod.d.ts +3 -2
- package/dist/jp/mynumber.d.ts +0 -1
- package/dist/kr/mod.d.ts +3 -2
- package/dist/kr/rrn.d.ts +4 -3
- package/dist/kr/rrn.js +13 -2
- package/dist/kr/rrn.js.map +1 -1
- package/dist/kw/civil.d.ts +6 -5
- package/dist/kw/civil.js +18 -3
- package/dist/kw/civil.js.map +1 -1
- package/dist/kw/mod.d.ts +3 -2
- package/dist/kz/iin.d.ts +1 -2
- package/dist/kz/iin.js +1 -0
- package/dist/kz/iin.js.map +1 -1
- package/dist/kz/mod.d.ts +3 -2
- package/dist/lei.d.ts +0 -1
- package/dist/li/mod.d.ts +3 -2
- package/dist/lk/mod.d.ts +3 -2
- package/dist/lk/nic.d.ts +4 -3
- package/dist/lk/nic.js +14 -2
- package/dist/lk/nic.js.map +1 -1
- package/dist/lt/asmens.d.ts +0 -1
- package/dist/lt/mod.d.ts +3 -2
- package/dist/lt/vat.d.ts +0 -1
- package/dist/lu/mod.d.ts +3 -2
- package/dist/lu/vat.d.ts +0 -1
- package/dist/luhn.d.ts +0 -1
- package/dist/luhn.js +7 -0
- package/dist/luhn.js.map +1 -1
- package/dist/lv/mod.d.ts +3 -2
- package/dist/lv/vat.d.ts +0 -1
- package/dist/lv/vat.js +39 -12
- package/dist/lv/vat.js.map +1 -1
- package/dist/ma/ice.d.ts +0 -1
- package/dist/ma/mod.d.ts +3 -2
- package/dist/mc/mod.d.ts +3 -2
- package/dist/mc/tva.d.ts +0 -1
- package/dist/md/idno.d.ts +0 -1
- package/dist/md/mod.d.ts +3 -2
- package/dist/me/mod.d.ts +3 -2
- package/dist/me/pib.d.ts +0 -1
- package/dist/mk/edb.d.ts +0 -1
- package/dist/mk/mod.d.ts +3 -2
- package/dist/mt/mod.d.ts +3 -2
- package/dist/mt/vat.d.ts +0 -1
- package/dist/mu/mod.d.ts +3 -2
- package/dist/mx/clabe.d.ts +0 -1
- package/dist/mx/curp.d.ts +4 -3
- package/dist/mx/curp.js +25 -3
- package/dist/mx/curp.js.map +1 -1
- package/dist/mx/mod.d.ts +3 -2
- package/dist/mx/rfc.d.ts +3 -2
- package/dist/mx/rfc.js +21 -2
- package/dist/mx/rfc.js.map +1 -1
- package/dist/my/mod.d.ts +3 -2
- package/dist/my/nric.d.ts +4 -3
- package/dist/my/nric.js +16 -2
- package/dist/my/nric.js.map +1 -1
- package/dist/ng/mod.d.ts +3 -2
- package/dist/ni/mod.d.ts +3 -2
- package/dist/ni/ruc.d.ts +0 -1
- package/dist/nl/bsn.d.ts +0 -1
- package/dist/nl/mod.d.ts +3 -2
- package/dist/nl/vat.d.ts +0 -1
- package/dist/nl/vat.js +9 -43
- package/dist/nl/vat.js.map +1 -1
- package/dist/no/fodselsnummer.d.ts +1 -2
- package/dist/no/fodselsnummer.js +1 -0
- package/dist/no/fodselsnummer.js.map +1 -1
- package/dist/no/mod.d.ts +3 -2
- package/dist/no/mva.d.ts +0 -1
- package/dist/no/orgnr.d.ts +0 -1
- package/dist/nz/ird.d.ts +0 -1
- package/dist/nz/ird.js +2 -2
- package/dist/nz/ird.js.map +1 -1
- package/dist/nz/mod.d.ts +3 -2
- package/dist/pa/mod.d.ts +3 -2
- package/dist/pa/ruc.d.ts +0 -1
- package/dist/pa/ruc.js +3 -1
- package/dist/pa/ruc.js.map +1 -1
- package/dist/patterns.d.ts +1 -4
- package/dist/patterns.js +80 -23
- package/dist/patterns.js.map +1 -1
- package/dist/pe/mod.d.ts +3 -2
- package/dist/pe/ruc.d.ts +0 -1
- package/dist/pe/ruc.js +9 -9
- package/dist/pe/ruc.js.map +1 -1
- package/dist/ph/mod.d.ts +3 -2
- package/dist/pk/cnic.js.map +1 -1
- package/dist/pk/mod.d.ts +3 -2
- package/dist/pl/mod.d.ts +3 -2
- package/dist/pl/nip.d.ts +0 -1
- package/dist/pl/pesel.d.ts +1 -2
- package/dist/pl/pesel.js +1 -0
- package/dist/pl/pesel.js.map +1 -1
- package/dist/pl/regon.d.ts +0 -1
- package/dist/pt/cc.d.ts +0 -1
- package/dist/pt/cc.js +6 -4
- package/dist/pt/cc.js.map +1 -1
- package/dist/pt/mod.d.ts +3 -2
- package/dist/pt/vat.d.ts +0 -1
- package/dist/ro/cnp.d.ts +1 -2
- package/dist/ro/cnp.js +1 -0
- package/dist/ro/cnp.js.map +1 -1
- package/dist/ro/mod.d.ts +3 -2
- package/dist/ro/vat.d.ts +0 -1
- package/dist/rs/mod.d.ts +3 -2
- package/dist/rs/pib.d.ts +0 -1
- package/dist/ru/inn.d.ts +0 -1
- package/dist/ru/inn.js +1 -1
- package/dist/ru/inn.js.map +1 -1
- package/dist/ru/mod.d.ts +3 -2
- package/dist/se/mod.d.ts +3 -2
- package/dist/se/orgnr.d.ts +0 -1
- package/dist/se/personnummer.d.ts +1 -2
- package/dist/se/personnummer.js +1 -0
- package/dist/se/personnummer.js.map +1 -1
- package/dist/se/vat.d.ts +0 -1
- package/dist/sg/mod.d.ts +3 -2
- package/dist/sg/uen.d.ts +0 -1
- package/dist/sg/uen.js +46 -55
- package/dist/sg/uen.js.map +1 -1
- package/dist/si/emso.d.ts +1 -2
- package/dist/si/emso.js +17 -4
- package/dist/si/emso.js.map +1 -1
- package/dist/si/mod.d.ts +3 -2
- package/dist/si/vat.d.ts +0 -1
- package/dist/sk/dic.d.ts +0 -1
- package/dist/sk/ico.d.ts +0 -1
- package/dist/sk/mod.d.ts +3 -2
- package/dist/sk/rc.d.ts +4 -5
- package/dist/sk/rc.js +5 -2
- package/dist/sk/rc.js.map +1 -1
- package/dist/th/mod.d.ts +3 -2
- package/dist/th/tin.d.ts +0 -1
- package/dist/tr/mod.d.ts +3 -2
- package/dist/tr/tckimlik.d.ts +0 -1
- package/dist/tr/vkn.d.ts +0 -1
- package/dist/tw/mod.d.ts +3 -2
- package/dist/tw/ubn.d.ts +0 -1
- package/dist/tw/ubn.js +1 -1
- package/dist/tw/ubn.js.map +1 -1
- package/dist/types.d.ts +35 -22
- package/dist/ua/edrpou.d.ts +0 -1
- package/dist/ua/edrpou.js +4 -1
- package/dist/ua/edrpou.js.map +1 -1
- package/dist/ua/mod.d.ts +3 -2
- package/dist/us/ein.js +87 -87
- package/dist/us/ein.js.map +1 -1
- package/dist/us/itin.js +3 -4
- package/dist/us/itin.js.map +1 -1
- package/dist/us/mod.d.ts +3 -2
- package/dist/us/rtn.d.ts +0 -1
- package/dist/us/rtn.js +8 -5
- package/dist/us/rtn.js.map +1 -1
- package/dist/uy/mod.d.ts +3 -2
- package/dist/uy/rut.d.ts +0 -1
- package/dist/uy/rut.js +1 -1
- package/dist/uy/rut.js.map +1 -1
- package/dist/ve/mod.d.ts +3 -2
- package/dist/ve/rif.d.ts +0 -1
- package/dist/ve/rif.js +11 -11
- package/dist/ve/rif.js.map +1 -1
- package/dist/vn/mod.d.ts +3 -2
- package/dist/vn/mst.d.ts +0 -1
- package/dist/za/idnr.d.ts +1 -2
- package/dist/za/idnr.js +1 -0
- package/dist/za/idnr.js.map +1 -1
- package/dist/za/mod.d.ts +3 -2
- package/package.json +18 -15
- package/src/_checksums/mod112.ts +7 -6
- package/src/_util/generate.ts +38 -0
- package/src/ad/nrt.ts +12 -4
- package/src/ar/cbu.ts +2 -2
- package/src/ar/cuit.ts +15 -7
- package/src/at/vnr.ts +26 -4
- package/src/az/voen.ts +2 -0
- package/src/ba/jmbg.ts +2 -1
- package/src/bd/nid.ts +4 -4
- package/src/bg/egn.ts +12 -4
- package/src/bh/cpr.ts +10 -1
- package/src/bic.ts +19 -17
- package/src/by/unp.ts +9 -4
- package/src/bz/tin.ts +12 -1
- package/src/cl/rut.ts +4 -2
- package/src/cn/ric.ts +4 -1
- package/src/cn/uscc.ts +20 -8
- package/src/co/nit.ts +6 -2
- package/src/cr/cpf.ts +4 -3
- package/src/cu/ni.ts +22 -2
- package/src/cz/rc.ts +54 -23
- package/src/de/handelsreg.ts +14 -3
- package/src/de/idnr.ts +3 -0
- package/src/de/stnr.ts +4 -0
- package/src/de/svnr.ts +7 -2
- package/src/dk/cpr.ts +16 -2
- package/src/do/rnc.ts +2 -2
- package/src/ec/ruc.ts +2 -2
- package/src/ee/ik.ts +14 -4
- package/src/ee/registrikood.ts +4 -3
- package/src/es/cif.ts +2 -3
- package/src/es/nie.ts +10 -5
- package/src/eu/vat.ts +46 -1
- package/src/fi/hetu.ts +19 -2
- package/src/fr/nir.ts +2 -1
- package/src/gb/nino.ts +11 -10
- package/src/gb/sedol.ts +14 -12
- package/src/gh/tin.ts +4 -3
- package/src/gt/nit.ts +6 -3
- package/src/hk/hkid.ts +2 -1
- package/src/in/gstin.ts +3 -1
- package/src/in/pan.ts +8 -3
- package/src/index.ts +3 -0
- package/src/isin.ts +10 -4
- package/src/it/codicefiscale.ts +40 -2
- package/src/kr/rrn.ts +20 -2
- package/src/kw/civil.ts +25 -9
- package/src/kz/iin.ts +2 -1
- package/src/lk/nic.ts +24 -2
- package/src/luhn.ts +3 -0
- package/src/lv/vat.ts +46 -20
- package/src/mx/curp.ts +41 -5
- package/src/mx/rfc.ts +35 -4
- package/src/my/nric.ts +26 -2
- package/src/nl/vat.ts +11 -66
- package/src/no/fodselsnummer.ts +2 -1
- package/src/nz/ird.ts +4 -4
- package/src/pa/ruc.ts +32 -8
- package/src/patterns.ts +135 -28
- package/src/pe/ruc.ts +6 -7
- package/src/pk/cnic.ts +2 -0
- package/src/pl/pesel.ts +2 -1
- package/src/pt/cc.ts +6 -4
- package/src/ro/cnp.ts +2 -1
- package/src/ru/inn.ts +2 -2
- package/src/se/personnummer.ts +2 -1
- package/src/sg/uen.ts +37 -20
- package/src/si/emso.ts +30 -5
- package/src/sk/rc.ts +13 -4
- package/src/tw/ubn.ts +2 -2
- package/src/types.ts +37 -6
- package/src/ua/edrpou.ts +3 -2
- package/src/us/ein.ts +88 -88
- package/src/us/itin.ts +7 -8
- package/src/us/rtn.ts +16 -11
- package/src/uy/rut.ts +2 -2
- package/src/ve/rif.ts +11 -6
- package/src/za/idnr.ts +2 -1
package/dist/hk/mod.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { __exportAll } from "../_virtual/_rolldown/runtime.js";
|
|
2
1
|
import hkid from "./hkid.js";
|
|
3
2
|
|
|
4
3
|
//#region src/hk/mod.d.ts
|
|
5
|
-
|
|
4
|
+
declare namespace mod_d_exports {
|
|
5
|
+
export { hkid };
|
|
6
|
+
}
|
|
6
7
|
//#endregion
|
|
7
8
|
export { hkid, mod_d_exports };
|
|
8
9
|
//# sourceMappingURL=mod.d.ts.map
|
package/dist/hr/mod.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { __exportAll } from "../_virtual/_rolldown/runtime.js";
|
|
2
1
|
import vat from "./vat.js";
|
|
3
2
|
|
|
4
3
|
//#region src/hr/mod.d.ts
|
|
5
|
-
|
|
4
|
+
declare namespace mod_d_exports {
|
|
5
|
+
export { vat };
|
|
6
|
+
}
|
|
6
7
|
//#endregion
|
|
7
8
|
export { mod_d_exports, vat };
|
|
8
9
|
//# sourceMappingURL=mod.d.ts.map
|
package/dist/hr/vat.d.ts
CHANGED
package/dist/hu/mod.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { __exportAll } from "../_virtual/_rolldown/runtime.js";
|
|
2
1
|
import vat from "./vat.js";
|
|
3
2
|
|
|
4
3
|
//#region src/hu/mod.d.ts
|
|
5
|
-
|
|
4
|
+
declare namespace mod_d_exports {
|
|
5
|
+
export { vat };
|
|
6
|
+
}
|
|
6
7
|
//#endregion
|
|
7
8
|
export { mod_d_exports, vat };
|
|
8
9
|
//# sourceMappingURL=mod.d.ts.map
|
package/dist/hu/vat.d.ts
CHANGED
package/dist/iban.d.ts
CHANGED
package/dist/id/mod.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { __exportAll } from "../_virtual/_rolldown/runtime.js";
|
|
2
1
|
import npwp from "./npwp.js";
|
|
3
2
|
|
|
4
3
|
//#region src/id/mod.d.ts
|
|
5
|
-
|
|
4
|
+
declare namespace mod_d_exports {
|
|
5
|
+
export { npwp };
|
|
6
|
+
}
|
|
6
7
|
//#endregion
|
|
7
8
|
export { mod_d_exports, npwp };
|
|
8
9
|
//# sourceMappingURL=mod.d.ts.map
|
package/dist/id/npwp.d.ts
CHANGED
package/dist/ie/mod.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { __exportAll } from "../_virtual/_rolldown/runtime.js";
|
|
2
1
|
import pps from "./pps.js";
|
|
3
2
|
import vat from "./vat.js";
|
|
4
3
|
|
|
5
4
|
//#region src/ie/mod.d.ts
|
|
6
|
-
|
|
5
|
+
declare namespace mod_d_exports {
|
|
6
|
+
export { pps, vat };
|
|
7
|
+
}
|
|
7
8
|
//#endregion
|
|
8
9
|
export { mod_d_exports, pps, vat };
|
|
9
10
|
//# sourceMappingURL=mod.d.ts.map
|
package/dist/ie/pps.d.ts
CHANGED
package/dist/ie/vat.d.ts
CHANGED
package/dist/il/idnr.d.ts
CHANGED
package/dist/il/mod.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { __exportAll } from "../_virtual/_rolldown/runtime.js";
|
|
2
1
|
import idnr from "./idnr.js";
|
|
3
2
|
|
|
4
3
|
//#region src/il/mod.d.ts
|
|
5
|
-
|
|
4
|
+
declare namespace mod_d_exports {
|
|
5
|
+
export { idnr };
|
|
6
|
+
}
|
|
6
7
|
//#endregion
|
|
7
8
|
export { idnr, mod_d_exports };
|
|
8
9
|
//# sourceMappingURL=mod.d.ts.map
|
package/dist/in/aadhaar.d.ts
CHANGED
package/dist/in/gstin.d.ts
CHANGED
package/dist/in/gstin.js
CHANGED
|
@@ -63,7 +63,9 @@ const luhn36Checksum = (value) => {
|
|
|
63
63
|
let sum = 0;
|
|
64
64
|
let double = false;
|
|
65
65
|
for (let i = value.length - 1; i >= 0; i--) {
|
|
66
|
-
|
|
66
|
+
const ch = value[i];
|
|
67
|
+
if (ch === void 0) continue;
|
|
68
|
+
let v = charValue(ch);
|
|
67
69
|
if (double) {
|
|
68
70
|
v *= 2;
|
|
69
71
|
sum += Math.floor(v / BASE) + v % BASE;
|
package/dist/in/gstin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gstin.js","names":[],"sources":["../../src/in/gstin.ts"],"sourcesContent":["/**\n * GSTIN (Goods and Services Tax Identification\n * Number, India).\n *\n * 15 characters: 2-digit state code + 10-char PAN +\n * 1 entity number (1-9, A-Z) + \"Z\" + 1 check digit.\n * Check digit uses the Luhn mod 36 algorithm.\n *\n * @see https://en.wikipedia.org/wiki/Goods_and_Services_Tax_Identification_Number\n */\n\nimport { clean } from \"#util/clean\";\nimport { randomDigits, randomInt } from \"#util/generate\";\nimport { err } from \"#util/result\";\nimport { charValue } from \"#util/strings\";\n\nimport type { ValidateResult, Validator } from \"../types\";\n\nconst GSTIN_RE =\n /^[0-9]{2}[A-Z]{5}[0-9]{4}[A-Z][0-9A-Z]Z[0-9A-Z]$/;\n\n/** Valid Indian state/UT codes: 01-37. */\nconst VALID_STATE_CODES = new Set([\n \"01\",\n \"02\",\n \"03\",\n \"04\",\n \"05\",\n \"06\",\n \"07\",\n \"08\",\n \"09\",\n \"10\",\n \"11\",\n \"12\",\n \"13\",\n \"14\",\n \"15\",\n \"16\",\n \"17\",\n \"18\",\n \"19\",\n \"20\",\n \"21\",\n \"22\",\n \"23\",\n \"24\",\n \"25\",\n \"26\",\n \"27\",\n \"28\",\n \"29\",\n \"30\",\n \"31\",\n \"32\",\n \"33\",\n \"34\",\n \"35\",\n \"36\",\n \"37\",\n]);\n\nconst BASE = 36;\n\n/**\n * Luhn mod 36 checksum over the full GSTIN.\n * Returns 0 for a valid number.\n */\nconst luhn36Checksum = (value: string): number => {\n let sum = 0;\n let double = false;\n for (let i = value.length - 1; i >= 0; i--) {\n
|
|
1
|
+
{"version":3,"file":"gstin.js","names":[],"sources":["../../src/in/gstin.ts"],"sourcesContent":["/**\n * GSTIN (Goods and Services Tax Identification\n * Number, India).\n *\n * 15 characters: 2-digit state code + 10-char PAN +\n * 1 entity number (1-9, A-Z) + \"Z\" + 1 check digit.\n * Check digit uses the Luhn mod 36 algorithm.\n *\n * @see https://en.wikipedia.org/wiki/Goods_and_Services_Tax_Identification_Number\n */\n\nimport { clean } from \"#util/clean\";\nimport { randomDigits, randomInt } from \"#util/generate\";\nimport { err } from \"#util/result\";\nimport { charValue } from \"#util/strings\";\n\nimport type { ValidateResult, Validator } from \"../types\";\n\nconst GSTIN_RE =\n /^[0-9]{2}[A-Z]{5}[0-9]{4}[A-Z][0-9A-Z]Z[0-9A-Z]$/;\n\n/** Valid Indian state/UT codes: 01-37. */\nconst VALID_STATE_CODES = new Set([\n \"01\",\n \"02\",\n \"03\",\n \"04\",\n \"05\",\n \"06\",\n \"07\",\n \"08\",\n \"09\",\n \"10\",\n \"11\",\n \"12\",\n \"13\",\n \"14\",\n \"15\",\n \"16\",\n \"17\",\n \"18\",\n \"19\",\n \"20\",\n \"21\",\n \"22\",\n \"23\",\n \"24\",\n \"25\",\n \"26\",\n \"27\",\n \"28\",\n \"29\",\n \"30\",\n \"31\",\n \"32\",\n \"33\",\n \"34\",\n \"35\",\n \"36\",\n \"37\",\n]);\n\nconst BASE = 36;\n\n/**\n * Luhn mod 36 checksum over the full GSTIN.\n * Returns 0 for a valid number.\n */\nconst luhn36Checksum = (value: string): number => {\n let sum = 0;\n let double = false;\n for (let i = value.length - 1; i >= 0; i--) {\n const ch = value[i];\n if (ch === undefined) continue;\n let v = charValue(ch);\n if (double) {\n v *= 2;\n sum += Math.floor(v / BASE) + (v % BASE);\n } else {\n sum += v;\n }\n double = !double;\n }\n return sum % BASE;\n};\n\nconst compact = (value: string): string =>\n clean(value, \" -\").toUpperCase();\n\nconst validate = (value: string): ValidateResult => {\n const v = compact(value);\n if (v.length !== 15) {\n return err(\n \"INVALID_LENGTH\",\n \"GSTIN must be 15 characters\",\n );\n }\n if (!GSTIN_RE.test(v)) {\n return err(\"INVALID_FORMAT\", \"GSTIN format is invalid\");\n }\n const stateCode = v.slice(0, 2);\n if (!VALID_STATE_CODES.has(stateCode)) {\n return err(\n \"INVALID_COMPONENT\",\n \"GSTIN state code is invalid\",\n );\n }\n if (v[12] === \"0\") {\n return err(\n \"INVALID_COMPONENT\",\n \"GSTIN entity number cannot be 0\",\n );\n }\n if (luhn36Checksum(v) !== 0) {\n return err(\n \"INVALID_CHECKSUM\",\n \"GSTIN check digit mismatch\",\n );\n }\n return { valid: true, compact: v };\n};\n\nconst format = (value: string): string => compact(value);\n\n/** Generate a random valid GSTIN. */\nconst generate = (): string => {\n for (;;) {\n const state = String(randomInt(1, 37)).padStart(2, \"0\");\n let pan = \"\";\n for (let i = 0; i < 5; i++)\n pan += String.fromCharCode(65 + randomInt(0, 25));\n pan +=\n randomDigits(4) +\n String.fromCharCode(65 + randomInt(0, 25));\n const entity = String(randomInt(1, 9));\n const partial = state + pan + entity + \"Z\";\n for (let d = 0; d <= 9; d++) {\n const c = partial + String(d);\n if (validate(c).valid) return c;\n }\n for (let c = 65; c <= 90; c++) {\n const cand = partial + String.fromCharCode(c);\n if (validate(cand).valid) return cand;\n }\n }\n};\n\n/** Indian Goods and Services Tax ID. */\nconst gstin: Validator = {\n name: \"Indian Goods and Services Tax ID\",\n localName: \"Goods and Services Tax Identification Number\",\n abbreviation: \"GSTIN\",\n aliases: [\"GSTIN\", \"GST number\"] as const,\n candidatePattern:\n \"\\\\d{2}[A-Z]{5}\\\\d{4}[A-Z][A-Z\\\\d][Z][A-Z\\\\d]\",\n country: \"IN\",\n entityType: \"company\",\n lengths: [15],\n examples: [\"27AAPFU0939F1ZV\", \"29AAGCB7383J1Z4\"],\n description:\n \"15-character tax identifier for GST-registered businesses\",\n sourceUrl:\n \"https://en.wikipedia.org/wiki/Goods_and_Services_Tax_Identification_Number\",\n compact,\n format,\n validate,\n generate,\n};\n\nexport default gstin;\nexport { compact, format, validate, generate };\n"],"mappings":";;;;;;;;;;;;;;;AAkBA,MAAM,WACJ;;AAGF,MAAM,oBAAoB,IAAI,IAAI;CAChC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD,CAAC;AAEF,MAAM,OAAO;;;;;AAMb,MAAM,kBAAkB,UAA0B;CAChD,IAAI,MAAM;CACV,IAAI,SAAS;AACb,MAAK,IAAI,IAAI,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK;EAC1C,MAAM,KAAK,MAAM;AACjB,MAAI,OAAO,KAAA,EAAW;EACtB,IAAI,IAAI,UAAU,GAAG;AACrB,MAAI,QAAQ;AACV,QAAK;AACL,UAAO,KAAK,MAAM,IAAI,KAAK,GAAI,IAAI;QAEnC,QAAO;AAET,WAAS,CAAC;;AAEZ,QAAO,MAAM;;AAGf,MAAM,WAAW,UACf,MAAM,OAAO,KAAK,CAAC,aAAa;AAElC,MAAM,YAAY,UAAkC;CAClD,MAAM,IAAI,QAAQ,MAAM;AACxB,KAAI,EAAE,WAAW,GACf,QAAO,IACL,kBACA,8BACD;AAEH,KAAI,CAAC,SAAS,KAAK,EAAE,CACnB,QAAO,IAAI,kBAAkB,0BAA0B;CAEzD,MAAM,YAAY,EAAE,MAAM,GAAG,EAAE;AAC/B,KAAI,CAAC,kBAAkB,IAAI,UAAU,CACnC,QAAO,IACL,qBACA,8BACD;AAEH,KAAI,EAAE,QAAQ,IACZ,QAAO,IACL,qBACA,kCACD;AAEH,KAAI,eAAe,EAAE,KAAK,EACxB,QAAO,IACL,oBACA,6BACD;AAEH,QAAO;EAAE,OAAO;EAAM,SAAS;EAAG;;AAGpC,MAAM,UAAU,UAA0B,QAAQ,MAAM;;AAGxD,MAAM,iBAAyB;AAC7B,UAAS;EACP,MAAM,QAAQ,OAAO,UAAU,GAAG,GAAG,CAAC,CAAC,SAAS,GAAG,IAAI;EACvD,IAAI,MAAM;AACV,OAAK,IAAI,IAAI,GAAG,IAAI,GAAG,IACrB,QAAO,OAAO,aAAa,KAAK,UAAU,GAAG,GAAG,CAAC;AACnD,SACE,aAAa,EAAE,GACf,OAAO,aAAa,KAAK,UAAU,GAAG,GAAG,CAAC;EAC5C,MAAM,SAAS,OAAO,UAAU,GAAG,EAAE,CAAC;EACtC,MAAM,UAAU,QAAQ,MAAM,SAAS;AACvC,OAAK,IAAI,IAAI,GAAG,KAAK,GAAG,KAAK;GAC3B,MAAM,IAAI,UAAU,OAAO,EAAE;AAC7B,OAAI,SAAS,EAAE,CAAC,MAAO,QAAO;;AAEhC,OAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK;GAC7B,MAAM,OAAO,UAAU,OAAO,aAAa,EAAE;AAC7C,OAAI,SAAS,KAAK,CAAC,MAAO,QAAO;;;;;AAMvC,MAAM,QAAmB;CACvB,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS,CAAC,SAAS,aAAa;CAChC,kBACE;CACF,SAAS;CACT,YAAY;CACZ,SAAS,CAAC,GAAG;CACb,UAAU,CAAC,mBAAmB,kBAAkB;CAChD,aACE;CACF,WACE;CACF;CACA;CACA;CACA;CACD"}
|
package/dist/in/mod.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { __exportAll } from "../_virtual/_rolldown/runtime.js";
|
|
2
1
|
import aadhaar from "./aadhaar.js";
|
|
3
2
|
import gstin from "./gstin.js";
|
|
4
3
|
import pan from "./pan.js";
|
|
5
4
|
|
|
6
5
|
//#region src/in/mod.d.ts
|
|
7
|
-
|
|
6
|
+
declare namespace mod_d_exports {
|
|
7
|
+
export { aadhaar, gstin, pan };
|
|
8
|
+
}
|
|
8
9
|
//#endregion
|
|
9
10
|
export { aadhaar, gstin, mod_d_exports, pan };
|
|
10
11
|
//# sourceMappingURL=mod.d.ts.map
|
package/dist/in/pan.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { clean } from "../_util/clean.js";
|
|
2
|
-
import { randomDigits, randomInt } from "../_util/generate.js";
|
|
2
|
+
import { randomChar, randomDigits, randomInt } from "../_util/generate.js";
|
|
3
3
|
import { err } from "../_util/result.js";
|
|
4
4
|
//#region src/in/pan.ts
|
|
5
5
|
/**
|
|
@@ -18,7 +18,7 @@ import { err } from "../_util/result.js";
|
|
|
18
18
|
/** Generate a random valid Indian PAN. */
|
|
19
19
|
const generate = () => {
|
|
20
20
|
const randomLetter = () => String.fromCodePoint(65 + randomInt(0, 25));
|
|
21
|
-
return `${randomLetter() + randomLetter() + randomLetter()}${
|
|
21
|
+
return `${randomLetter() + randomLetter() + randomLetter()}${randomChar(HOLDER_TYPES)}${randomLetter()}${randomDigits(4)}${randomLetter()}`;
|
|
22
22
|
};
|
|
23
23
|
const PAN_RE = /^[A-Z]{5}\d{4}[A-Z]$/;
|
|
24
24
|
const HOLDER_TYPES = "ABCFGHJLPT";
|
package/dist/in/pan.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pan.js","names":[],"sources":["../../src/in/pan.ts"],"sourcesContent":["/** Generate a random valid Indian PAN. */\nconst generate = (): string => {\n const randomLetter = (): string =>\n String.fromCodePoint(65 + randomInt(0, 25));\n const first3 =\n randomLetter() + randomLetter() + randomLetter();\n const holderType
|
|
1
|
+
{"version":3,"file":"pan.js","names":[],"sources":["../../src/in/pan.ts"],"sourcesContent":["/** Generate a random valid Indian PAN. */\nconst generate = (): string => {\n const randomLetter = (): string =>\n String.fromCodePoint(65 + randomInt(0, 25));\n const first3 =\n randomLetter() + randomLetter() + randomLetter();\n const holderType = randomChar(HOLDER_TYPES);\n const fifth = randomLetter();\n const digits = randomDigits(4);\n const last = randomLetter();\n return `${first3}${holderType}${fifth}${digits}${last}`;\n};\n\n/**\n * PAN (Permanent Account Number, Indian tax ID).\n *\n * 10 characters: 5 letters + 4 digits + 1 letter.\n * The 4th letter encodes the holder type\n * (P=person, C=company, H=HUF, A=AOP, B=BOI,\n * G=government, J=AJP, L=local authority, F=FOP,\n * T=trust). The 5th letter is the first letter\n * of the surname or entity name.\n * No checksum; format validation only.\n *\n * @see https://en.wikipedia.org/wiki/Permanent_account_number\n */\n\nimport { clean } from \"#util/clean\";\nimport {\n randomChar,\n randomDigits,\n randomInt,\n} from \"#util/generate\";\nimport { err } from \"#util/result\";\n\nimport type { ValidateResult, Validator } from \"../types\";\n\nconst PAN_RE = /^[A-Z]{5}\\d{4}[A-Z]$/;\n\nconst HOLDER_TYPES = \"ABCFGHJLPT\";\n\nconst compact = (value: string): string =>\n clean(value, \" -\").toUpperCase();\n\nconst validate = (value: string): ValidateResult => {\n const v = compact(value);\n if (v.length !== 10) {\n return err(\n \"INVALID_LENGTH\",\n \"PAN must be 10 characters\",\n );\n }\n if (!PAN_RE.test(v)) {\n return err(\n \"INVALID_FORMAT\",\n \"PAN must be 5 letters + 4 digits + 1 letter\",\n );\n }\n // SAFETY: regex above guarantees v.length === 10.\n // eslint-disable-next-line no-non-null-assertion\n if (!HOLDER_TYPES.includes(v[3]!)) {\n return err(\n \"INVALID_COMPONENT\",\n \"PAN 4th character must be a valid holder type\",\n );\n }\n return { valid: true, compact: v };\n};\n\nconst format = (value: string): string => compact(value);\n\n/** Indian Permanent Account Number. */\nconst pan: Validator = {\n name: \"Indian Permanent Account Number\",\n localName: \"Permanent Account Number\",\n abbreviation: \"PAN\",\n aliases: [\"PAN\", \"Permanent Account Number\"] as const,\n candidatePattern: \"[A-Z]{5}\\\\d{4}[A-Z]\",\n country: \"IN\",\n entityType: \"any\",\n lengths: [10],\n examples: [\"ABCPP1234C\", \"AAACR5055K\"],\n description: \"10-character alphanumeric tax identifier\",\n sourceUrl:\n \"https://en.wikipedia.org/wiki/Permanent_account_number\",\n compact,\n format,\n validate,\n generate,\n};\n\nexport default pan;\nexport { compact, format, validate, generate };\n"],"mappings":";;;;;;;;;;;;;;;;;;AACA,MAAM,iBAAyB;CAC7B,MAAM,qBACJ,OAAO,cAAc,KAAK,UAAU,GAAG,GAAG,CAAC;AAO7C,QAAO,GALL,cAAc,GAAG,cAAc,GAAG,cAAc,GAC/B,WAAW,aAAa,GAC7B,cAAc,GACb,aAAa,EAAE,GACjB,cAAc;;AA4B7B,MAAM,SAAS;AAEf,MAAM,eAAe;AAErB,MAAM,WAAW,UACf,MAAM,OAAO,KAAK,CAAC,aAAa;AAElC,MAAM,YAAY,UAAkC;CAClD,MAAM,IAAI,QAAQ,MAAM;AACxB,KAAI,EAAE,WAAW,GACf,QAAO,IACL,kBACA,4BACD;AAEH,KAAI,CAAC,OAAO,KAAK,EAAE,CACjB,QAAO,IACL,kBACA,8CACD;AAIH,KAAI,CAAC,aAAa,SAAS,EAAE,GAAI,CAC/B,QAAO,IACL,qBACA,gDACD;AAEH,QAAO;EAAE,OAAO;EAAM,SAAS;EAAG;;AAGpC,MAAM,UAAU,UAA0B,QAAQ,MAAM;;AAGxD,MAAM,MAAiB;CACrB,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS,CAAC,OAAO,2BAA2B;CAC5C,kBAAkB;CAClB,SAAS;CACT,YAAY;CACZ,SAAS,CAAC,GAAG;CACb,UAAU,CAAC,cAAc,aAAa;CACtC,aAAa;CACb,WACE;CACF;CACA;CACA;CACA;CACD"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CountryCode, ErrorCode, ParsedPersonId, StdnumError, ValidateResult, Validator } from "./types.js";
|
|
1
|
+
import { CountryCode, ErrorCode, ParsableValidator, ParsedBirthDate, ParsedIdentifier, ParsedPersonId, StdnumError, ValidateResult, Validator } from "./types.js";
|
|
2
2
|
import { mod_d_exports } from "./ad/mod.js";
|
|
3
3
|
import { mod_d_exports as mod_d_exports$1 } from "./ae/mod.js";
|
|
4
4
|
import { mod_d_exports as mod_d_exports$2 } from "./ai/mod.js";
|
|
@@ -102,4 +102,4 @@ import { mod_d_exports as mod_d_exports$93 } from "./uy/mod.js";
|
|
|
102
102
|
import { mod_d_exports as mod_d_exports$94 } from "./ve/mod.js";
|
|
103
103
|
import { mod_d_exports as mod_d_exports$95 } from "./vn/mod.js";
|
|
104
104
|
import { mod_d_exports as mod_d_exports$96 } from "./za/mod.js";
|
|
105
|
-
export { type CardNetwork, type CountryCode, type ErrorCode, type ParsedPersonId, type StdnumError, type ValidateResult, type Validator, mod_d_exports as ad, mod_d_exports$1 as ae, mod_d_exports$2 as ai, mod_d_exports$3 as al, mod_d_exports$4 as am, mod_d_exports$5 as ar, mod_d_exports$6 as at, mod_d_exports$7 as au, mod_d_exports$8 as az, mod_d_exports$9 as ba, mod_d_exports$10 as bd, mod_d_exports$11 as be, mod_d_exports$12 as bg, mod_d_exports$13 as bh, bic, mod_d_exports$14 as br, mod_d_exports$15 as by, mod_d_exports$16 as bz, mod_d_exports$17 as ca, mod_d_exports$18 as ch, mod_d_exports$19 as cl, mod_d_exports$20 as cn, mod_d_exports$21 as co, mod_d_exports$22 as cr, creditCard as creditcard, mod_d_exports$23 as cu, mod_d_exports$24 as cy, mod_d_exports$25 as cz, mod_d_exports$26 as de, detectNetwork, mod_d_exports$27 as dk, mod_d_exports$28 as do_, mod_d_exports$29 as ec, mod_d_exports$30 as ee, mod_d_exports$31 as eg, mod_d_exports$32 as es, mod_d_exports$33 as eu, mod_d_exports$34 as fi, mod_d_exports$35 as fr, mod_d_exports$36 as gb, mod_d_exports$37 as ge, mod_d_exports$38 as gh, mod_d_exports$39 as gr, mod_d_exports$40 as gt, mod_d_exports$41 as hk, mod_d_exports$42 as hr, mod_d_exports$43 as hu, iban, mod_d_exports$44 as id, mod_d_exports$45 as ie, mod_d_exports$46 as il, mod_d_exports$47 as in_, mod_d_exports$48 as iq, mod_d_exports$49 as ir, mod_d_exports$50 as is_, isin, mod_d_exports$51 as it, mod_d_exports$52 as jp, mod_d_exports$53 as kr, mod_d_exports$54 as kw, mod_d_exports$55 as kz, lei, mod_d_exports$56 as li, mod_d_exports$57 as lk, mod_d_exports$58 as lt, mod_d_exports$59 as lu, luhn, mod_d_exports$60 as lv, mod_d_exports$61 as ma, mod_d_exports$62 as mc, mod_d_exports$63 as md, mod_d_exports$64 as me, mod_d_exports$65 as mk, mod_d_exports$66 as mt, mod_d_exports$67 as mu, mod_d_exports$68 as mx, mod_d_exports$69 as my, mod_d_exports$70 as ng, mod_d_exports$71 as ni, mod_d_exports$72 as nl, mod_d_exports$73 as no, mod_d_exports$74 as nz, mod_d_exports$75 as pa, mod_d_exports$76 as pe, mod_d_exports$77 as ph, mod_d_exports$78 as pk, mod_d_exports$79 as pl, mod_d_exports$80 as pt, mod_d_exports$81 as ro, mod_d_exports$82 as rs, mod_d_exports$83 as ru, mod_d_exports$84 as se, mod_d_exports$85 as sg, mod_d_exports$86 as si, mod_d_exports$87 as sk, mod_d_exports$88 as th, mod_d_exports$89 as tr, mod_d_exports$90 as tw, mod_d_exports$91 as ua, mod_d_exports$92 as us, mod_d_exports$93 as uy, mod_d_exports$94 as ve, mod_d_exports$95 as vn, mod_d_exports$96 as za };
|
|
105
|
+
export { type CardNetwork, type CountryCode, type ErrorCode, type ParsableValidator, type ParsedBirthDate, type ParsedIdentifier, type ParsedPersonId, type StdnumError, type ValidateResult, type Validator, mod_d_exports as ad, mod_d_exports$1 as ae, mod_d_exports$2 as ai, mod_d_exports$3 as al, mod_d_exports$4 as am, mod_d_exports$5 as ar, mod_d_exports$6 as at, mod_d_exports$7 as au, mod_d_exports$8 as az, mod_d_exports$9 as ba, mod_d_exports$10 as bd, mod_d_exports$11 as be, mod_d_exports$12 as bg, mod_d_exports$13 as bh, bic, mod_d_exports$14 as br, mod_d_exports$15 as by, mod_d_exports$16 as bz, mod_d_exports$17 as ca, mod_d_exports$18 as ch, mod_d_exports$19 as cl, mod_d_exports$20 as cn, mod_d_exports$21 as co, mod_d_exports$22 as cr, creditCard as creditcard, mod_d_exports$23 as cu, mod_d_exports$24 as cy, mod_d_exports$25 as cz, mod_d_exports$26 as de, detectNetwork, mod_d_exports$27 as dk, mod_d_exports$28 as do_, mod_d_exports$29 as ec, mod_d_exports$30 as ee, mod_d_exports$31 as eg, mod_d_exports$32 as es, mod_d_exports$33 as eu, mod_d_exports$34 as fi, mod_d_exports$35 as fr, mod_d_exports$36 as gb, mod_d_exports$37 as ge, mod_d_exports$38 as gh, mod_d_exports$39 as gr, mod_d_exports$40 as gt, mod_d_exports$41 as hk, mod_d_exports$42 as hr, mod_d_exports$43 as hu, iban, mod_d_exports$44 as id, mod_d_exports$45 as ie, mod_d_exports$46 as il, mod_d_exports$47 as in_, mod_d_exports$48 as iq, mod_d_exports$49 as ir, mod_d_exports$50 as is_, isin, mod_d_exports$51 as it, mod_d_exports$52 as jp, mod_d_exports$53 as kr, mod_d_exports$54 as kw, mod_d_exports$55 as kz, lei, mod_d_exports$56 as li, mod_d_exports$57 as lk, mod_d_exports$58 as lt, mod_d_exports$59 as lu, luhn, mod_d_exports$60 as lv, mod_d_exports$61 as ma, mod_d_exports$62 as mc, mod_d_exports$63 as md, mod_d_exports$64 as me, mod_d_exports$65 as mk, mod_d_exports$66 as mt, mod_d_exports$67 as mu, mod_d_exports$68 as mx, mod_d_exports$69 as my, mod_d_exports$70 as ng, mod_d_exports$71 as ni, mod_d_exports$72 as nl, mod_d_exports$73 as no, mod_d_exports$74 as nz, mod_d_exports$75 as pa, mod_d_exports$76 as pe, mod_d_exports$77 as ph, mod_d_exports$78 as pk, mod_d_exports$79 as pl, mod_d_exports$80 as pt, mod_d_exports$81 as ro, mod_d_exports$82 as rs, mod_d_exports$83 as ru, mod_d_exports$84 as se, mod_d_exports$85 as sg, mod_d_exports$86 as si, mod_d_exports$87 as sk, mod_d_exports$88 as th, mod_d_exports$89 as tr, mod_d_exports$90 as tw, mod_d_exports$91 as ua, mod_d_exports$92 as us, mod_d_exports$93 as uy, mod_d_exports$94 as ve, mod_d_exports$95 as vn, mod_d_exports$96 as za };
|
package/dist/iq/mod.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { __exportAll } from "../_virtual/_rolldown/runtime.js";
|
|
2
1
|
import nid from "./nid.js";
|
|
3
2
|
|
|
4
3
|
//#region src/iq/mod.d.ts
|
|
5
|
-
|
|
4
|
+
declare namespace mod_d_exports {
|
|
5
|
+
export { nid };
|
|
6
|
+
}
|
|
6
7
|
//#endregion
|
|
7
8
|
export { mod_d_exports, nid };
|
|
8
9
|
//# sourceMappingURL=mod.d.ts.map
|
package/dist/ir/mod.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { __exportAll } from "../_virtual/_rolldown/runtime.js";
|
|
2
1
|
import nid from "./nid.js";
|
|
3
2
|
|
|
4
3
|
//#region src/ir/mod.d.ts
|
|
5
|
-
|
|
4
|
+
declare namespace mod_d_exports {
|
|
5
|
+
export { nid };
|
|
6
|
+
}
|
|
6
7
|
//#endregion
|
|
7
8
|
export { mod_d_exports, nid };
|
|
8
9
|
//# sourceMappingURL=mod.d.ts.map
|
package/dist/ir/nid.d.ts
CHANGED
package/dist/is/kennitala.d.ts
CHANGED
package/dist/is/mod.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { __exportAll } from "../_virtual/_rolldown/runtime.js";
|
|
2
1
|
import kennitala from "./kennitala.js";
|
|
3
2
|
import vsk from "./vsk.js";
|
|
4
3
|
|
|
5
4
|
//#region src/is/mod.d.ts
|
|
6
|
-
|
|
5
|
+
declare namespace mod_d_exports {
|
|
6
|
+
export { kennitala, vsk };
|
|
7
|
+
}
|
|
7
8
|
//#endregion
|
|
8
9
|
export { kennitala, mod_d_exports, vsk };
|
|
9
10
|
//# sourceMappingURL=mod.d.ts.map
|
package/dist/isin.d.ts
CHANGED
package/dist/isin.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { clean } from "./_util/clean.js";
|
|
2
|
-
import { randomInt } from "./_util/generate.js";
|
|
2
|
+
import { randomInt, randomPick } from "./_util/generate.js";
|
|
3
3
|
import { err } from "./_util/result.js";
|
|
4
4
|
import { luhnChecksum } from "./_checksums/luhn.js";
|
|
5
5
|
import { charValue, isalnum } from "./_util/strings.js";
|
|
@@ -44,17 +44,17 @@ const format = (value) => {
|
|
|
44
44
|
const v = compact(value);
|
|
45
45
|
return `${v.slice(0, 2)} ${v.slice(2, 6)} ${v.slice(6, 10)} ${v.slice(10)}`;
|
|
46
46
|
};
|
|
47
|
+
const ISIN_COUNTRIES = [
|
|
48
|
+
"US",
|
|
49
|
+
"GB",
|
|
50
|
+
"DE",
|
|
51
|
+
"FR",
|
|
52
|
+
"JP"
|
|
53
|
+
];
|
|
47
54
|
/** Generate a random valid ISIN. */
|
|
48
55
|
const generate = () => {
|
|
49
|
-
const countries = [
|
|
50
|
-
"US",
|
|
51
|
-
"GB",
|
|
52
|
-
"DE",
|
|
53
|
-
"FR",
|
|
54
|
-
"JP"
|
|
55
|
-
];
|
|
56
56
|
for (;;) {
|
|
57
|
-
const cc =
|
|
57
|
+
const cc = randomPick(ISIN_COUNTRIES);
|
|
58
58
|
let nsin = "";
|
|
59
59
|
for (let i = 0; i < 9; i++) nsin += String(randomInt(0, 9));
|
|
60
60
|
const base = cc + nsin;
|
package/dist/isin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isin.js","names":[],"sources":["../src/isin.ts"],"sourcesContent":["/**\n * ISIN (International Securities Identification\n * Number).\n *\n * ISO 6166. 12-character alphanumeric code:\n * [A-Z]{2} (country) + [0-9A-Z]{9} (identifier) +\n * [0-9]{1} (check digit). Validated using the Luhn\n * algorithm on the alpha-numeric expansion.\n *\n * @see https://www.isin.org/\n */\n\nimport { luhnChecksum } from \"#checksums/luhn\";\nimport { clean } from \"#util/clean\";\nimport { randomInt } from \"#util/generate\";\nimport { err } from \"#util/result\";\nimport { charValue, isalnum } from \"#util/strings\";\n\nimport type { ValidateResult, Validator } from \"./types\";\n\nconst ISIN_RE = /^[A-Z]{2}[0-9A-Z]{9}[0-9]$/;\n\nconst compact = (value: string): string =>\n clean(value, \" -\").toUpperCase();\n\n/**\n * Expand each character to its numeric value\n * (A=10..Z=35, digits unchanged) and concatenate.\n */\nconst expand = (value: string): string => {\n let result = \"\";\n for (let i = 0; i < value.length; i++) {\n const ch = value[i];\n if (ch !== undefined) {\n result += String(charValue(ch));\n }\n }\n return result;\n};\n\nconst validate = (value: string): ValidateResult => {\n const v = compact(value);\n if (v.length !== 12) {\n return err(\n \"INVALID_LENGTH\",\n \"ISIN must be exactly 12 characters\",\n );\n }\n if (!isalnum(v)) {\n return err(\n \"INVALID_FORMAT\",\n \"ISIN must contain only letters and digits\",\n );\n }\n if (!ISIN_RE.test(v)) {\n return err(\n \"INVALID_FORMAT\",\n \"ISIN must match [A-Z]{2}[0-9A-Z]{9}[0-9]\",\n );\n }\n const expanded = expand(v);\n if (luhnChecksum(expanded) !== 0) {\n return err(\n \"INVALID_CHECKSUM\",\n \"ISIN check digit is incorrect\",\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, 2)} ${v.slice(2, 6)} ${v.slice(6, 10)} ${v.slice(10)}`;\n};\n\
|
|
1
|
+
{"version":3,"file":"isin.js","names":[],"sources":["../src/isin.ts"],"sourcesContent":["/**\n * ISIN (International Securities Identification\n * Number).\n *\n * ISO 6166. 12-character alphanumeric code:\n * [A-Z]{2} (country) + [0-9A-Z]{9} (identifier) +\n * [0-9]{1} (check digit). Validated using the Luhn\n * algorithm on the alpha-numeric expansion.\n *\n * @see https://www.isin.org/\n */\n\nimport { luhnChecksum } from \"#checksums/luhn\";\nimport { clean } from \"#util/clean\";\nimport { randomInt, randomPick } from \"#util/generate\";\nimport { err } from \"#util/result\";\nimport { charValue, isalnum } from \"#util/strings\";\n\nimport type { ValidateResult, Validator } from \"./types\";\n\nconst ISIN_RE = /^[A-Z]{2}[0-9A-Z]{9}[0-9]$/;\n\nconst compact = (value: string): string =>\n clean(value, \" -\").toUpperCase();\n\n/**\n * Expand each character to its numeric value\n * (A=10..Z=35, digits unchanged) and concatenate.\n */\nconst expand = (value: string): string => {\n let result = \"\";\n for (let i = 0; i < value.length; i++) {\n const ch = value[i];\n if (ch !== undefined) {\n result += String(charValue(ch));\n }\n }\n return result;\n};\n\nconst validate = (value: string): ValidateResult => {\n const v = compact(value);\n if (v.length !== 12) {\n return err(\n \"INVALID_LENGTH\",\n \"ISIN must be exactly 12 characters\",\n );\n }\n if (!isalnum(v)) {\n return err(\n \"INVALID_FORMAT\",\n \"ISIN must contain only letters and digits\",\n );\n }\n if (!ISIN_RE.test(v)) {\n return err(\n \"INVALID_FORMAT\",\n \"ISIN must match [A-Z]{2}[0-9A-Z]{9}[0-9]\",\n );\n }\n const expanded = expand(v);\n if (luhnChecksum(expanded) !== 0) {\n return err(\n \"INVALID_CHECKSUM\",\n \"ISIN check digit is incorrect\",\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, 2)} ${v.slice(2, 6)} ${v.slice(6, 10)} ${v.slice(10)}`;\n};\n\nconst ISIN_COUNTRIES = [\n \"US\",\n \"GB\",\n \"DE\",\n \"FR\",\n \"JP\",\n] as const;\n\n/** Generate a random valid ISIN. */\nconst generate = (): string => {\n for (;;) {\n const cc = randomPick(ISIN_COUNTRIES);\n let nsin = \"\";\n for (let i = 0; i < 9; i++)\n nsin += String(randomInt(0, 9));\n const base = cc + nsin;\n for (let d = 0; d <= 9; d++) {\n const c = base + String(d);\n if (validate(c).valid) return c;\n }\n }\n};\n\n/** International Securities Identification Number. */\nconst isin: Validator = {\n name: \"International Securities Identification Number\",\n localName:\n \"International Securities Identification Number\",\n abbreviation: \"ISIN\",\n aliases: [\n \"ISIN\",\n \"International Securities Identification Number\",\n ] as const,\n candidatePattern: \"[A-Z]{2}[A-Z0-9]{9}\\\\d\",\n entityType: \"any\",\n sourceUrl: \"https://www.isin.org/\",\n examples: [\"US0378331005\", \"GB0002634946\"] as const,\n compact,\n format,\n validate,\n generate,\n};\n\nexport default isin;\nexport { compact, format, validate, generate };\n"],"mappings":";;;;;;;;;;;;;;;;;AAoBA,MAAM,UAAU;AAEhB,MAAM,WAAW,UACf,MAAM,OAAO,KAAK,CAAC,aAAa;;;;;AAMlC,MAAM,UAAU,UAA0B;CACxC,IAAI,SAAS;AACb,MAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;EACrC,MAAM,KAAK,MAAM;AACjB,MAAI,OAAO,KAAA,EACT,WAAU,OAAO,UAAU,GAAG,CAAC;;AAGnC,QAAO;;AAGT,MAAM,YAAY,UAAkC;CAClD,MAAM,IAAI,QAAQ,MAAM;AACxB,KAAI,EAAE,WAAW,GACf,QAAO,IACL,kBACA,qCACD;AAEH,KAAI,CAAC,QAAQ,EAAE,CACb,QAAO,IACL,kBACA,4CACD;AAEH,KAAI,CAAC,QAAQ,KAAK,EAAE,CAClB,QAAO,IACL,kBACA,2CACD;AAGH,KAAI,aADa,OAAO,EAAE,CACA,KAAK,EAC7B,QAAO,IACL,oBACA,gCACD;AAEH,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,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG;;AAG3E,MAAM,iBAAiB;CACrB;CACA;CACA;CACA;CACA;CACD;;AAGD,MAAM,iBAAyB;AAC7B,UAAS;EACP,MAAM,KAAK,WAAW,eAAe;EACrC,IAAI,OAAO;AACX,OAAK,IAAI,IAAI,GAAG,IAAI,GAAG,IACrB,SAAQ,OAAO,UAAU,GAAG,EAAE,CAAC;EACjC,MAAM,OAAO,KAAK;AAClB,OAAK,IAAI,IAAI,GAAG,KAAK,GAAG,KAAK;GAC3B,MAAM,IAAI,OAAO,OAAO,EAAE;AAC1B,OAAI,SAAS,EAAE,CAAC,MAAO,QAAO;;;;;AAMpC,MAAM,OAAkB;CACtB,MAAM;CACN,WACE;CACF,cAAc;CACd,SAAS,CACP,QACA,iDACD;CACD,kBAAkB;CAClB,YAAY;CACZ,WAAW;CACX,UAAU,CAAC,gBAAgB,eAAe;CAC1C;CACA;CACA;CACA;CACD"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { ParsedPersonId, ValidateResult, Validator } from "../types.js";
|
|
2
2
|
|
|
3
3
|
//#region src/it/codicefiscale.d.ts
|
|
4
|
-
|
|
5
4
|
declare const compact: (value: string) => string;
|
|
6
5
|
declare const validate: (value: string) => ValidateResult;
|
|
7
6
|
declare const format: (value: string) => string;
|
|
@@ -11,8 +10,10 @@ declare const format: (value: string) => string;
|
|
|
11
10
|
* 11-digit Partita IVA (no personal data embedded).
|
|
12
11
|
*/
|
|
13
12
|
declare const parse: (value: string) => ParsedPersonId | null;
|
|
13
|
+
/** Generate a random valid 16-character Codice Fiscale. */
|
|
14
|
+
declare const generate: () => string;
|
|
14
15
|
/** Italian Tax Code. */
|
|
15
|
-
declare const codiceFiscale: Validator
|
|
16
|
+
declare const codiceFiscale: Validator<ParsedPersonId>;
|
|
16
17
|
//#endregion
|
|
17
|
-
export { compact, codiceFiscale as default, format, parse, validate };
|
|
18
|
+
export { compact, codiceFiscale as default, format, generate, parse, validate };
|
|
18
19
|
//# sourceMappingURL=codicefiscale.d.ts.map
|
package/dist/it/codicefiscale.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { clean } from "../_util/clean.js";
|
|
2
|
+
import { randomInt } from "../_util/generate.js";
|
|
2
3
|
import { err } from "../_util/result.js";
|
|
3
4
|
import { isdigits } from "../_util/strings.js";
|
|
4
5
|
import { validate as validate$1 } from "./iva.js";
|
|
@@ -185,6 +186,27 @@ const parse = (value) => {
|
|
|
185
186
|
gender
|
|
186
187
|
};
|
|
187
188
|
};
|
|
189
|
+
const LETTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
190
|
+
const MONTH_CODES = Object.keys(MONTH_LETTERS);
|
|
191
|
+
const randomLetter = () => LETTERS.charAt(randomInt(0, 25));
|
|
192
|
+
/** Generate a random valid 16-character Codice Fiscale. */
|
|
193
|
+
const generate = () => {
|
|
194
|
+
let body = "";
|
|
195
|
+
for (let i = 0; i < 6; i++) body += randomLetter();
|
|
196
|
+
body += String(randomInt(0, 99)).padStart(2, "0");
|
|
197
|
+
body += MONTH_CODES[randomInt(0, MONTH_CODES.length - 1)] ?? "A";
|
|
198
|
+
const day = randomInt(1, 28) + (randomInt(0, 1) === 0 ? 0 : 40);
|
|
199
|
+
body += String(day).padStart(2, "0");
|
|
200
|
+
body += randomLetter();
|
|
201
|
+
body += String(randomInt(0, 999)).padStart(3, "0");
|
|
202
|
+
let sum = 0;
|
|
203
|
+
for (let i = 0; i < body.length; i++) {
|
|
204
|
+
const ch = body[i];
|
|
205
|
+
if (ch === void 0) continue;
|
|
206
|
+
sum += i % 2 === 0 ? ODD[ch] ?? 0 : EVEN[ch] ?? 0;
|
|
207
|
+
}
|
|
208
|
+
return `${body}${CHECK_LETTERS.charAt(sum % 26)}`;
|
|
209
|
+
};
|
|
188
210
|
/** Italian Tax Code. */
|
|
189
211
|
const codiceFiscale = {
|
|
190
212
|
name: "Italian Tax Code",
|
|
@@ -206,9 +228,11 @@ const codiceFiscale = {
|
|
|
206
228
|
examples: ["RCCMNL83S18D969H"],
|
|
207
229
|
compact,
|
|
208
230
|
format,
|
|
209
|
-
|
|
231
|
+
parse,
|
|
232
|
+
validate,
|
|
233
|
+
generate
|
|
210
234
|
};
|
|
211
235
|
//#endregion
|
|
212
|
-
export { compact, codiceFiscale as default, format, parse, validate };
|
|
236
|
+
export { compact, codiceFiscale as default, format, generate, parse, validate };
|
|
213
237
|
|
|
214
238
|
//# sourceMappingURL=codicefiscale.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codicefiscale.js","names":["validateIva"],"sources":["../../src/it/codicefiscale.ts"],"sourcesContent":["/**\n * Codice Fiscale (Italian tax code).\n *\n * 16-character alphanumeric code encoding name,\n * birth date, gender, and birthplace. The last\n * character is a check letter computed using\n * odd/even position value tables.\n *\n * Supports omocodia: when two people share the\n * same code, the tax office replaces digit\n * positions with letters from the set LMNPQRSTUV\n * (L=0, M=1, N=2, P=3, Q=4, R=5, S=6, T=7,\n * U=8, V=9). Only these 10 letters are valid\n * substitutes at digit positions.\n *\n * Also accepts 11-digit numbers (delegates to\n * Partita IVA validation).\n *\n * @see https://www.agenziaentrate.gov.it/\n * @see https://it.wikipedia.org/wiki/Codice_fiscale#Omocodia\n */\n\nimport { clean } from \"#util/clean\";\nimport { err } from \"#util/result\";\nimport { isdigits } from \"#util/strings\";\n\nimport type {\n ParsedPersonId,\n ValidateResult,\n Validator,\n} from \"../types\";\nimport { validate as validateIva } from \"./iva\";\n\n// Values for odd-positioned characters (0-based\n// index 0, 2, 4, ...)\nconst ODD: Record<string, number> = {\n \"0\": 1,\n \"1\": 0,\n \"2\": 5,\n \"3\": 7,\n \"4\": 9,\n \"5\": 13,\n \"6\": 15,\n \"7\": 17,\n \"8\": 19,\n \"9\": 21,\n A: 1,\n B: 0,\n C: 5,\n D: 7,\n E: 9,\n F: 13,\n G: 15,\n H: 17,\n I: 19,\n J: 21,\n K: 2,\n L: 4,\n M: 18,\n N: 20,\n O: 11,\n P: 3,\n Q: 6,\n R: 8,\n S: 12,\n T: 14,\n U: 16,\n V: 10,\n W: 22,\n X: 25,\n Y: 24,\n Z: 23,\n};\n\n// Values for even-positioned characters (0-based\n// index 1, 3, 5, ...)\nconst EVEN: Record<string, number> = {\n \"0\": 0,\n \"1\": 1,\n \"2\": 2,\n \"3\": 3,\n \"4\": 4,\n \"5\": 5,\n \"6\": 6,\n \"7\": 7,\n \"8\": 8,\n \"9\": 9,\n A: 0,\n B: 1,\n C: 2,\n D: 3,\n E: 4,\n F: 5,\n G: 6,\n H: 7,\n I: 8,\n J: 9,\n K: 10,\n L: 11,\n M: 12,\n N: 13,\n O: 14,\n P: 15,\n Q: 16,\n R: 17,\n S: 18,\n T: 19,\n U: 20,\n V: 21,\n W: 22,\n X: 23,\n Y: 24,\n Z: 25,\n};\n\nconst CHECK_LETTERS = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\";\n\n/** Omocodia letter-to-digit mapping. */\nconst OMOCODIA: Record<string, string> = {\n L: \"0\",\n M: \"1\",\n N: \"2\",\n P: \"3\",\n Q: \"4\",\n R: \"5\",\n S: \"6\",\n T: \"7\",\n U: \"8\",\n V: \"9\",\n};\n\n/** Month letter to 1-based month number. */\nconst MONTH_LETTERS: Record<string, number> = {\n A: 1,\n B: 2,\n C: 3,\n D: 4,\n E: 5,\n H: 6,\n L: 7,\n M: 8,\n P: 9,\n R: 10,\n S: 11,\n T: 12,\n};\n\nconst decodeCfDigit = (ch: string): number => {\n const mapped = OMOCODIA[ch];\n if (mapped !== undefined) return Number(mapped);\n return Number(ch);\n};\n\nconst compact = (value: string): string =>\n clean(value, \" -\").toUpperCase();\n\nconst validate = (value: string): ValidateResult => {\n const v = compact(value);\n\n // 11-digit: delegate to Partita IVA\n if (v.length === 11 && isdigits(v)) {\n return validateIva(v);\n }\n\n if (v.length !== 16) {\n return err(\n \"INVALID_LENGTH\",\n \"Codice Fiscale must be 16 characters\",\n );\n }\n // Structural format: 6 letters + 2 alphanumeric\n // + 1 letter (month) + 2 alphanumeric + 1 letter\n // (municipality) + 3 alphanumeric + 1 check letter\n // The \"alphanumeric\" positions accept omocodia\n // substitution letters (LMNPQRSTUV for 0-9)\n if (\n // Omocodia: digits can be replaced with\n // LMNPQRSTUV only (not arbitrary letters)\n !/^[A-Z]{6}[0-9LMNPQRSTUV]{2}[ABCDEHLMPRST][0-9LMNPQRSTUV]{2}[A-Z][0-9LMNPQRSTUV]{3}[A-Z]$/.test(\n v,\n )\n ) {\n return err(\n \"INVALID_FORMAT\",\n \"Codice Fiscale format is invalid\",\n );\n }\n\n // Compute check letter\n let sum = 0;\n for (let i = 0; i < 15; i++) {\n const ch = v[i];\n if (ch === undefined) continue;\n if (i % 2 === 0) {\n // Odd position (1-based) = even index\n const val = ODD[ch];\n if (val === undefined) {\n return err(\n \"INVALID_FORMAT\",\n \"Codice Fiscale contains invalid char\",\n );\n }\n sum += val;\n } else {\n const val = EVEN[ch];\n if (val === undefined) {\n return err(\n \"INVALID_FORMAT\",\n \"Codice Fiscale contains invalid char\",\n );\n }\n sum += val;\n }\n }\n\n const expected = CHECK_LETTERS[sum % 26];\n if (expected !== v[15]) {\n return err(\n \"INVALID_CHECKSUM\",\n \"Codice Fiscale check letter mismatch\",\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 a Codice Fiscale.\n * Returns null if the value is not valid or is an\n * 11-digit Partita IVA (no personal data embedded).\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 if (v.length !== 16) return null;\n\n const yy =\n decodeCfDigit(v.charAt(6)) * 10 +\n decodeCfDigit(v.charAt(7));\n const month = MONTH_LETTERS[v.charAt(8)];\n if (month === undefined) return null;\n let dd =\n decodeCfDigit(v.charAt(9)) * 10 +\n decodeCfDigit(v.charAt(10));\n\n const gender = dd > 40 ? \"female\" : \"male\";\n if (dd > 40) dd -= 40;\n\n const currentYear = new Date().getFullYear();\n let year = 2000 + yy;\n if (year > currentYear) year -= 100;\n\n return {\n birthDate: new Date(year, month - 1, dd),\n gender,\n };\n};\n\n/** Italian Tax Code. */\nconst codiceFiscale: Validator = {\n name: \"Italian Tax Code\",\n localName: \"Codice Fiscale\",\n abbreviation: \"CF\",\n aliases: [\n \"codice fiscale\",\n \"C.F.\",\n \"CF\",\n \"cod. fisc.\",\n \"fiscal code\",\n ] as const,\n candidatePattern:\n \"[A-Z]{6}\\\\d{2}[A-Z]\\\\d{2}[A-Z]\\\\d{3}[A-Z]\",\n country: \"IT\",\n entityType: \"person\",\n description:\n \"Personal/company tax code (16-char personal, 11-digit company)\",\n sourceUrl: \"https://www.agenziaentrate.gov.it/\",\n lengths: [11, 16] as const,\n examples: [\"RCCMNL83S18D969H\"] as const,\n compact,\n format,\n validate,\n};\n\nexport default codiceFiscale;\nexport { compact, format, parse, validate };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codicefiscale.js","names":["validateIva"],"sources":["../../src/it/codicefiscale.ts"],"sourcesContent":["/**\n * Codice Fiscale (Italian tax code).\n *\n * 16-character alphanumeric code encoding name,\n * birth date, gender, and birthplace. The last\n * character is a check letter computed using\n * odd/even position value tables.\n *\n * Supports omocodia: when two people share the\n * same code, the tax office replaces digit\n * positions with letters from the set LMNPQRSTUV\n * (L=0, M=1, N=2, P=3, Q=4, R=5, S=6, T=7,\n * U=8, V=9). Only these 10 letters are valid\n * substitutes at digit positions.\n *\n * Also accepts 11-digit numbers (delegates to\n * Partita IVA validation).\n *\n * @see https://www.agenziaentrate.gov.it/\n * @see https://it.wikipedia.org/wiki/Codice_fiscale#Omocodia\n */\n\nimport { clean } from \"#util/clean\";\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\";\nimport { validate as validateIva } from \"./iva\";\n\n// Values for odd-positioned characters (0-based\n// index 0, 2, 4, ...)\nconst ODD: Record<string, number> = {\n \"0\": 1,\n \"1\": 0,\n \"2\": 5,\n \"3\": 7,\n \"4\": 9,\n \"5\": 13,\n \"6\": 15,\n \"7\": 17,\n \"8\": 19,\n \"9\": 21,\n A: 1,\n B: 0,\n C: 5,\n D: 7,\n E: 9,\n F: 13,\n G: 15,\n H: 17,\n I: 19,\n J: 21,\n K: 2,\n L: 4,\n M: 18,\n N: 20,\n O: 11,\n P: 3,\n Q: 6,\n R: 8,\n S: 12,\n T: 14,\n U: 16,\n V: 10,\n W: 22,\n X: 25,\n Y: 24,\n Z: 23,\n};\n\n// Values for even-positioned characters (0-based\n// index 1, 3, 5, ...)\nconst EVEN: Record<string, number> = {\n \"0\": 0,\n \"1\": 1,\n \"2\": 2,\n \"3\": 3,\n \"4\": 4,\n \"5\": 5,\n \"6\": 6,\n \"7\": 7,\n \"8\": 8,\n \"9\": 9,\n A: 0,\n B: 1,\n C: 2,\n D: 3,\n E: 4,\n F: 5,\n G: 6,\n H: 7,\n I: 8,\n J: 9,\n K: 10,\n L: 11,\n M: 12,\n N: 13,\n O: 14,\n P: 15,\n Q: 16,\n R: 17,\n S: 18,\n T: 19,\n U: 20,\n V: 21,\n W: 22,\n X: 23,\n Y: 24,\n Z: 25,\n};\n\nconst CHECK_LETTERS = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\";\n\n/** Omocodia letter-to-digit mapping. */\nconst OMOCODIA: Record<string, string> = {\n L: \"0\",\n M: \"1\",\n N: \"2\",\n P: \"3\",\n Q: \"4\",\n R: \"5\",\n S: \"6\",\n T: \"7\",\n U: \"8\",\n V: \"9\",\n};\n\n/** Month letter to 1-based month number. */\nconst MONTH_LETTERS: Record<string, number> = {\n A: 1,\n B: 2,\n C: 3,\n D: 4,\n E: 5,\n H: 6,\n L: 7,\n M: 8,\n P: 9,\n R: 10,\n S: 11,\n T: 12,\n};\n\nconst decodeCfDigit = (ch: string): number => {\n const mapped = OMOCODIA[ch];\n if (mapped !== undefined) return Number(mapped);\n return Number(ch);\n};\n\nconst compact = (value: string): string =>\n clean(value, \" -\").toUpperCase();\n\nconst validate = (value: string): ValidateResult => {\n const v = compact(value);\n\n // 11-digit: delegate to Partita IVA\n if (v.length === 11 && isdigits(v)) {\n return validateIva(v);\n }\n\n if (v.length !== 16) {\n return err(\n \"INVALID_LENGTH\",\n \"Codice Fiscale must be 16 characters\",\n );\n }\n // Structural format: 6 letters + 2 alphanumeric\n // + 1 letter (month) + 2 alphanumeric + 1 letter\n // (municipality) + 3 alphanumeric + 1 check letter\n // The \"alphanumeric\" positions accept omocodia\n // substitution letters (LMNPQRSTUV for 0-9)\n if (\n // Omocodia: digits can be replaced with\n // LMNPQRSTUV only (not arbitrary letters)\n !/^[A-Z]{6}[0-9LMNPQRSTUV]{2}[ABCDEHLMPRST][0-9LMNPQRSTUV]{2}[A-Z][0-9LMNPQRSTUV]{3}[A-Z]$/.test(\n v,\n )\n ) {\n return err(\n \"INVALID_FORMAT\",\n \"Codice Fiscale format is invalid\",\n );\n }\n\n // Compute check letter\n let sum = 0;\n for (let i = 0; i < 15; i++) {\n const ch = v[i];\n if (ch === undefined) continue;\n if (i % 2 === 0) {\n // Odd position (1-based) = even index\n const val = ODD[ch];\n if (val === undefined) {\n return err(\n \"INVALID_FORMAT\",\n \"Codice Fiscale contains invalid char\",\n );\n }\n sum += val;\n } else {\n const val = EVEN[ch];\n if (val === undefined) {\n return err(\n \"INVALID_FORMAT\",\n \"Codice Fiscale contains invalid char\",\n );\n }\n sum += val;\n }\n }\n\n const expected = CHECK_LETTERS[sum % 26];\n if (expected !== v[15]) {\n return err(\n \"INVALID_CHECKSUM\",\n \"Codice Fiscale check letter mismatch\",\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 a Codice Fiscale.\n * Returns null if the value is not valid or is an\n * 11-digit Partita IVA (no personal data embedded).\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 if (v.length !== 16) return null;\n\n const yy =\n decodeCfDigit(v.charAt(6)) * 10 +\n decodeCfDigit(v.charAt(7));\n const month = MONTH_LETTERS[v.charAt(8)];\n if (month === undefined) return null;\n let dd =\n decodeCfDigit(v.charAt(9)) * 10 +\n decodeCfDigit(v.charAt(10));\n\n const gender = dd > 40 ? \"female\" : \"male\";\n if (dd > 40) dd -= 40;\n\n const currentYear = new Date().getFullYear();\n let year = 2000 + yy;\n if (year > currentYear) year -= 100;\n\n return {\n birthDate: new Date(year, month - 1, dd),\n gender,\n };\n};\n\nconst LETTERS = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\";\nconst MONTH_CODES = Object.keys(MONTH_LETTERS);\n\nconst randomLetter = (): string =>\n LETTERS.charAt(randomInt(0, LETTERS.length - 1));\n\n/** Generate a random valid 16-character Codice Fiscale. */\nconst generate = (): string => {\n let body = \"\";\n\n for (let i = 0; i < 6; i++) {\n body += randomLetter();\n }\n\n body += String(randomInt(0, 99)).padStart(2, \"0\");\n body +=\n MONTH_CODES[randomInt(0, MONTH_CODES.length - 1)] ??\n \"A\";\n\n const day =\n randomInt(1, 28) + (randomInt(0, 1) === 0 ? 0 : 40);\n body += String(day).padStart(2, \"0\");\n body += randomLetter();\n body += String(randomInt(0, 999)).padStart(3, \"0\");\n\n let sum = 0;\n for (let i = 0; i < body.length; i++) {\n const ch = body[i];\n if (ch === undefined) continue;\n sum += i % 2 === 0 ? (ODD[ch] ?? 0) : (EVEN[ch] ?? 0);\n }\n\n return `${body}${CHECK_LETTERS.charAt(sum % 26)}`;\n};\n\n/** Italian Tax Code. */\nconst codiceFiscale: Validator<ParsedPersonId> = {\n name: \"Italian Tax Code\",\n localName: \"Codice Fiscale\",\n abbreviation: \"CF\",\n aliases: [\n \"codice fiscale\",\n \"C.F.\",\n \"CF\",\n \"cod. fisc.\",\n \"fiscal code\",\n ] as const,\n candidatePattern:\n \"[A-Z]{6}\\\\d{2}[A-Z]\\\\d{2}[A-Z]\\\\d{3}[A-Z]\",\n country: \"IT\",\n entityType: \"person\",\n description:\n \"Personal/company tax code (16-char personal, 11-digit company)\",\n sourceUrl: \"https://www.agenziaentrate.gov.it/\",\n lengths: [11, 16] as const,\n examples: [\"RCCMNL83S18D969H\"] as const,\n compact,\n format,\n parse,\n validate,\n generate,\n};\n\nexport default codiceFiscale;\nexport { compact, format, generate, parse, validate };\n"],"mappings":"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"}
|
package/dist/it/iva.d.ts
CHANGED
package/dist/it/mod.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { __exportAll } from "../_virtual/_rolldown/runtime.js";
|
|
2
1
|
import codiceFiscale from "./codicefiscale.js";
|
|
3
2
|
import iva from "./iva.js";
|
|
4
3
|
|
|
5
4
|
//#region src/it/mod.d.ts
|
|
6
|
-
|
|
5
|
+
declare namespace mod_d_exports {
|
|
6
|
+
export { codiceFiscale, iva };
|
|
7
|
+
}
|
|
7
8
|
//#endregion
|
|
8
9
|
export { codiceFiscale, iva, mod_d_exports };
|
|
9
10
|
//# sourceMappingURL=mod.d.ts.map
|
package/dist/jp/cn.d.ts
CHANGED
package/dist/jp/mod.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { __exportAll } from "../_virtual/_rolldown/runtime.js";
|
|
2
1
|
import cn from "./cn.js";
|
|
3
2
|
import mynumber from "./mynumber.js";
|
|
4
3
|
|
|
5
4
|
//#region src/jp/mod.d.ts
|
|
6
|
-
|
|
5
|
+
declare namespace mod_d_exports {
|
|
6
|
+
export { cn, mynumber };
|
|
7
|
+
}
|
|
7
8
|
//#endregion
|
|
8
9
|
export { cn, mod_d_exports, mynumber };
|
|
9
10
|
//# sourceMappingURL=mod.d.ts.map
|
package/dist/jp/mynumber.d.ts
CHANGED
package/dist/kr/mod.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { __exportAll } from "../_virtual/_rolldown/runtime.js";
|
|
2
1
|
import brn from "./brn.js";
|
|
3
2
|
import rrn from "./rrn.js";
|
|
4
3
|
|
|
5
4
|
//#region src/kr/mod.d.ts
|
|
6
|
-
|
|
5
|
+
declare namespace mod_d_exports {
|
|
6
|
+
export { brn, rrn };
|
|
7
|
+
}
|
|
7
8
|
//#endregion
|
|
8
9
|
export { brn, mod_d_exports, rrn };
|
|
9
10
|
//# sourceMappingURL=mod.d.ts.map
|
package/dist/kr/rrn.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { ParsedPersonId, ValidateResult, Validator } from "../types.js";
|
|
2
2
|
|
|
3
3
|
//#region src/kr/rrn.d.ts
|
|
4
|
-
|
|
5
4
|
declare const compact: (value: string) => string;
|
|
6
5
|
declare const validate: (value: string) => ValidateResult;
|
|
7
6
|
declare const format: (value: string) => string;
|
|
@@ -15,8 +14,10 @@ declare const format: (value: string) => string;
|
|
|
15
14
|
* 0, 9 = pre-1800 (male/female by convention)
|
|
16
15
|
*/
|
|
17
16
|
declare const parse: (value: string) => ParsedPersonId | null;
|
|
17
|
+
/** Generate a random valid Korean RRN. */
|
|
18
|
+
declare const generate: () => string;
|
|
18
19
|
/** Korean Resident Registration Number. */
|
|
19
|
-
declare const rrn: Validator
|
|
20
|
+
declare const rrn: Validator<ParsedPersonId>;
|
|
20
21
|
//#endregion
|
|
21
|
-
export { compact, rrn as default, format, parse, validate };
|
|
22
|
+
export { compact, rrn as default, format, generate, parse, validate };
|
|
22
23
|
//# sourceMappingURL=rrn.d.ts.map
|