@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.
Files changed (1130) hide show
  1. package/LICENSE +25 -0
  2. package/README.md +323 -0
  3. package/dist/_checksums/luhn.d.ts +12 -0
  4. package/dist/_checksums/luhn.js +26 -0
  5. package/dist/_checksums/luhn.js.map +1 -0
  6. package/dist/_checksums/mod1110.d.ts +12 -0
  7. package/dist/_checksums/mod1110.js +25 -0
  8. package/dist/_checksums/mod1110.js.map +1 -0
  9. package/dist/_checksums/mod112.d.ts +24 -0
  10. package/dist/_checksums/mod112.js +53 -0
  11. package/dist/_checksums/mod112.js.map +1 -0
  12. package/dist/_checksums/mod97.d.ts +23 -0
  13. package/dist/_checksums/mod97.js +28 -0
  14. package/dist/_checksums/mod97.js.map +1 -0
  15. package/dist/_checksums/verhoeff.d.ts +22 -0
  16. package/dist/_checksums/verhoeff.js +271 -0
  17. package/dist/_checksums/verhoeff.js.map +1 -0
  18. package/dist/_checksums/weighted-sum.d.ts +13 -0
  19. package/dist/_checksums/weighted-sum.js +22 -0
  20. package/dist/_checksums/weighted-sum.js.map +1 -0
  21. package/dist/_util/arabic.d.ts +19 -0
  22. package/dist/_util/arabic.js +41 -0
  23. package/dist/_util/arabic.js.map +1 -0
  24. package/dist/_util/clean.d.ts +13 -0
  25. package/dist/_util/clean.js +71 -0
  26. package/dist/_util/clean.js.map +1 -0
  27. package/dist/_util/date.d.ts +12 -0
  28. package/dist/_util/date.js +19 -0
  29. package/dist/_util/date.js.map +1 -0
  30. package/dist/_util/generate.d.ts +16 -0
  31. package/dist/_util/generate.js +21 -0
  32. package/dist/_util/generate.js.map +1 -0
  33. package/dist/_util/result.d.ts +8 -0
  34. package/dist/_util/result.js +13 -0
  35. package/dist/_util/result.js.map +1 -0
  36. package/dist/_util/strings.d.ts +21 -0
  37. package/dist/_util/strings.js +28 -0
  38. package/dist/_util/strings.js.map +1 -0
  39. package/dist/_virtual/_rolldown/runtime.js +13 -0
  40. package/dist/ad/mod.d.ts +8 -0
  41. package/dist/ad/mod.js +8 -0
  42. package/dist/ad/mod.js.map +1 -0
  43. package/dist/ad/nrt.d.ts +13 -0
  44. package/dist/ad/nrt.js +69 -0
  45. package/dist/ad/nrt.js.map +1 -0
  46. package/dist/ae/eid.d.ts +17 -0
  47. package/dist/ae/eid.js +79 -0
  48. package/dist/ae/eid.js.map +1 -0
  49. package/dist/ae/mod.d.ts +8 -0
  50. package/dist/ae/mod.js +8 -0
  51. package/dist/ae/mod.js.map +1 -0
  52. package/dist/ai/mod.d.ts +8 -0
  53. package/dist/ai/mod.js +8 -0
  54. package/dist/ai/mod.js.map +1 -0
  55. package/dist/ai/tin.d.ts +19 -0
  56. package/dist/ai/tin.js +72 -0
  57. package/dist/ai/tin.js.map +1 -0
  58. package/dist/al/mod.d.ts +8 -0
  59. package/dist/al/mod.js +8 -0
  60. package/dist/al/mod.js.map +1 -0
  61. package/dist/al/nipt.d.ts +13 -0
  62. package/dist/al/nipt.js +56 -0
  63. package/dist/al/nipt.js.map +1 -0
  64. package/dist/am/mod.d.ts +8 -0
  65. package/dist/am/mod.js +8 -0
  66. package/dist/am/mod.js.map +1 -0
  67. package/dist/am/tin.d.ts +13 -0
  68. package/dist/am/tin.js +53 -0
  69. package/dist/am/tin.js.map +1 -0
  70. package/dist/ar/cbu.d.ts +14 -0
  71. package/dist/ar/cbu.js +88 -0
  72. package/dist/ar/cbu.js.map +1 -0
  73. package/dist/ar/cuit.d.ts +19 -0
  74. package/dist/ar/cuit.js +123 -0
  75. package/dist/ar/cuit.js.map +1 -0
  76. package/dist/ar/dni.d.ts +13 -0
  77. package/dist/ar/dni.js +57 -0
  78. package/dist/ar/dni.js.map +1 -0
  79. package/dist/ar/mod.d.ts +10 -0
  80. package/dist/ar/mod.js +14 -0
  81. package/dist/ar/mod.js.map +1 -0
  82. package/dist/at/businessid.d.ts +13 -0
  83. package/dist/at/businessid.js +56 -0
  84. package/dist/at/businessid.js.map +1 -0
  85. package/dist/at/mod.d.ts +11 -0
  86. package/dist/at/mod.js +16 -0
  87. package/dist/at/mod.js.map +1 -0
  88. package/dist/at/tin.d.ts +14 -0
  89. package/dist/at/tin.js +70 -0
  90. package/dist/at/tin.js.map +1 -0
  91. package/dist/at/uid.d.ts +14 -0
  92. package/dist/at/uid.js +64 -0
  93. package/dist/at/uid.js.map +1 -0
  94. package/dist/at/vnr.d.ts +12 -0
  95. package/dist/at/vnr.js +79 -0
  96. package/dist/at/vnr.js.map +1 -0
  97. package/dist/au/abn.d.ts +14 -0
  98. package/dist/au/abn.js +77 -0
  99. package/dist/au/abn.js.map +1 -0
  100. package/dist/au/acn.d.ts +14 -0
  101. package/dist/au/acn.js +70 -0
  102. package/dist/au/acn.js.map +1 -0
  103. package/dist/au/mod.d.ts +10 -0
  104. package/dist/au/mod.js +14 -0
  105. package/dist/au/mod.js.map +1 -0
  106. package/dist/au/tfn.d.ts +14 -0
  107. package/dist/au/tfn.js +71 -0
  108. package/dist/au/tfn.js.map +1 -0
  109. package/dist/az/mod.d.ts +8 -0
  110. package/dist/az/mod.js +8 -0
  111. package/dist/az/mod.js.map +1 -0
  112. package/dist/az/voen.d.ts +21 -0
  113. package/dist/az/voen.js +100 -0
  114. package/dist/az/voen.js.map +1 -0
  115. package/dist/ba/jmbg.d.ts +15 -0
  116. package/dist/ba/jmbg.js +97 -0
  117. package/dist/ba/jmbg.js.map +1 -0
  118. package/dist/ba/mod.d.ts +8 -0
  119. package/dist/ba/mod.js +8 -0
  120. package/dist/ba/mod.js.map +1 -0
  121. package/dist/bd/mod.d.ts +8 -0
  122. package/dist/bd/mod.js +8 -0
  123. package/dist/bd/mod.js.map +1 -0
  124. package/dist/bd/nid.d.ts +13 -0
  125. package/dist/bd/nid.js +116 -0
  126. package/dist/bd/nid.js.map +1 -0
  127. package/dist/be/bis.d.ts +14 -0
  128. package/dist/be/bis.js +65 -0
  129. package/dist/be/bis.js.map +1 -0
  130. package/dist/be/mod.d.ts +10 -0
  131. package/dist/be/mod.js +14 -0
  132. package/dist/be/mod.js.map +1 -0
  133. package/dist/be/nn.d.ts +21 -0
  134. package/dist/be/nn.js +84 -0
  135. package/dist/be/nn.js.map +1 -0
  136. package/dist/be/vat.d.ts +14 -0
  137. package/dist/be/vat.js +70 -0
  138. package/dist/be/vat.js.map +1 -0
  139. package/dist/bg/egn.d.ts +19 -0
  140. package/dist/bg/egn.js +122 -0
  141. package/dist/bg/egn.js.map +1 -0
  142. package/dist/bg/mod.d.ts +10 -0
  143. package/dist/bg/mod.js +14 -0
  144. package/dist/bg/mod.js.map +1 -0
  145. package/dist/bg/pnf.d.ts +14 -0
  146. package/dist/bg/pnf.js +70 -0
  147. package/dist/bg/pnf.js.map +1 -0
  148. package/dist/bg/vat.d.ts +14 -0
  149. package/dist/bg/vat.js +153 -0
  150. package/dist/bg/vat.js.map +1 -0
  151. package/dist/bh/cpr.d.ts +12 -0
  152. package/dist/bh/cpr.js +58 -0
  153. package/dist/bh/cpr.js.map +1 -0
  154. package/dist/bh/mod.d.ts +8 -0
  155. package/dist/bh/mod.js +8 -0
  156. package/dist/bh/mod.js.map +1 -0
  157. package/dist/bic.d.ts +13 -0
  158. package/dist/bic.js +72 -0
  159. package/dist/bic.js.map +1 -0
  160. package/dist/br/cnpj.d.ts +21 -0
  161. package/dist/br/cnpj.js +132 -0
  162. package/dist/br/cnpj.js.map +1 -0
  163. package/dist/br/cpf.d.ts +14 -0
  164. package/dist/br/cpf.js +83 -0
  165. package/dist/br/cpf.js.map +1 -0
  166. package/dist/br/mod.d.ts +9 -0
  167. package/dist/br/mod.js +12 -0
  168. package/dist/br/mod.js.map +1 -0
  169. package/dist/by/mod.d.ts +8 -0
  170. package/dist/by/mod.js +8 -0
  171. package/dist/by/mod.js.map +1 -0
  172. package/dist/by/unp.d.ts +14 -0
  173. package/dist/by/unp.js +114 -0
  174. package/dist/by/unp.js.map +1 -0
  175. package/dist/bz/mod.d.ts +8 -0
  176. package/dist/bz/mod.js +8 -0
  177. package/dist/bz/mod.js.map +1 -0
  178. package/dist/bz/tin.d.ts +16 -0
  179. package/dist/bz/tin.js +85 -0
  180. package/dist/bz/tin.js.map +1 -0
  181. package/dist/ca/bn.d.ts +14 -0
  182. package/dist/ca/bn.js +73 -0
  183. package/dist/ca/bn.js.map +1 -0
  184. package/dist/ca/mod.d.ts +9 -0
  185. package/dist/ca/mod.js +12 -0
  186. package/dist/ca/mod.js.map +1 -0
  187. package/dist/ca/sin.d.ts +14 -0
  188. package/dist/ca/sin.js +62 -0
  189. package/dist/ca/sin.js.map +1 -0
  190. package/dist/ch/mod.d.ts +10 -0
  191. package/dist/ch/mod.js +14 -0
  192. package/dist/ch/mod.js.map +1 -0
  193. package/dist/ch/ssn.d.ts +14 -0
  194. package/dist/ch/ssn.js +67 -0
  195. package/dist/ch/ssn.js.map +1 -0
  196. package/dist/ch/uid.d.ts +14 -0
  197. package/dist/ch/uid.js +81 -0
  198. package/dist/ch/uid.js.map +1 -0
  199. package/dist/ch/vat.d.ts +14 -0
  200. package/dist/ch/vat.js +70 -0
  201. package/dist/ch/vat.js.map +1 -0
  202. package/dist/cl/mod.d.ts +8 -0
  203. package/dist/cl/mod.js +8 -0
  204. package/dist/cl/mod.js.map +1 -0
  205. package/dist/cl/rut.d.ts +19 -0
  206. package/dist/cl/rut.js +95 -0
  207. package/dist/cl/rut.js.map +1 -0
  208. package/dist/cn/mod.d.ts +9 -0
  209. package/dist/cn/mod.js +12 -0
  210. package/dist/cn/mod.js.map +1 -0
  211. package/dist/cn/ric.d.ts +19 -0
  212. package/dist/cn/ric.js +108 -0
  213. package/dist/cn/ric.js.map +1 -0
  214. package/dist/cn/uscc.d.ts +14 -0
  215. package/dist/cn/uscc.js +88 -0
  216. package/dist/cn/uscc.js.map +1 -0
  217. package/dist/co/mod.d.ts +8 -0
  218. package/dist/co/mod.js +8 -0
  219. package/dist/co/mod.js.map +1 -0
  220. package/dist/co/nit.d.ts +14 -0
  221. package/dist/co/nit.js +109 -0
  222. package/dist/co/nit.js.map +1 -0
  223. package/dist/cr/cpf.d.ts +21 -0
  224. package/dist/cr/cpf.js +79 -0
  225. package/dist/cr/cpf.js.map +1 -0
  226. package/dist/cr/mod.d.ts +8 -0
  227. package/dist/cr/mod.js +8 -0
  228. package/dist/cr/mod.js.map +1 -0
  229. package/dist/creditcard.d.ts +25 -0
  230. package/dist/creditcard.js +121 -0
  231. package/dist/creditcard.js.map +1 -0
  232. package/dist/cu/mod.d.ts +8 -0
  233. package/dist/cu/mod.js +8 -0
  234. package/dist/cu/mod.js.map +1 -0
  235. package/dist/cu/ni.d.ts +21 -0
  236. package/dist/cu/ni.js +90 -0
  237. package/dist/cu/ni.js.map +1 -0
  238. package/dist/cy/mod.d.ts +8 -0
  239. package/dist/cy/mod.js +8 -0
  240. package/dist/cy/mod.js.map +1 -0
  241. package/dist/cy/vat.d.ts +14 -0
  242. package/dist/cy/vat.js +88 -0
  243. package/dist/cy/vat.js.map +1 -0
  244. package/dist/cz/dic.d.ts +14 -0
  245. package/dist/cz/dic.js +97 -0
  246. package/dist/cz/dic.js.map +1 -0
  247. package/dist/cz/ico.d.ts +14 -0
  248. package/dist/cz/ico.js +70 -0
  249. package/dist/cz/ico.js.map +1 -0
  250. package/dist/cz/mod.d.ts +10 -0
  251. package/dist/cz/mod.js +14 -0
  252. package/dist/cz/mod.js.map +1 -0
  253. package/dist/cz/rc.d.ts +22 -0
  254. package/dist/cz/rc.js +116 -0
  255. package/dist/cz/rc.js.map +1 -0
  256. package/dist/de/handelsreg.d.ts +17 -0
  257. package/dist/de/handelsreg.js +86 -0
  258. package/dist/de/handelsreg.js.map +1 -0
  259. package/dist/de/idnr.d.ts +14 -0
  260. package/dist/de/idnr.js +102 -0
  261. package/dist/de/idnr.js.map +1 -0
  262. package/dist/de/mod.d.ts +12 -0
  263. package/dist/de/mod.js +18 -0
  264. package/dist/de/mod.js.map +1 -0
  265. package/dist/de/stnr.d.ts +22 -0
  266. package/dist/de/stnr.js +144 -0
  267. package/dist/de/stnr.js.map +1 -0
  268. package/dist/de/svnr.d.ts +14 -0
  269. package/dist/de/svnr.js +108 -0
  270. package/dist/de/svnr.js.map +1 -0
  271. package/dist/de/vat.d.ts +14 -0
  272. package/dist/de/vat.js +65 -0
  273. package/dist/de/vat.js.map +1 -0
  274. package/dist/dk/cpr.d.ts +17 -0
  275. package/dist/dk/cpr.js +81 -0
  276. package/dist/dk/cpr.js.map +1 -0
  277. package/dist/dk/cvr.d.ts +14 -0
  278. package/dist/dk/cvr.js +70 -0
  279. package/dist/dk/cvr.js.map +1 -0
  280. package/dist/dk/mod.d.ts +10 -0
  281. package/dist/dk/mod.js +14 -0
  282. package/dist/dk/mod.js.map +1 -0
  283. package/dist/dk/vat.d.ts +14 -0
  284. package/dist/dk/vat.js +72 -0
  285. package/dist/dk/vat.js.map +1 -0
  286. package/dist/do/mod.d.ts +8 -0
  287. package/dist/do/mod.js +8 -0
  288. package/dist/do/mod.js.map +1 -0
  289. package/dist/do/rnc.d.ts +18 -0
  290. package/dist/do/rnc.js +95 -0
  291. package/dist/do/rnc.js.map +1 -0
  292. package/dist/ec/mod.d.ts +8 -0
  293. package/dist/ec/mod.js +8 -0
  294. package/dist/ec/mod.js.map +1 -0
  295. package/dist/ec/ruc.d.ts +14 -0
  296. package/dist/ec/ruc.js +150 -0
  297. package/dist/ec/ruc.js.map +1 -0
  298. package/dist/ee/ik.d.ts +24 -0
  299. package/dist/ee/ik.js +131 -0
  300. package/dist/ee/ik.js.map +1 -0
  301. package/dist/ee/mod.d.ts +10 -0
  302. package/dist/ee/mod.js +14 -0
  303. package/dist/ee/mod.js.map +1 -0
  304. package/dist/ee/registrikood.d.ts +14 -0
  305. package/dist/ee/registrikood.js +63 -0
  306. package/dist/ee/registrikood.js.map +1 -0
  307. package/dist/ee/vat.d.ts +14 -0
  308. package/dist/ee/vat.js +69 -0
  309. package/dist/ee/vat.js.map +1 -0
  310. package/dist/eg/mod.d.ts +8 -0
  311. package/dist/eg/mod.js +8 -0
  312. package/dist/eg/mod.js.map +1 -0
  313. package/dist/eg/tn.d.ts +13 -0
  314. package/dist/eg/tn.js +81 -0
  315. package/dist/eg/tn.js.map +1 -0
  316. package/dist/es/cif.d.ts +14 -0
  317. package/dist/es/cif.js +66 -0
  318. package/dist/es/cif.js.map +1 -0
  319. package/dist/es/dni.d.ts +15 -0
  320. package/dist/es/dni.js +58 -0
  321. package/dist/es/dni.js.map +1 -0
  322. package/dist/es/mod.d.ts +12 -0
  323. package/dist/es/mod.js +18 -0
  324. package/dist/es/mod.js.map +1 -0
  325. package/dist/es/nie.d.ts +14 -0
  326. package/dist/es/nie.js +78 -0
  327. package/dist/es/nie.js.map +1 -0
  328. package/dist/es/nss.d.ts +14 -0
  329. package/dist/es/nss.js +72 -0
  330. package/dist/es/nss.js.map +1 -0
  331. package/dist/es/vat.d.ts +15 -0
  332. package/dist/es/vat.js +104 -0
  333. package/dist/es/vat.js.map +1 -0
  334. package/dist/eu/mod.d.ts +8 -0
  335. package/dist/eu/mod.js +8 -0
  336. package/dist/eu/mod.js.map +1 -0
  337. package/dist/eu/vat.d.ts +20 -0
  338. package/dist/eu/vat.js +145 -0
  339. package/dist/eu/vat.js.map +1 -0
  340. package/dist/fi/hetu.d.ts +17 -0
  341. package/dist/fi/hetu.js +107 -0
  342. package/dist/fi/hetu.js.map +1 -0
  343. package/dist/fi/mod.d.ts +10 -0
  344. package/dist/fi/mod.js +14 -0
  345. package/dist/fi/mod.js.map +1 -0
  346. package/dist/fi/vat.d.ts +14 -0
  347. package/dist/fi/vat.js +68 -0
  348. package/dist/fi/vat.js.map +1 -0
  349. package/dist/fi/ytunnus.d.ts +14 -0
  350. package/dist/fi/ytunnus.js +71 -0
  351. package/dist/fi/ytunnus.js.map +1 -0
  352. package/dist/fr/mod.d.ts +12 -0
  353. package/dist/fr/mod.js +18 -0
  354. package/dist/fr/mod.js.map +1 -0
  355. package/dist/fr/nif.d.ts +14 -0
  356. package/dist/fr/nif.js +64 -0
  357. package/dist/fr/nif.js.map +1 -0
  358. package/dist/fr/nir.d.ts +15 -0
  359. package/dist/fr/nir.js +106 -0
  360. package/dist/fr/nir.js.map +1 -0
  361. package/dist/fr/siren.d.ts +14 -0
  362. package/dist/fr/siren.js +56 -0
  363. package/dist/fr/siren.js.map +1 -0
  364. package/dist/fr/siret.d.ts +14 -0
  365. package/dist/fr/siret.js +73 -0
  366. package/dist/fr/siret.js.map +1 -0
  367. package/dist/fr/tva.d.ts +14 -0
  368. package/dist/fr/tva.js +80 -0
  369. package/dist/fr/tva.js.map +1 -0
  370. package/dist/gb/mod.d.ts +11 -0
  371. package/dist/gb/mod.js +16 -0
  372. package/dist/gb/mod.js.map +1 -0
  373. package/dist/gb/nino.d.ts +13 -0
  374. package/dist/gb/nino.js +103 -0
  375. package/dist/gb/nino.js.map +1 -0
  376. package/dist/gb/sedol.d.ts +15 -0
  377. package/dist/gb/sedol.js +85 -0
  378. package/dist/gb/sedol.js.map +1 -0
  379. package/dist/gb/utr.d.ts +14 -0
  380. package/dist/gb/utr.js +69 -0
  381. package/dist/gb/utr.js.map +1 -0
  382. package/dist/gb/vat.d.ts +14 -0
  383. package/dist/gb/vat.js +102 -0
  384. package/dist/gb/vat.js.map +1 -0
  385. package/dist/ge/mod.d.ts +8 -0
  386. package/dist/ge/mod.js +8 -0
  387. package/dist/ge/mod.js.map +1 -0
  388. package/dist/ge/pin.d.ts +13 -0
  389. package/dist/ge/pin.js +51 -0
  390. package/dist/ge/pin.js.map +1 -0
  391. package/dist/gh/mod.d.ts +8 -0
  392. package/dist/gh/mod.js +8 -0
  393. package/dist/gh/mod.js.map +1 -0
  394. package/dist/gh/tin.d.ts +14 -0
  395. package/dist/gh/tin.js +80 -0
  396. package/dist/gh/tin.js.map +1 -0
  397. package/dist/gr/amka.d.ts +14 -0
  398. package/dist/gr/amka.js +71 -0
  399. package/dist/gr/amka.js.map +1 -0
  400. package/dist/gr/mod.d.ts +9 -0
  401. package/dist/gr/mod.js +12 -0
  402. package/dist/gr/mod.js.map +1 -0
  403. package/dist/gr/vat.d.ts +14 -0
  404. package/dist/gr/vat.js +66 -0
  405. package/dist/gr/vat.js.map +1 -0
  406. package/dist/gt/mod.d.ts +8 -0
  407. package/dist/gt/mod.js +8 -0
  408. package/dist/gt/mod.js.map +1 -0
  409. package/dist/gt/nit.d.ts +21 -0
  410. package/dist/gt/nit.js +98 -0
  411. package/dist/gt/nit.js.map +1 -0
  412. package/dist/hk/hkid.d.ts +15 -0
  413. package/dist/hk/hkid.js +92 -0
  414. package/dist/hk/hkid.js.map +1 -0
  415. package/dist/hk/mod.d.ts +8 -0
  416. package/dist/hk/mod.js +8 -0
  417. package/dist/hk/mod.js.map +1 -0
  418. package/dist/hr/mod.d.ts +8 -0
  419. package/dist/hr/mod.js +8 -0
  420. package/dist/hr/mod.js.map +1 -0
  421. package/dist/hr/vat.d.ts +14 -0
  422. package/dist/hr/vat.js +55 -0
  423. package/dist/hr/vat.js.map +1 -0
  424. package/dist/hu/mod.d.ts +8 -0
  425. package/dist/hu/mod.js +8 -0
  426. package/dist/hu/mod.js.map +1 -0
  427. package/dist/hu/vat.d.ts +14 -0
  428. package/dist/hu/vat.js +68 -0
  429. package/dist/hu/vat.js.map +1 -0
  430. package/dist/iban.d.ts +16 -0
  431. package/dist/iban.js +282 -0
  432. package/dist/iban.js.map +1 -0
  433. package/dist/id/mod.d.ts +8 -0
  434. package/dist/id/mod.js +8 -0
  435. package/dist/id/mod.js.map +1 -0
  436. package/dist/id/npwp.d.ts +14 -0
  437. package/dist/id/npwp.js +133 -0
  438. package/dist/id/npwp.js.map +1 -0
  439. package/dist/ie/mod.d.ts +9 -0
  440. package/dist/ie/mod.js +12 -0
  441. package/dist/ie/mod.js.map +1 -0
  442. package/dist/ie/pps.d.ts +14 -0
  443. package/dist/ie/pps.js +69 -0
  444. package/dist/ie/pps.js.map +1 -0
  445. package/dist/ie/vat.d.ts +14 -0
  446. package/dist/ie/vat.js +83 -0
  447. package/dist/ie/vat.js.map +1 -0
  448. package/dist/il/idnr.d.ts +14 -0
  449. package/dist/il/idnr.js +61 -0
  450. package/dist/il/idnr.js.map +1 -0
  451. package/dist/il/mod.d.ts +8 -0
  452. package/dist/il/mod.js +8 -0
  453. package/dist/il/mod.js.map +1 -0
  454. package/dist/in/aadhaar.d.ts +14 -0
  455. package/dist/in/aadhaar.js +61 -0
  456. package/dist/in/aadhaar.js.map +1 -0
  457. package/dist/in/gstin.d.ts +14 -0
  458. package/dist/in/gstin.js +130 -0
  459. package/dist/in/gstin.js.map +1 -0
  460. package/dist/in/mod.d.ts +10 -0
  461. package/dist/in/mod.js +14 -0
  462. package/dist/in/mod.js.map +1 -0
  463. package/dist/in/pan.d.ts +13 -0
  464. package/dist/in/pan.js +58 -0
  465. package/dist/in/pan.js.map +1 -0
  466. package/dist/index.d.ts +105 -0
  467. package/dist/index.js +104 -0
  468. package/dist/iq/mod.d.ts +8 -0
  469. package/dist/iq/mod.js +8 -0
  470. package/dist/iq/mod.js.map +1 -0
  471. package/dist/iq/nid.d.ts +14 -0
  472. package/dist/iq/nid.js +56 -0
  473. package/dist/iq/nid.js.map +1 -0
  474. package/dist/ir/mod.d.ts +8 -0
  475. package/dist/ir/mod.js +8 -0
  476. package/dist/ir/mod.js.map +1 -0
  477. package/dist/ir/nid.d.ts +18 -0
  478. package/dist/ir/nid.js +90 -0
  479. package/dist/ir/nid.js.map +1 -0
  480. package/dist/is/kennitala.d.ts +14 -0
  481. package/dist/is/kennitala.js +92 -0
  482. package/dist/is/kennitala.js.map +1 -0
  483. package/dist/is/mod.d.ts +9 -0
  484. package/dist/is/mod.js +12 -0
  485. package/dist/is/mod.js.map +1 -0
  486. package/dist/is/vsk.d.ts +13 -0
  487. package/dist/is/vsk.js +47 -0
  488. package/dist/is/vsk.js.map +1 -0
  489. package/dist/isin.d.ts +14 -0
  490. package/dist/isin.js +85 -0
  491. package/dist/isin.js.map +1 -0
  492. package/dist/it/codicefiscale.d.ts +18 -0
  493. package/dist/it/codicefiscale.js +214 -0
  494. package/dist/it/codicefiscale.js.map +1 -0
  495. package/dist/it/iva.d.ts +14 -0
  496. package/dist/it/iva.js +71 -0
  497. package/dist/it/iva.js.map +1 -0
  498. package/dist/it/mod.d.ts +9 -0
  499. package/dist/it/mod.js +12 -0
  500. package/dist/it/mod.js.map +1 -0
  501. package/dist/jp/cn.d.ts +14 -0
  502. package/dist/jp/cn.js +68 -0
  503. package/dist/jp/cn.js.map +1 -0
  504. package/dist/jp/mod.d.ts +9 -0
  505. package/dist/jp/mod.js +12 -0
  506. package/dist/jp/mod.js.map +1 -0
  507. package/dist/jp/mynumber.d.ts +14 -0
  508. package/dist/jp/mynumber.js +86 -0
  509. package/dist/jp/mynumber.js.map +1 -0
  510. package/dist/kr/brn.d.ts +13 -0
  511. package/dist/kr/brn.js +67 -0
  512. package/dist/kr/brn.js.map +1 -0
  513. package/dist/kr/mod.d.ts +9 -0
  514. package/dist/kr/mod.js +12 -0
  515. package/dist/kr/mod.js.map +1 -0
  516. package/dist/kr/rrn.d.ts +22 -0
  517. package/dist/kr/rrn.js +133 -0
  518. package/dist/kr/rrn.js.map +1 -0
  519. package/dist/kw/civil.d.ts +18 -0
  520. package/dist/kw/civil.js +99 -0
  521. package/dist/kw/civil.js.map +1 -0
  522. package/dist/kw/mod.d.ts +8 -0
  523. package/dist/kw/mod.js +8 -0
  524. package/dist/kw/mod.js.map +1 -0
  525. package/dist/kz/iin.d.ts +23 -0
  526. package/dist/kz/iin.js +150 -0
  527. package/dist/kz/iin.js.map +1 -0
  528. package/dist/kz/mod.d.ts +8 -0
  529. package/dist/kz/mod.js +8 -0
  530. package/dist/kz/mod.js.map +1 -0
  531. package/dist/lei.d.ts +14 -0
  532. package/dist/lei.js +68 -0
  533. package/dist/lei.js.map +1 -0
  534. package/dist/li/mod.d.ts +8 -0
  535. package/dist/li/mod.js +8 -0
  536. package/dist/li/mod.js.map +1 -0
  537. package/dist/li/peid.d.ts +13 -0
  538. package/dist/li/peid.js +61 -0
  539. package/dist/li/peid.js.map +1 -0
  540. package/dist/lk/mod.d.ts +8 -0
  541. package/dist/lk/mod.js +8 -0
  542. package/dist/lk/mod.js.map +1 -0
  543. package/dist/lk/nic.d.ts +17 -0
  544. package/dist/lk/nic.js +139 -0
  545. package/dist/lk/nic.js.map +1 -0
  546. package/dist/lt/asmens.d.ts +14 -0
  547. package/dist/lt/asmens.js +81 -0
  548. package/dist/lt/asmens.js.map +1 -0
  549. package/dist/lt/mod.d.ts +9 -0
  550. package/dist/lt/mod.js +12 -0
  551. package/dist/lt/mod.js.map +1 -0
  552. package/dist/lt/vat.d.ts +14 -0
  553. package/dist/lt/vat.js +72 -0
  554. package/dist/lt/vat.js.map +1 -0
  555. package/dist/lu/mod.d.ts +8 -0
  556. package/dist/lu/mod.js +8 -0
  557. package/dist/lu/mod.js.map +1 -0
  558. package/dist/lu/vat.d.ts +14 -0
  559. package/dist/lu/vat.js +56 -0
  560. package/dist/lu/vat.js.map +1 -0
  561. package/dist/luhn.d.ts +17 -0
  562. package/dist/luhn.js +51 -0
  563. package/dist/luhn.js.map +1 -0
  564. package/dist/lv/mod.d.ts +8 -0
  565. package/dist/lv/mod.js +8 -0
  566. package/dist/lv/mod.js.map +1 -0
  567. package/dist/lv/vat.d.ts +14 -0
  568. package/dist/lv/vat.js +104 -0
  569. package/dist/lv/vat.js.map +1 -0
  570. package/dist/ma/ice.d.ts +14 -0
  571. package/dist/ma/ice.js +57 -0
  572. package/dist/ma/ice.js.map +1 -0
  573. package/dist/ma/mod.d.ts +8 -0
  574. package/dist/ma/mod.js +8 -0
  575. package/dist/ma/mod.js.map +1 -0
  576. package/dist/mc/mod.d.ts +8 -0
  577. package/dist/mc/mod.js +8 -0
  578. package/dist/mc/mod.js.map +1 -0
  579. package/dist/mc/tva.d.ts +14 -0
  580. package/dist/mc/tva.js +53 -0
  581. package/dist/mc/tva.js.map +1 -0
  582. package/dist/md/idno.d.ts +12 -0
  583. package/dist/md/idno.js +71 -0
  584. package/dist/md/idno.js.map +1 -0
  585. package/dist/md/mod.d.ts +8 -0
  586. package/dist/md/mod.js +8 -0
  587. package/dist/md/mod.js.map +1 -0
  588. package/dist/me/mod.d.ts +8 -0
  589. package/dist/me/mod.js +8 -0
  590. package/dist/me/mod.js.map +1 -0
  591. package/dist/me/pib.d.ts +14 -0
  592. package/dist/me/pib.js +63 -0
  593. package/dist/me/pib.js.map +1 -0
  594. package/dist/mk/edb.d.ts +14 -0
  595. package/dist/mk/edb.js +77 -0
  596. package/dist/mk/edb.js.map +1 -0
  597. package/dist/mk/mod.d.ts +8 -0
  598. package/dist/mk/mod.js +8 -0
  599. package/dist/mk/mod.js.map +1 -0
  600. package/dist/mt/mod.d.ts +8 -0
  601. package/dist/mt/mod.js +8 -0
  602. package/dist/mt/mod.js.map +1 -0
  603. package/dist/mt/vat.d.ts +14 -0
  604. package/dist/mt/vat.js +69 -0
  605. package/dist/mt/vat.js.map +1 -0
  606. package/dist/mu/brn.d.ts +13 -0
  607. package/dist/mu/brn.js +68 -0
  608. package/dist/mu/brn.js.map +1 -0
  609. package/dist/mu/mod.d.ts +8 -0
  610. package/dist/mu/mod.js +8 -0
  611. package/dist/mu/mod.js.map +1 -0
  612. package/dist/mx/clabe.d.ts +18 -0
  613. package/dist/mx/clabe.js +87 -0
  614. package/dist/mx/clabe.js.map +1 -0
  615. package/dist/mx/curp.d.ts +21 -0
  616. package/dist/mx/curp.js +140 -0
  617. package/dist/mx/curp.js.map +1 -0
  618. package/dist/mx/mod.d.ts +10 -0
  619. package/dist/mx/mod.js +14 -0
  620. package/dist/mx/mod.js.map +1 -0
  621. package/dist/mx/rfc.d.ts +16 -0
  622. package/dist/mx/rfc.js +92 -0
  623. package/dist/mx/rfc.js.map +1 -0
  624. package/dist/my/mod.d.ts +8 -0
  625. package/dist/my/mod.js +8 -0
  626. package/dist/my/mod.js.map +1 -0
  627. package/dist/my/nric.d.ts +17 -0
  628. package/dist/my/nric.js +186 -0
  629. package/dist/my/nric.js.map +1 -0
  630. package/dist/ng/mod.d.ts +8 -0
  631. package/dist/ng/mod.js +8 -0
  632. package/dist/ng/mod.js.map +1 -0
  633. package/dist/ng/nin.d.ts +13 -0
  634. package/dist/ng/nin.js +54 -0
  635. package/dist/ng/nin.js.map +1 -0
  636. package/dist/ni/mod.d.ts +8 -0
  637. package/dist/ni/mod.js +8 -0
  638. package/dist/ni/mod.js.map +1 -0
  639. package/dist/ni/ruc.d.ts +23 -0
  640. package/dist/ni/ruc.js +113 -0
  641. package/dist/ni/ruc.js.map +1 -0
  642. package/dist/nl/bsn.d.ts +14 -0
  643. package/dist/nl/bsn.js +70 -0
  644. package/dist/nl/bsn.js.map +1 -0
  645. package/dist/nl/kvk.d.ts +13 -0
  646. package/dist/nl/kvk.js +45 -0
  647. package/dist/nl/kvk.js.map +1 -0
  648. package/dist/nl/mod.d.ts +10 -0
  649. package/dist/nl/mod.js +14 -0
  650. package/dist/nl/mod.js.map +1 -0
  651. package/dist/nl/vat.d.ts +14 -0
  652. package/dist/nl/vat.js +94 -0
  653. package/dist/nl/vat.js.map +1 -0
  654. package/dist/no/fodselsnummer.d.ts +20 -0
  655. package/dist/no/fodselsnummer.js +134 -0
  656. package/dist/no/fodselsnummer.js.map +1 -0
  657. package/dist/no/mod.d.ts +10 -0
  658. package/dist/no/mod.js +14 -0
  659. package/dist/no/mod.js.map +1 -0
  660. package/dist/no/mva.d.ts +14 -0
  661. package/dist/no/mva.js +54 -0
  662. package/dist/no/mva.js.map +1 -0
  663. package/dist/no/orgnr.d.ts +14 -0
  664. package/dist/no/orgnr.js +66 -0
  665. package/dist/no/orgnr.js.map +1 -0
  666. package/dist/nz/ird.d.ts +14 -0
  667. package/dist/nz/ird.js +105 -0
  668. package/dist/nz/ird.js.map +1 -0
  669. package/dist/nz/mod.d.ts +8 -0
  670. package/dist/nz/mod.js +8 -0
  671. package/dist/nz/mod.js.map +1 -0
  672. package/dist/pa/mod.d.ts +8 -0
  673. package/dist/pa/mod.js +8 -0
  674. package/dist/pa/mod.js.map +1 -0
  675. package/dist/pa/ruc.d.ts +23 -0
  676. package/dist/pa/ruc.js +200 -0
  677. package/dist/pa/ruc.js.map +1 -0
  678. package/dist/patterns.d.ts +45 -0
  679. package/dist/patterns.js +123 -0
  680. package/dist/patterns.js.map +1 -0
  681. package/dist/pe/mod.d.ts +8 -0
  682. package/dist/pe/mod.js +8 -0
  683. package/dist/pe/mod.js.map +1 -0
  684. package/dist/pe/ruc.d.ts +19 -0
  685. package/dist/pe/ruc.js +109 -0
  686. package/dist/pe/ruc.js.map +1 -0
  687. package/dist/ph/mod.d.ts +8 -0
  688. package/dist/ph/mod.js +8 -0
  689. package/dist/ph/mod.js.map +1 -0
  690. package/dist/ph/philid.d.ts +13 -0
  691. package/dist/ph/philid.js +60 -0
  692. package/dist/ph/philid.js.map +1 -0
  693. package/dist/pk/cnic.d.ts +13 -0
  694. package/dist/pk/cnic.js +69 -0
  695. package/dist/pk/cnic.js.map +1 -0
  696. package/dist/pk/mod.d.ts +8 -0
  697. package/dist/pk/mod.js +8 -0
  698. package/dist/pk/mod.js.map +1 -0
  699. package/dist/pl/mod.d.ts +10 -0
  700. package/dist/pl/mod.js +14 -0
  701. package/dist/pl/mod.js.map +1 -0
  702. package/dist/pl/nip.d.ts +18 -0
  703. package/dist/pl/nip.js +77 -0
  704. package/dist/pl/nip.js.map +1 -0
  705. package/dist/pl/pesel.d.ts +19 -0
  706. package/dist/pl/pesel.js +109 -0
  707. package/dist/pl/pesel.js.map +1 -0
  708. package/dist/pl/regon.d.ts +14 -0
  709. package/dist/pl/regon.js +85 -0
  710. package/dist/pl/regon.js.map +1 -0
  711. package/dist/pt/cc.d.ts +14 -0
  712. package/dist/pt/cc.js +77 -0
  713. package/dist/pt/cc.js.map +1 -0
  714. package/dist/pt/mod.d.ts +9 -0
  715. package/dist/pt/mod.js +12 -0
  716. package/dist/pt/mod.js.map +1 -0
  717. package/dist/pt/vat.d.ts +14 -0
  718. package/dist/pt/vat.js +73 -0
  719. package/dist/pt/vat.js.map +1 -0
  720. package/dist/ro/cnp.d.ts +19 -0
  721. package/dist/ro/cnp.js +176 -0
  722. package/dist/ro/cnp.js.map +1 -0
  723. package/dist/ro/mod.d.ts +9 -0
  724. package/dist/ro/mod.js +12 -0
  725. package/dist/ro/mod.js.map +1 -0
  726. package/dist/ro/vat.d.ts +14 -0
  727. package/dist/ro/vat.js +76 -0
  728. package/dist/ro/vat.js.map +1 -0
  729. package/dist/rs/mod.d.ts +8 -0
  730. package/dist/rs/mod.js +8 -0
  731. package/dist/rs/mod.js.map +1 -0
  732. package/dist/rs/pib.d.ts +14 -0
  733. package/dist/rs/pib.js +60 -0
  734. package/dist/rs/pib.js.map +1 -0
  735. package/dist/ru/inn.d.ts +14 -0
  736. package/dist/ru/inn.js +103 -0
  737. package/dist/ru/inn.js.map +1 -0
  738. package/dist/ru/mod.d.ts +8 -0
  739. package/dist/ru/mod.js +8 -0
  740. package/dist/ru/mod.js.map +1 -0
  741. package/dist/se/mod.d.ts +10 -0
  742. package/dist/se/mod.js +14 -0
  743. package/dist/se/mod.js.map +1 -0
  744. package/dist/se/orgnr.d.ts +14 -0
  745. package/dist/se/orgnr.js +59 -0
  746. package/dist/se/orgnr.js.map +1 -0
  747. package/dist/se/personnummer.d.ts +23 -0
  748. package/dist/se/personnummer.js +122 -0
  749. package/dist/se/personnummer.js.map +1 -0
  750. package/dist/se/vat.d.ts +14 -0
  751. package/dist/se/vat.js +63 -0
  752. package/dist/se/vat.js.map +1 -0
  753. package/dist/sg/mod.d.ts +8 -0
  754. package/dist/sg/mod.js +8 -0
  755. package/dist/sg/mod.js.map +1 -0
  756. package/dist/sg/uen.d.ts +14 -0
  757. package/dist/sg/uen.js +207 -0
  758. package/dist/sg/uen.js.map +1 -0
  759. package/dist/si/emso.d.ts +19 -0
  760. package/dist/si/emso.js +108 -0
  761. package/dist/si/emso.js.map +1 -0
  762. package/dist/si/mod.d.ts +9 -0
  763. package/dist/si/mod.js +12 -0
  764. package/dist/si/mod.js.map +1 -0
  765. package/dist/si/vat.d.ts +14 -0
  766. package/dist/si/vat.js +74 -0
  767. package/dist/si/vat.js.map +1 -0
  768. package/dist/sk/dic.d.ts +14 -0
  769. package/dist/sk/dic.js +66 -0
  770. package/dist/sk/dic.js.map +1 -0
  771. package/dist/sk/ico.d.ts +10 -0
  772. package/dist/sk/ico.js +30 -0
  773. package/dist/sk/ico.js.map +1 -0
  774. package/dist/sk/mod.d.ts +10 -0
  775. package/dist/sk/mod.js +14 -0
  776. package/dist/sk/mod.js.map +1 -0
  777. package/dist/sk/rc.d.ts +10 -0
  778. package/dist/sk/rc.js +30 -0
  779. package/dist/sk/rc.js.map +1 -0
  780. package/dist/th/mod.d.ts +8 -0
  781. package/dist/th/mod.js +8 -0
  782. package/dist/th/mod.js.map +1 -0
  783. package/dist/th/tin.d.ts +14 -0
  784. package/dist/th/tin.js +63 -0
  785. package/dist/th/tin.js.map +1 -0
  786. package/dist/tr/mod.d.ts +9 -0
  787. package/dist/tr/mod.js +12 -0
  788. package/dist/tr/mod.js.map +1 -0
  789. package/dist/tr/tckimlik.d.ts +15 -0
  790. package/dist/tr/tckimlik.js +79 -0
  791. package/dist/tr/tckimlik.js.map +1 -0
  792. package/dist/tr/vkn.d.ts +15 -0
  793. package/dist/tr/vkn.js +79 -0
  794. package/dist/tr/vkn.js.map +1 -0
  795. package/dist/tw/mod.d.ts +8 -0
  796. package/dist/tw/mod.js +8 -0
  797. package/dist/tw/mod.js.map +1 -0
  798. package/dist/tw/ubn.d.ts +14 -0
  799. package/dist/tw/ubn.js +86 -0
  800. package/dist/tw/ubn.js.map +1 -0
  801. package/dist/types.d.ts +95 -0
  802. package/dist/types.js +1 -0
  803. package/dist/ua/edrpou.d.ts +14 -0
  804. package/dist/ua/edrpou.js +103 -0
  805. package/dist/ua/edrpou.js.map +1 -0
  806. package/dist/ua/mod.d.ts +8 -0
  807. package/dist/ua/mod.js +8 -0
  808. package/dist/ua/mod.js.map +1 -0
  809. package/dist/us/ein.d.ts +13 -0
  810. package/dist/us/ein.js +234 -0
  811. package/dist/us/ein.js.map +1 -0
  812. package/dist/us/itin.d.ts +15 -0
  813. package/dist/us/itin.js +69 -0
  814. package/dist/us/itin.js.map +1 -0
  815. package/dist/us/mod.d.ts +11 -0
  816. package/dist/us/mod.js +16 -0
  817. package/dist/us/mod.js.map +1 -0
  818. package/dist/us/rtn.d.ts +14 -0
  819. package/dist/us/rtn.js +91 -0
  820. package/dist/us/rtn.js.map +1 -0
  821. package/dist/us/ssn.d.ts +13 -0
  822. package/dist/us/ssn.js +77 -0
  823. package/dist/us/ssn.js.map +1 -0
  824. package/dist/uy/mod.d.ts +8 -0
  825. package/dist/uy/mod.js +8 -0
  826. package/dist/uy/mod.js.map +1 -0
  827. package/dist/uy/rut.d.ts +18 -0
  828. package/dist/uy/rut.js +105 -0
  829. package/dist/uy/rut.js.map +1 -0
  830. package/dist/ve/mod.d.ts +8 -0
  831. package/dist/ve/mod.js +8 -0
  832. package/dist/ve/mod.js.map +1 -0
  833. package/dist/ve/rif.d.ts +18 -0
  834. package/dist/ve/rif.js +109 -0
  835. package/dist/ve/rif.js.map +1 -0
  836. package/dist/vn/mod.d.ts +8 -0
  837. package/dist/vn/mod.js +8 -0
  838. package/dist/vn/mod.js.map +1 -0
  839. package/dist/vn/mst.d.ts +14 -0
  840. package/dist/vn/mst.js +82 -0
  841. package/dist/vn/mst.js.map +1 -0
  842. package/dist/za/idnr.d.ts +19 -0
  843. package/dist/za/idnr.js +110 -0
  844. package/dist/za/idnr.js.map +1 -0
  845. package/dist/za/mod.d.ts +8 -0
  846. package/dist/za/mod.js +8 -0
  847. package/dist/za/mod.js.map +1 -0
  848. package/package.json +936 -0
  849. package/src/_checksums/luhn.ts +24 -0
  850. package/src/_checksums/mod1110.ts +24 -0
  851. package/src/_checksums/mod112.ts +40 -0
  852. package/src/_checksums/mod97.ts +28 -0
  853. package/src/_checksums/verhoeff.ts +71 -0
  854. package/src/_checksums/weighted-sum.ts +23 -0
  855. package/src/_util/arabic.ts +48 -0
  856. package/src/_util/clean.ts +86 -0
  857. package/src/_util/date.ts +23 -0
  858. package/src/_util/generate.ts +24 -0
  859. package/src/_util/result.ts +10 -0
  860. package/src/_util/strings.ts +32 -0
  861. package/src/ad/mod.ts +1 -0
  862. package/src/ad/nrt.ts +111 -0
  863. package/src/ae/eid.ts +106 -0
  864. package/src/ae/mod.ts +1 -0
  865. package/src/ai/mod.ts +1 -0
  866. package/src/ai/tin.ts +98 -0
  867. package/src/al/mod.ts +1 -0
  868. package/src/al/nipt.ts +78 -0
  869. package/src/am/mod.ts +1 -0
  870. package/src/am/tin.ts +73 -0
  871. package/src/ar/cbu.ts +106 -0
  872. package/src/ar/cuit.ts +137 -0
  873. package/src/ar/dni.ts +79 -0
  874. package/src/ar/mod.ts +3 -0
  875. package/src/at/businessid.ts +74 -0
  876. package/src/at/mod.ts +4 -0
  877. package/src/at/tin.ts +90 -0
  878. package/src/at/uid.ts +92 -0
  879. package/src/at/vnr.ts +111 -0
  880. package/src/au/abn.ts +85 -0
  881. package/src/au/acn.ts +86 -0
  882. package/src/au/mod.ts +3 -0
  883. package/src/au/tfn.ts +85 -0
  884. package/src/az/mod.ts +1 -0
  885. package/src/az/voen.ts +125 -0
  886. package/src/ba/jmbg.ts +128 -0
  887. package/src/ba/mod.ts +1 -0
  888. package/src/bd/mod.ts +1 -0
  889. package/src/bd/nid.ts +139 -0
  890. package/src/be/bis.ts +105 -0
  891. package/src/be/mod.ts +3 -0
  892. package/src/be/nn.ts +125 -0
  893. package/src/be/vat.ts +107 -0
  894. package/src/bg/egn.ts +155 -0
  895. package/src/bg/mod.ts +3 -0
  896. package/src/bg/pnf.ts +86 -0
  897. package/src/bg/vat.ts +155 -0
  898. package/src/bh/cpr.ts +81 -0
  899. package/src/bh/mod.ts +1 -0
  900. package/src/bic.ts +99 -0
  901. package/src/br/cnpj.ts +152 -0
  902. package/src/br/cpf.ts +114 -0
  903. package/src/br/mod.ts +2 -0
  904. package/src/by/mod.ts +1 -0
  905. package/src/by/unp.ts +153 -0
  906. package/src/bz/mod.ts +1 -0
  907. package/src/bz/tin.ts +107 -0
  908. package/src/ca/bn.ts +107 -0
  909. package/src/ca/mod.ts +2 -0
  910. package/src/ca/sin.ts +91 -0
  911. package/src/ch/mod.ts +3 -0
  912. package/src/ch/ssn.ts +95 -0
  913. package/src/ch/uid.ts +108 -0
  914. package/src/ch/vat.ts +85 -0
  915. package/src/cl/mod.ts +1 -0
  916. package/src/cl/rut.ts +118 -0
  917. package/src/cn/mod.ts +2 -0
  918. package/src/cn/ric.ts +180 -0
  919. package/src/cn/uscc.ts +111 -0
  920. package/src/co/mod.ts +1 -0
  921. package/src/co/nit.ts +108 -0
  922. package/src/cr/cpf.ts +111 -0
  923. package/src/cr/mod.ts +1 -0
  924. package/src/creditcard.ts +190 -0
  925. package/src/cu/mod.ts +1 -0
  926. package/src/cu/ni.ts +125 -0
  927. package/src/cy/mod.ts +1 -0
  928. package/src/cy/vat.ts +130 -0
  929. package/src/cz/dic.ts +135 -0
  930. package/src/cz/ico.ts +82 -0
  931. package/src/cz/mod.ts +3 -0
  932. package/src/cz/rc.ts +190 -0
  933. package/src/de/handelsreg.ts +107 -0
  934. package/src/de/idnr.ts +140 -0
  935. package/src/de/mod.ts +5 -0
  936. package/src/de/stnr.ts +214 -0
  937. package/src/de/svnr.ts +162 -0
  938. package/src/de/vat.ts +98 -0
  939. package/src/dk/cpr.ts +122 -0
  940. package/src/dk/cvr.ts +87 -0
  941. package/src/dk/mod.ts +3 -0
  942. package/src/dk/vat.ts +91 -0
  943. package/src/do/mod.ts +1 -0
  944. package/src/do/rnc.ts +126 -0
  945. package/src/ec/mod.ts +1 -0
  946. package/src/ec/ruc.ts +195 -0
  947. package/src/ee/ik.ts +156 -0
  948. package/src/ee/mod.ts +3 -0
  949. package/src/ee/registrikood.ts +81 -0
  950. package/src/ee/vat.ts +85 -0
  951. package/src/eg/mod.ts +1 -0
  952. package/src/eg/tn.ts +103 -0
  953. package/src/es/cif.ts +105 -0
  954. package/src/es/dni.ts +90 -0
  955. package/src/es/mod.ts +5 -0
  956. package/src/es/nie.ts +102 -0
  957. package/src/es/nss.ts +109 -0
  958. package/src/es/vat.ts +178 -0
  959. package/src/eu/mod.ts +1 -0
  960. package/src/eu/vat.ts +171 -0
  961. package/src/fi/hetu.ts +182 -0
  962. package/src/fi/mod.ts +3 -0
  963. package/src/fi/vat.ts +82 -0
  964. package/src/fi/ytunnus.ts +83 -0
  965. package/src/fr/mod.ts +5 -0
  966. package/src/fr/nif.ts +93 -0
  967. package/src/fr/nir.ts +195 -0
  968. package/src/fr/siren.ts +79 -0
  969. package/src/fr/siret.ts +122 -0
  970. package/src/fr/tva.ts +146 -0
  971. package/src/gb/mod.ts +4 -0
  972. package/src/gb/nino.ts +153 -0
  973. package/src/gb/sedol.ts +137 -0
  974. package/src/gb/utr.ts +81 -0
  975. package/src/gb/vat.ts +158 -0
  976. package/src/ge/mod.ts +1 -0
  977. package/src/ge/pin.ts +71 -0
  978. package/src/gh/mod.ts +1 -0
  979. package/src/gh/tin.ts +100 -0
  980. package/src/gr/amka.ts +104 -0
  981. package/src/gr/mod.ts +2 -0
  982. package/src/gr/vat.ts +96 -0
  983. package/src/gt/mod.ts +1 -0
  984. package/src/gt/nit.ts +116 -0
  985. package/src/hk/hkid.ts +131 -0
  986. package/src/hk/mod.ts +1 -0
  987. package/src/hr/mod.ts +1 -0
  988. package/src/hr/vat.ts +79 -0
  989. package/src/hu/mod.ts +1 -0
  990. package/src/hu/vat.ts +82 -0
  991. package/src/iban.ts +340 -0
  992. package/src/id/mod.ts +1 -0
  993. package/src/id/npwp.ts +187 -0
  994. package/src/ie/mod.ts +2 -0
  995. package/src/ie/pps.ts +105 -0
  996. package/src/ie/vat.ts +138 -0
  997. package/src/il/idnr.ts +87 -0
  998. package/src/il/mod.ts +1 -0
  999. package/src/in/aadhaar.ts +96 -0
  1000. package/src/in/gstin.ts +169 -0
  1001. package/src/in/mod.ts +3 -0
  1002. package/src/in/pan.ts +88 -0
  1003. package/src/index.ts +116 -0
  1004. package/src/iq/mod.ts +1 -0
  1005. package/src/iq/nid.ts +71 -0
  1006. package/src/ir/mod.ts +1 -0
  1007. package/src/ir/nid.ts +120 -0
  1008. package/src/is/kennitala.ts +125 -0
  1009. package/src/is/mod.ts +2 -0
  1010. package/src/is/vsk.ts +63 -0
  1011. package/src/isin.ts +114 -0
  1012. package/src/it/codicefiscale.ts +290 -0
  1013. package/src/it/iva.ts +115 -0
  1014. package/src/it/mod.ts +2 -0
  1015. package/src/jp/cn.ts +91 -0
  1016. package/src/jp/mod.ts +2 -0
  1017. package/src/jp/mynumber.ts +103 -0
  1018. package/src/kr/brn.ts +101 -0
  1019. package/src/kr/mod.ts +2 -0
  1020. package/src/kr/rrn.ts +170 -0
  1021. package/src/kw/civil.ts +144 -0
  1022. package/src/kw/mod.ts +1 -0
  1023. package/src/kz/iin.ts +183 -0
  1024. package/src/kz/mod.ts +1 -0
  1025. package/src/lei.ts +98 -0
  1026. package/src/li/mod.ts +1 -0
  1027. package/src/li/peid.ts +66 -0
  1028. package/src/lk/mod.ts +1 -0
  1029. package/src/lk/nic.ts +210 -0
  1030. package/src/lt/asmens.ts +120 -0
  1031. package/src/lt/mod.ts +2 -0
  1032. package/src/lt/vat.ts +109 -0
  1033. package/src/lu/mod.ts +1 -0
  1034. package/src/lu/vat.ts +80 -0
  1035. package/src/luhn.ts +72 -0
  1036. package/src/lv/mod.ts +1 -0
  1037. package/src/lv/vat.ts +139 -0
  1038. package/src/ma/ice.ts +79 -0
  1039. package/src/ma/mod.ts +1 -0
  1040. package/src/mc/mod.ts +1 -0
  1041. package/src/mc/tva.ts +74 -0
  1042. package/src/md/idno.ts +86 -0
  1043. package/src/md/mod.ts +1 -0
  1044. package/src/me/mod.ts +1 -0
  1045. package/src/me/pib.ts +79 -0
  1046. package/src/mk/edb.ts +91 -0
  1047. package/src/mk/mod.ts +1 -0
  1048. package/src/mt/mod.ts +1 -0
  1049. package/src/mt/vat.ts +88 -0
  1050. package/src/mu/brn.ts +102 -0
  1051. package/src/mu/mod.ts +1 -0
  1052. package/src/mx/clabe.ts +111 -0
  1053. package/src/mx/curp.ts +210 -0
  1054. package/src/mx/mod.ts +3 -0
  1055. package/src/mx/rfc.ts +144 -0
  1056. package/src/my/mod.ts +1 -0
  1057. package/src/my/nric.ts +235 -0
  1058. package/src/ng/mod.ts +1 -0
  1059. package/src/ng/nin.ts +72 -0
  1060. package/src/ni/mod.ts +1 -0
  1061. package/src/ni/ruc.ts +176 -0
  1062. package/src/nl/bsn.ts +87 -0
  1063. package/src/nl/kvk.ts +59 -0
  1064. package/src/nl/mod.ts +3 -0
  1065. package/src/nl/vat.ts +146 -0
  1066. package/src/no/fodselsnummer.ts +192 -0
  1067. package/src/no/mod.ts +3 -0
  1068. package/src/no/mva.ts +73 -0
  1069. package/src/no/orgnr.ts +79 -0
  1070. package/src/nz/ird.ts +128 -0
  1071. package/src/nz/mod.ts +1 -0
  1072. package/src/pa/mod.ts +1 -0
  1073. package/src/pa/ruc.ts +359 -0
  1074. package/src/patterns.ts +252 -0
  1075. package/src/pe/mod.ts +1 -0
  1076. package/src/pe/ruc.ts +121 -0
  1077. package/src/ph/mod.ts +1 -0
  1078. package/src/ph/philid.ts +76 -0
  1079. package/src/pk/cnic.ts +103 -0
  1080. package/src/pk/mod.ts +1 -0
  1081. package/src/pl/mod.ts +3 -0
  1082. package/src/pl/nip.ts +96 -0
  1083. package/src/pl/pesel.ts +153 -0
  1084. package/src/pl/regon.ts +98 -0
  1085. package/src/pt/cc.ts +106 -0
  1086. package/src/pt/mod.ts +2 -0
  1087. package/src/pt/vat.ts +93 -0
  1088. package/src/ro/cnp.ts +171 -0
  1089. package/src/ro/mod.ts +2 -0
  1090. package/src/ro/vat.ts +94 -0
  1091. package/src/rs/mod.ts +1 -0
  1092. package/src/rs/pib.ts +83 -0
  1093. package/src/ru/inn.ts +109 -0
  1094. package/src/ru/mod.ts +1 -0
  1095. package/src/se/mod.ts +3 -0
  1096. package/src/se/orgnr.ts +81 -0
  1097. package/src/se/personnummer.ts +180 -0
  1098. package/src/se/vat.ts +92 -0
  1099. package/src/sg/mod.ts +1 -0
  1100. package/src/sg/uen.ts +267 -0
  1101. package/src/si/emso.ts +152 -0
  1102. package/src/si/mod.ts +2 -0
  1103. package/src/si/vat.ts +108 -0
  1104. package/src/sk/dic.ts +106 -0
  1105. package/src/sk/ico.ts +39 -0
  1106. package/src/sk/mod.ts +3 -0
  1107. package/src/sk/rc.ts +31 -0
  1108. package/src/th/mod.ts +1 -0
  1109. package/src/th/tin.ts +102 -0
  1110. package/src/tr/mod.ts +2 -0
  1111. package/src/tr/tckimlik.ts +111 -0
  1112. package/src/tr/vkn.ts +97 -0
  1113. package/src/tw/mod.ts +1 -0
  1114. package/src/tw/ubn.ts +108 -0
  1115. package/src/types.ts +200 -0
  1116. package/src/ua/edrpou.ts +103 -0
  1117. package/src/ua/mod.ts +1 -0
  1118. package/src/us/ein.ts +257 -0
  1119. package/src/us/itin.ts +126 -0
  1120. package/src/us/mod.ts +4 -0
  1121. package/src/us/rtn.ts +126 -0
  1122. package/src/us/ssn.ts +117 -0
  1123. package/src/uy/mod.ts +1 -0
  1124. package/src/uy/rut.ts +146 -0
  1125. package/src/ve/mod.ts +1 -0
  1126. package/src/ve/rif.ts +140 -0
  1127. package/src/vn/mod.ts +1 -0
  1128. package/src/vn/mst.ts +128 -0
  1129. package/src/za/idnr.ts +157 -0
  1130. package/src/za/mod.ts +1 -0
@@ -0,0 +1,18 @@
1
+ import { ValidateResult, Validator } from "../types.js";
2
+
3
+ //#region src/ir/nid.d.ts
4
+
5
+ declare const compact: (value: string) => string;
6
+ declare const validate: (value: string) => ValidateResult;
7
+ /** Iranian NIDs are displayed without separators. */
8
+ declare const format: (value: string) => string;
9
+ /**
10
+ * Generate a random valid Iranian NID.
11
+ * NOT cryptographically secure.
12
+ */
13
+ declare const generate: () => string;
14
+ /** Iranian National Identification Number. */
15
+ declare const nid: Validator;
16
+ //#endregion
17
+ export { compact, nid as default, format, generate, validate };
18
+ //# sourceMappingURL=nid.d.ts.map
package/dist/ir/nid.js ADDED
@@ -0,0 +1,90 @@
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 { normalizeArabicDigits } from "../_util/arabic.js";
6
+ //#region src/ir/nid.ts
7
+ /**
8
+ * NID (Iranian National ID, کد ملی, Code Melli).
9
+ *
10
+ * 10-digit personal identification number assigned to
11
+ * every Iranian citizen. Digits 1-3 encode the province,
12
+ * digits 4-9 are a sequential identifier, and digit 10
13
+ * is a check digit.
14
+ *
15
+ * Check digit algorithm (mod 11):
16
+ * sum = Σ(digit[i] × (10 − i)) for i = 0..8
17
+ * r = sum mod 11
18
+ * if r < 2: check digit = r
19
+ * if r ≥ 2: check digit = 11 − r
20
+ *
21
+ * Numbers where all digits are identical (e.g.
22
+ * 0000000000, 1111111111) are rejected.
23
+ *
24
+ * Accepts both Persian (Extended Arabic-Indic, U+06Fx)
25
+ * and Arabic-Indic (U+066x) digits.
26
+ *
27
+ * @see https://www.sabteahval.ir/
28
+ * @see https://persian-tools.js.org/functions/verifyIranianNationalId.html
29
+ */
30
+ /** All-same-digit patterns (0000000000 .. 9999999999). */
31
+ const ALL_SAME = new Set(Array.from({ length: 10 }, (_, i) => String(i).repeat(10)));
32
+ const compact = (value) => normalizeArabicDigits(clean(value, " -./"));
33
+ /**
34
+ * Calculate the check digit from the first 9 digits.
35
+ */
36
+ const calcCheckDigit = (number) => {
37
+ let sum = 0;
38
+ for (let i = 0; i < 9; i++) sum += Number(number[i]) * (10 - i);
39
+ const r = sum % 11;
40
+ return r < 2 ? r : 11 - r;
41
+ };
42
+ const validate = (value) => {
43
+ const v = compact(value);
44
+ if (v.length !== 10) return err("INVALID_LENGTH", "Iranian NID must be exactly 10 digits");
45
+ if (!isdigits(v)) return err("INVALID_FORMAT", "Iranian NID must contain only digits");
46
+ if (ALL_SAME.has(v)) return err("INVALID_FORMAT", "Iranian NID must not have all identical digits");
47
+ if (calcCheckDigit(v) !== Number(v[9])) return err("INVALID_CHECKSUM", "Iranian NID check digit mismatch");
48
+ return {
49
+ valid: true,
50
+ compact: v
51
+ };
52
+ };
53
+ /** Iranian NIDs are displayed without separators. */
54
+ const format = (value) => compact(value);
55
+ /**
56
+ * Generate a random valid Iranian NID.
57
+ * NOT cryptographically secure.
58
+ */
59
+ const generate = () => {
60
+ const base = randomDigits(9);
61
+ const result = `${base}${calcCheckDigit(base)}`;
62
+ if (ALL_SAME.has(result)) return generate();
63
+ return result;
64
+ };
65
+ /** Iranian National Identification Number. */
66
+ const nid = {
67
+ name: "Iranian National ID",
68
+ localName: "کد ملی",
69
+ abbreviation: "NID",
70
+ aliases: [
71
+ "NID",
72
+ "کد ملی",
73
+ "national code"
74
+ ],
75
+ candidatePattern: "\\d{10}",
76
+ country: "IR",
77
+ entityType: "person",
78
+ sourceUrl: "https://www.sabteahval.ir/",
79
+ description: "Iranian personal identification number (Code Melli)",
80
+ lengths: [10],
81
+ examples: ["0932833810"],
82
+ compact,
83
+ format,
84
+ validate,
85
+ generate
86
+ };
87
+ //#endregion
88
+ export { compact, nid as default, format, generate, validate };
89
+
90
+ //# sourceMappingURL=nid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nid.js","names":[],"sources":["../../src/ir/nid.ts"],"sourcesContent":["/**\n * NID (Iranian National ID, کد ملی, Code Melli).\n *\n * 10-digit personal identification number assigned to\n * every Iranian citizen. Digits 1-3 encode the province,\n * digits 4-9 are a sequential identifier, and digit 10\n * is a check digit.\n *\n * Check digit algorithm (mod 11):\n * sum = Σ(digit[i] × (10 − i)) for i = 0..8\n * r = sum mod 11\n * if r < 2: check digit = r\n * if r ≥ 2: check digit = 11 − r\n *\n * Numbers where all digits are identical (e.g.\n * 0000000000, 1111111111) are rejected.\n *\n * Accepts both Persian (Extended Arabic-Indic, U+06Fx)\n * and Arabic-Indic (U+066x) digits.\n *\n * @see https://www.sabteahval.ir/\n * @see https://persian-tools.js.org/functions/verifyIranianNationalId.html\n */\n\nimport { normalizeArabicDigits } from \"#util/arabic\";\nimport { clean } from \"#util/clean\";\nimport { randomDigits } from \"#util/generate\";\nimport { err } from \"#util/result\";\nimport { isdigits } from \"#util/strings\";\n\nimport type { ValidateResult, Validator } from \"../types\";\n\n/** All-same-digit patterns (0000000000 .. 9999999999). */\nconst ALL_SAME = new Set(\n Array.from({ length: 10 }, (_, i) =>\n String(i).repeat(10),\n ),\n);\n\nconst compact = (value: string): string =>\n normalizeArabicDigits(clean(value, \" -./\"));\n\n/**\n * Calculate the check digit from the first 9 digits.\n */\nconst calcCheckDigit = (number: string): number => {\n let sum = 0;\n for (let i = 0; i < 9; i++) {\n sum += Number(number[i]) * (10 - i);\n }\n const r = sum % 11;\n return r < 2 ? r : 11 - r;\n};\n\nconst validate = (value: string): ValidateResult => {\n const v = compact(value);\n if (v.length !== 10) {\n return err(\n \"INVALID_LENGTH\",\n \"Iranian NID must be exactly 10 digits\",\n );\n }\n if (!isdigits(v)) {\n return err(\n \"INVALID_FORMAT\",\n \"Iranian NID must contain only digits\",\n );\n }\n if (ALL_SAME.has(v)) {\n return err(\n \"INVALID_FORMAT\",\n \"Iranian NID must not have all identical digits\",\n );\n }\n if (calcCheckDigit(v) !== Number(v[9])) {\n return err(\n \"INVALID_CHECKSUM\",\n \"Iranian NID check digit mismatch\",\n );\n }\n return { valid: true, compact: v };\n};\n\n/** Iranian NIDs are displayed without separators. */\nconst format = (value: string): string => compact(value);\n\n/**\n * Generate a random valid Iranian NID.\n * NOT cryptographically secure.\n */\nconst generate = (): string => {\n const base = randomDigits(9);\n const check = calcCheckDigit(base);\n const result = `${base}${check}`;\n if (ALL_SAME.has(result)) return generate();\n return result;\n};\n\n/** Iranian National Identification Number. */\nconst nid: Validator = {\n name: \"Iranian National ID\",\n localName: \"کد ملی\",\n abbreviation: \"NID\",\n aliases: [\"NID\", \"کد ملی\", \"national code\"] as const,\n candidatePattern: \"\\\\d{10}\",\n country: \"IR\",\n entityType: \"person\",\n sourceUrl: \"https://www.sabteahval.ir/\",\n description:\n \"Iranian personal identification number (Code Melli)\",\n lengths: [10] as const,\n examples: [\"0932833810\"] as const,\n compact,\n format,\n validate,\n generate,\n};\n\nexport default nid;\nexport { compact, format, validate, generate };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA,MAAM,WAAW,IAAI,IACnB,MAAM,KAAK,EAAE,QAAQ,IAAI,GAAG,GAAG,MAC7B,OAAO,EAAE,CAAC,OAAO,GAAG,CACrB,CACF;AAED,MAAM,WAAW,UACf,sBAAsB,MAAM,OAAO,OAAO,CAAC;;;;AAK7C,MAAM,kBAAkB,WAA2B;CACjD,IAAI,MAAM;AACV,MAAK,IAAI,IAAI,GAAG,IAAI,GAAG,IACrB,QAAO,OAAO,OAAO,GAAG,IAAI,KAAK;CAEnC,MAAM,IAAI,MAAM;AAChB,QAAO,IAAI,IAAI,IAAI,KAAK;;AAG1B,MAAM,YAAY,UAAkC;CAClD,MAAM,IAAI,QAAQ,MAAM;AACxB,KAAI,EAAE,WAAW,GACf,QAAO,IACL,kBACA,wCACD;AAEH,KAAI,CAAC,SAAS,EAAE,CACd,QAAO,IACL,kBACA,uCACD;AAEH,KAAI,SAAS,IAAI,EAAE,CACjB,QAAO,IACL,kBACA,iDACD;AAEH,KAAI,eAAe,EAAE,KAAK,OAAO,EAAE,GAAG,CACpC,QAAO,IACL,oBACA,mCACD;AAEH,QAAO;EAAE,OAAO;EAAM,SAAS;EAAG;;;AAIpC,MAAM,UAAU,UAA0B,QAAQ,MAAM;;;;;AAMxD,MAAM,iBAAyB;CAC7B,MAAM,OAAO,aAAa,EAAE;CAE5B,MAAM,SAAS,GAAG,OADJ,eAAe,KAAK;AAElC,KAAI,SAAS,IAAI,OAAO,CAAE,QAAO,UAAU;AAC3C,QAAO;;;AAIT,MAAM,MAAiB;CACrB,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS;EAAC;EAAO;EAAU;EAAgB;CAC3C,kBAAkB;CAClB,SAAS;CACT,YAAY;CACZ,WAAW;CACX,aACE;CACF,SAAS,CAAC,GAAG;CACb,UAAU,CAAC,aAAa;CACxB;CACA;CACA;CACA;CACD"}
@@ -0,0 +1,14 @@
1
+ import { ValidateResult, Validator } from "../types.js";
2
+
3
+ //#region src/is/kennitala.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 Icelandic kennitala. */
9
+ declare const generate: () => string;
10
+ /** Icelandic Identification Number. */
11
+ declare const kennitala: Validator;
12
+ //#endregion
13
+ export { compact, kennitala as default, format, generate, validate };
14
+ //# sourceMappingURL=kennitala.d.ts.map
@@ -0,0 +1,92 @@
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 { isValidDate } from "../_util/date.js";
6
+ //#region src/is/kennitala.ts
7
+ /**
8
+ * Kennitala (Icelandic identification number).
9
+ *
10
+ * 10 digits: DDMMYY + 2 random + 1 check + 1 century.
11
+ * Weights [3,2,7,6,5,4,3,2] on first 8 digits,
12
+ * check digit at position 9, century at position 10
13
+ * (weight 0, does not participate in checksum).
14
+ * Organizations use day + 40. Century digit: 9 = 1900s,
15
+ * 0 = 2000s.
16
+ *
17
+ * @see https://www.skra.is/
18
+ */
19
+ const WEIGHTS = [
20
+ 3,
21
+ 2,
22
+ 7,
23
+ 6,
24
+ 5,
25
+ 4,
26
+ 3,
27
+ 2,
28
+ 0,
29
+ 0
30
+ ];
31
+ const compact = (value) => clean(value, " -");
32
+ const validate = (value) => {
33
+ const v = compact(value);
34
+ if (v.length !== 10) return err("INVALID_LENGTH", "Kennitala must be 10 digits");
35
+ if (!isdigits(v)) return err("INVALID_FORMAT", "Kennitala must contain only digits");
36
+ let sum = 0;
37
+ for (let i = 0; i < 8; i++) sum += Number(v.charAt(i)) * (WEIGHTS[i] ?? 0);
38
+ const remainder = (11 - sum % 11) % 11;
39
+ if (remainder === 10 || remainder !== Number(v[8])) return err("INVALID_CHECKSUM", "Kennitala check digit mismatch");
40
+ let dd = Number(v.slice(0, 2));
41
+ const mm = Number(v.slice(2, 4));
42
+ const yy = Number(v.slice(4, 6));
43
+ const centuryDigit = Number(v[9]);
44
+ if (dd > 40) dd -= 40;
45
+ let century;
46
+ if (centuryDigit === 9) century = 1900;
47
+ else if (centuryDigit === 0) century = 2e3;
48
+ else return err("INVALID_COMPONENT", "Kennitala century digit must be 0 or 9");
49
+ if (!isValidDate(century + yy, mm, dd)) return err("INVALID_COMPONENT", "Kennitala contains an invalid date");
50
+ return {
51
+ valid: true,
52
+ compact: v
53
+ };
54
+ };
55
+ const format = (value) => {
56
+ const v = compact(value);
57
+ return `${v.slice(0, 6)}-${v.slice(6)}`;
58
+ };
59
+ /** Generate a random valid Icelandic kennitala. */
60
+ const generate = () => {
61
+ for (;;) {
62
+ const dd = String(randomInt(1, 28)).padStart(2, "0");
63
+ const mm = String(randomInt(1, 12)).padStart(2, "0");
64
+ const yy = String(randomInt(50, 99)).padStart(2, "0");
65
+ const rr = String(randomInt(20, 99)).padStart(2, "0");
66
+ const partial = dd + mm + yy + rr;
67
+ for (let d = 0; d <= 9; d++) {
68
+ const c = partial + String(d) + "9";
69
+ if (validate(c).valid) return c;
70
+ }
71
+ }
72
+ };
73
+ /** Icelandic Identification Number. */
74
+ const kennitala = {
75
+ name: "Icelandic ID Number",
76
+ localName: "Kennitala",
77
+ abbreviation: "kt.",
78
+ aliases: ["kennitala", "kt."],
79
+ candidatePattern: "\\d{6}-?\\d{4}",
80
+ country: "IS",
81
+ entityType: "any",
82
+ sourceUrl: "https://www.skra.is/",
83
+ examples: ["4504013150", "1201743399"],
84
+ compact,
85
+ format,
86
+ validate,
87
+ generate
88
+ };
89
+ //#endregion
90
+ export { compact, kennitala as default, format, generate, validate };
91
+
92
+ //# sourceMappingURL=kennitala.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kennitala.js","names":[],"sources":["../../src/is/kennitala.ts"],"sourcesContent":["/**\n * Kennitala (Icelandic identification number).\n *\n * 10 digits: DDMMYY + 2 random + 1 check + 1 century.\n * Weights [3,2,7,6,5,4,3,2] on first 8 digits,\n * check digit at position 9, century at position 10\n * (weight 0, does not participate in checksum).\n * Organizations use day + 40. Century digit: 9 = 1900s,\n * 0 = 2000s.\n *\n * @see https://www.skra.is/\n */\n\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 { ValidateResult, Validator } from \"../types\";\n\nconst WEIGHTS = [3, 2, 7, 6, 5, 4, 3, 2, 0, 0] as const;\n\nconst compact = (value: string): string =>\n clean(value, \" -\");\n\nconst validate = (value: string): ValidateResult => {\n const v = compact(value);\n if (v.length !== 10) {\n return err(\n \"INVALID_LENGTH\",\n \"Kennitala must be 10 digits\",\n );\n }\n if (!isdigits(v)) {\n return err(\n \"INVALID_FORMAT\",\n \"Kennitala must contain only digits\",\n );\n }\n\n // Checksum: weights on first 8 digits, check is 9th\n let sum = 0;\n for (let i = 0; i < 8; i++) {\n sum += Number(v.charAt(i)) * (WEIGHTS[i] ?? 0);\n }\n const remainder = (11 - (sum % 11)) % 11;\n if (remainder === 10 || remainder !== Number(v[8])) {\n return err(\n \"INVALID_CHECKSUM\",\n \"Kennitala check digit mismatch\",\n );\n }\n\n // Parse date\n let dd = Number(v.slice(0, 2));\n const mm = Number(v.slice(2, 4));\n const yy = Number(v.slice(4, 6));\n const centuryDigit = Number(v[9]);\n\n // Organizations use day + 40\n if (dd > 40) dd -= 40;\n\n let century: number;\n if (centuryDigit === 9) {\n century = 1900;\n } else if (centuryDigit === 0) {\n century = 2000;\n } else {\n return err(\n \"INVALID_COMPONENT\",\n \"Kennitala century digit must be 0 or 9\",\n );\n }\n\n const year = century + yy;\n if (!isValidDate(year, mm, dd)) {\n return err(\n \"INVALID_COMPONENT\",\n \"Kennitala contains an invalid date\",\n );\n }\n\n return { valid: true, compact: v };\n};\n\nconst format = (value: string): string => {\n const v = compact(value);\n return `${v.slice(0, 6)}-${v.slice(6)}`;\n};\n\n/** Generate a random valid Icelandic kennitala. */\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 yy = String(randomInt(50, 99)).padStart(2, \"0\");\n const rr = String(randomInt(20, 99)).padStart(2, \"0\");\n const partial = dd + mm + yy + rr;\n for (let d = 0; d <= 9; d++) {\n const c = partial + String(d) + \"9\";\n if (validate(c).valid) return c;\n }\n }\n};\n\n/** Icelandic Identification Number. */\nconst kennitala: Validator = {\n name: \"Icelandic ID Number\",\n localName: \"Kennitala\",\n abbreviation: \"kt.\",\n aliases: [\"kennitala\", \"kt.\"] as const,\n candidatePattern: \"\\\\d{6}-?\\\\d{4}\",\n country: \"IS\",\n entityType: \"any\",\n sourceUrl: \"https://www.skra.is/\",\n examples: [\"4504013150\", \"1201743399\"] as const,\n compact,\n format,\n validate,\n generate,\n};\n\nexport default kennitala;\nexport { compact, format, validate, generate };\n"],"mappings":";;;;;;;;;;;;;;;;;;AAqBA,MAAM,UAAU;CAAC;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;CAAE;AAE9C,MAAM,WAAW,UACf,MAAM,OAAO,KAAK;AAEpB,MAAM,YAAY,UAAkC;CAClD,MAAM,IAAI,QAAQ,MAAM;AACxB,KAAI,EAAE,WAAW,GACf,QAAO,IACL,kBACA,8BACD;AAEH,KAAI,CAAC,SAAS,EAAE,CACd,QAAO,IACL,kBACA,qCACD;CAIH,IAAI,MAAM;AACV,MAAK,IAAI,IAAI,GAAG,IAAI,GAAG,IACrB,QAAO,OAAO,EAAE,OAAO,EAAE,CAAC,IAAI,QAAQ,MAAM;CAE9C,MAAM,aAAa,KAAM,MAAM,MAAO;AACtC,KAAI,cAAc,MAAM,cAAc,OAAO,EAAE,GAAG,CAChD,QAAO,IACL,oBACA,iCACD;CAIH,IAAI,KAAK,OAAO,EAAE,MAAM,GAAG,EAAE,CAAC;CAC9B,MAAM,KAAK,OAAO,EAAE,MAAM,GAAG,EAAE,CAAC;CAChC,MAAM,KAAK,OAAO,EAAE,MAAM,GAAG,EAAE,CAAC;CAChC,MAAM,eAAe,OAAO,EAAE,GAAG;AAGjC,KAAI,KAAK,GAAI,OAAM;CAEnB,IAAI;AACJ,KAAI,iBAAiB,EACnB,WAAU;UACD,iBAAiB,EAC1B,WAAU;KAEV,QAAO,IACL,qBACA,yCACD;AAIH,KAAI,CAAC,YADQ,UAAU,IACA,IAAI,GAAG,CAC5B,QAAO,IACL,qBACA,qCACD;AAGH,QAAO;EAAE,OAAO;EAAM,SAAS;EAAG;;AAGpC,MAAM,UAAU,UAA0B;CACxC,MAAM,IAAI,QAAQ,MAAM;AACxB,QAAO,GAAG,EAAE,MAAM,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE;;;AAIvC,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,KAAK,OAAO,UAAU,IAAI,GAAG,CAAC,CAAC,SAAS,GAAG,IAAI;EACrD,MAAM,KAAK,OAAO,UAAU,IAAI,GAAG,CAAC,CAAC,SAAS,GAAG,IAAI;EACrD,MAAM,UAAU,KAAK,KAAK,KAAK;AAC/B,OAAK,IAAI,IAAI,GAAG,KAAK,GAAG,KAAK;GAC3B,MAAM,IAAI,UAAU,OAAO,EAAE,GAAG;AAChC,OAAI,SAAS,EAAE,CAAC,MAAO,QAAO;;;;;AAMpC,MAAM,YAAuB;CAC3B,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS,CAAC,aAAa,MAAM;CAC7B,kBAAkB;CAClB,SAAS;CACT,YAAY;CACZ,WAAW;CACX,UAAU,CAAC,cAAc,aAAa;CACtC;CACA;CACA;CACA;CACD"}
@@ -0,0 +1,9 @@
1
+ import { __exportAll } from "../_virtual/_rolldown/runtime.js";
2
+ import kennitala from "./kennitala.js";
3
+ import vsk from "./vsk.js";
4
+
5
+ //#region src/is/mod.d.ts
6
+
7
+ //#endregion
8
+ export { kennitala, mod_d_exports, vsk };
9
+ //# sourceMappingURL=mod.d.ts.map
package/dist/is/mod.js ADDED
@@ -0,0 +1,12 @@
1
+ import { __exportAll } from "../_virtual/_rolldown/runtime.js";
2
+ import kennitala from "./kennitala.js";
3
+ import vsk from "./vsk.js";
4
+ //#region src/is/mod.ts
5
+ var is_exports = /* @__PURE__ */ __exportAll({
6
+ kennitala: () => kennitala,
7
+ vsk: () => vsk
8
+ });
9
+ //#endregion
10
+ export { is_exports, kennitala, vsk };
11
+
12
+ //# sourceMappingURL=mod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.js","names":[],"sources":["../../src/is/mod.ts"],"sourcesContent":["export { default as kennitala } from \"./kennitala\";\nexport { default as vsk } from \"./vsk\";\n"],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import { ValidateResult, Validator } from "../types.js";
2
+
3
+ //#region src/is/vsk.d.ts
4
+ /** Generate a random valid Icelandic VSK. */
5
+ declare const generate: () => string;
6
+ declare const compact: (value: string) => string;
7
+ declare const validate: (value: string) => ValidateResult;
8
+ declare const format: (value: string) => string;
9
+ /** Icelandic VAT Number. */
10
+ declare const vsk: Validator;
11
+ //#endregion
12
+ export { compact, vsk as default, format, generate, validate };
13
+ //# sourceMappingURL=vsk.d.ts.map
package/dist/is/vsk.js ADDED
@@ -0,0 +1,47 @@
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/is/vsk.ts
6
+ /**
7
+ * VSK (Virðisaukaskattur, Icelandic VAT number).
8
+ *
9
+ * 5 or 6 digits. Format-only validation, no checksum.
10
+ *
11
+ * @see https://www.rsk.is/
12
+ */
13
+ /** Generate a random valid Icelandic VSK. */
14
+ const generate = () => {
15
+ return randomDigits(randomInt(5, 6));
16
+ };
17
+ const compact = (value) => clean(value, " -");
18
+ const validate = (value) => {
19
+ const v = compact(value);
20
+ if (v.length !== 5 && v.length !== 6) return err("INVALID_LENGTH", "Icelandic VAT must be 5 or 6 digits");
21
+ if (!isdigits(v)) return err("INVALID_FORMAT", "Icelandic VAT must contain only digits");
22
+ return {
23
+ valid: true,
24
+ compact: v
25
+ };
26
+ };
27
+ const format = (value) => compact(value);
28
+ /** Icelandic VAT Number. */
29
+ const vsk = {
30
+ name: "Icelandic VAT Number",
31
+ localName: "Virðisaukaskattur",
32
+ abbreviation: "VSK",
33
+ aliases: ["VSK-númer", "virðisaukaskattur"],
34
+ candidatePattern: "IS\\d{5,6}",
35
+ country: "IS",
36
+ entityType: "company",
37
+ sourceUrl: "https://www.rsk.is/",
38
+ examples: ["00621", "123456"],
39
+ compact,
40
+ format,
41
+ validate,
42
+ generate
43
+ };
44
+ //#endregion
45
+ export { compact, vsk as default, format, generate, validate };
46
+
47
+ //# sourceMappingURL=vsk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vsk.js","names":[],"sources":["../../src/is/vsk.ts"],"sourcesContent":["/** Generate a random valid Icelandic VSK. */\nconst generate = (): string => {\n const len = randomInt(5, 6);\n return randomDigits(len);\n};\n\n/**\n * VSK (Virðisaukaskattur, Icelandic VAT number).\n *\n * 5 or 6 digits. Format-only validation, no checksum.\n *\n * @see https://www.rsk.is/\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 !== 5 && v.length !== 6) {\n return err(\n \"INVALID_LENGTH\",\n \"Icelandic VAT must be 5 or 6 digits\",\n );\n }\n if (!isdigits(v)) {\n return err(\n \"INVALID_FORMAT\",\n \"Icelandic VAT must contain only digits\",\n );\n }\n\n return { valid: true, compact: v };\n};\n\nconst format = (value: string): string => compact(value);\n\n/** Icelandic VAT Number. */\nconst vsk: Validator = {\n name: \"Icelandic VAT Number\",\n localName: \"Virðisaukaskattur\",\n abbreviation: \"VSK\",\n aliases: [\"VSK-númer\", \"virðisaukaskattur\"] as const,\n candidatePattern: \"IS\\\\d{5,6}\",\n country: \"IS\",\n entityType: \"company\",\n sourceUrl: \"https://www.rsk.is/\",\n examples: [\"00621\", \"123456\"] as const,\n compact,\n format,\n validate,\n generate,\n};\n\nexport default vsk;\nexport { compact, format, validate, generate };\n"],"mappings":";;;;;;;;;;;;;AACA,MAAM,iBAAyB;AAE7B,QAAO,aADK,UAAU,GAAG,EAAE,CACH;;AAkB1B,MAAM,WAAW,UACf,MAAM,OAAO,KAAK;AAEpB,MAAM,YAAY,UAAkC;CAClD,MAAM,IAAI,QAAQ,MAAM;AACxB,KAAI,EAAE,WAAW,KAAK,EAAE,WAAW,EACjC,QAAO,IACL,kBACA,sCACD;AAEH,KAAI,CAAC,SAAS,EAAE,CACd,QAAO,IACL,kBACA,yCACD;AAGH,QAAO;EAAE,OAAO;EAAM,SAAS;EAAG;;AAGpC,MAAM,UAAU,UAA0B,QAAQ,MAAM;;AAGxD,MAAM,MAAiB;CACrB,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS,CAAC,aAAa,oBAAoB;CAC3C,kBAAkB;CAClB,SAAS;CACT,YAAY;CACZ,WAAW;CACX,UAAU,CAAC,SAAS,SAAS;CAC7B;CACA;CACA;CACA;CACD"}
package/dist/isin.d.ts ADDED
@@ -0,0 +1,14 @@
1
+ import { ValidateResult, Validator } from "./types.js";
2
+
3
+ //#region src/isin.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 ISIN. */
9
+ declare const generate: () => string;
10
+ /** International Securities Identification Number. */
11
+ declare const isin: Validator;
12
+ //#endregion
13
+ export { compact, isin as default, format, generate, validate };
14
+ //# sourceMappingURL=isin.d.ts.map
package/dist/isin.js ADDED
@@ -0,0 +1,85 @@
1
+ import { clean } from "./_util/clean.js";
2
+ import { randomInt } from "./_util/generate.js";
3
+ import { err } from "./_util/result.js";
4
+ import { luhnChecksum } from "./_checksums/luhn.js";
5
+ import { charValue, isalnum } from "./_util/strings.js";
6
+ //#region src/isin.ts
7
+ /**
8
+ * ISIN (International Securities Identification
9
+ * Number).
10
+ *
11
+ * ISO 6166. 12-character alphanumeric code:
12
+ * [A-Z]{2} (country) + [0-9A-Z]{9} (identifier) +
13
+ * [0-9]{1} (check digit). Validated using the Luhn
14
+ * algorithm on the alpha-numeric expansion.
15
+ *
16
+ * @see https://www.isin.org/
17
+ */
18
+ const ISIN_RE = /^[A-Z]{2}[0-9A-Z]{9}[0-9]$/;
19
+ const compact = (value) => clean(value, " -").toUpperCase();
20
+ /**
21
+ * Expand each character to its numeric value
22
+ * (A=10..Z=35, digits unchanged) and concatenate.
23
+ */
24
+ const expand = (value) => {
25
+ let result = "";
26
+ for (let i = 0; i < value.length; i++) {
27
+ const ch = value[i];
28
+ if (ch !== void 0) result += String(charValue(ch));
29
+ }
30
+ return result;
31
+ };
32
+ const validate = (value) => {
33
+ const v = compact(value);
34
+ if (v.length !== 12) return err("INVALID_LENGTH", "ISIN must be exactly 12 characters");
35
+ if (!isalnum(v)) return err("INVALID_FORMAT", "ISIN must contain only letters and digits");
36
+ if (!ISIN_RE.test(v)) return err("INVALID_FORMAT", "ISIN must match [A-Z]{2}[0-9A-Z]{9}[0-9]");
37
+ if (luhnChecksum(expand(v)) !== 0) return err("INVALID_CHECKSUM", "ISIN check digit is incorrect");
38
+ return {
39
+ valid: true,
40
+ compact: v
41
+ };
42
+ };
43
+ const format = (value) => {
44
+ const v = compact(value);
45
+ return `${v.slice(0, 2)} ${v.slice(2, 6)} ${v.slice(6, 10)} ${v.slice(10)}`;
46
+ };
47
+ /** Generate a random valid ISIN. */
48
+ const generate = () => {
49
+ const countries = [
50
+ "US",
51
+ "GB",
52
+ "DE",
53
+ "FR",
54
+ "JP"
55
+ ];
56
+ for (;;) {
57
+ const cc = countries[randomInt(0, countries.length - 1)];
58
+ let nsin = "";
59
+ for (let i = 0; i < 9; i++) nsin += String(randomInt(0, 9));
60
+ const base = cc + nsin;
61
+ for (let d = 0; d <= 9; d++) {
62
+ const c = base + String(d);
63
+ if (validate(c).valid) return c;
64
+ }
65
+ }
66
+ };
67
+ /** International Securities Identification Number. */
68
+ const isin = {
69
+ name: "International Securities Identification Number",
70
+ localName: "International Securities Identification Number",
71
+ abbreviation: "ISIN",
72
+ aliases: ["ISIN", "International Securities Identification Number"],
73
+ candidatePattern: "[A-Z]{2}[A-Z0-9]{9}\\d",
74
+ entityType: "any",
75
+ sourceUrl: "https://www.isin.org/",
76
+ examples: ["US0378331005", "GB0002634946"],
77
+ compact,
78
+ format,
79
+ validate,
80
+ generate
81
+ };
82
+ //#endregion
83
+ export { compact, isin as default, format, generate, validate };
84
+
85
+ //# sourceMappingURL=isin.js.map
@@ -0,0 +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\n/** Generate a random valid ISIN. */\nconst generate = (): string => {\n const countries = [\"US\", \"GB\", \"DE\", \"FR\", \"JP\"];\n for (;;) {\n const cc =\n countries[randomInt(0, countries.length - 1)]!;\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;;;AAI3E,MAAM,iBAAyB;CAC7B,MAAM,YAAY;EAAC;EAAM;EAAM;EAAM;EAAM;EAAK;AAChD,UAAS;EACP,MAAM,KACJ,UAAU,UAAU,GAAG,UAAU,SAAS,EAAE;EAC9C,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"}
@@ -0,0 +1,18 @@
1
+ import { ParsedPersonId, ValidateResult, Validator } from "../types.js";
2
+
3
+ //#region src/it/codicefiscale.d.ts
4
+
5
+ declare const compact: (value: string) => string;
6
+ declare const validate: (value: string) => ValidateResult;
7
+ declare const format: (value: string) => string;
8
+ /**
9
+ * Extract birth date and gender from a Codice Fiscale.
10
+ * Returns null if the value is not valid or is an
11
+ * 11-digit Partita IVA (no personal data embedded).
12
+ */
13
+ declare const parse: (value: string) => ParsedPersonId | null;
14
+ /** Italian Tax Code. */
15
+ declare const codiceFiscale: Validator;
16
+ //#endregion
17
+ export { compact, codiceFiscale as default, format, parse, validate };
18
+ //# sourceMappingURL=codicefiscale.d.ts.map