@stll/stdnum 2.1.1 → 2.1.3

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 -18
  878. package/dist/_util/clean.js +0 -76
  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 -91
  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
package/dist/cr/cpf.d.ts CHANGED
@@ -1,37 +1,10 @@
1
1
  import { CountryValidator, ValidateResult } from "../types.js";
2
-
3
- //#region src/cr/cpf.d.ts
4
- /** Generate a random valid Costa Rican CPF. */
5
- declare const generate: () => string;
6
- /**
7
- * CPF (Cédula de Persona Física, Costa Rican
8
- * physical person ID number).
9
- *
10
- * 10 digits: 0P-TTTT-AAAA where:
11
- * - 0 = fixed leading zero
12
- * - P = province digit
13
- * - TTTT = volume (tomo), zero-padded
14
- * - AAAA = entry (asiento), zero-padded
15
- *
16
- * No check digit; validation is by format only.
17
- *
18
- * Ported from python-stdnum cr.cpf module.
19
- *
20
- * @see https://www.tse.go.cr/
21
- */
22
- /**
23
- * Compact: strip spaces, pad hyphen-separated parts
24
- * (2-4-4), join, and prepend '0' if 9 digits.
25
- */
2
+ //#region src/generated/cr/cpf.d.ts
3
+ declare const cpf: CountryValidator<"CR">;
26
4
  declare const compact: (value: string) => string;
27
- declare const validate: (value: string) => ValidateResult;
28
5
  declare const format: (value: string) => string;
29
- /**
30
- * Costa Rican physical person ID number (CPF).
31
- *
32
- * Examples sourced from python-stdnum test suite.
33
- */
34
- declare const cpf: CountryValidator<"CR">;
6
+ declare const validate: (value: string) => ValidateResult;
7
+ declare const generate: () => string;
35
8
  //#endregion
36
9
  export { compact, cpf as default, format, generate, validate };
37
10
  //# sourceMappingURL=cpf.d.ts.map
package/dist/cr/cpf.js CHANGED
@@ -1,64 +1,12 @@
1
- import { clean } from "../_util/clean.js";
2
- import { randomDigits, randomInt } from "../_util/generate.js";
3
- import { err } from "../_util/result.js";
4
- //#region src/cr/cpf.ts
5
- /** Generate a random valid Costa Rican CPF. */
6
- const generate = () => {
7
- return `0${String(randomInt(1, 9))}${randomDigits(4)}${randomDigits(4)}`;
8
- };
9
- /**
10
- * Compact: strip spaces, pad hyphen-separated parts
11
- * (2-4-4), join, and prepend '0' if 9 digits.
12
- */
13
- const compact = (value) => {
14
- let number = clean(value, " ").trim().toUpperCase();
15
- const parts = number.split("-");
16
- if (parts.length === 3) {
17
- const [raw0, raw1, raw2] = parts;
18
- const p0 = (raw0 ?? "").padStart(2, "0");
19
- const p1 = (raw1 ?? "").padStart(4, "0");
20
- const p2 = (raw2 ?? "").padStart(4, "0");
21
- number = p0 + p1 + p2;
22
- } else number = number.replaceAll("-", "");
23
- if (number.length === 9) number = "0" + number;
24
- return number;
25
- };
26
- const validate = (value) => {
27
- const v = compact(value);
28
- if (v.length !== 10) return err("INVALID_LENGTH", "Costa Rican CPF must be 10 digits");
29
- if (!/^\d{10}$/.test(v)) return err("INVALID_FORMAT", "Costa Rican CPF must contain only digits");
30
- if (v[0] !== "0") return err("INVALID_COMPONENT", "Costa Rican CPF must start with 0");
31
- return {
32
- valid: true,
33
- compact: v
34
- };
35
- };
36
- const format = (value) => {
37
- const v = compact(value);
38
- return `${v.slice(0, 2)}-${v.slice(2, 6)}-${v.slice(6, 10)}`;
39
- };
40
- /**
41
- * Costa Rican physical person ID number (CPF).
42
- *
43
- * Examples sourced from python-stdnum test suite.
44
- */
45
- const cpf = {
46
- name: "Costa Rican Physical Person ID",
47
- localName: "Cédula de Persona Física",
48
- abbreviation: "CPF",
49
- aliases: ["CPF", "cédula de persona física"],
50
- candidatePattern: "\\d{9,12}",
51
- scope: "country",
52
- country: "CR",
53
- entityType: "person",
54
- lengths: [10],
55
- examples: ["0304550175", "0109130259"],
56
- compact,
57
- format,
58
- validate,
59
- sourceUrl: "https://www.tse.go.cr/",
60
- generate
61
- };
1
+ import { createValidator } from "../runtime.js";
2
+ //#region src/generated/cr/cpf.ts
3
+ const cpf = createValidator("cr.cpf", 39);
4
+ const compact = cpf.compact;
5
+ const format = cpf.format;
6
+ const validate = cpf.validate;
7
+ const generate = () => cpf.generate?.() ?? (() => {
8
+ throw new Error("Validator cr.cpf cannot generate values");
9
+ })();
62
10
  //#endregion
63
11
  export { compact, cpf as default, format, generate, validate };
64
12
 
@@ -1 +1 @@
1
- {"version":3,"file":"cpf.js","names":[],"sources":["../../src/cr/cpf.ts"],"sourcesContent":["/** Generate a random valid Costa Rican CPF. */\nconst generate = (): string => {\n const province = String(randomInt(1, 9));\n const volume = randomDigits(4);\n const entry = randomDigits(4);\n return `0${province}${volume}${entry}`;\n};\n\n/**\n * CPF (Cédula de Persona Física, Costa Rican\n * physical person ID number).\n *\n * 10 digits: 0P-TTTT-AAAA where:\n * - 0 = fixed leading zero\n * - P = province digit\n * - TTTT = volume (tomo), zero-padded\n * - AAAA = entry (asiento), zero-padded\n *\n * No check digit; validation is by format only.\n *\n * Ported from python-stdnum cr.cpf module.\n *\n * @see https://www.tse.go.cr/\n */\n\nimport type {\n ValidateResult,\n CountryValidator,\n} from \"../types\";\n\nimport { clean } from \"#util/clean\";\nimport { randomDigits, randomInt } from \"#util/generate\";\nimport { err } from \"#util/result\";\n\n/**\n * Compact: strip spaces, pad hyphen-separated parts\n * (2-4-4), join, and prepend '0' if 9 digits.\n */\nconst compact = (value: string): string => {\n let number = clean(value, \" \").trim().toUpperCase();\n\n const parts = number.split(\"-\");\n if (parts.length === 3) {\n const [raw0, raw1, raw2] = parts;\n const p0 = (raw0 ?? \"\").padStart(2, \"0\");\n const p1 = (raw1 ?? \"\").padStart(4, \"0\");\n const p2 = (raw2 ?? \"\").padStart(4, \"0\");\n number = p0 + p1 + p2;\n } else {\n number = number.replaceAll(\"-\", \"\");\n }\n\n if (number.length === 9) {\n number = \"0\" + number;\n }\n\n return number;\n};\n\nconst validate = (value: string): ValidateResult => {\n const v = compact(value);\n\n if (v.length !== 10) {\n return err(\n \"INVALID_LENGTH\",\n \"Costa Rican CPF must be 10 digits\",\n );\n }\n\n if (!/^\\d{10}$/.test(v)) {\n return err(\n \"INVALID_FORMAT\",\n \"Costa Rican CPF must contain only digits\",\n );\n }\n\n if (v[0] !== \"0\") {\n return err(\n \"INVALID_COMPONENT\",\n \"Costa Rican CPF must start with 0\",\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, 2)}-${v.slice(2, 6)}-${v.slice(6, 10)}`;\n};\n\n/**\n * Costa Rican physical person ID number (CPF).\n *\n * Examples sourced from python-stdnum test suite.\n */\nconst cpf: CountryValidator<\"CR\"> = {\n name: \"Costa Rican Physical Person ID\",\n localName: \"Cédula de Persona Física\",\n abbreviation: \"CPF\",\n aliases: [\"CPF\", \"cédula de persona física\"] as const,\n candidatePattern: \"\\\\d{9,12}\",\n scope: \"country\",\n country: \"CR\",\n entityType: \"person\",\n lengths: [10] as const,\n examples: [\"0304550175\", \"0109130259\"] as const,\n compact,\n format,\n validate,\n sourceUrl: \"https://www.tse.go.cr/\",\n generate,\n};\n\nexport default cpf;\nexport { compact, format, validate, generate };\n"],"mappings":";;;;;AACA,MAAM,iBAAyB;CAI7B,OAAO,IAHU,OAAO,UAAU,GAAG,CAAC,CAGpB,IAFH,aAAa,CAED,IADb,aAAa,CACQ;AACrC;;;;;AAgCA,MAAM,WAAW,UAA0B;CACzC,IAAI,SAAS,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY;CAElD,MAAM,QAAQ,OAAO,MAAM,GAAG;CAC9B,IAAI,MAAM,WAAW,GAAG;EACtB,MAAM,CAAC,MAAM,MAAM,QAAQ;EAC3B,MAAM,MAAM,QAAQ,GAAA,CAAI,SAAS,GAAG,GAAG;EACvC,MAAM,MAAM,QAAQ,GAAA,CAAI,SAAS,GAAG,GAAG;EACvC,MAAM,MAAM,QAAQ,GAAA,CAAI,SAAS,GAAG,GAAG;EACvC,SAAS,KAAK,KAAK;CACrB,OACE,SAAS,OAAO,WAAW,KAAK,EAAE;CAGpC,IAAI,OAAO,WAAW,GACpB,SAAS,MAAM;CAGjB,OAAO;AACT;AAEA,MAAM,YAAY,UAAkC;CAClD,MAAM,IAAI,QAAQ,KAAK;CAEvB,IAAI,EAAE,WAAW,IACf,OAAO,IACL,kBACA,mCACF;CAGF,IAAI,CAAC,WAAW,KAAK,CAAC,GACpB,OAAO,IACL,kBACA,0CACF;CAGF,IAAI,EAAE,OAAO,KACX,OAAO,IACL,qBACA,mCACF;CAGF,OAAO;EAAE,OAAO;EAAM,SAAS;CAAE;AACnC;AAEA,MAAM,UAAU,UAA0B;CACxC,MAAM,IAAI,QAAQ,KAAK;CACvB,OAAO,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,EAAE;AAC3D;;;;;;AAOA,MAAM,MAA8B;CAClC,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS,CAAC,OAAO,0BAA0B;CAC3C,kBAAkB;CAClB,OAAO;CACP,SAAS;CACT,YAAY;CACZ,SAAS,CAAC,EAAE;CACZ,UAAU,CAAC,cAAc,YAAY;CACrC;CACA;CACA;CACA,WAAW;CACX;AACF"}
1
+ {"version":3,"file":"cpf.js","names":[],"sources":["../../src/generated/cr/cpf.ts"],"sourcesContent":["// Generated by scripts/generate-public-surface.ts. Do not edit.\nimport { createValidator } from \"../../runtime\";\nimport type { CountryValidator } from \"../../types\";\n\nconst cpf: CountryValidator<\"CR\"> = createValidator(\n \"cr.cpf\",\n 39,\n);\n\nexport default cpf;\nexport const compact = cpf.compact;\nexport const format = cpf.format;\nexport const validate = cpf.validate;\nexport const generate = (): string =>\n cpf.generate?.() ??\n (() => {\n throw new Error(\n \"Validator cr.cpf cannot generate values\",\n );\n })();\n"],"mappings":";;AAIA,MAAM,MAA8B,gBAClC,UACA,EACF;AAGA,MAAa,UAAU,IAAI;AAC3B,MAAa,SAAS,IAAI;AAC1B,MAAa,WAAW,IAAI;AAC5B,MAAa,iBACX,IAAI,WAAW,YACR;CACL,MAAM,IAAI,MACR,yCACF;AACF,EAAA,CAAG"}
package/dist/cr/mod.d.ts CHANGED
@@ -1,6 +1,4 @@
1
1
  import cpf from "./cpf.js";
2
-
3
- //#region src/cr/mod.d.ts
4
2
  declare namespace mod_d_exports {
5
3
  export { cpf };
6
4
  }
package/dist/cr/mod.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { __exportAll } from "../_virtual/_rolldown/runtime.js";
2
2
  import cpf from "./cpf.js";
3
- //#region src/cr/mod.ts
3
+ //#region src/generated/cr/mod.ts
4
4
  var cr_exports = /* @__PURE__ */ __exportAll({ cpf: () => cpf });
5
5
  //#endregion
6
6
  export { cpf, cr_exports };
@@ -1 +1 @@
1
- {"version":3,"file":"mod.js","names":[],"sources":["../../src/cr/mod.ts"],"sourcesContent":["export { default as cpf } from \"./cpf\";\n"],"mappings":""}
1
+ {"version":3,"file":"mod.js","names":[],"sources":["../../src/generated/cr/mod.ts"],"sourcesContent":["// Generated by scripts/generate-public-surface.ts. Do not edit.\nexport { default as cpf } from \"./cpf\";\n"],"mappings":""}
@@ -1,24 +1,11 @@
1
1
  import { GlobalValidator, ValidateResult } from "./types.js";
2
-
3
- //#region src/creditcard.d.ts
4
- /**
5
- * Card network identifiers returned by
6
- * {@link detectNetwork}.
7
- */
8
- type CardNetwork = "visa" | "mastercard" | "amex" | "discover" | "diners" | "jcb" | "unionpay" | "maestro";
2
+ //#region src/generated/creditcard.d.ts
3
+ declare const creditcard: GlobalValidator;
9
4
  declare const compact: (value: string) => string;
10
- declare const validate: (value: string) => ValidateResult;
11
5
  declare const format: (value: string) => string;
12
- /**
13
- * Detect the card network from the BIN/IIN prefix.
14
- *
15
- * Accepts both formatted ("4111 1111 1111 1111")
16
- * and compact ("4111111111111111") inputs.
17
- * Returns null for unrecognized prefixes.
18
- */
6
+ declare const validate: (value: string) => ValidateResult;
7
+ type CardNetwork = "visa" | "mastercard" | "amex" | "discover" | "diners" | "jcb" | "unionpay" | "maestro";
19
8
  declare const detectNetwork: (value: string) => CardNetwork | null;
20
- /** Credit Card Number (Luhn). */
21
- declare const creditCard: GlobalValidator;
22
9
  //#endregion
23
- export { type CardNetwork, compact, creditCard as default, detectNetwork, format, validate };
10
+ export { CardNetwork, compact, creditcard as default, detectNetwork, format, validate };
24
11
  //# sourceMappingURL=creditcard.d.ts.map
@@ -1,112 +1,11 @@
1
- import { luhnChecksum, luhnValidate } from "./_checksums/luhn.js";
2
- import { clean } from "./_util/clean.js";
3
- import { randomDigits, randomInt } from "./_util/generate.js";
4
- import { err } from "./_util/result.js";
5
- import { isdigits } from "./_util/strings.js";
6
- //#region src/creditcard.ts
7
- const compact = (value) => clean(value, " -.");
8
- const validate = (value) => {
9
- const v = compact(value);
10
- if (v.length < 13 || v.length > 19) return err("INVALID_LENGTH", "Credit card number must be 13-19 digits");
11
- if (!isdigits(v)) return err("INVALID_FORMAT", "Credit card number must contain only digits");
12
- if (!luhnValidate(v)) return err("INVALID_CHECKSUM", "Credit card number fails Luhn check");
13
- return {
14
- valid: true,
15
- compact: v
16
- };
17
- };
18
- const format = (value) => {
19
- const v = compact(value);
20
- if (v.length === 15 && v[0] === "3") return `${v.slice(0, 4)} ${v.slice(4, 10)} ${v.slice(10)}`;
21
- const groups = [];
22
- for (let i = 0; i < v.length; i += 4) groups.push(v.slice(i, i + 4));
23
- return groups.join(" ");
24
- };
25
- const MAESTRO_PREFIXES = new Set([
26
- 5018,
27
- 5020,
28
- 5038,
29
- 5893,
30
- 6304,
31
- 6759,
32
- 6761,
33
- 6762,
34
- 6763
35
- ]);
36
- /**
37
- * Detect the card network from the BIN/IIN prefix.
38
- *
39
- * Accepts both formatted ("4111 1111 1111 1111")
40
- * and compact ("4111111111111111") inputs.
41
- * Returns null for unrecognized prefixes.
42
- */
43
- const detectNetwork = (value) => {
44
- const v = compact(value);
45
- if (v.length === 0) return null;
46
- if (!isdigits(v)) return null;
47
- const d2 = Number(v.slice(0, 2));
48
- const d3 = Number(v.slice(0, 3));
49
- const d4 = Number(v.slice(0, 4));
50
- const d6 = Number(v.slice(0, 6));
51
- if (d2 === 34 || d2 === 37) return "amex";
52
- if (d2 === 36 || d2 === 38) return "diners";
53
- if (d3 >= 300 && d3 <= 305) return "diners";
54
- if (d4 >= 3528 && d4 <= 3589) return "jcb";
55
- if (v[0] === "4") return "visa";
56
- if (MAESTRO_PREFIXES.has(d4)) return "maestro";
57
- if (d2 >= 51 && d2 <= 55) return "mastercard";
58
- if (d4 >= 2221 && d4 <= 2720) return "mastercard";
59
- if (d4 === 6011) return "discover";
60
- if (d6 >= 622126 && d6 <= 622925) return "discover";
61
- if (d3 >= 644 && d3 <= 649) return "discover";
62
- if (d2 === 65) return "discover";
63
- if (d2 === 62) return "unionpay";
64
- return null;
65
- };
66
- /**
67
- * Visa/Mastercard IIN prefixes. Each entry is
68
- * [prefix, totalLength].
69
- */
70
- const CARD_PREFIXES = [
71
- ["4", 16],
72
- ["51", 16],
73
- ["52", 16],
74
- ["53", 16],
75
- ["54", 16],
76
- ["55", 16]
77
- ];
78
- /**
79
- * Generate a random valid Visa or Mastercard
80
- * number (16 digits, Luhn-valid).
81
- */
82
- const generate = () => {
83
- const [prefix, length] = CARD_PREFIXES[randomInt(0, CARD_PREFIXES.length - 1)];
84
- const payload = `${prefix}${randomDigits(length - prefix.length - 1)}`;
85
- const check = (10 - luhnChecksum(`${payload}0`)) % 10;
86
- return `${payload}${String(check)}`;
87
- };
88
- /** Credit Card Number (Luhn). */
89
- const creditCard = {
90
- scope: "global",
91
- name: "Credit Card Number",
92
- localName: "Credit Card Number",
93
- abbreviation: "CC",
94
- aliases: [
95
- "credit card",
96
- "card number",
97
- "kreditní karta",
98
- "Kreditkarte"
99
- ],
100
- candidatePattern: "(?:\\d[\\s-]?){13,19}",
101
- entityType: "any",
102
- sourceUrl: "https://www.iso.org/standard/70484.html",
103
- examples: ["4111111111111111", "5500000000000004"],
104
- compact,
105
- format,
106
- validate,
107
- generate
108
- };
1
+ import { createValidator, getBinding } from "./runtime.js";
2
+ //#region src/generated/creditcard.ts
3
+ const creditcard = createValidator("creditcard", 40);
4
+ const compact = creditcard.compact;
5
+ const format = creditcard.format;
6
+ const validate = creditcard.validate;
7
+ const detectNetwork = (value) => getBinding().detectNetwork(value);
109
8
  //#endregion
110
- export { compact, creditCard as default, detectNetwork, format, validate };
9
+ export { compact, creditcard as default, detectNetwork, format, validate };
111
10
 
112
11
  //# sourceMappingURL=creditcard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"creditcard.js","names":[],"sources":["../src/creditcard.ts"],"sourcesContent":["/**\n * Credit card number validation (Luhn algorithm).\n *\n * Validates card numbers using the Luhn checksum\n * (ISO/IEC 7812-1). Supports Visa, Mastercard,\n * Amex, Discover, and other networks (13-19\n * digits).\n *\n * @see https://www.iso.org/standard/70484.html\n */\n\nimport type {\n ValidateResult,\n GlobalValidator,\n} from \"./types\";\n\nimport {\n luhnChecksum,\n luhnValidate,\n} from \"#checksums/luhn\";\nimport { clean } from \"#util/clean\";\nimport { randomDigits, randomInt } from \"#util/generate\";\nimport { err } from \"#util/result\";\nimport { isdigits } from \"#util/strings\";\n\n/**\n * Card network identifiers returned by\n * {@link detectNetwork}.\n */\ntype CardNetwork =\n | \"visa\"\n | \"mastercard\"\n | \"amex\"\n | \"discover\"\n | \"diners\"\n | \"jcb\"\n | \"unionpay\"\n | \"maestro\";\n\nconst compact = (value: string): string =>\n clean(value, \" -.\");\n\nconst validate = (value: string): ValidateResult => {\n const v = compact(value);\n if (v.length < 13 || v.length > 19) {\n return err(\n \"INVALID_LENGTH\",\n \"Credit card number must be 13-19 digits\",\n );\n }\n if (!isdigits(v)) {\n return err(\n \"INVALID_FORMAT\",\n \"Credit card number must contain only digits\",\n );\n }\n if (!luhnValidate(v)) {\n return err(\n \"INVALID_CHECKSUM\",\n \"Credit card number fails Luhn check\",\n );\n }\n return { valid: true, compact: v };\n};\n\nconst format = (value: string): string => {\n const v = compact(value);\n // Amex: 4-6-5 grouping\n if (v.length === 15 && v[0] === \"3\") {\n return `${v.slice(0, 4)} ${v.slice(4, 10)} ${v.slice(10)}`;\n }\n // Standard: groups of 4\n const groups: string[] = [];\n for (let i = 0; i < v.length; i += 4) {\n groups.push(v.slice(i, i + 4));\n }\n return groups.join(\" \");\n};\n\nconst MAESTRO_PREFIXES = new Set([\n 5018, 5020, 5038, 5893, 6304, 6759, 6761, 6762, 6763,\n]);\n\n/**\n * Detect the card network from the BIN/IIN prefix.\n *\n * Accepts both formatted (\"4111 1111 1111 1111\")\n * and compact (\"4111111111111111\") inputs.\n * Returns null for unrecognized prefixes.\n */\nconst detectNetwork = (\n value: string,\n): CardNetwork | null => {\n const v = compact(value);\n if (v.length === 0) return null;\n if (!isdigits(v)) return null;\n\n const d2 = Number(v.slice(0, 2));\n const d3 = Number(v.slice(0, 3));\n const d4 = Number(v.slice(0, 4));\n const d6 = Number(v.slice(0, 6));\n\n // Amex: 34, 37\n if (d2 === 34 || d2 === 37) return \"amex\";\n\n // Diners Club: 300-305, 36, 38\n if (d2 === 36 || d2 === 38) return \"diners\";\n if (d3 >= 300 && d3 <= 305) return \"diners\";\n\n // JCB: 3528-3589\n if (d4 >= 3528 && d4 <= 3589) return \"jcb\";\n\n // Visa: starts with 4\n if (v[0] === \"4\") return \"visa\";\n\n // Maestro (check before Mastercard; some share\n // the 50xx prefix space)\n if (MAESTRO_PREFIXES.has(d4)) return \"maestro\";\n\n // Mastercard: 51-55 or 2221-2720\n if (d2 >= 51 && d2 <= 55) return \"mastercard\";\n if (d4 >= 2221 && d4 <= 2720) return \"mastercard\";\n\n // Discover: 6011, 622126-622925, 644-649, 65\n if (d4 === 6011) return \"discover\";\n if (d6 >= 622126 && d6 <= 622925) return \"discover\";\n if (d3 >= 644 && d3 <= 649) return \"discover\";\n if (d2 === 65) return \"discover\";\n\n // UnionPay: starts with 62 (excluding Discover\n // ranges already matched above)\n if (d2 === 62) return \"unionpay\";\n\n return null;\n};\n\n/**\n * Visa/Mastercard IIN prefixes. Each entry is\n * [prefix, totalLength].\n */\nconst CARD_PREFIXES = [\n [\"4\", 16], // Visa\n [\"51\", 16], // Mastercard\n [\"52\", 16], // Mastercard\n [\"53\", 16], // Mastercard\n [\"54\", 16], // Mastercard\n [\"55\", 16], // Mastercard\n] as const;\n\n/**\n * Generate a random valid Visa or Mastercard\n * number (16 digits, Luhn-valid).\n */\nconst generate = (): string => {\n const idx = randomInt(0, CARD_PREFIXES.length - 1);\n const [prefix, length] = CARD_PREFIXES[\n idx\n ] as (typeof CARD_PREFIXES)[number];\n const remaining = length - prefix.length - 1;\n const payload = `${prefix}${randomDigits(remaining)}`;\n const partial = `${payload}0`;\n const remainder = luhnChecksum(partial);\n const check = (10 - remainder) % 10;\n return `${payload}${String(check)}`;\n};\n\n/** Credit Card Number (Luhn). */\nconst creditCard: GlobalValidator = {\n scope: \"global\",\n name: \"Credit Card Number\",\n localName: \"Credit Card Number\",\n abbreviation: \"CC\",\n aliases: [\n \"credit card\",\n \"card number\",\n \"kreditní karta\",\n \"Kreditkarte\",\n ] as const,\n candidatePattern: \"(?:\\\\d[\\\\s-]?){13,19}\",\n entityType: \"any\",\n sourceUrl: \"https://www.iso.org/standard/70484.html\",\n examples: [\n \"4111111111111111\",\n \"5500000000000004\",\n ] as const,\n compact,\n format,\n validate,\n generate,\n};\n\nexport default creditCard;\nexport { compact, detectNetwork, format, validate };\nexport type { CardNetwork };\n"],"mappings":";;;;;;AAuCA,MAAM,WAAW,UACf,MAAM,OAAO,KAAK;AAEpB,MAAM,YAAY,UAAkC;CAClD,MAAM,IAAI,QAAQ,KAAK;CACvB,IAAI,EAAE,SAAS,MAAM,EAAE,SAAS,IAC9B,OAAO,IACL,kBACA,yCACF;CAEF,IAAI,CAAC,SAAS,CAAC,GACb,OAAO,IACL,kBACA,6CACF;CAEF,IAAI,CAAC,aAAa,CAAC,GACjB,OAAO,IACL,oBACA,qCACF;CAEF,OAAO;EAAE,OAAO;EAAM,SAAS;CAAE;AACnC;AAEA,MAAM,UAAU,UAA0B;CACxC,MAAM,IAAI,QAAQ,KAAK;CAEvB,IAAI,EAAE,WAAW,MAAM,EAAE,OAAO,KAC9B,OAAO,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE;CAGzD,MAAM,SAAmB,CAAC;CAC1B,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK,GACjC,OAAO,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;CAE/B,OAAO,OAAO,KAAK,GAAG;AACxB;AAEA,MAAM,mBAAmB,IAAI,IAAI;CAC/B;CAAM;CAAM;CAAM;CAAM;CAAM;CAAM;CAAM;CAAM;AAClD,CAAC;;;;;;;;AASD,MAAM,iBACJ,UACuB;CACvB,MAAM,IAAI,QAAQ,KAAK;CACvB,IAAI,EAAE,WAAW,GAAG,OAAO;CAC3B,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO;CAEzB,MAAM,KAAK,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC;CAC/B,MAAM,KAAK,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC;CAC/B,MAAM,KAAK,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC;CAC/B,MAAM,KAAK,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC;CAG/B,IAAI,OAAO,MAAM,OAAO,IAAI,OAAO;CAGnC,IAAI,OAAO,MAAM,OAAO,IAAI,OAAO;CACnC,IAAI,MAAM,OAAO,MAAM,KAAK,OAAO;CAGnC,IAAI,MAAM,QAAQ,MAAM,MAAM,OAAO;CAGrC,IAAI,EAAE,OAAO,KAAK,OAAO;CAIzB,IAAI,iBAAiB,IAAI,EAAE,GAAG,OAAO;CAGrC,IAAI,MAAM,MAAM,MAAM,IAAI,OAAO;CACjC,IAAI,MAAM,QAAQ,MAAM,MAAM,OAAO;CAGrC,IAAI,OAAO,MAAM,OAAO;CACxB,IAAI,MAAM,UAAU,MAAM,QAAQ,OAAO;CACzC,IAAI,MAAM,OAAO,MAAM,KAAK,OAAO;CACnC,IAAI,OAAO,IAAI,OAAO;CAItB,IAAI,OAAO,IAAI,OAAO;CAEtB,OAAO;AACT;;;;;AAMA,MAAM,gBAAgB;CACpB,CAAC,KAAK,EAAE;CACR,CAAC,MAAM,EAAE;CACT,CAAC,MAAM,EAAE;CACT,CAAC,MAAM,EAAE;CACT,CAAC,MAAM,EAAE;CACT,CAAC,MAAM,EAAE;AACX;;;;;AAMA,MAAM,iBAAyB;CAE7B,MAAM,CAAC,QAAQ,UAAU,cADb,UAAU,GAAG,cAAc,SAAS,CAE5C;CAGJ,MAAM,UAAU,GAAG,SAAS,aADV,SAAS,OAAO,SAAS,CACO;CAGlD,MAAM,SAAS,KADG,aAAa,GADZ,QAAQ,EAEC,KAAK;CACjC,OAAO,GAAG,UAAU,OAAO,KAAK;AAClC;;AAGA,MAAM,aAA8B;CAClC,OAAO;CACP,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS;EACP;EACA;EACA;EACA;CACF;CACA,kBAAkB;CAClB,YAAY;CACZ,WAAW;CACX,UAAU,CACR,oBACA,kBACF;CACA;CACA;CACA;CACA;AACF"}
1
+ {"version":3,"file":"creditcard.js","names":[],"sources":["../src/generated/creditcard.ts"],"sourcesContent":["// Generated by scripts/generate-public-surface.ts. Do not edit.\nimport { createValidator, getBinding } from \"../runtime\";\nimport type { GlobalValidator } from \"../types\";\n\nconst creditcard: GlobalValidator = createValidator(\n \"creditcard\",\n 40,\n);\n\nexport default creditcard;\nexport const compact = creditcard.compact;\nexport const format = creditcard.format;\nexport const validate = creditcard.validate;\nexport type CardNetwork =\n | \"visa\"\n | \"mastercard\"\n | \"amex\"\n | \"discover\"\n | \"diners\"\n | \"jcb\"\n | \"unionpay\"\n | \"maestro\";\nexport const detectNetwork = (\n value: string,\n): CardNetwork | null => getBinding().detectNetwork(value);\n"],"mappings":";;AAIA,MAAM,aAA8B,gBAClC,cACA,EACF;AAGA,MAAa,UAAU,WAAW;AAClC,MAAa,SAAS,WAAW;AACjC,MAAa,WAAW,WAAW;AAUnC,MAAa,iBACX,UACuB,WAAW,CAAC,CAAC,cAAc,KAAK"}
@@ -1,11 +1,10 @@
1
1
  import { GlobalValidator, ValidateResult } from "../types.js";
2
-
3
- //#region src/crypto/btcbase58.d.ts
2
+ //#region src/generated/crypto/btcbase58.d.ts
3
+ declare const btcbase58: GlobalValidator;
4
4
  declare const compact: (value: string) => string;
5
- declare const decodeBase58: (value: string) => Uint8Array | null;
6
- declare const validate: (value: string) => ValidateResult;
7
5
  declare const format: (value: string) => string;
8
- declare const btcBase58: GlobalValidator;
6
+ declare const validate: (value: string) => ValidateResult;
7
+ declare const decodeBase58: (value: string) => Uint8Array | null;
9
8
  //#endregion
10
- export { compact, decodeBase58, btcBase58 as default, format, validate };
9
+ export { compact, decodeBase58, btcbase58 as default, format, validate };
11
10
  //# sourceMappingURL=btcbase58.d.ts.map
@@ -1,76 +1,11 @@
1
- import { sha256 } from "../_checksums/sha256.js";
2
- import { clean } from "../_util/clean.js";
3
- import { err } from "../_util/result.js";
4
- //#region src/crypto/btcbase58.ts
5
- const BASE58_ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
6
- const MIN_LENGTH = 26;
7
- const MAX_LENGTH = 35;
8
- const DECODED_ADDRESS_LENGTH = 25;
9
- const CHECKSUM_LENGTH = 4;
10
- const MAINNET_P2PKH_VERSION = 0;
11
- const MAINNET_P2SH_VERSION = 5;
12
- const compact = (value) => clean(value, " ");
13
- const decodeBase58 = (value) => {
14
- let decoded = 0n;
15
- for (const ch of value) {
16
- const digit = BASE58_ALPHABET.indexOf(ch);
17
- if (digit === -1) return null;
18
- decoded = decoded * 58n + BigInt(digit);
19
- }
20
- const bytes = [];
21
- while (decoded > 0n) {
22
- bytes.push(Number(decoded & 255n));
23
- decoded >>= 8n;
24
- }
25
- bytes.reverse();
26
- let leadingZeros = 0;
27
- while (value.charAt(leadingZeros) === "1") leadingZeros += 1;
28
- const result = new Uint8Array(leadingZeros + bytes.length);
29
- result.set(bytes, leadingZeros);
30
- return result;
31
- };
32
- const hasValidChecksum = (decoded) => {
33
- if (decoded.length <= CHECKSUM_LENGTH) return false;
34
- const payload = decoded.slice(0, -4);
35
- const checksum = decoded.slice(-4);
36
- const digest = sha256(sha256(payload));
37
- for (let i = 0; i < CHECKSUM_LENGTH; i += 1) if (checksum[i] !== digest[i]) return false;
38
- return true;
39
- };
40
- const validate = (value) => {
41
- const v = compact(value);
42
- if (v.length < MIN_LENGTH || v.length > MAX_LENGTH) return err("INVALID_LENGTH", "Bitcoin Base58Check address must be 26-35 characters");
43
- if (!/^[13]/.test(v)) return err("INVALID_COMPONENT", "Bitcoin Base58Check address must start with 1 or 3");
44
- const decoded = decodeBase58(v);
45
- if (decoded === null) return err("INVALID_FORMAT", "Bitcoin Base58Check address contains invalid characters");
46
- if (decoded.length !== DECODED_ADDRESS_LENGTH) return err("INVALID_LENGTH", "Bitcoin Base58Check address decoded payload must be 25 bytes");
47
- const version = decoded[0];
48
- if (version !== MAINNET_P2PKH_VERSION && version !== MAINNET_P2SH_VERSION) return err("INVALID_COMPONENT", "Bitcoin Base58Check address has an unsupported version");
49
- if (!hasValidChecksum(decoded)) return err("INVALID_CHECKSUM", "Bitcoin Base58Check address fails checksum validation");
50
- return {
51
- valid: true,
52
- compact: v
53
- };
54
- };
55
- const format = (value) => compact(value);
56
- const btcBase58 = {
57
- scope: "global",
58
- name: "Bitcoin Base58Check Address",
59
- localName: "Bitcoin Base58Check Address",
60
- abbreviation: "BTC",
61
- aliases: [
62
- "Bitcoin address",
63
- "Bitcoin legacy address",
64
- "Base58Check address"
65
- ],
66
- candidatePattern: "[13][1-9A-HJ-NP-Za-km-z]{25,34}",
67
- entityType: "any",
68
- examples: ["1BoatSLRHtKNngkdXEeobR76b53LETtpyT", "3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy"],
69
- compact,
70
- format,
71
- validate
72
- };
1
+ import { createValidator, getBinding } from "../runtime.js";
2
+ //#region src/generated/crypto/btcbase58.ts
3
+ const btcbase58 = createValidator("crypto.btcbase58", 41);
4
+ const compact = btcbase58.compact;
5
+ const format = btcbase58.format;
6
+ const validate = btcbase58.validate;
7
+ const decodeBase58 = (value) => getBinding().decodeBase58(value);
73
8
  //#endregion
74
- export { compact, decodeBase58, btcBase58 as default, format, validate };
9
+ export { compact, decodeBase58, btcbase58 as default, format, validate };
75
10
 
76
11
  //# sourceMappingURL=btcbase58.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"btcbase58.js","names":[],"sources":["../../src/crypto/btcbase58.ts"],"sourcesContent":["/**\n * Bitcoin Base58Check address.\n *\n * Validates legacy mainnet P2PKH and P2SH Bitcoin\n * addresses, including the double-SHA-256 checksum.\n */\n\nimport type {\n GlobalValidator,\n ValidateResult,\n} from \"../types\";\n\nimport { sha256 } from \"#checksums/sha256\";\nimport { clean } from \"#util/clean\";\nimport { err } from \"#util/result\";\n\nconst BASE58_ALPHABET =\n \"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz\";\n\nconst MIN_LENGTH = 26;\nconst MAX_LENGTH = 35;\nconst DECODED_ADDRESS_LENGTH = 25;\nconst CHECKSUM_LENGTH = 4;\nconst MAINNET_P2PKH_VERSION = 0x00;\nconst MAINNET_P2SH_VERSION = 0x05;\n\nconst compact = (value: string): string =>\n clean(value, \" \");\n\nconst decodeBase58 = (value: string): Uint8Array | null => {\n let decoded = 0n;\n for (const ch of value) {\n const digit = BASE58_ALPHABET.indexOf(ch);\n if (digit === -1) return null;\n decoded = decoded * 58n + BigInt(digit);\n }\n\n const bytes: number[] = [];\n while (decoded > 0n) {\n bytes.push(Number(decoded & 0xffn));\n decoded >>= 8n;\n }\n bytes.reverse();\n\n let leadingZeros = 0;\n while (value.charAt(leadingZeros) === \"1\") {\n leadingZeros += 1;\n }\n\n const result = new Uint8Array(\n leadingZeros + bytes.length,\n );\n result.set(bytes, leadingZeros);\n return result;\n};\n\nconst hasValidChecksum = (decoded: Uint8Array): boolean => {\n if (decoded.length <= CHECKSUM_LENGTH) return false;\n\n const payload = decoded.slice(0, -CHECKSUM_LENGTH);\n const checksum = decoded.slice(-CHECKSUM_LENGTH);\n const digest = sha256(sha256(payload));\n\n for (let i = 0; i < CHECKSUM_LENGTH; i += 1) {\n if (checksum[i] !== digest[i]) return false;\n }\n return true;\n};\n\nconst validate = (value: string): ValidateResult => {\n const v = compact(value);\n if (v.length < MIN_LENGTH || v.length > MAX_LENGTH) {\n return err(\n \"INVALID_LENGTH\",\n \"Bitcoin Base58Check address must be 26-35 characters\",\n );\n }\n if (!/^[13]/.test(v)) {\n return err(\n \"INVALID_COMPONENT\",\n \"Bitcoin Base58Check address must start with 1 or 3\",\n );\n }\n\n const decoded = decodeBase58(v);\n if (decoded === null) {\n return err(\n \"INVALID_FORMAT\",\n \"Bitcoin Base58Check address contains invalid characters\",\n );\n }\n if (decoded.length !== DECODED_ADDRESS_LENGTH) {\n return err(\n \"INVALID_LENGTH\",\n \"Bitcoin Base58Check address decoded payload must be 25 bytes\",\n );\n }\n\n const version = decoded[0];\n if (\n version !== MAINNET_P2PKH_VERSION &&\n version !== MAINNET_P2SH_VERSION\n ) {\n return err(\n \"INVALID_COMPONENT\",\n \"Bitcoin Base58Check address has an unsupported version\",\n );\n }\n\n if (!hasValidChecksum(decoded)) {\n return err(\n \"INVALID_CHECKSUM\",\n \"Bitcoin Base58Check address fails checksum validation\",\n );\n }\n\n return { valid: true, compact: v };\n};\n\nconst format = (value: string): string => compact(value);\n\nconst btcBase58: GlobalValidator = {\n scope: \"global\",\n name: \"Bitcoin Base58Check Address\",\n localName: \"Bitcoin Base58Check Address\",\n abbreviation: \"BTC\",\n aliases: [\n \"Bitcoin address\",\n \"Bitcoin legacy address\",\n \"Base58Check address\",\n ] as const,\n candidatePattern: \"[13][1-9A-HJ-NP-Za-km-z]{25,34}\",\n entityType: \"any\",\n examples: [\n \"1BoatSLRHtKNngkdXEeobR76b53LETtpyT\",\n \"3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy\",\n ] as const,\n compact,\n format,\n validate,\n};\n\nexport default btcBase58;\nexport { compact, decodeBase58, format, validate };\n"],"mappings":";;;;AAgBA,MAAM,kBACJ;AAEF,MAAM,aAAa;AACnB,MAAM,aAAa;AACnB,MAAM,yBAAyB;AAC/B,MAAM,kBAAkB;AACxB,MAAM,wBAAwB;AAC9B,MAAM,uBAAuB;AAE7B,MAAM,WAAW,UACf,MAAM,OAAO,GAAG;AAElB,MAAM,gBAAgB,UAAqC;CACzD,IAAI,UAAU;CACd,KAAK,MAAM,MAAM,OAAO;EACtB,MAAM,QAAQ,gBAAgB,QAAQ,EAAE;EACxC,IAAI,UAAU,IAAI,OAAO;EACzB,UAAU,UAAU,MAAM,OAAO,KAAK;CACxC;CAEA,MAAM,QAAkB,CAAC;CACzB,OAAO,UAAU,IAAI;EACnB,MAAM,KAAK,OAAO,UAAU,IAAK,CAAC;EAClC,YAAY;CACd;CACA,MAAM,QAAQ;CAEd,IAAI,eAAe;CACnB,OAAO,MAAM,OAAO,YAAY,MAAM,KACpC,gBAAgB;CAGlB,MAAM,SAAS,IAAI,WACjB,eAAe,MAAM,MACvB;CACA,OAAO,IAAI,OAAO,YAAY;CAC9B,OAAO;AACT;AAEA,MAAM,oBAAoB,YAAiC;CACzD,IAAI,QAAQ,UAAU,iBAAiB,OAAO;CAE9C,MAAM,UAAU,QAAQ,MAAM,GAAG,EAAgB;CACjD,MAAM,WAAW,QAAQ,MAAM,EAAgB;CAC/C,MAAM,SAAS,OAAO,OAAO,OAAO,CAAC;CAErC,KAAK,IAAI,IAAI,GAAG,IAAI,iBAAiB,KAAK,GACxC,IAAI,SAAS,OAAO,OAAO,IAAI,OAAO;CAExC,OAAO;AACT;AAEA,MAAM,YAAY,UAAkC;CAClD,MAAM,IAAI,QAAQ,KAAK;CACvB,IAAI,EAAE,SAAS,cAAc,EAAE,SAAS,YACtC,OAAO,IACL,kBACA,sDACF;CAEF,IAAI,CAAC,QAAQ,KAAK,CAAC,GACjB,OAAO,IACL,qBACA,oDACF;CAGF,MAAM,UAAU,aAAa,CAAC;CAC9B,IAAI,YAAY,MACd,OAAO,IACL,kBACA,yDACF;CAEF,IAAI,QAAQ,WAAW,wBACrB,OAAO,IACL,kBACA,8DACF;CAGF,MAAM,UAAU,QAAQ;CACxB,IACE,YAAY,yBACZ,YAAY,sBAEZ,OAAO,IACL,qBACA,wDACF;CAGF,IAAI,CAAC,iBAAiB,OAAO,GAC3B,OAAO,IACL,oBACA,uDACF;CAGF,OAAO;EAAE,OAAO;EAAM,SAAS;CAAE;AACnC;AAEA,MAAM,UAAU,UAA0B,QAAQ,KAAK;AAEvD,MAAM,YAA6B;CACjC,OAAO;CACP,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS;EACP;EACA;EACA;CACF;CACA,kBAAkB;CAClB,YAAY;CACZ,UAAU,CACR,sCACA,oCACF;CACA;CACA;CACA;AACF"}
1
+ {"version":3,"file":"btcbase58.js","names":[],"sources":["../../src/generated/crypto/btcbase58.ts"],"sourcesContent":["// Generated by scripts/generate-public-surface.ts. Do not edit.\nimport { createValidator, getBinding } from \"../../runtime\";\nimport type { GlobalValidator } from \"../../types\";\n\nconst btcbase58: GlobalValidator = createValidator(\n \"crypto.btcbase58\",\n 41,\n);\n\nexport default btcbase58;\nexport const compact = btcbase58.compact;\nexport const format = btcbase58.format;\nexport const validate = btcbase58.validate;\nexport const decodeBase58 = (\n value: string,\n): Uint8Array | null => getBinding().decodeBase58(value);\n"],"mappings":";;AAIA,MAAM,YAA6B,gBACjC,oBACA,EACF;AAGA,MAAa,UAAU,UAAU;AACjC,MAAa,SAAS,UAAU;AAChC,MAAa,WAAW,UAAU;AAClC,MAAa,gBACX,UACsB,WAAW,CAAC,CAAC,aAAa,KAAK"}
@@ -1,19 +1,17 @@
1
1
  import { GlobalValidator, ValidateResult } from "../types.js";
2
-
3
- //#region src/crypto/btcbech32.d.ts
2
+ //#region src/generated/crypto/btcbech32.d.ts
3
+ declare const btcbech32: GlobalValidator;
4
4
  declare const compact: (value: string) => string;
5
- declare const polymod: (values: readonly number[]) => number;
5
+ declare const format: (value: string) => string;
6
+ declare const validate: (value: string) => ValidateResult;
6
7
  declare const convertBits: (values: readonly number[], fromBits: number, toBits: number) => number[] | null;
7
- type Bech32Validation = {
8
+ declare const polymod: (values: readonly number[]) => number;
9
+ declare const validateBech32: (value: string) => {
8
10
  valid: true;
9
11
  } | {
10
12
  valid: false;
11
13
  code: "format" | "checksum" | "component";
12
14
  };
13
- declare const validateBech32: (rawValue: string) => Bech32Validation;
14
- declare const validate: (value: string) => ValidateResult;
15
- declare const format: (value: string) => string;
16
- declare const btcBech32: GlobalValidator;
17
15
  //#endregion
18
- export { compact, convertBits, btcBech32 as default, format, polymod, validate, validateBech32 };
16
+ export { compact, convertBits, btcbech32 as default, format, polymod, validate, validateBech32 };
19
17
  //# sourceMappingURL=btcbech32.d.ts.map
@@ -1,145 +1,13 @@
1
- import { clean } from "../_util/clean.js";
2
- import { err } from "../_util/result.js";
3
- //#region src/crypto/btcbech32.ts
4
- const CHARSET = "qpzry9x8gf2tvdw0s3jn54khce6mua7l";
5
- const GENERATORS = [
6
- 996825010,
7
- 642813549,
8
- 513874426,
9
- 1027748829,
10
- 705979059
11
- ];
12
- const BECH32_CONST = 1;
13
- const BECH32M_CONST = 734539939;
14
- const MIN_DATA_LENGTH = 11;
15
- const MAX_DATA_LENGTH = 71;
16
- const BC_HRP_EXPANSION = [
17
- 3,
18
- 3,
19
- 0,
20
- 2,
21
- 3
22
- ];
23
- const compact = (value) => clean(value, " ").toLowerCase();
24
- const polymod = (values) => {
25
- let chk = 1;
26
- for (const value of values) {
27
- const top = chk >>> 25;
28
- chk = ((chk & 33554431) << 5 ^ value) >>> 0;
29
- for (let i = 0; i < GENERATORS.length; i += 1) {
30
- const generator = GENERATORS[i] ?? 0;
31
- if ((top >>> i & 1) === 1) chk = (chk ^ generator) >>> 0;
32
- }
33
- }
34
- return chk >>> 0;
35
- };
36
- const dataValues = (data) => {
37
- const values = [];
38
- for (const ch of data) {
39
- const value = CHARSET.indexOf(ch);
40
- if (value === -1) return null;
41
- values.push(value);
42
- }
43
- return values;
44
- };
45
- const convertBits = (values, fromBits, toBits) => {
46
- let accumulator = 0;
47
- let bits = 0;
48
- const maxValue = (1 << toBits) - 1;
49
- const result = [];
50
- for (const value of values) {
51
- if (value < 0 || value >>> fromBits !== 0) return null;
52
- accumulator = accumulator << fromBits | value;
53
- bits += fromBits;
54
- while (bits >= toBits) {
55
- bits -= toBits;
56
- result.push(accumulator >>> bits & maxValue);
57
- }
58
- }
59
- if (bits >= fromBits) return null;
60
- if ((accumulator << toBits - bits & maxValue) !== 0) return null;
61
- return result;
62
- };
63
- const validateBech32 = (rawValue) => {
64
- const hasLower = /[a-z]/.test(rawValue);
65
- const hasUpper = /[A-Z]/.test(rawValue);
66
- if (hasLower && hasUpper) return {
67
- valid: false,
68
- code: "format"
69
- };
70
- const v = rawValue.toLowerCase();
71
- if (!v.startsWith("bc1")) return {
72
- valid: false,
73
- code: "component"
74
- };
75
- const data = v.slice(3);
76
- if (data.length < MIN_DATA_LENGTH || data.length > MAX_DATA_LENGTH) return {
77
- valid: false,
78
- code: "format"
79
- };
80
- const values = dataValues(data);
81
- if (values === null) return {
82
- valid: false,
83
- code: "format"
84
- };
85
- const expanded = Array.from(BC_HRP_EXPANSION);
86
- for (const value of values) expanded.push(value);
87
- const check = polymod(expanded);
88
- const version = values[0];
89
- if (version === void 0 || version > 16) return {
90
- valid: false,
91
- code: "component"
92
- };
93
- if (version === 0 && check !== BECH32_CONST) return {
94
- valid: false,
95
- code: "checksum"
96
- };
97
- if (version > 0 && check !== BECH32M_CONST) return {
98
- valid: false,
99
- code: "checksum"
100
- };
101
- const program = convertBits(values.slice(1, -6), 5, 8);
102
- if (program === null || program.length < 2 || program.length > 40) return {
103
- valid: false,
104
- code: "component"
105
- };
106
- if (version === 0 && program.length !== 20 && program.length !== 32) return {
107
- valid: false,
108
- code: "component"
109
- };
110
- return { valid: true };
111
- };
112
- const validate = (value) => {
113
- const v = compact(value);
114
- const result = validateBech32(clean(value, " "));
115
- if (result.valid) return {
116
- valid: true,
117
- compact: v
118
- };
119
- if (result.code === "component") return err("INVALID_COMPONENT", "Bitcoin Bech32 address has an unsupported component");
120
- if (result.code === "checksum") return err("INVALID_CHECKSUM", "Bitcoin Bech32 address fails checksum validation");
121
- return err("INVALID_FORMAT", "Bitcoin Bech32 address has an invalid format");
122
- };
123
- const format = (value) => compact(value);
124
- const btcBech32 = {
125
- scope: "global",
126
- name: "Bitcoin Bech32 Address",
127
- localName: "Bitcoin Bech32 Address",
128
- abbreviation: "BTC",
129
- aliases: [
130
- "Bitcoin address",
131
- "Bitcoin SegWit address",
132
- "Bech32 address",
133
- "Bech32m address"
134
- ],
135
- candidatePattern: "(?:bc1[ac-hj-np-z02-9]{11,71}|BC1[AC-HJ-NP-Z02-9]{11,71})",
136
- entityType: "any",
137
- examples: ["bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4", "bc1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3qccfmv3"],
138
- compact,
139
- format,
140
- validate
141
- };
1
+ import { createValidator, getBinding } from "../runtime.js";
2
+ //#region src/generated/crypto/btcbech32.ts
3
+ const btcbech32 = createValidator("crypto.btcbech32", 42);
4
+ const compact = btcbech32.compact;
5
+ const format = btcbech32.format;
6
+ const validate = btcbech32.validate;
7
+ const convertBits = (values, fromBits, toBits) => getBinding().convertBits(values, fromBits, toBits);
8
+ const polymod = (values) => getBinding().polymod(values);
9
+ const validateBech32 = (value) => getBinding().validateBech32(value);
142
10
  //#endregion
143
- export { compact, convertBits, btcBech32 as default, format, polymod, validate, validateBech32 };
11
+ export { compact, convertBits, btcbech32 as default, format, polymod, validate, validateBech32 };
144
12
 
145
13
  //# sourceMappingURL=btcbech32.js.map