@stll/stdnum 2.1.0 → 2.1.2

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 (1181) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +1 -0
  2. package/dist/ad/mod.d.ts +0 -2
  3. package/dist/ad/mod.js +1 -1
  4. package/dist/ad/mod.js.map +1 -1
  5. package/dist/ad/nrt.d.ts +4 -21
  6. package/dist/ad/nrt.js +9 -53
  7. package/dist/ad/nrt.js.map +1 -1
  8. package/dist/ae/eid.d.ts +3 -9
  9. package/dist/ae/eid.js +9 -65
  10. package/dist/ae/eid.js.map +1 -1
  11. package/dist/ae/mod.d.ts +0 -2
  12. package/dist/ae/mod.js +1 -1
  13. package/dist/ae/mod.js.map +1 -1
  14. package/dist/ai/mod.d.ts +0 -2
  15. package/dist/ai/mod.js +1 -1
  16. package/dist/ai/mod.js.map +1 -1
  17. package/dist/ai/tin.d.ts +4 -31
  18. package/dist/ai/tin.js +9 -51
  19. package/dist/ai/tin.js.map +1 -1
  20. package/dist/al/mod.d.ts +0 -2
  21. package/dist/al/mod.js +1 -1
  22. package/dist/al/mod.js.map +1 -1
  23. package/dist/al/nipt.d.ts +4 -18
  24. package/dist/al/nipt.js +9 -42
  25. package/dist/al/nipt.js.map +1 -1
  26. package/dist/am/mod.d.ts +0 -2
  27. package/dist/am/mod.js +1 -1
  28. package/dist/am/mod.js.map +1 -1
  29. package/dist/am/tin.d.ts +4 -21
  30. package/dist/am/tin.js +9 -36
  31. package/dist/am/tin.js.map +1 -1
  32. package/dist/ar/cbu.d.ts +3 -6
  33. package/dist/ar/cbu.js +9 -76
  34. package/dist/ar/cbu.js.map +1 -1
  35. package/dist/ar/cuit.d.ts +3 -11
  36. package/dist/ar/cuit.js +9 -103
  37. package/dist/ar/cuit.js.map +1 -1
  38. package/dist/ar/dni.d.ts +4 -16
  39. package/dist/ar/dni.js +9 -45
  40. package/dist/ar/dni.js.map +1 -1
  41. package/dist/ar/mod.d.ts +0 -2
  42. package/dist/ar/mod.js +1 -1
  43. package/dist/ar/mod.js.map +1 -1
  44. package/dist/at/businessid.d.ts +4 -15
  45. package/dist/at/businessid.js +9 -45
  46. package/dist/at/businessid.js.map +1 -1
  47. package/dist/at/mod.d.ts +0 -2
  48. package/dist/at/mod.js +1 -1
  49. package/dist/at/mod.js.map +1 -1
  50. package/dist/at/tin.d.ts +3 -6
  51. package/dist/at/tin.js +9 -56
  52. package/dist/at/tin.js.map +1 -1
  53. package/dist/at/uid.d.ts +3 -6
  54. package/dist/at/uid.js +9 -52
  55. package/dist/at/uid.js.map +1 -1
  56. package/dist/at/vnr.d.ts +3 -6
  57. package/dist/at/vnr.js +9 -82
  58. package/dist/at/vnr.js.map +1 -1
  59. package/dist/au/abn.d.ts +3 -6
  60. package/dist/au/abn.js +9 -64
  61. package/dist/au/abn.js.map +1 -1
  62. package/dist/au/acn.d.ts +3 -6
  63. package/dist/au/acn.js +9 -57
  64. package/dist/au/acn.js.map +1 -1
  65. package/dist/au/mod.d.ts +0 -2
  66. package/dist/au/mod.js +1 -1
  67. package/dist/au/mod.js.map +1 -1
  68. package/dist/au/tfn.d.ts +3 -6
  69. package/dist/au/tfn.js +9 -58
  70. package/dist/au/tfn.js.map +1 -1
  71. package/dist/az/mod.d.ts +0 -2
  72. package/dist/az/mod.js +1 -1
  73. package/dist/az/mod.js.map +1 -1
  74. package/dist/az/voen.d.ts +3 -13
  75. package/dist/az/voen.js +9 -83
  76. package/dist/az/voen.js.map +1 -1
  77. package/dist/ba/jmbg.d.ts +5 -8
  78. package/dist/ba/jmbg.js +10 -86
  79. package/dist/ba/jmbg.js.map +1 -1
  80. package/dist/ba/mod.d.ts +0 -2
  81. package/dist/ba/mod.js +1 -1
  82. package/dist/ba/mod.js.map +1 -1
  83. package/dist/bd/mod.d.ts +0 -2
  84. package/dist/bd/mod.js +1 -1
  85. package/dist/bd/mod.js.map +1 -1
  86. package/dist/bd/nid.d.ts +4 -28
  87. package/dist/bd/nid.js +9 -91
  88. package/dist/bd/nid.js.map +1 -1
  89. package/dist/be/bis.d.ts +3 -6
  90. package/dist/be/bis.js +9 -51
  91. package/dist/be/bis.js.map +1 -1
  92. package/dist/be/mod.d.ts +0 -2
  93. package/dist/be/mod.js +2 -2
  94. package/dist/be/mod.js.map +1 -1
  95. package/dist/be/nn.d.ts +4 -13
  96. package/dist/be/nn.js +10 -70
  97. package/dist/be/nn.js.map +1 -1
  98. package/dist/be/vat.d.ts +3 -6
  99. package/dist/be/vat.js +9 -58
  100. package/dist/be/vat.js.map +1 -1
  101. package/dist/bg/egn.d.ts +5 -12
  102. package/dist/bg/egn.js +10 -110
  103. package/dist/bg/egn.js.map +1 -1
  104. package/dist/bg/mod.d.ts +0 -2
  105. package/dist/bg/mod.js +1 -1
  106. package/dist/bg/mod.js.map +1 -1
  107. package/dist/bg/pnf.d.ts +3 -6
  108. package/dist/bg/pnf.js +9 -59
  109. package/dist/bg/pnf.js.map +1 -1
  110. package/dist/bg/vat.d.ts +3 -6
  111. package/dist/bg/vat.js +9 -143
  112. package/dist/bg/vat.js.map +1 -1
  113. package/dist/bh/cpr.d.ts +3 -6
  114. package/dist/bh/cpr.js +9 -44
  115. package/dist/bh/cpr.js.map +1 -1
  116. package/dist/bh/mod.d.ts +0 -2
  117. package/dist/bh/mod.js +1 -1
  118. package/dist/bh/mod.js.map +1 -1
  119. package/dist/bic.d.ts +4 -18
  120. package/dist/bic.js +9 -56
  121. package/dist/bic.js.map +1 -1
  122. package/dist/br/cnpj.d.ts +3 -13
  123. package/dist/br/cnpj.js +9 -109
  124. package/dist/br/cnpj.js.map +1 -1
  125. package/dist/br/cpf.d.ts +3 -6
  126. package/dist/br/cpf.js +9 -66
  127. package/dist/br/cpf.js.map +1 -1
  128. package/dist/br/mod.d.ts +0 -2
  129. package/dist/br/mod.js +1 -1
  130. package/dist/br/mod.js.map +1 -1
  131. package/dist/by/mod.d.ts +0 -2
  132. package/dist/by/mod.js +1 -1
  133. package/dist/by/mod.js.map +1 -1
  134. package/dist/by/unp.d.ts +3 -6
  135. package/dist/by/unp.js +9 -102
  136. package/dist/by/unp.js.map +1 -1
  137. package/dist/bz/mod.d.ts +0 -2
  138. package/dist/bz/mod.js +1 -1
  139. package/dist/bz/mod.js.map +1 -1
  140. package/dist/bz/tin.d.ts +3 -10
  141. package/dist/bz/tin.js +9 -64
  142. package/dist/bz/tin.js.map +1 -1
  143. package/dist/ca/bn.d.ts +3 -6
  144. package/dist/ca/bn.js +9 -61
  145. package/dist/ca/bn.js.map +1 -1
  146. package/dist/ca/mod.d.ts +0 -2
  147. package/dist/ca/mod.js +1 -1
  148. package/dist/ca/mod.js.map +1 -1
  149. package/dist/ca/sin.d.ts +3 -6
  150. package/dist/ca/sin.js +9 -50
  151. package/dist/ca/sin.js.map +1 -1
  152. package/dist/catalog.d.ts +9 -0
  153. package/dist/catalog.js +9 -0
  154. package/dist/catalog.js.map +1 -0
  155. package/dist/ch/mod.d.ts +1 -3
  156. package/dist/ch/mod.js +2 -2
  157. package/dist/ch/mod.js.map +1 -1
  158. package/dist/ch/ssn.d.ts +3 -6
  159. package/dist/ch/ssn.js +9 -55
  160. package/dist/ch/ssn.js.map +1 -1
  161. package/dist/ch/uid.d.ts +3 -6
  162. package/dist/ch/uid.js +9 -69
  163. package/dist/ch/uid.js.map +1 -1
  164. package/dist/ch/vat.d.ts +3 -6
  165. package/dist/ch/vat.js +9 -58
  166. package/dist/ch/vat.js.map +1 -1
  167. package/dist/cl/mod.d.ts +0 -2
  168. package/dist/cl/mod.js +1 -1
  169. package/dist/cl/mod.js.map +1 -1
  170. package/dist/cl/rut.d.ts +3 -11
  171. package/dist/cl/rut.js +9 -78
  172. package/dist/cl/rut.js.map +1 -1
  173. package/dist/cn/mod.d.ts +0 -2
  174. package/dist/cn/mod.js +1 -1
  175. package/dist/cn/mod.js.map +1 -1
  176. package/dist/cn/ric.d.ts +5 -12
  177. package/dist/cn/ric.js +10 -94
  178. package/dist/cn/ric.js.map +1 -1
  179. package/dist/cn/uscc.d.ts +3 -6
  180. package/dist/cn/uscc.js +9 -76
  181. package/dist/cn/uscc.js.map +1 -1
  182. package/dist/co/mod.d.ts +0 -2
  183. package/dist/co/mod.js +1 -1
  184. package/dist/co/mod.js.map +1 -1
  185. package/dist/co/nit.d.ts +3 -6
  186. package/dist/co/nit.js +9 -98
  187. package/dist/co/nit.js.map +1 -1
  188. package/dist/cr/cpf.d.ts +4 -31
  189. package/dist/cr/cpf.js +9 -61
  190. package/dist/cr/cpf.js.map +1 -1
  191. package/dist/cr/mod.d.ts +0 -2
  192. package/dist/cr/mod.js +1 -1
  193. package/dist/cr/mod.js.map +1 -1
  194. package/dist/creditcard.d.ts +5 -18
  195. package/dist/creditcard.js +8 -109
  196. package/dist/creditcard.js.map +1 -1
  197. package/dist/crypto/btcbase58.d.ts +5 -6
  198. package/dist/crypto/btcbase58.js +8 -73
  199. package/dist/crypto/btcbase58.js.map +1 -1
  200. package/dist/crypto/btcbech32.d.ts +7 -9
  201. package/dist/crypto/btcbech32.js +10 -142
  202. package/dist/crypto/btcbech32.js.map +1 -1
  203. package/dist/crypto/eth.d.ts +4 -5
  204. package/dist/crypto/eth.js +7 -59
  205. package/dist/crypto/eth.js.map +1 -1
  206. package/dist/crypto/mod.d.ts +4 -6
  207. package/dist/crypto/mod.js +6 -6
  208. package/dist/crypto/mod.js.map +1 -1
  209. package/dist/crypto/wallet.d.ts +3 -4
  210. package/dist/crypto/wallet.js +6 -51
  211. package/dist/crypto/wallet.js.map +1 -1
  212. package/dist/cu/mod.d.ts +0 -2
  213. package/dist/cu/mod.js +1 -1
  214. package/dist/cu/mod.js.map +1 -1
  215. package/dist/cu/ni.d.ts +5 -16
  216. package/dist/cu/ni.js +10 -81
  217. package/dist/cu/ni.js.map +1 -1
  218. package/dist/cy/mod.d.ts +0 -2
  219. package/dist/cy/mod.js +1 -1
  220. package/dist/cy/mod.js.map +1 -1
  221. package/dist/cy/vat.d.ts +3 -6
  222. package/dist/cy/vat.js +9 -77
  223. package/dist/cy/vat.js.map +1 -1
  224. package/dist/cz/dic.d.ts +3 -6
  225. package/dist/cz/dic.js +9 -87
  226. package/dist/cz/dic.js.map +1 -1
  227. package/dist/cz/ico.d.ts +3 -6
  228. package/dist/cz/ico.js +9 -58
  229. package/dist/cz/ico.js.map +1 -1
  230. package/dist/cz/mod.d.ts +0 -2
  231. package/dist/cz/mod.js +2 -2
  232. package/dist/cz/mod.js.map +1 -1
  233. package/dist/cz/rc.d.ts +5 -15
  234. package/dist/cz/rc.js +10 -113
  235. package/dist/cz/rc.js.map +1 -1
  236. package/dist/de/handelsreg.d.ts +4 -28
  237. package/dist/de/handelsreg.js +9 -66
  238. package/dist/de/handelsreg.js.map +1 -1
  239. package/dist/de/idnr.d.ts +3 -6
  240. package/dist/de/idnr.js +9 -88
  241. package/dist/de/idnr.js.map +1 -1
  242. package/dist/de/mod.d.ts +0 -2
  243. package/dist/de/mod.js +1 -1
  244. package/dist/de/mod.js.map +1 -1
  245. package/dist/de/stnr.d.ts +4 -30
  246. package/dist/de/stnr.js +9 -126
  247. package/dist/de/stnr.js.map +1 -1
  248. package/dist/de/svnr.d.ts +3 -6
  249. package/dist/de/svnr.js +9 -95
  250. package/dist/de/svnr.js.map +1 -1
  251. package/dist/de/vat.d.ts +3 -6
  252. package/dist/de/vat.js +9 -52
  253. package/dist/de/vat.js.map +1 -1
  254. package/dist/dk/cpr.d.ts +5 -12
  255. package/dist/dk/cpr.js +10 -79
  256. package/dist/dk/cpr.js.map +1 -1
  257. package/dist/dk/cvr.d.ts +3 -6
  258. package/dist/dk/cvr.js +9 -53
  259. package/dist/dk/cvr.js.map +1 -1
  260. package/dist/dk/mod.d.ts +0 -2
  261. package/dist/dk/mod.js +1 -1
  262. package/dist/dk/mod.js.map +1 -1
  263. package/dist/dk/vat.d.ts +3 -6
  264. package/dist/dk/vat.js +9 -58
  265. package/dist/dk/vat.js.map +1 -1
  266. package/dist/do/mod.d.ts +0 -2
  267. package/dist/do/mod.js +1 -1
  268. package/dist/do/mod.js.map +1 -1
  269. package/dist/do/rnc.d.ts +3 -10
  270. package/dist/do/rnc.js +9 -77
  271. package/dist/do/rnc.js.map +1 -1
  272. package/dist/ec/mod.d.ts +0 -2
  273. package/dist/ec/mod.js +1 -1
  274. package/dist/ec/mod.js.map +1 -1
  275. package/dist/ec/ruc.d.ts +3 -6
  276. package/dist/ec/ruc.js +9 -129
  277. package/dist/ec/ruc.js.map +1 -1
  278. package/dist/ee/ik.d.ts +6 -17
  279. package/dist/ee/ik.js +11 -118
  280. package/dist/ee/ik.js.map +1 -1
  281. package/dist/ee/mod.d.ts +0 -2
  282. package/dist/ee/mod.js +1 -1
  283. package/dist/ee/mod.js.map +1 -1
  284. package/dist/ee/registrikood.d.ts +3 -6
  285. package/dist/ee/registrikood.js +9 -53
  286. package/dist/ee/registrikood.js.map +1 -1
  287. package/dist/ee/vat.d.ts +3 -6
  288. package/dist/ee/vat.js +9 -57
  289. package/dist/ee/vat.js.map +1 -1
  290. package/dist/eg/mod.d.ts +0 -2
  291. package/dist/eg/mod.js +1 -1
  292. package/dist/eg/mod.js.map +1 -1
  293. package/dist/eg/tn.d.ts +4 -16
  294. package/dist/eg/tn.js +9 -69
  295. package/dist/eg/tn.js.map +1 -1
  296. package/dist/es/cif.d.ts +3 -6
  297. package/dist/es/cif.js +9 -53
  298. package/dist/es/cif.js.map +1 -1
  299. package/dist/es/dni.d.ts +4 -7
  300. package/dist/es/dni.js +9 -45
  301. package/dist/es/dni.js.map +1 -1
  302. package/dist/es/mod.d.ts +0 -2
  303. package/dist/es/mod.js +2 -2
  304. package/dist/es/mod.js.map +1 -1
  305. package/dist/es/nie.d.ts +3 -6
  306. package/dist/es/nie.js +9 -66
  307. package/dist/es/nie.js.map +1 -1
  308. package/dist/es/nss.d.ts +3 -6
  309. package/dist/es/nss.js +9 -53
  310. package/dist/es/nss.js.map +1 -1
  311. package/dist/es/vat.d.ts +4 -7
  312. package/dist/es/vat.js +10 -95
  313. package/dist/es/vat.js.map +1 -1
  314. package/dist/eu/mod.d.ts +3 -5
  315. package/dist/eu/mod.js +4 -4
  316. package/dist/eu/mod.js.map +1 -1
  317. package/dist/eu/vat.d.ts +4 -15
  318. package/dist/eu/vat.js +10 -184
  319. package/dist/eu/vat.js.map +1 -1
  320. package/dist/fi/hetu.d.ts +5 -12
  321. package/dist/fi/hetu.js +10 -110
  322. package/dist/fi/hetu.js.map +1 -1
  323. package/dist/fi/mod.d.ts +0 -2
  324. package/dist/fi/mod.js +2 -2
  325. package/dist/fi/mod.js.map +1 -1
  326. package/dist/fi/vat.d.ts +3 -6
  327. package/dist/fi/vat.js +9 -57
  328. package/dist/fi/vat.js.map +1 -1
  329. package/dist/fi/ytunnus.d.ts +3 -6
  330. package/dist/fi/ytunnus.js +9 -59
  331. package/dist/fi/ytunnus.js.map +1 -1
  332. package/dist/fr/mod.d.ts +0 -2
  333. package/dist/fr/mod.js +2 -2
  334. package/dist/fr/mod.js.map +1 -1
  335. package/dist/fr/nif.d.ts +3 -6
  336. package/dist/fr/nif.js +9 -52
  337. package/dist/fr/nif.js.map +1 -1
  338. package/dist/fr/nir.d.ts +5 -8
  339. package/dist/fr/nir.js +10 -91
  340. package/dist/fr/nir.js.map +1 -1
  341. package/dist/fr/siren.d.ts +3 -6
  342. package/dist/fr/siren.js +9 -44
  343. package/dist/fr/siren.js.map +1 -1
  344. package/dist/fr/siret.d.ts +3 -6
  345. package/dist/fr/siret.js +9 -60
  346. package/dist/fr/siret.js.map +1 -1
  347. package/dist/fr/tva.d.ts +3 -6
  348. package/dist/fr/tva.js +9 -66
  349. package/dist/fr/tva.js.map +1 -1
  350. package/dist/gb/mod.d.ts +0 -2
  351. package/dist/gb/mod.js +2 -2
  352. package/dist/gb/mod.js.map +1 -1
  353. package/dist/gb/nhs.d.ts +4 -5
  354. package/dist/gb/nhs.js +7 -47
  355. package/dist/gb/nhs.js.map +1 -1
  356. package/dist/gb/nino.d.ts +4 -17
  357. package/dist/gb/nino.js +9 -90
  358. package/dist/gb/nino.js.map +1 -1
  359. package/dist/gb/sedol.d.ts +4 -7
  360. package/dist/gb/sedol.js +10 -72
  361. package/dist/gb/sedol.js.map +1 -1
  362. package/dist/gb/utr.d.ts +3 -6
  363. package/dist/gb/utr.js +9 -57
  364. package/dist/gb/utr.js.map +1 -1
  365. package/dist/gb/vat.d.ts +3 -6
  366. package/dist/gb/vat.js +9 -89
  367. package/dist/gb/vat.js.map +1 -1
  368. package/dist/ge/mod.d.ts +0 -2
  369. package/dist/ge/mod.js +1 -1
  370. package/dist/ge/mod.js.map +1 -1
  371. package/dist/ge/pin.d.ts +4 -19
  372. package/dist/ge/pin.js +9 -36
  373. package/dist/ge/pin.js.map +1 -1
  374. package/dist/gh/mod.d.ts +0 -2
  375. package/dist/gh/mod.js +1 -1
  376. package/dist/gh/mod.js.map +1 -1
  377. package/dist/gh/tin.d.ts +3 -6
  378. package/dist/gh/tin.js +9 -62
  379. package/dist/gh/tin.js.map +1 -1
  380. package/dist/gr/amka.d.ts +3 -6
  381. package/dist/gr/amka.js +9 -59
  382. package/dist/gr/amka.js.map +1 -1
  383. package/dist/gr/mod.d.ts +0 -2
  384. package/dist/gr/mod.js +2 -2
  385. package/dist/gr/mod.js.map +1 -1
  386. package/dist/gr/vat.d.ts +3 -6
  387. package/dist/gr/vat.js +9 -53
  388. package/dist/gr/vat.js.map +1 -1
  389. package/dist/gt/mod.d.ts +0 -2
  390. package/dist/gt/mod.js +1 -1
  391. package/dist/gt/mod.js.map +1 -1
  392. package/dist/gt/nit.d.ts +3 -13
  393. package/dist/gt/nit.js +9 -86
  394. package/dist/gt/nit.js.map +1 -1
  395. package/dist/hk/hkid.d.ts +3 -7
  396. package/dist/hk/hkid.js +9 -80
  397. package/dist/hk/hkid.js.map +1 -1
  398. package/dist/hk/mod.d.ts +0 -2
  399. package/dist/hk/mod.js +1 -1
  400. package/dist/hk/mod.js.map +1 -1
  401. package/dist/hr/mod.d.ts +0 -2
  402. package/dist/hr/mod.js +1 -1
  403. package/dist/hr/mod.js.map +1 -1
  404. package/dist/hr/vat.d.ts +3 -6
  405. package/dist/hr/vat.js +9 -44
  406. package/dist/hr/vat.js.map +1 -1
  407. package/dist/hu/mod.d.ts +0 -2
  408. package/dist/hu/mod.js +1 -1
  409. package/dist/hu/mod.js.map +1 -1
  410. package/dist/hu/vat.d.ts +3 -6
  411. package/dist/hu/vat.js +9 -57
  412. package/dist/hu/vat.js.map +1 -1
  413. package/dist/iban.d.ts +3 -8
  414. package/dist/iban.js +9 -272
  415. package/dist/iban.js.map +1 -1
  416. package/dist/id/mod.d.ts +0 -2
  417. package/dist/id/mod.js +1 -1
  418. package/dist/id/mod.js.map +1 -1
  419. package/dist/id/npwp.d.ts +3 -6
  420. package/dist/id/npwp.js +9 -119
  421. package/dist/id/npwp.js.map +1 -1
  422. package/dist/ie/mod.d.ts +0 -2
  423. package/dist/ie/mod.js +2 -2
  424. package/dist/ie/mod.js.map +1 -1
  425. package/dist/ie/pps.d.ts +3 -6
  426. package/dist/ie/pps.js +9 -56
  427. package/dist/ie/pps.js.map +1 -1
  428. package/dist/ie/vat.d.ts +3 -6
  429. package/dist/ie/vat.js +9 -71
  430. package/dist/ie/vat.js.map +1 -1
  431. package/dist/il/idnr.d.ts +3 -6
  432. package/dist/il/idnr.js +9 -50
  433. package/dist/il/idnr.js.map +1 -1
  434. package/dist/il/mod.d.ts +0 -2
  435. package/dist/il/mod.js +1 -1
  436. package/dist/il/mod.js.map +1 -1
  437. package/dist/in/aadhaar.d.ts +3 -6
  438. package/dist/in/aadhaar.js +9 -47
  439. package/dist/in/aadhaar.js.map +1 -1
  440. package/dist/in/gstin.d.ts +3 -6
  441. package/dist/in/gstin.js +9 -119
  442. package/dist/in/gstin.js.map +1 -1
  443. package/dist/in/mod.d.ts +0 -2
  444. package/dist/in/mod.js +1 -1
  445. package/dist/in/mod.js.map +1 -1
  446. package/dist/in/pan.d.ts +4 -20
  447. package/dist/in/pan.js +9 -42
  448. package/dist/in/pan.js.map +1 -1
  449. package/dist/index.d.ts +9 -9
  450. package/dist/index.js +2 -2
  451. package/dist/iq/mod.d.ts +0 -2
  452. package/dist/iq/mod.js +1 -1
  453. package/dist/iq/mod.js.map +1 -1
  454. package/dist/iq/nid.d.ts +4 -22
  455. package/dist/iq/nid.js +9 -39
  456. package/dist/iq/nid.js.map +1 -1
  457. package/dist/ir/mod.d.ts +0 -2
  458. package/dist/ir/mod.js +1 -1
  459. package/dist/ir/mod.js.map +1 -1
  460. package/dist/ir/nid.d.ts +3 -10
  461. package/dist/ir/nid.js +9 -64
  462. package/dist/ir/nid.js.map +1 -1
  463. package/dist/is/kennitala.d.ts +3 -6
  464. package/dist/is/kennitala.js +9 -77
  465. package/dist/is/kennitala.js.map +1 -1
  466. package/dist/is/mod.d.ts +0 -2
  467. package/dist/is/mod.js +1 -1
  468. package/dist/is/mod.js.map +1 -1
  469. package/dist/is/vsk.d.ts +4 -14
  470. package/dist/is/vsk.js +9 -37
  471. package/dist/is/vsk.js.map +1 -1
  472. package/dist/isin.d.ts +3 -6
  473. package/dist/isin.js +9 -71
  474. package/dist/isin.js.map +1 -1
  475. package/dist/it/codicefiscale.d.ts +5 -13
  476. package/dist/it/codicefiscale.js +10 -214
  477. package/dist/it/codicefiscale.js.map +1 -1
  478. package/dist/it/iva.d.ts +3 -6
  479. package/dist/it/iva.js +9 -60
  480. package/dist/it/iva.js.map +1 -1
  481. package/dist/it/mod.d.ts +0 -2
  482. package/dist/it/mod.js +2 -2
  483. package/dist/it/mod.js.map +1 -1
  484. package/dist/jp/cn.d.ts +3 -6
  485. package/dist/jp/cn.js +9 -56
  486. package/dist/jp/cn.js.map +1 -1
  487. package/dist/jp/mod.d.ts +0 -2
  488. package/dist/jp/mod.js +1 -1
  489. package/dist/jp/mod.js.map +1 -1
  490. package/dist/jp/mynumber.d.ts +3 -6
  491. package/dist/jp/mynumber.js +9 -73
  492. package/dist/jp/mynumber.js.map +1 -1
  493. package/dist/kr/brn.d.ts +4 -16
  494. package/dist/kr/brn.js +9 -55
  495. package/dist/kr/brn.js.map +1 -1
  496. package/dist/kr/mod.d.ts +0 -2
  497. package/dist/kr/mod.js +1 -1
  498. package/dist/kr/mod.js.map +1 -1
  499. package/dist/kr/rrn.d.ts +5 -17
  500. package/dist/kr/rrn.js +10 -131
  501. package/dist/kr/rrn.js.map +1 -1
  502. package/dist/kw/civil.d.ts +5 -13
  503. package/dist/kw/civil.js +10 -98
  504. package/dist/kw/civil.js.map +1 -1
  505. package/dist/kw/mod.d.ts +0 -2
  506. package/dist/kw/mod.js +1 -1
  507. package/dist/kw/mod.js.map +1 -1
  508. package/dist/kz/iin.d.ts +5 -16
  509. package/dist/kz/iin.js +10 -132
  510. package/dist/kz/iin.js.map +1 -1
  511. package/dist/kz/mod.d.ts +0 -2
  512. package/dist/kz/mod.js +1 -1
  513. package/dist/kz/mod.js.map +1 -1
  514. package/dist/lei.d.ts +3 -6
  515. package/dist/lei.js +9 -55
  516. package/dist/lei.js.map +1 -1
  517. package/dist/li/mod.d.ts +0 -2
  518. package/dist/li/mod.js +1 -1
  519. package/dist/li/mod.js.map +1 -1
  520. package/dist/li/peid.d.ts +4 -16
  521. package/dist/li/peid.js +9 -49
  522. package/dist/li/peid.js.map +1 -1
  523. package/dist/lk/mod.d.ts +0 -2
  524. package/dist/lk/mod.js +1 -1
  525. package/dist/lk/mod.js.map +1 -1
  526. package/dist/lk/nic.d.ts +5 -12
  527. package/dist/lk/nic.js +10 -135
  528. package/dist/lk/nic.js.map +1 -1
  529. package/dist/lt/asmens.d.ts +3 -6
  530. package/dist/lt/asmens.js +9 -78
  531. package/dist/lt/asmens.js.map +1 -1
  532. package/dist/lt/mod.d.ts +0 -2
  533. package/dist/lt/mod.js +2 -2
  534. package/dist/lt/mod.js.map +1 -1
  535. package/dist/lt/vat.d.ts +3 -6
  536. package/dist/lt/vat.js +9 -60
  537. package/dist/lt/vat.js.map +1 -1
  538. package/dist/lu/mod.d.ts +0 -2
  539. package/dist/lu/mod.js +1 -1
  540. package/dist/lu/mod.js.map +1 -1
  541. package/dist/lu/vat.d.ts +3 -6
  542. package/dist/lu/vat.js +9 -46
  543. package/dist/lu/vat.js.map +1 -1
  544. package/dist/luhn.d.ts +3 -9
  545. package/dist/luhn.js +7 -47
  546. package/dist/luhn.js.map +1 -1
  547. package/dist/lv/mod.d.ts +0 -2
  548. package/dist/lv/mod.js +1 -1
  549. package/dist/lv/mod.js.map +1 -1
  550. package/dist/lv/vat.d.ts +3 -6
  551. package/dist/lv/vat.js +9 -101
  552. package/dist/lv/vat.js.map +1 -1
  553. package/dist/ma/ice.d.ts +3 -6
  554. package/dist/ma/ice.js +9 -44
  555. package/dist/ma/ice.js.map +1 -1
  556. package/dist/ma/mod.d.ts +0 -2
  557. package/dist/ma/mod.js +1 -1
  558. package/dist/ma/mod.js.map +1 -1
  559. package/dist/mc/mod.d.ts +0 -2
  560. package/dist/mc/mod.js +1 -1
  561. package/dist/mc/mod.js.map +1 -1
  562. package/dist/mc/tva.d.ts +3 -6
  563. package/dist/mc/tva.js +9 -50
  564. package/dist/mc/tva.js.map +1 -1
  565. package/dist/md/idno.d.ts +3 -5
  566. package/dist/md/idno.js +6 -58
  567. package/dist/md/idno.js.map +1 -1
  568. package/dist/md/mod.d.ts +0 -2
  569. package/dist/md/mod.js +1 -1
  570. package/dist/md/mod.js.map +1 -1
  571. package/dist/me/mod.d.ts +0 -2
  572. package/dist/me/mod.js +1 -1
  573. package/dist/me/mod.js.map +1 -1
  574. package/dist/me/pib.d.ts +3 -6
  575. package/dist/me/pib.js +9 -51
  576. package/dist/me/pib.js.map +1 -1
  577. package/dist/metadata.d.ts +3505 -0
  578. package/dist/metadata.js +4949 -0
  579. package/dist/metadata.js.map +1 -0
  580. package/dist/mk/edb.d.ts +3 -6
  581. package/dist/mk/edb.js +9 -64
  582. package/dist/mk/edb.js.map +1 -1
  583. package/dist/mk/mod.d.ts +0 -2
  584. package/dist/mk/mod.js +1 -1
  585. package/dist/mk/mod.js.map +1 -1
  586. package/dist/mt/mod.d.ts +0 -2
  587. package/dist/mt/mod.js +1 -1
  588. package/dist/mt/mod.js.map +1 -1
  589. package/dist/mt/vat.d.ts +3 -6
  590. package/dist/mt/vat.js +9 -58
  591. package/dist/mt/vat.js.map +1 -1
  592. package/dist/mu/brn.d.ts +4 -28
  593. package/dist/mu/brn.js +9 -44
  594. package/dist/mu/brn.js.map +1 -1
  595. package/dist/mu/mod.d.ts +0 -2
  596. package/dist/mu/mod.js +1 -1
  597. package/dist/mu/mod.js.map +1 -1
  598. package/dist/mx/clabe.d.ts +3 -10
  599. package/dist/mx/clabe.js +9 -70
  600. package/dist/mx/clabe.js.map +1 -1
  601. package/dist/mx/curp.d.ts +5 -16
  602. package/dist/mx/curp.js +10 -144
  603. package/dist/mx/curp.js.map +1 -1
  604. package/dist/mx/mod.d.ts +0 -2
  605. package/dist/mx/mod.js +1 -1
  606. package/dist/mx/mod.js.map +1 -1
  607. package/dist/mx/rfc.d.ts +3 -10
  608. package/dist/mx/rfc.js +9 -91
  609. package/dist/mx/rfc.js.map +1 -1
  610. package/dist/my/mod.d.ts +0 -2
  611. package/dist/my/mod.js +1 -1
  612. package/dist/my/mod.js.map +1 -1
  613. package/dist/my/nric.d.ts +5 -12
  614. package/dist/my/nric.js +10 -184
  615. package/dist/my/nric.js.map +1 -1
  616. package/dist/native-node.d.ts +14 -0
  617. package/dist/native-node.js +75 -0
  618. package/dist/native-node.js.map +1 -0
  619. package/dist/native.d.ts +79 -0
  620. package/dist/native.js +24 -0
  621. package/dist/native.js.map +1 -0
  622. package/dist/ng/mod.d.ts +0 -2
  623. package/dist/ng/mod.js +1 -1
  624. package/dist/ng/mod.js.map +1 -1
  625. package/dist/ng/nin.d.ts +4 -18
  626. package/dist/ng/nin.js +9 -40
  627. package/dist/ng/nin.js.map +1 -1
  628. package/dist/ni/mod.d.ts +0 -2
  629. package/dist/ni/mod.js +1 -1
  630. package/dist/ni/mod.js.map +1 -1
  631. package/dist/ni/ruc.d.ts +3 -15
  632. package/dist/ni/ruc.js +9 -87
  633. package/dist/ni/ruc.js.map +1 -1
  634. package/dist/nl/bsn.d.ts +3 -6
  635. package/dist/nl/bsn.js +9 -58
  636. package/dist/nl/bsn.js.map +1 -1
  637. package/dist/nl/kvk.d.ts +4 -14
  638. package/dist/nl/kvk.js +9 -35
  639. package/dist/nl/kvk.js.map +1 -1
  640. package/dist/nl/mod.d.ts +0 -2
  641. package/dist/nl/mod.js +2 -2
  642. package/dist/nl/mod.js.map +1 -1
  643. package/dist/nl/vat.d.ts +3 -6
  644. package/dist/nl/vat.js +9 -44
  645. package/dist/nl/vat.js.map +1 -1
  646. package/dist/no/fodselsnummer.d.ts +5 -13
  647. package/dist/no/fodselsnummer.js +10 -123
  648. package/dist/no/fodselsnummer.js.map +1 -1
  649. package/dist/no/mod.d.ts +2 -4
  650. package/dist/no/mod.js +3 -3
  651. package/dist/no/mod.js.map +1 -1
  652. package/dist/no/mva.d.ts +3 -6
  653. package/dist/no/mva.js +9 -43
  654. package/dist/no/mva.js.map +1 -1
  655. package/dist/no/orgnr.d.ts +3 -6
  656. package/dist/no/orgnr.js +9 -56
  657. package/dist/no/orgnr.js.map +1 -1
  658. package/dist/nz/ird.d.ts +3 -6
  659. package/dist/nz/ird.js +9 -92
  660. package/dist/nz/ird.js.map +1 -1
  661. package/dist/nz/mod.d.ts +0 -2
  662. package/dist/nz/mod.js +1 -1
  663. package/dist/nz/mod.js.map +1 -1
  664. package/dist/pa/mod.d.ts +0 -2
  665. package/dist/pa/mod.js +1 -1
  666. package/dist/pa/mod.js.map +1 -1
  667. package/dist/pa/ruc.d.ts +3 -15
  668. package/dist/pa/ruc.js +9 -181
  669. package/dist/pa/ruc.js.map +1 -1
  670. package/dist/patterns.d.ts +6 -35
  671. package/dist/patterns.js +10 -171
  672. package/dist/patterns.js.map +1 -1
  673. package/dist/pe/mod.d.ts +0 -2
  674. package/dist/pe/mod.js +1 -1
  675. package/dist/pe/mod.js.map +1 -1
  676. package/dist/pe/ruc.d.ts +3 -11
  677. package/dist/pe/ruc.js +9 -91
  678. package/dist/pe/ruc.js.map +1 -1
  679. package/dist/ph/mod.d.ts +0 -2
  680. package/dist/ph/mod.js +1 -1
  681. package/dist/ph/mod.js.map +1 -1
  682. package/dist/ph/philid.d.ts +4 -19
  683. package/dist/ph/philid.js +9 -45
  684. package/dist/ph/philid.js.map +1 -1
  685. package/dist/pk/cnic.d.ts +4 -19
  686. package/dist/pk/cnic.js +9 -54
  687. package/dist/pk/cnic.js.map +1 -1
  688. package/dist/pk/mod.d.ts +0 -2
  689. package/dist/pk/mod.js +1 -1
  690. package/dist/pk/mod.js.map +1 -1
  691. package/dist/pl/mod.d.ts +0 -2
  692. package/dist/pl/mod.js +1 -1
  693. package/dist/pl/mod.js.map +1 -1
  694. package/dist/pl/nip.d.ts +3 -10
  695. package/dist/pl/nip.js +9 -65
  696. package/dist/pl/nip.js.map +1 -1
  697. package/dist/pl/pesel.d.ts +5 -12
  698. package/dist/pl/pesel.js +10 -96
  699. package/dist/pl/pesel.js.map +1 -1
  700. package/dist/pl/regon.d.ts +3 -6
  701. package/dist/pl/regon.js +9 -72
  702. package/dist/pl/regon.js.map +1 -1
  703. package/dist/pt/cc.d.ts +3 -6
  704. package/dist/pt/cc.js +9 -67
  705. package/dist/pt/cc.js.map +1 -1
  706. package/dist/pt/mod.d.ts +0 -2
  707. package/dist/pt/mod.js +2 -2
  708. package/dist/pt/mod.js.map +1 -1
  709. package/dist/pt/vat.d.ts +3 -6
  710. package/dist/pt/vat.js +9 -61
  711. package/dist/pt/vat.js.map +1 -1
  712. package/dist/registry.d.ts +6 -0
  713. package/dist/registry.js +357 -0
  714. package/dist/registry.js.map +1 -0
  715. package/dist/ro/cnp.d.ts +5 -12
  716. package/dist/ro/cnp.js +10 -163
  717. package/dist/ro/cnp.js.map +1 -1
  718. package/dist/ro/mod.d.ts +0 -2
  719. package/dist/ro/mod.js +2 -2
  720. package/dist/ro/mod.js.map +1 -1
  721. package/dist/ro/vat.d.ts +3 -6
  722. package/dist/ro/vat.js +9 -74
  723. package/dist/ro/vat.js.map +1 -1
  724. package/dist/rs/mod.d.ts +0 -2
  725. package/dist/rs/mod.js +1 -1
  726. package/dist/rs/mod.js.map +1 -1
  727. package/dist/rs/pib.d.ts +3 -6
  728. package/dist/rs/pib.js +9 -48
  729. package/dist/rs/pib.js.map +1 -1
  730. package/dist/ru/inn.d.ts +3 -6
  731. package/dist/ru/inn.js +9 -89
  732. package/dist/ru/inn.js.map +1 -1
  733. package/dist/ru/mod.d.ts +0 -2
  734. package/dist/ru/mod.js +1 -1
  735. package/dist/ru/mod.js.map +1 -1
  736. package/dist/runtime.js +121 -0
  737. package/dist/runtime.js.map +1 -0
  738. package/dist/se/mod.d.ts +0 -2
  739. package/dist/se/mod.js +2 -2
  740. package/dist/se/mod.js.map +1 -1
  741. package/dist/se/orgnr.d.ts +3 -6
  742. package/dist/se/orgnr.js +9 -48
  743. package/dist/se/orgnr.js.map +1 -1
  744. package/dist/se/personnummer.d.ts +5 -16
  745. package/dist/se/personnummer.js +10 -111
  746. package/dist/se/personnummer.js.map +1 -1
  747. package/dist/se/vat.d.ts +3 -6
  748. package/dist/se/vat.js +9 -52
  749. package/dist/se/vat.js.map +1 -1
  750. package/dist/sg/mod.d.ts +0 -2
  751. package/dist/sg/mod.js +1 -1
  752. package/dist/sg/mod.js.map +1 -1
  753. package/dist/sg/uen.d.ts +3 -6
  754. package/dist/sg/uen.js +9 -180
  755. package/dist/sg/uen.js.map +1 -1
  756. package/dist/si/emso.d.ts +5 -12
  757. package/dist/si/emso.js +10 -102
  758. package/dist/si/emso.js.map +1 -1
  759. package/dist/si/mod.d.ts +0 -2
  760. package/dist/si/mod.js +2 -2
  761. package/dist/si/mod.js.map +1 -1
  762. package/dist/si/vat.d.ts +3 -6
  763. package/dist/si/vat.js +9 -61
  764. package/dist/si/vat.js.map +1 -1
  765. package/dist/sk/dic.d.ts +3 -6
  766. package/dist/sk/dic.js +9 -63
  767. package/dist/sk/dic.js.map +1 -1
  768. package/dist/sk/ico.d.ts +6 -5
  769. package/dist/sk/ico.js +9 -27
  770. package/dist/sk/ico.js.map +1 -1
  771. package/dist/sk/mod.d.ts +0 -2
  772. package/dist/sk/mod.js +1 -1
  773. package/dist/sk/mod.js.map +1 -1
  774. package/dist/sk/rc.d.ts +7 -5
  775. package/dist/sk/rc.js +10 -30
  776. package/dist/sk/rc.js.map +1 -1
  777. package/dist/th/mod.d.ts +0 -2
  778. package/dist/th/mod.js +1 -1
  779. package/dist/th/mod.js.map +1 -1
  780. package/dist/th/tin.d.ts +3 -6
  781. package/dist/th/tin.js +9 -49
  782. package/dist/th/tin.js.map +1 -1
  783. package/dist/tr/mod.d.ts +0 -2
  784. package/dist/tr/mod.js +1 -1
  785. package/dist/tr/mod.js.map +1 -1
  786. package/dist/tr/tckimlik.d.ts +3 -7
  787. package/dist/tr/tckimlik.js +9 -56
  788. package/dist/tr/tckimlik.js.map +1 -1
  789. package/dist/tr/vkn.d.ts +3 -7
  790. package/dist/tr/vkn.js +9 -56
  791. package/dist/tr/vkn.js.map +1 -1
  792. package/dist/tw/mod.d.ts +0 -2
  793. package/dist/tw/mod.js +1 -1
  794. package/dist/tw/mod.js.map +1 -1
  795. package/dist/tw/ubn.d.ts +3 -6
  796. package/dist/tw/ubn.js +9 -72
  797. package/dist/tw/ubn.js.map +1 -1
  798. package/dist/types.d.ts +16 -85
  799. package/dist/ua/edrpou.d.ts +3 -6
  800. package/dist/ua/edrpou.js +9 -92
  801. package/dist/ua/edrpou.js.map +1 -1
  802. package/dist/ua/mod.d.ts +0 -2
  803. package/dist/ua/mod.js +1 -1
  804. package/dist/ua/mod.js.map +1 -1
  805. package/dist/us/ein.d.ts +4 -17
  806. package/dist/us/ein.js +9 -221
  807. package/dist/us/ein.js.map +1 -1
  808. package/dist/us/itin.d.ts +4 -20
  809. package/dist/us/itin.js +9 -54
  810. package/dist/us/itin.js.map +1 -1
  811. package/dist/us/mod.d.ts +0 -2
  812. package/dist/us/mod.js +1 -1
  813. package/dist/us/mod.js.map +1 -1
  814. package/dist/us/rtn.d.ts +3 -6
  815. package/dist/us/rtn.js +9 -75
  816. package/dist/us/rtn.js.map +1 -1
  817. package/dist/us/ssn.d.ts +4 -18
  818. package/dist/us/ssn.js +9 -63
  819. package/dist/us/ssn.js.map +1 -1
  820. package/dist/uy/mod.d.ts +0 -2
  821. package/dist/uy/mod.js +1 -1
  822. package/dist/uy/mod.js.map +1 -1
  823. package/dist/uy/rut.d.ts +3 -10
  824. package/dist/uy/rut.js +9 -88
  825. package/dist/uy/rut.js.map +1 -1
  826. package/dist/ve/mod.d.ts +0 -2
  827. package/dist/ve/mod.js +1 -1
  828. package/dist/ve/mod.js.map +1 -1
  829. package/dist/ve/rif.d.ts +3 -10
  830. package/dist/ve/rif.js +9 -92
  831. package/dist/ve/rif.js.map +1 -1
  832. package/dist/vn/mod.d.ts +0 -2
  833. package/dist/vn/mod.js +1 -1
  834. package/dist/vn/mod.js.map +1 -1
  835. package/dist/vn/mst.d.ts +3 -6
  836. package/dist/vn/mst.js +9 -67
  837. package/dist/vn/mst.js.map +1 -1
  838. package/dist/za/idnr.d.ts +5 -12
  839. package/dist/za/idnr.js +10 -94
  840. package/dist/za/idnr.js.map +1 -1
  841. package/dist/za/mod.d.ts +0 -2
  842. package/dist/za/mod.js +1 -1
  843. package/dist/za/mod.js.map +1 -1
  844. package/index.cjs +3 -0
  845. package/package.json +38 -62
  846. package/registry.json +4829 -0
  847. package/registry.schema.json +94 -0
  848. package/LICENSE +0 -21
  849. package/README.md +0 -346
  850. package/dist/_checksums/keccak.d.ts +0 -5
  851. package/dist/_checksums/keccak.js +0 -118
  852. package/dist/_checksums/keccak.js.map +0 -1
  853. package/dist/_checksums/luhn.d.ts +0 -12
  854. package/dist/_checksums/luhn.js +0 -26
  855. package/dist/_checksums/luhn.js.map +0 -1
  856. package/dist/_checksums/mod1110.d.ts +0 -12
  857. package/dist/_checksums/mod1110.js +0 -25
  858. package/dist/_checksums/mod1110.js.map +0 -1
  859. package/dist/_checksums/mod112.d.ts +0 -24
  860. package/dist/_checksums/mod112.js +0 -53
  861. package/dist/_checksums/mod112.js.map +0 -1
  862. package/dist/_checksums/mod97.d.ts +0 -23
  863. package/dist/_checksums/mod97.js +0 -28
  864. package/dist/_checksums/mod97.js.map +0 -1
  865. package/dist/_checksums/sha256.d.ts +0 -5
  866. package/dist/_checksums/sha256.js +0 -164
  867. package/dist/_checksums/sha256.js.map +0 -1
  868. package/dist/_checksums/verhoeff.d.ts +0 -22
  869. package/dist/_checksums/verhoeff.js +0 -271
  870. package/dist/_checksums/verhoeff.js.map +0 -1
  871. package/dist/_checksums/weighted-sum.d.ts +0 -13
  872. package/dist/_checksums/weighted-sum.js +0 -22
  873. package/dist/_checksums/weighted-sum.js.map +0 -1
  874. package/dist/_util/arabic.d.ts +0 -19
  875. package/dist/_util/arabic.js +0 -41
  876. package/dist/_util/arabic.js.map +0 -1
  877. package/dist/_util/clean.d.ts +0 -13
  878. package/dist/_util/clean.js +0 -71
  879. package/dist/_util/clean.js.map +0 -1
  880. package/dist/_util/date.d.ts +0 -12
  881. package/dist/_util/date.js +0 -19
  882. package/dist/_util/date.js.map +0 -1
  883. package/dist/_util/generate.d.ts +0 -28
  884. package/dist/_util/generate.js +0 -43
  885. package/dist/_util/generate.js.map +0 -1
  886. package/dist/_util/result.d.ts +0 -8
  887. package/dist/_util/result.js +0 -13
  888. package/dist/_util/result.js.map +0 -1
  889. package/dist/_util/strings.d.ts +0 -21
  890. package/dist/_util/strings.js +0 -28
  891. package/dist/_util/strings.js.map +0 -1
  892. package/src/_checksums/keccak.ts +0 -145
  893. package/src/_checksums/luhn.ts +0 -24
  894. package/src/_checksums/mod1110.ts +0 -24
  895. package/src/_checksums/mod112.ts +0 -41
  896. package/src/_checksums/mod97.ts +0 -28
  897. package/src/_checksums/sha256.ts +0 -125
  898. package/src/_checksums/verhoeff.ts +0 -71
  899. package/src/_checksums/weighted-sum.ts +0 -23
  900. package/src/_util/arabic.ts +0 -48
  901. package/src/_util/clean.ts +0 -86
  902. package/src/_util/date.ts +0 -23
  903. package/src/_util/generate.ts +0 -62
  904. package/src/_util/result.ts +0 -10
  905. package/src/_util/strings.ts +0 -32
  906. package/src/ad/mod.ts +0 -1
  907. package/src/ad/nrt.ts +0 -123
  908. package/src/ae/eid.ts +0 -110
  909. package/src/ae/mod.ts +0 -1
  910. package/src/ai/mod.ts +0 -1
  911. package/src/ai/tin.ts +0 -102
  912. package/src/al/mod.ts +0 -1
  913. package/src/al/nipt.ts +0 -82
  914. package/src/am/mod.ts +0 -1
  915. package/src/am/tin.ts +0 -77
  916. package/src/ar/cbu.ts +0 -110
  917. package/src/ar/cuit.ts +0 -149
  918. package/src/ar/dni.ts +0 -83
  919. package/src/ar/mod.ts +0 -3
  920. package/src/at/businessid.ts +0 -78
  921. package/src/at/mod.ts +0 -4
  922. package/src/at/tin.ts +0 -94
  923. package/src/at/uid.ts +0 -96
  924. package/src/at/vnr.ts +0 -161
  925. package/src/au/abn.ts +0 -89
  926. package/src/au/acn.ts +0 -90
  927. package/src/au/mod.ts +0 -3
  928. package/src/au/tfn.ts +0 -89
  929. package/src/az/mod.ts +0 -1
  930. package/src/az/voen.ts +0 -131
  931. package/src/ba/jmbg.ts +0 -130
  932. package/src/ba/mod.ts +0 -1
  933. package/src/bd/mod.ts +0 -1
  934. package/src/bd/nid.ts +0 -143
  935. package/src/be/bis.ts +0 -109
  936. package/src/be/mod.ts +0 -3
  937. package/src/be/nn.ts +0 -129
  938. package/src/be/vat.ts +0 -111
  939. package/src/bg/egn.ts +0 -164
  940. package/src/bg/mod.ts +0 -3
  941. package/src/bg/pnf.ts +0 -90
  942. package/src/bg/vat.ts +0 -160
  943. package/src/bh/cpr.ts +0 -94
  944. package/src/bh/mod.ts +0 -1
  945. package/src/bic.ts +0 -105
  946. package/src/br/cnpj.ts +0 -156
  947. package/src/br/cpf.ts +0 -118
  948. package/src/br/mod.ts +0 -2
  949. package/src/by/mod.ts +0 -1
  950. package/src/by/unp.ts +0 -163
  951. package/src/bz/mod.ts +0 -1
  952. package/src/bz/tin.ts +0 -122
  953. package/src/ca/bn.ts +0 -111
  954. package/src/ca/mod.ts +0 -2
  955. package/src/ca/sin.ts +0 -95
  956. package/src/ch/mod.ts +0 -3
  957. package/src/ch/ssn.ts +0 -99
  958. package/src/ch/uid.ts +0 -112
  959. package/src/ch/vat.ts +0 -89
  960. package/src/cl/mod.ts +0 -1
  961. package/src/cl/rut.ts +0 -124
  962. package/src/cn/mod.ts +0 -2
  963. package/src/cn/ric.ts +0 -184
  964. package/src/cn/uscc.ts +0 -127
  965. package/src/co/mod.ts +0 -1
  966. package/src/co/nit.ts +0 -116
  967. package/src/cr/cpf.ts +0 -116
  968. package/src/cr/mod.ts +0 -1
  969. package/src/creditcard.ts +0 -194
  970. package/src/crypto/btcbase58.ts +0 -144
  971. package/src/crypto/btcbech32.ts +0 -210
  972. package/src/crypto/eth.ts +0 -114
  973. package/src/crypto/mod.ts +0 -4
  974. package/src/crypto/wallet.ts +0 -67
  975. package/src/cu/mod.ts +0 -1
  976. package/src/cu/ni.ts +0 -146
  977. package/src/cy/mod.ts +0 -1
  978. package/src/cy/vat.ts +0 -134
  979. package/src/cz/dic.ts +0 -140
  980. package/src/cz/ico.ts +0 -86
  981. package/src/cz/mod.ts +0 -3
  982. package/src/cz/rc.ts +0 -222
  983. package/src/de/handelsreg.ts +0 -122
  984. package/src/de/idnr.ts +0 -147
  985. package/src/de/mod.ts +0 -5
  986. package/src/de/stnr.ts +0 -222
  987. package/src/de/svnr.ts +0 -171
  988. package/src/de/vat.ts +0 -102
  989. package/src/dk/cpr.ts +0 -137
  990. package/src/dk/cvr.ts +0 -91
  991. package/src/dk/mod.ts +0 -3
  992. package/src/dk/vat.ts +0 -96
  993. package/src/do/mod.ts +0 -1
  994. package/src/do/rnc.ts +0 -130
  995. package/src/ec/mod.ts +0 -1
  996. package/src/ec/ruc.ts +0 -199
  997. package/src/ee/ik.ts +0 -167
  998. package/src/ee/mod.ts +0 -3
  999. package/src/ee/registrikood.ts +0 -86
  1000. package/src/ee/vat.ts +0 -89
  1001. package/src/eg/mod.ts +0 -1
  1002. package/src/eg/tn.ts +0 -107
  1003. package/src/es/cif.ts +0 -108
  1004. package/src/es/dni.ts +0 -94
  1005. package/src/es/mod.ts +0 -5
  1006. package/src/es/nie.ts +0 -111
  1007. package/src/es/nss.ts +0 -113
  1008. package/src/es/vat.ts +0 -186
  1009. package/src/eu/mod.ts +0 -1
  1010. package/src/eu/vat.ts +0 -220
  1011. package/src/fi/hetu.ts +0 -200
  1012. package/src/fi/mod.ts +0 -3
  1013. package/src/fi/vat.ts +0 -87
  1014. package/src/fi/ytunnus.ts +0 -87
  1015. package/src/fr/mod.ts +0 -5
  1016. package/src/fr/nif.ts +0 -97
  1017. package/src/fr/nir.ts +0 -197
  1018. package/src/fr/siren.ts +0 -83
  1019. package/src/fr/siret.ts +0 -126
  1020. package/src/fr/tva.ts +0 -150
  1021. package/src/gb/mod.ts +0 -5
  1022. package/src/gb/nhs.ts +0 -92
  1023. package/src/gb/nino.ts +0 -158
  1024. package/src/gb/sedol.ts +0 -143
  1025. package/src/gb/utr.ts +0 -85
  1026. package/src/gb/vat.ts +0 -162
  1027. package/src/ge/mod.ts +0 -1
  1028. package/src/ge/pin.ts +0 -75
  1029. package/src/gh/mod.ts +0 -1
  1030. package/src/gh/tin.ts +0 -105
  1031. package/src/gr/amka.ts +0 -108
  1032. package/src/gr/mod.ts +0 -2
  1033. package/src/gr/vat.ts +0 -100
  1034. package/src/gt/mod.ts +0 -1
  1035. package/src/gt/nit.ts +0 -123
  1036. package/src/hk/hkid.ts +0 -136
  1037. package/src/hk/mod.ts +0 -1
  1038. package/src/hr/mod.ts +0 -1
  1039. package/src/hr/vat.ts +0 -83
  1040. package/src/hu/mod.ts +0 -1
  1041. package/src/hu/vat.ts +0 -87
  1042. package/src/iban.ts +0 -344
  1043. package/src/id/mod.ts +0 -1
  1044. package/src/id/npwp.ts +0 -191
  1045. package/src/ie/mod.ts +0 -2
  1046. package/src/ie/pps.ts +0 -109
  1047. package/src/ie/vat.ts +0 -142
  1048. package/src/il/idnr.ts +0 -91
  1049. package/src/il/mod.ts +0 -1
  1050. package/src/in/aadhaar.ts +0 -100
  1051. package/src/in/gstin.ts +0 -175
  1052. package/src/in/mod.ts +0 -3
  1053. package/src/in/pan.ts +0 -97
  1054. package/src/index.ts +0 -123
  1055. package/src/iq/mod.ts +0 -1
  1056. package/src/iq/nid.ts +0 -75
  1057. package/src/ir/mod.ts +0 -1
  1058. package/src/ir/nid.ts +0 -124
  1059. package/src/is/kennitala.ts +0 -129
  1060. package/src/is/mod.ts +0 -2
  1061. package/src/is/vsk.ts +0 -67
  1062. package/src/isin.ts +0 -124
  1063. package/src/it/codicefiscale.ts +0 -332
  1064. package/src/it/iva.ts +0 -119
  1065. package/src/it/mod.ts +0 -2
  1066. package/src/jp/cn.ts +0 -95
  1067. package/src/jp/mod.ts +0 -2
  1068. package/src/jp/mynumber.ts +0 -107
  1069. package/src/kr/brn.ts +0 -105
  1070. package/src/kr/mod.ts +0 -2
  1071. package/src/kr/rrn.ts +0 -189
  1072. package/src/kw/civil.ts +0 -161
  1073. package/src/kw/mod.ts +0 -1
  1074. package/src/kz/iin.ts +0 -184
  1075. package/src/kz/mod.ts +0 -1
  1076. package/src/lei.ts +0 -102
  1077. package/src/li/mod.ts +0 -1
  1078. package/src/li/peid.ts +0 -70
  1079. package/src/lk/mod.ts +0 -1
  1080. package/src/lk/nic.ts +0 -233
  1081. package/src/lt/asmens.ts +0 -124
  1082. package/src/lt/mod.ts +0 -2
  1083. package/src/lt/vat.ts +0 -114
  1084. package/src/lu/mod.ts +0 -1
  1085. package/src/lu/vat.ts +0 -85
  1086. package/src/luhn.ts +0 -79
  1087. package/src/lv/mod.ts +0 -1
  1088. package/src/lv/vat.ts +0 -169
  1089. package/src/ma/ice.ts +0 -83
  1090. package/src/ma/mod.ts +0 -1
  1091. package/src/mc/mod.ts +0 -1
  1092. package/src/mc/tva.ts +0 -78
  1093. package/src/md/idno.ts +0 -90
  1094. package/src/md/mod.ts +0 -1
  1095. package/src/me/mod.ts +0 -1
  1096. package/src/me/pib.ts +0 -83
  1097. package/src/mk/edb.ts +0 -95
  1098. package/src/mk/mod.ts +0 -1
  1099. package/src/mt/mod.ts +0 -1
  1100. package/src/mt/vat.ts +0 -93
  1101. package/src/mu/brn.ts +0 -106
  1102. package/src/mu/mod.ts +0 -1
  1103. package/src/mx/clabe.ts +0 -115
  1104. package/src/mx/curp.ts +0 -247
  1105. package/src/mx/mod.ts +0 -3
  1106. package/src/mx/rfc.ts +0 -179
  1107. package/src/my/mod.ts +0 -1
  1108. package/src/my/nric.ts +0 -260
  1109. package/src/ng/mod.ts +0 -1
  1110. package/src/ng/nin.ts +0 -76
  1111. package/src/ni/mod.ts +0 -1
  1112. package/src/ni/ruc.ts +0 -180
  1113. package/src/nl/bsn.ts +0 -91
  1114. package/src/nl/kvk.ts +0 -63
  1115. package/src/nl/mod.ts +0 -3
  1116. package/src/nl/vat.ts +0 -95
  1117. package/src/no/fodselsnummer.ts +0 -197
  1118. package/src/no/mod.ts +0 -3
  1119. package/src/no/mva.ts +0 -77
  1120. package/src/no/orgnr.ts +0 -83
  1121. package/src/nz/ird.ts +0 -132
  1122. package/src/nz/mod.ts +0 -1
  1123. package/src/pa/mod.ts +0 -1
  1124. package/src/pa/ruc.ts +0 -387
  1125. package/src/patterns.ts +0 -390
  1126. package/src/pe/mod.ts +0 -1
  1127. package/src/pe/ruc.ts +0 -124
  1128. package/src/ph/mod.ts +0 -1
  1129. package/src/ph/philid.ts +0 -80
  1130. package/src/pk/cnic.ts +0 -109
  1131. package/src/pk/mod.ts +0 -1
  1132. package/src/pl/mod.ts +0 -3
  1133. package/src/pl/nip.ts +0 -100
  1134. package/src/pl/pesel.ts +0 -155
  1135. package/src/pl/regon.ts +0 -102
  1136. package/src/pt/cc.ts +0 -112
  1137. package/src/pt/mod.ts +0 -2
  1138. package/src/pt/vat.ts +0 -98
  1139. package/src/ro/cnp.ts +0 -179
  1140. package/src/ro/mod.ts +0 -2
  1141. package/src/ro/vat.ts +0 -99
  1142. package/src/rs/mod.ts +0 -1
  1143. package/src/rs/pib.ts +0 -87
  1144. package/src/ru/inn.ts +0 -113
  1145. package/src/ru/mod.ts +0 -1
  1146. package/src/se/mod.ts +0 -3
  1147. package/src/se/orgnr.ts +0 -85
  1148. package/src/se/personnummer.ts +0 -183
  1149. package/src/se/vat.ts +0 -97
  1150. package/src/sg/mod.ts +0 -1
  1151. package/src/sg/uen.ts +0 -288
  1152. package/src/si/emso.ts +0 -178
  1153. package/src/si/mod.ts +0 -2
  1154. package/src/si/vat.ts +0 -113
  1155. package/src/sk/dic.ts +0 -110
  1156. package/src/sk/ico.ts +0 -40
  1157. package/src/sk/mod.ts +0 -3
  1158. package/src/sk/rc.ts +0 -44
  1159. package/src/th/mod.ts +0 -1
  1160. package/src/th/tin.ts +0 -106
  1161. package/src/tr/mod.ts +0 -2
  1162. package/src/tr/tckimlik.ts +0 -115
  1163. package/src/tr/vkn.ts +0 -101
  1164. package/src/tw/mod.ts +0 -1
  1165. package/src/tw/ubn.ts +0 -112
  1166. package/src/types.ts +0 -262
  1167. package/src/ua/edrpou.ts +0 -108
  1168. package/src/ua/mod.ts +0 -1
  1169. package/src/us/ein.ts +0 -261
  1170. package/src/us/itin.ts +0 -129
  1171. package/src/us/mod.ts +0 -4
  1172. package/src/us/rtn.ts +0 -139
  1173. package/src/us/ssn.ts +0 -121
  1174. package/src/uy/mod.ts +0 -1
  1175. package/src/uy/rut.ts +0 -150
  1176. package/src/ve/mod.ts +0 -1
  1177. package/src/ve/rif.ts +0 -147
  1178. package/src/vn/mod.ts +0 -1
  1179. package/src/vn/mst.ts +0 -132
  1180. package/src/za/idnr.ts +0 -159
  1181. package/src/za/mod.ts +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"weighted-sum.js","names":[],"sources":["../../src/_checksums/weighted-sum.ts"],"sourcesContent":["/**\n * Compute a weighted sum of digits.\n *\n * @param value - String of digits\n * @param weights - Array of weights (cycled if\n * shorter than value)\n * @param modulus - Modulus for the result\n */\nexport const weightedSum = (\n value: string,\n weights: readonly number[],\n modulus: number,\n): number => {\n let sum = 0;\n for (let i = 0; i < value.length; i++) {\n const digit = Number(value[i]);\n // SAFETY: modulo guarantees valid index\n // eslint-disable-next-line no-non-null-assertion\n const weight = weights[i % weights.length]!;\n sum += digit * weight;\n }\n return ((sum % modulus) + modulus) % modulus;\n};\n"],"mappings":";;;;;;;;;AAQA,MAAa,eACX,OACA,SACA,YACW;CACX,IAAI,MAAM;CACV,KAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;EACrC,MAAM,QAAQ,OAAO,MAAM,EAAE;EAG7B,MAAM,SAAS,QAAQ,IAAI,QAAQ;EACnC,OAAO,QAAQ;CACjB;CACA,QAAS,MAAM,UAAW,WAAW;AACvC"}
@@ -1,19 +0,0 @@
1
- //#region src/_util/arabic.d.ts
2
- /**
3
- * Shared Arabic-Indic and Extended Arabic-Indic digit
4
- * normalization utilities.
5
- *
6
- * Arabic-Indic (U+0660..U+0669) and Extended Arabic-Indic
7
- * (U+06F0..U+06F9, used for Persian/Dari) digits are
8
- * mapped to ASCII 0-9.
9
- */
10
- declare const ARABIC_DIGITS: Record<string, string>;
11
- declare const ARABIC_REGEX: RegExp;
12
- /**
13
- * Replace Arabic-Indic and Extended Arabic-Indic digits
14
- * with their ASCII equivalents.
15
- */
16
- declare const normalizeArabicDigits: (value: string) => string;
17
- //#endregion
18
- export { ARABIC_DIGITS, ARABIC_REGEX, normalizeArabicDigits };
19
- //# sourceMappingURL=arabic.d.ts.map
@@ -1,41 +0,0 @@
1
- //#region src/_util/arabic.ts
2
- /**
3
- * Shared Arabic-Indic and Extended Arabic-Indic digit
4
- * normalization utilities.
5
- *
6
- * Arabic-Indic (U+0660..U+0669) and Extended Arabic-Indic
7
- * (U+06F0..U+06F9, used for Persian/Dari) digits are
8
- * mapped to ASCII 0-9.
9
- */
10
- const ARABIC_DIGITS = {
11
- "٠": "0",
12
- "١": "1",
13
- "٢": "2",
14
- "٣": "3",
15
- "٤": "4",
16
- "٥": "5",
17
- "٦": "6",
18
- "٧": "7",
19
- "٨": "8",
20
- "٩": "9",
21
- "۰": "0",
22
- "۱": "1",
23
- "۲": "2",
24
- "۳": "3",
25
- "۴": "4",
26
- "۵": "5",
27
- "۶": "6",
28
- "۷": "7",
29
- "۸": "8",
30
- "۹": "9"
31
- };
32
- const ARABIC_REGEX = new RegExp(`[${Object.keys(ARABIC_DIGITS).join("")}]`, "g");
33
- /**
34
- * Replace Arabic-Indic and Extended Arabic-Indic digits
35
- * with their ASCII equivalents.
36
- */
37
- const normalizeArabicDigits = (value) => value.replace(ARABIC_REGEX, (ch) => ARABIC_DIGITS[ch] ?? ch);
38
- //#endregion
39
- export { ARABIC_DIGITS, ARABIC_REGEX, normalizeArabicDigits };
40
-
41
- //# sourceMappingURL=arabic.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arabic.js","names":[],"sources":["../../src/_util/arabic.ts"],"sourcesContent":["/**\n * Shared Arabic-Indic and Extended Arabic-Indic digit\n * normalization utilities.\n *\n * Arabic-Indic (U+0660..U+0669) and Extended Arabic-Indic\n * (U+06F0..U+06F9, used for Persian/Dari) digits are\n * mapped to ASCII 0-9.\n */\n\nexport const ARABIC_DIGITS: Record<string, string> = {\n \"\\u0660\": \"0\", // ٠\n \"\\u0661\": \"1\", // ١\n \"\\u0662\": \"2\", // ٢\n \"\\u0663\": \"3\", // ٣\n \"\\u0664\": \"4\", // ٤\n \"\\u0665\": \"5\", // ٥\n \"\\u0666\": \"6\", // ٦\n \"\\u0667\": \"7\", // ٧\n \"\\u0668\": \"8\", // ٨\n \"\\u0669\": \"9\", // ٩\n \"\\u06F0\": \"0\", // ۰\n \"\\u06F1\": \"1\", // ۱\n \"\\u06F2\": \"2\", // ۲\n \"\\u06F3\": \"3\", // ۳\n \"\\u06F4\": \"4\", // ۴\n \"\\u06F5\": \"5\", // ۵\n \"\\u06F6\": \"6\", // ۶\n \"\\u06F7\": \"7\", // ۷\n \"\\u06F8\": \"8\", // ۸\n \"\\u06F9\": \"9\", // ۹\n};\n\nexport const ARABIC_REGEX = new RegExp(\n `[${Object.keys(ARABIC_DIGITS).join(\"\")}]`,\n \"g\",\n);\n\n/**\n * Replace Arabic-Indic and Extended Arabic-Indic digits\n * with their ASCII equivalents.\n */\nexport const normalizeArabicDigits = (\n value: string,\n): string =>\n value.replace(\n ARABIC_REGEX,\n (ch) => ARABIC_DIGITS[ch] ?? ch,\n );\n"],"mappings":";;;;;;;;;AASA,MAAa,gBAAwC;CACnD,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;AACZ;AAEA,MAAa,eAAe,IAAI,OAC9B,IAAI,OAAO,KAAK,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,IACxC,GACF;;;;;AAMA,MAAa,yBACX,UAEA,MAAM,QACJ,eACC,OAAO,cAAc,OAAO,EAC/B"}
@@ -1,13 +0,0 @@
1
- //#region src/_util/clean.d.ts
2
- /**
3
- * Normalize Unicode artifacts to ASCII
4
- * equivalents and strip the given characters.
5
- *
6
- * @param value - The input string
7
- * @param strip - Characters to remove
8
- * (e.g. " -/" to strip spaces, dashes, slashes)
9
- */
10
- declare const clean: (value: string, strip?: string) => string;
11
- //#endregion
12
- export { clean };
13
- //# sourceMappingURL=clean.d.ts.map
@@ -1,71 +0,0 @@
1
- //#region src/_util/clean.ts
2
- /**
3
- * Unicode normalization map for common OCR, PDF
4
- * extraction, and copy-paste artifacts.
5
- *
6
- * Maps fullwidth digits, various dashes, dots,
7
- * spaces, and quotes to their ASCII equivalents.
8
- * Ported from python-stdnum's util.py _char_map.
9
- */
10
- const CHAR_MAP = {
11
- "0": "0",
12
- "1": "1",
13
- "2": "2",
14
- "3": "3",
15
- "4": "4",
16
- "5": "5",
17
- "6": "6",
18
- "7": "7",
19
- "8": "8",
20
- "9": "9",
21
- "‐": "-",
22
- "‑": "-",
23
- "‒": "-",
24
- "–": "-",
25
- "—": "-",
26
- "―": "-",
27
- "−": "-",
28
- "﹘": "-",
29
- "﹣": "-",
30
- "-": "-",
31
- "․": ".",
32
- "﹒": ".",
33
- ".": ".",
34
- "\xA0": " ",
35
- " ": " ",
36
- " ": " ",
37
- " ": " ",
38
- " ": " ",
39
- " ": " ",
40
- " ": " ",
41
- " ": " ",
42
- " ": " ",
43
- " ": " ",
44
- " ": " ",
45
- " ": " ",
46
- "​": "",
47
- " ": " ",
48
- " ": " ",
49
- " ": " ",
50
- "": "",
51
- "/": "/",
52
- "⁄": "/"
53
- };
54
- const CHAR_REGEX = new RegExp(`[${Object.keys(CHAR_MAP).join("")}]`, "g");
55
- /**
56
- * Normalize Unicode artifacts to ASCII
57
- * equivalents and strip the given characters.
58
- *
59
- * @param value - The input string
60
- * @param strip - Characters to remove
61
- * (e.g. " -/" to strip spaces, dashes, slashes)
62
- */
63
- const clean = (value, strip = "") => {
64
- let result = value.replace(CHAR_REGEX, (ch) => CHAR_MAP[ch] ?? ch);
65
- if (strip) for (const ch of strip) result = result.replaceAll(ch, "");
66
- return result;
67
- };
68
- //#endregion
69
- export { clean };
70
-
71
- //# sourceMappingURL=clean.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clean.js","names":[],"sources":["../../src/_util/clean.ts"],"sourcesContent":["/**\n * Unicode normalization map for common OCR, PDF\n * extraction, and copy-paste artifacts.\n *\n * Maps fullwidth digits, various dashes, dots,\n * spaces, and quotes to their ASCII equivalents.\n * Ported from python-stdnum's util.py _char_map.\n */\nconst CHAR_MAP: Record<string, string> = {\n // Fullwidth digits\n \"\\uFF10\": \"0\",\n \"\\uFF11\": \"1\",\n \"\\uFF12\": \"2\",\n \"\\uFF13\": \"3\",\n \"\\uFF14\": \"4\",\n \"\\uFF15\": \"5\",\n \"\\uFF16\": \"6\",\n \"\\uFF17\": \"7\",\n \"\\uFF18\": \"8\",\n \"\\uFF19\": \"9\",\n // Dashes and hyphens\n \"\\u2010\": \"-\", // hyphen\n \"\\u2011\": \"-\", // non-breaking hyphen\n \"\\u2012\": \"-\", // figure dash\n \"\\u2013\": \"-\", // en dash\n \"\\u2014\": \"-\", // em dash\n \"\\u2015\": \"-\", // horizontal bar\n \"\\u2212\": \"-\", // minus sign\n \"\\uFE58\": \"-\", // small em dash\n \"\\uFE63\": \"-\", // small hyphen-minus\n \"\\uFF0D\": \"-\", // fullwidth hyphen-minus\n // Dots and periods\n \"\\u2024\": \".\", // one dot leader\n \"\\uFE52\": \".\", // small full stop\n \"\\uFF0E\": \".\", // fullwidth full stop\n // Spaces\n \"\\u00A0\": \" \", // non-breaking space\n \"\\u2000\": \" \", // en quad\n \"\\u2001\": \" \", // em quad\n \"\\u2002\": \" \", // en space\n \"\\u2003\": \" \", // em space\n \"\\u2004\": \" \", // three-per-em space\n \"\\u2005\": \" \", // four-per-em space\n \"\\u2006\": \" \", // six-per-em space\n \"\\u2007\": \" \", // figure space\n \"\\u2008\": \" \", // punctuation space\n \"\\u2009\": \" \", // thin space\n \"\\u200A\": \" \", // hair space\n \"\\u200B\": \"\", // zero-width space (remove)\n \"\\u202F\": \" \", // narrow no-break space\n \"\\u205F\": \" \", // medium mathematical space\n \"\\u3000\": \" \", // ideographic space\n \"\\uFEFF\": \"\", // BOM / zero-width no-break\n // Slashes\n \"\\uFF0F\": \"/\", // fullwidth solidus\n \"\\u2044\": \"/\", // fraction slash\n};\n\nconst CHAR_REGEX = new RegExp(\n `[${Object.keys(CHAR_MAP).join(\"\")}]`,\n \"g\",\n);\n\n/**\n * Normalize Unicode artifacts to ASCII\n * equivalents and strip the given characters.\n *\n * @param value - The input string\n * @param strip - Characters to remove\n * (e.g. \" -/\" to strip spaces, dashes, slashes)\n */\nexport const clean = (\n value: string,\n strip: string = \"\",\n): string => {\n let result = value.replace(\n CHAR_REGEX,\n (ch) => CHAR_MAP[ch] ?? ch,\n );\n if (strip) {\n for (const ch of strip) {\n result = result.replaceAll(ch, \"\");\n }\n }\n return result;\n};\n"],"mappings":";;;;;;;;;AAQA,MAAM,WAAmC;CAEvC,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CAEV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CAEV,KAAU;CACV,KAAU;CACV,KAAU;CAEV,QAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CACV,KAAU;CAEV,KAAU;CACV,KAAU;AACZ;AAEA,MAAM,aAAa,IAAI,OACrB,IAAI,OAAO,KAAK,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,IACnC,GACF;;;;;;;;;AAUA,MAAa,SACX,OACA,QAAgB,OACL;CACX,IAAI,SAAS,MAAM,QACjB,aACC,OAAO,SAAS,OAAO,EAC1B;CACA,IAAI,OACF,KAAK,MAAM,MAAM,OACf,SAAS,OAAO,WAAW,IAAI,EAAE;CAGrC,OAAO;AACT"}
@@ -1,12 +0,0 @@
1
- //#region src/_util/date.d.ts
2
- /** Validate a calendar date via Date round-trip. */
3
- declare const isValidDate: (year: number, month: number, day: number) => boolean;
4
- /**
5
- * Resolve a 2-digit year to a 4-digit year using a
6
- * rolling pivot: years after the current year are
7
- * assumed to be in the previous century.
8
- */
9
- declare const resolveTwoDigitYear: (yy: number) => number;
10
- //#endregion
11
- export { isValidDate, resolveTwoDigitYear };
12
- //# sourceMappingURL=date.d.ts.map
@@ -1,19 +0,0 @@
1
- //#region src/_util/date.ts
2
- /** Validate a calendar date via Date round-trip. */
3
- const isValidDate = (year, month, day) => {
4
- const d = new Date(year, month - 1, day);
5
- return d.getFullYear() === year && d.getMonth() === month - 1 && d.getDate() === day;
6
- };
7
- /**
8
- * Resolve a 2-digit year to a 4-digit year using a
9
- * rolling pivot: years after the current year are
10
- * assumed to be in the previous century.
11
- */
12
- const resolveTwoDigitYear = (yy) => {
13
- const y = 2e3 + yy;
14
- return y > (/* @__PURE__ */ new Date()).getFullYear() ? y - 100 : y;
15
- };
16
- //#endregion
17
- export { isValidDate, resolveTwoDigitYear };
18
-
19
- //# sourceMappingURL=date.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"date.js","names":[],"sources":["../../src/_util/date.ts"],"sourcesContent":["/** Validate a calendar date via Date round-trip. */\nexport const isValidDate = (\n year: number,\n month: number,\n day: number,\n): boolean => {\n const d = new Date(year, month - 1, day);\n return (\n d.getFullYear() === year &&\n d.getMonth() === month - 1 &&\n d.getDate() === day\n );\n};\n\n/**\n * Resolve a 2-digit year to a 4-digit year using a\n * rolling pivot: years after the current year are\n * assumed to be in the previous century.\n */\nexport const resolveTwoDigitYear = (yy: number): number => {\n const y = 2000 + yy;\n return y > new Date().getFullYear() ? y - 100 : y;\n};\n"],"mappings":";;AACA,MAAa,eACX,MACA,OACA,QACY;CACZ,MAAM,IAAI,IAAI,KAAK,MAAM,QAAQ,GAAG,GAAG;CACvC,OACE,EAAE,YAAY,MAAM,QACpB,EAAE,SAAS,MAAM,QAAQ,KACzB,EAAE,QAAQ,MAAM;AAEpB;;;;;;AAOA,MAAa,uBAAuB,OAAuB;CACzD,MAAM,IAAI,MAAO;CACjB,OAAO,qBAAI,IAAI,KAAK,EAAA,CAAE,YAAY,IAAI,IAAI,MAAM;AAClD"}
@@ -1,28 +0,0 @@
1
- //#region src/_util/generate.d.ts
2
- /**
3
- * Helpers for generating random valid identifiers.
4
- * NOT cryptographically secure; use only for
5
- * testing, demos, and form placeholders.
6
- */
7
- /** Generate a string of n random decimal digits. */
8
- declare const randomDigits: (n: number) => string;
9
- /**
10
- * Generate a random integer in [min, max]
11
- * (inclusive).
12
- */
13
- declare const randomInt: (min: number, max: number) => number;
14
- /**
15
- * Pick a random element from a non-empty array.
16
- * Throws if the array is empty so generators that
17
- * declare a fixed pool fail loudly instead of
18
- * returning `undefined`.
19
- */
20
- declare const randomPick: <T>(values: readonly T[]) => T;
21
- /**
22
- * Pick a random character from a non-empty string.
23
- * Same contract as `randomPick` for arrays.
24
- */
25
- declare const randomChar: (chars: string) => string;
26
- //#endregion
27
- export { randomChar, randomDigits, randomInt, randomPick };
28
- //# sourceMappingURL=generate.d.ts.map
@@ -1,43 +0,0 @@
1
- //#region src/_util/generate.ts
2
- /**
3
- * Helpers for generating random valid identifiers.
4
- * NOT cryptographically secure; use only for
5
- * testing, demos, and form placeholders.
6
- */
7
- /** Generate a string of n random decimal digits. */
8
- const randomDigits = (n) => {
9
- let result = "";
10
- for (let i = 0; i < n; i++) result += String(Math.floor(Math.random() * 10));
11
- return result;
12
- };
13
- /**
14
- * Generate a random integer in [min, max]
15
- * (inclusive).
16
- */
17
- const randomInt = (min, max) => min + Math.floor(Math.random() * (max - min + 1));
18
- /**
19
- * Pick a random element from a non-empty array.
20
- * Throws if the array is empty so generators that
21
- * declare a fixed pool fail loudly instead of
22
- * returning `undefined`.
23
- */
24
- const randomPick = (values) => {
25
- if (values.length === 0) throw new Error("randomPick called with empty array");
26
- const value = values[randomInt(0, values.length - 1)];
27
- if (value === void 0) throw new Error("randomPick produced undefined");
28
- return value;
29
- };
30
- /**
31
- * Pick a random character from a non-empty string.
32
- * Same contract as `randomPick` for arrays.
33
- */
34
- const randomChar = (chars) => {
35
- if (chars.length === 0) throw new Error("randomChar called with empty string");
36
- const ch = chars[randomInt(0, chars.length - 1)];
37
- if (ch === void 0) throw new Error("randomChar produced undefined");
38
- return ch;
39
- };
40
- //#endregion
41
- export { randomChar, randomDigits, randomInt, randomPick };
42
-
43
- //# sourceMappingURL=generate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate.js","names":[],"sources":["../../src/_util/generate.ts"],"sourcesContent":["/**\n * Helpers for generating random valid identifiers.\n * NOT cryptographically secure; use only for\n * testing, demos, and form placeholders.\n */\n\n/** Generate a string of n random decimal digits. */\nexport const randomDigits = (n: number): string => {\n let result = \"\";\n for (let i = 0; i < n; i++) {\n result += String(Math.floor(Math.random() * 10));\n }\n return result;\n};\n\n/**\n * Generate a random integer in [min, max]\n * (inclusive).\n */\nexport const randomInt = (\n min: number,\n max: number,\n): number =>\n min + Math.floor(Math.random() * (max - min + 1));\n\n/**\n * Pick a random element from a non-empty array.\n * Throws if the array is empty so generators that\n * declare a fixed pool fail loudly instead of\n * returning `undefined`.\n */\nexport const randomPick = <T>(values: readonly T[]): T => {\n if (values.length === 0) {\n throw new Error(\"randomPick called with empty array\");\n }\n const idx = randomInt(0, values.length - 1);\n // SAFETY: idx is bounded by values.length and the\n // array is non-empty (checked above).\n const value = values[idx];\n if (value === undefined) {\n throw new Error(\"randomPick produced undefined\");\n }\n return value;\n};\n\n/**\n * Pick a random character from a non-empty string.\n * Same contract as `randomPick` for arrays.\n */\nexport const randomChar = (chars: string): string => {\n if (chars.length === 0) {\n throw new Error(\"randomChar called with empty string\");\n }\n const idx = randomInt(0, chars.length - 1);\n // SAFETY: idx is bounded by chars.length and the\n // string is non-empty (checked above).\n const ch = chars[idx];\n if (ch === undefined) {\n throw new Error(\"randomChar produced undefined\");\n }\n return ch;\n};\n"],"mappings":";;;;;;;AAOA,MAAa,gBAAgB,MAAsB;CACjD,IAAI,SAAS;CACb,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KACrB,UAAU,OAAO,KAAK,MAAM,KAAK,OAAO,IAAI,EAAE,CAAC;CAEjD,OAAO;AACT;;;;;AAMA,MAAa,aACX,KACA,QAEA,MAAM,KAAK,MAAM,KAAK,OAAO,KAAK,MAAM,MAAM,EAAE;;;;;;;AAQlD,MAAa,cAAiB,WAA4B;CACxD,IAAI,OAAO,WAAW,GACpB,MAAM,IAAI,MAAM,oCAAoC;CAKtD,MAAM,QAAQ,OAHF,UAAU,GAAG,OAAO,SAAS,CAGlB;CACvB,IAAI,UAAU,KAAA,GACZ,MAAM,IAAI,MAAM,+BAA+B;CAEjD,OAAO;AACT;;;;;AAMA,MAAa,cAAc,UAA0B;CACnD,IAAI,MAAM,WAAW,GACnB,MAAM,IAAI,MAAM,qCAAqC;CAKvD,MAAM,KAAK,MAHC,UAAU,GAAG,MAAM,SAAS,CAGrB;CACnB,IAAI,OAAO,KAAA,GACT,MAAM,IAAI,MAAM,+BAA+B;CAEjD,OAAO;AACT"}
@@ -1,8 +0,0 @@
1
- import { StdnumError, ValidateResult } from "../types.js";
2
-
3
- //#region src/_util/result.d.ts
4
- /** Create an error ValidateResult. */
5
- declare const err: (code: StdnumError["code"], message: string) => ValidateResult;
6
- //#endregion
7
- export { err };
8
- //# sourceMappingURL=result.d.ts.map
@@ -1,13 +0,0 @@
1
- //#region src/_util/result.ts
2
- /** Create an error ValidateResult. */
3
- const err = (code, message) => ({
4
- valid: false,
5
- error: {
6
- code,
7
- message
8
- }
9
- });
10
- //#endregion
11
- export { err };
12
-
13
- //# sourceMappingURL=result.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"result.js","names":[],"sources":["../../src/_util/result.ts"],"sourcesContent":["import type { StdnumError, ValidateResult } from \"../types\";\n\n/** Create an error ValidateResult. */\nexport const err = (\n code: StdnumError[\"code\"],\n message: string,\n): ValidateResult => ({\n valid: false,\n error: { code, message },\n});\n"],"mappings":";;AAGA,MAAa,OACX,MACA,aACoB;CACpB,OAAO;CACP,OAAO;EAAE;EAAM;CAAQ;AACzB"}
@@ -1,21 +0,0 @@
1
- //#region src/_util/strings.d.ts
2
- /** Check if the string contains only digits. */
3
- declare const isdigits: (value: string) => boolean;
4
- /**
5
- * Check if the string contains only ASCII
6
- * letters (a-z, A-Z).
7
- */
8
- declare const isalpha: (value: string) => boolean;
9
- /**
10
- * Check if the string contains only ASCII
11
- * letters and digits.
12
- */
13
- declare const isalnum: (value: string) => boolean;
14
- /**
15
- * Convert a single character to its numeric
16
- * value (0-9 for digits, 10-35 for A-Z).
17
- */
18
- declare const charValue: (ch: string) => number;
19
- //#endregion
20
- export { charValue, isalnum, isalpha, isdigits };
21
- //# sourceMappingURL=strings.d.ts.map
@@ -1,28 +0,0 @@
1
- //#region src/_util/strings.ts
2
- /** Check if the string contains only digits. */
3
- const isdigits = (value) => value.length > 0 && /^\d+$/.test(value);
4
- /**
5
- * Check if the string contains only ASCII
6
- * letters (a-z, A-Z).
7
- */
8
- const isalpha = (value) => value.length > 0 && /^[a-zA-Z]+$/.test(value);
9
- /**
10
- * Check if the string contains only ASCII
11
- * letters and digits.
12
- */
13
- const isalnum = (value) => value.length > 0 && /^[a-zA-Z0-9]+$/.test(value);
14
- /**
15
- * Convert a single character to its numeric
16
- * value (0-9 for digits, 10-35 for A-Z).
17
- */
18
- const charValue = (ch) => {
19
- const code = ch.charCodeAt(0);
20
- if (code >= 48 && code <= 57) return code - 48;
21
- if (code >= 65 && code <= 90) return code - 55;
22
- if (code >= 97 && code <= 122) return code - 87;
23
- return 0;
24
- };
25
- //#endregion
26
- export { charValue, isalnum, isalpha, isdigits };
27
-
28
- //# sourceMappingURL=strings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"strings.js","names":[],"sources":["../../src/_util/strings.ts"],"sourcesContent":["/** Check if the string contains only digits. */\nexport const isdigits = (value: string): boolean =>\n value.length > 0 && /^\\d+$/.test(value);\n\n/**\n * Check if the string contains only ASCII\n * letters (a-z, A-Z).\n */\nexport const isalpha = (value: string): boolean =>\n value.length > 0 && /^[a-zA-Z]+$/.test(value);\n\n/**\n * Check if the string contains only ASCII\n * letters and digits.\n */\nexport const isalnum = (value: string): boolean =>\n value.length > 0 && /^[a-zA-Z0-9]+$/.test(value);\n\n/**\n * Convert a single character to its numeric\n * value (0-9 for digits, 10-35 for A-Z).\n */\nexport const charValue = (ch: string): number => {\n const code = ch.charCodeAt(0);\n // 0-9\n if (code >= 48 && code <= 57) return code - 48;\n // A-Z\n if (code >= 65 && code <= 90) return code - 55;\n // a-z\n if (code >= 97 && code <= 122) return code - 87;\n return 0;\n};\n"],"mappings":";;AACA,MAAa,YAAY,UACvB,MAAM,SAAS,KAAK,QAAQ,KAAK,KAAK;;;;;AAMxC,MAAa,WAAW,UACtB,MAAM,SAAS,KAAK,cAAc,KAAK,KAAK;;;;;AAM9C,MAAa,WAAW,UACtB,MAAM,SAAS,KAAK,iBAAiB,KAAK,KAAK;;;;;AAMjD,MAAa,aAAa,OAAuB;CAC/C,MAAM,OAAO,GAAG,WAAW,CAAC;CAE5B,IAAI,QAAQ,MAAM,QAAQ,IAAI,OAAO,OAAO;CAE5C,IAAI,QAAQ,MAAM,QAAQ,IAAI,OAAO,OAAO;CAE5C,IAAI,QAAQ,MAAM,QAAQ,KAAK,OAAO,OAAO;CAC7C,OAAO;AACT"}
@@ -1,145 +0,0 @@
1
- const MASK_64 = (1n << 64n) - 1n;
2
-
3
- const ROUND_CONSTANTS = [
4
- 0x0000000000000001n,
5
- 0x0000000000008082n,
6
- 0x800000000000808an,
7
- 0x8000000080008000n,
8
- 0x000000000000808bn,
9
- 0x0000000080000001n,
10
- 0x8000000080008081n,
11
- 0x8000000000008009n,
12
- 0x000000000000008an,
13
- 0x0000000000000088n,
14
- 0x0000000080008009n,
15
- 0x000000008000000an,
16
- 0x000000008000808bn,
17
- 0x800000000000008bn,
18
- 0x8000000000008089n,
19
- 0x8000000000008003n,
20
- 0x8000000000008002n,
21
- 0x8000000000000080n,
22
- 0x000000000000800an,
23
- 0x800000008000000an,
24
- 0x8000000080008081n,
25
- 0x8000000000008080n,
26
- 0x0000000080000001n,
27
- 0x8000000080008008n,
28
- ] as const;
29
-
30
- const ROTATION_OFFSETS = [
31
- 0, 1, 62, 28, 27, 36, 44, 6, 55, 20, 3, 10, 43, 25, 39,
32
- 41, 45, 15, 21, 8, 18, 2, 61, 56, 14,
33
- ] as const;
34
-
35
- const RATE_BYTES = 136;
36
-
37
- const rotl64 = (value: bigint, shift: number): bigint => {
38
- if (shift === 0) return value & MASK_64;
39
- const bigShift = BigInt(shift);
40
- return (
41
- ((value << bigShift) | (value >> (64n - bigShift))) &
42
- MASK_64
43
- );
44
- };
45
-
46
- const keccakF1600 = (state: bigint[]): void => {
47
- const c = Array.from({ length: 5 }, () => 0n);
48
- const d = Array.from({ length: 5 }, () => 0n);
49
- const b = Array.from({ length: 25 }, () => 0n);
50
-
51
- for (const roundConstant of ROUND_CONSTANTS) {
52
- for (let x = 0; x < 5; x += 1) {
53
- c[x] =
54
- (state[x] ?? 0n) ^
55
- (state[x + 5] ?? 0n) ^
56
- (state[x + 10] ?? 0n) ^
57
- (state[x + 15] ?? 0n) ^
58
- (state[x + 20] ?? 0n);
59
- }
60
-
61
- for (let x = 0; x < 5; x += 1) {
62
- d[x] =
63
- (c[(x + 4) % 5] ?? 0n) ^
64
- rotl64(c[(x + 1) % 5] ?? 0n, 1);
65
- }
66
-
67
- for (let y = 0; y < 5; y += 1) {
68
- for (let x = 0; x < 5; x += 1) {
69
- const index = x + 5 * y;
70
- state[index] =
71
- ((state[index] ?? 0n) ^ (d[x] ?? 0n)) & MASK_64;
72
- }
73
- }
74
-
75
- for (let y = 0; y < 5; y += 1) {
76
- for (let x = 0; x < 5; x += 1) {
77
- const sourceIndex = x + 5 * y;
78
- const targetIndex = y + 5 * ((2 * x + 3 * y) % 5);
79
- b[targetIndex] = rotl64(
80
- state[sourceIndex] ?? 0n,
81
- ROTATION_OFFSETS[sourceIndex] ?? 0,
82
- );
83
- }
84
- }
85
-
86
- for (let y = 0; y < 5; y += 1) {
87
- for (let x = 0; x < 5; x += 1) {
88
- const index = x + 5 * y;
89
- state[index] =
90
- ((b[index] ?? 0n) ^
91
- (~(b[((x + 1) % 5) + 5 * y] ?? 0n) &
92
- (b[((x + 2) % 5) + 5 * y] ?? 0n))) &
93
- MASK_64;
94
- }
95
- }
96
-
97
- state[0] = ((state[0] ?? 0n) ^ roundConstant) & MASK_64;
98
- }
99
- };
100
-
101
- export const keccak256 = (
102
- bytes: Uint8Array,
103
- ): Uint8Array => {
104
- const state = Array.from({ length: 25 }, () => 0n);
105
- let offset = 0;
106
-
107
- while (offset + RATE_BYTES <= bytes.length) {
108
- for (let i = 0; i < RATE_BYTES; i += 1) {
109
- const lane = Math.floor(i / 8);
110
- const shift = BigInt((i % 8) * 8);
111
- state[lane] =
112
- ((state[lane] ?? 0n) ^
113
- (BigInt(bytes[offset + i] ?? 0) << shift)) &
114
- MASK_64;
115
- }
116
- keccakF1600(state);
117
- offset += RATE_BYTES;
118
- }
119
-
120
- const block = new Uint8Array(RATE_BYTES);
121
- block.set(bytes.slice(offset));
122
- block[bytes.length - offset] = 0x01;
123
- block[RATE_BYTES - 1] =
124
- (block[RATE_BYTES - 1] ?? 0) ^ 0x80;
125
-
126
- for (let i = 0; i < RATE_BYTES; i += 1) {
127
- const lane = Math.floor(i / 8);
128
- const shift = BigInt((i % 8) * 8);
129
- state[lane] =
130
- ((state[lane] ?? 0n) ^
131
- (BigInt(block[i] ?? 0) << shift)) &
132
- MASK_64;
133
- }
134
- keccakF1600(state);
135
-
136
- const digest = new Uint8Array(32);
137
- for (let i = 0; i < digest.length; i += 1) {
138
- const lane = Math.floor(i / 8);
139
- const shift = BigInt((i % 8) * 8);
140
- digest[i] = Number(
141
- ((state[lane] ?? 0n) >> shift) & 0xffn,
142
- );
143
- }
144
- return digest;
145
- };
@@ -1,24 +0,0 @@
1
- /**
2
- * Luhn checksum algorithm (ISO/IEC 7812-1).
3
- * Used by credit cards, IMEI, Canadian SIN, etc.
4
- */
5
-
6
- /** Compute the Luhn checksum of a digit string. */
7
- export const luhnChecksum = (value: string): number => {
8
- let sum = 0;
9
- let double = false;
10
- for (let i = value.length - 1; i >= 0; i--) {
11
- let d = Number(value[i]);
12
- if (double) {
13
- d *= 2;
14
- if (d > 9) d -= 9;
15
- }
16
- sum += d;
17
- double = !double;
18
- }
19
- return sum % 10;
20
- };
21
-
22
- /** Validate a digit string using Luhn. */
23
- export const luhnValidate = (value: string): boolean =>
24
- luhnChecksum(value) === 0;
@@ -1,24 +0,0 @@
1
- /**
2
- * ISO 7064 Mod 11,10 check digit algorithm.
3
- * Used by DE VAT, DE IdNr, HR OIB.
4
- */
5
-
6
- /** Compute the Mod 11,10 check digit for a payload. */
7
- export const mod1110checkDigit = (
8
- payload: string,
9
- ): number => {
10
- let product = 10;
11
- for (let i = 0; i < payload.length; i++) {
12
- let sum = (Number(payload[i]) + product) % 10;
13
- if (sum === 0) sum = 10;
14
- product = (sum * 2) % 11;
15
- }
16
- return (11 - product) % 10;
17
- };
18
-
19
- /** Validate a string with a Mod 11,10 check digit. */
20
- export const mod1110validate = (value: string): boolean => {
21
- const payload = value.slice(0, -1);
22
- const check = Number(value.at(-1));
23
- return mod1110checkDigit(payload) === check;
24
- };
@@ -1,41 +0,0 @@
1
- /**
2
- * ISO 7064 Mod 11,2 check character algorithm.
3
- * Used by CN RIC (Resident Identity Card).
4
- *
5
- * Weights are powers of 2 modulo 11
6
- * (2^17 mod 11 ... 2^1 mod 11), applied
7
- * left-to-right across the 17-character payload.
8
- * The check character is looked up from
9
- * "10X98765432".
10
- */
11
-
12
- const WEIGHTS = [
13
- 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2,
14
- ] as const;
15
-
16
- const CHECK_CHARS = "10X98765432";
17
-
18
- /**
19
- * Compute the ISO 7064 Mod 11,2 check character
20
- * for a 17-character payload.
21
- */
22
- export const mod112checkChar = (
23
- payload: string,
24
- ): string => {
25
- let sum = 0;
26
- for (const [i, weight] of WEIGHTS.entries()) {
27
- sum += Number(payload[i]) * weight;
28
- }
29
- // SAFETY: sum % 11 is in 0..10 and CHECK_CHARS has 11 chars.
30
- return CHECK_CHARS[sum % 11] ?? "";
31
- };
32
-
33
- /**
34
- * Validate an 18-character string with a Mod 11,2
35
- * check character (last char is 0-9 or X).
36
- */
37
- export const mod112validate = (value: string): boolean => {
38
- const check = value[17]?.toUpperCase();
39
- if (check === undefined) return false;
40
- return mod112checkChar(value.slice(0, 17)) === check;
41
- };
@@ -1,28 +0,0 @@
1
- /**
2
- * ISO 7064 Mod 97-10 checksum.
3
- * Used by IBAN and LEI.
4
- *
5
- * Processes one digit at a time to avoid BigInt.
6
- */
7
-
8
- /**
9
- * Compute mod 97 of a numeric string.
10
- * Letters must already be converted to digits.
11
- */
12
- export const mod97 = (value: string): number => {
13
- let remainder = 0;
14
- for (let i = 0; i < value.length; i++) {
15
- remainder = (remainder * 10 + Number(value[i])) % 97;
16
- }
17
- return remainder;
18
- };
19
-
20
- /**
21
- * Validate a string using ISO 7064 Mod 97-10.
22
- * The remainder must equal 1.
23
- *
24
- * @param value - Numeric string (letters already
25
- * converted via charValue)
26
- */
27
- export const mod97validate = (value: string): boolean =>
28
- mod97(value) === 1;