@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
@@ -1 +1 @@
1
- {"version":3,"file":"btcbech32.js","names":[],"sources":["../../src/crypto/btcbech32.ts"],"sourcesContent":["/**\n * Bitcoin Bech32/Bech32m address.\n *\n * Validates mainnet SegWit addresses with the\n * Bech32 checksum for v0 and Bech32m for v1+.\n */\n\nimport type {\n GlobalValidator,\n ValidateResult,\n} from \"../types\";\n\nimport { clean } from \"#util/clean\";\nimport { err } from \"#util/result\";\n\nconst CHARSET = \"qpzry9x8gf2tvdw0s3jn54khce6mua7l\";\nconst GENERATORS = [\n 0x3b6a57b2, 0x26508e6d, 0x1ea119fa, 0x3d4233dd,\n 0x2a1462b3,\n] as const;\nconst BECH32_CONST = 1;\nconst BECH32M_CONST = 0x2bc830a3;\nconst CHECKSUM_LENGTH = 6;\nconst MIN_DATA_LENGTH = 11;\nconst MAX_DATA_LENGTH = 71;\nconst BC_HRP_EXPANSION = [3, 3, 0, 2, 3] as const;\n\nconst compact = (value: string): string =>\n clean(value, \" \").toLowerCase();\n\nconst polymod = (values: readonly number[]): number => {\n let chk = 1;\n for (const value of values) {\n const top = chk >>> 25;\n chk = (((chk & 0x1ffffff) << 5) ^ value) >>> 0;\n for (let i = 0; i < GENERATORS.length; i += 1) {\n const generator = GENERATORS[i] ?? 0;\n if (((top >>> i) & 1) === 1) {\n chk = (chk ^ generator) >>> 0;\n }\n }\n }\n return chk >>> 0;\n};\n\nconst dataValues = (data: string): number[] | null => {\n const values: number[] = [];\n for (const ch of data) {\n const value = CHARSET.indexOf(ch);\n if (value === -1) return null;\n values.push(value);\n }\n return values;\n};\n\nconst convertBits = (\n values: readonly number[],\n fromBits: number,\n toBits: number,\n): number[] | null => {\n let accumulator = 0;\n let bits = 0;\n const maxValue = (1 << toBits) - 1;\n const result: number[] = [];\n\n for (const value of values) {\n if (value < 0 || value >>> fromBits !== 0) return null;\n accumulator = (accumulator << fromBits) | value;\n bits += fromBits;\n while (bits >= toBits) {\n bits -= toBits;\n result.push((accumulator >>> bits) & maxValue);\n }\n }\n\n if (bits >= fromBits) return null;\n if (((accumulator << (toBits - bits)) & maxValue) !== 0) {\n return null;\n }\n\n return result;\n};\n\ntype Bech32Validation =\n | { valid: true }\n | {\n valid: false;\n code: \"format\" | \"checksum\" | \"component\";\n };\n\nconst validateBech32 = (\n rawValue: string,\n): Bech32Validation => {\n const hasLower = /[a-z]/.test(rawValue);\n const hasUpper = /[A-Z]/.test(rawValue);\n if (hasLower && hasUpper)\n return { valid: false, code: \"format\" };\n\n const v = rawValue.toLowerCase();\n if (!v.startsWith(\"bc1\"))\n return { valid: false, code: \"component\" };\n\n const data = v.slice(3);\n if (\n data.length < MIN_DATA_LENGTH ||\n data.length > MAX_DATA_LENGTH\n ) {\n return { valid: false, code: \"format\" };\n }\n\n const values = dataValues(data);\n if (values === null)\n return { valid: false, code: \"format\" };\n\n const expanded: number[] = Array.from(BC_HRP_EXPANSION);\n for (const value of values) {\n expanded.push(value);\n }\n const check = polymod(expanded);\n\n const version = values[0];\n if (version === undefined || version > 16) {\n return { valid: false, code: \"component\" };\n }\n\n if (version === 0 && check !== BECH32_CONST) {\n return { valid: false, code: \"checksum\" };\n }\n if (version > 0 && check !== BECH32M_CONST) {\n return { valid: false, code: \"checksum\" };\n }\n\n const programValues = values.slice(1, -CHECKSUM_LENGTH);\n const program = convertBits(programValues, 5, 8);\n if (\n program === null ||\n program.length < 2 ||\n program.length > 40\n ) {\n return { valid: false, code: \"component\" };\n }\n\n if (\n version === 0 &&\n program.length !== 20 &&\n program.length !== 32\n ) {\n return { valid: false, code: \"component\" };\n }\n\n return { valid: true };\n};\n\nconst validate = (value: string): ValidateResult => {\n const v = compact(value);\n const result = validateBech32(clean(value, \" \"));\n if (result.valid) return { valid: true, compact: v };\n\n if (result.code === \"component\") {\n return err(\n \"INVALID_COMPONENT\",\n \"Bitcoin Bech32 address has an unsupported component\",\n );\n }\n if (result.code === \"checksum\") {\n return err(\n \"INVALID_CHECKSUM\",\n \"Bitcoin Bech32 address fails checksum validation\",\n );\n }\n return err(\n \"INVALID_FORMAT\",\n \"Bitcoin Bech32 address has an invalid format\",\n );\n};\n\nconst format = (value: string): string => compact(value);\n\nconst btcBech32: GlobalValidator = {\n scope: \"global\",\n name: \"Bitcoin Bech32 Address\",\n localName: \"Bitcoin Bech32 Address\",\n abbreviation: \"BTC\",\n aliases: [\n \"Bitcoin address\",\n \"Bitcoin SegWit address\",\n \"Bech32 address\",\n \"Bech32m address\",\n ] as const,\n candidatePattern:\n \"(?:bc1[ac-hj-np-z02-9]{11,71}|BC1[AC-HJ-NP-Z02-9]{11,71})\",\n entityType: \"any\",\n examples: [\n \"bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4\",\n \"bc1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3qccfmv3\",\n ] as const,\n compact,\n format,\n validate,\n};\n\nexport default btcBech32;\nexport {\n compact,\n convertBits,\n format,\n polymod,\n validate,\n validateBech32,\n};\n"],"mappings":";;;AAeA,MAAM,UAAU;AAChB,MAAM,aAAa;CACjB;CAAY;CAAY;CAAY;CACpC;AACF;AACA,MAAM,eAAe;AACrB,MAAM,gBAAgB;AAEtB,MAAM,kBAAkB;AACxB,MAAM,kBAAkB;AACxB,MAAM,mBAAmB;CAAC;CAAG;CAAG;CAAG;CAAG;AAAC;AAEvC,MAAM,WAAW,UACf,MAAM,OAAO,GAAG,CAAC,CAAC,YAAY;AAEhC,MAAM,WAAW,WAAsC;CACrD,IAAI,MAAM;CACV,KAAK,MAAM,SAAS,QAAQ;EAC1B,MAAM,MAAM,QAAQ;EACpB,QAAS,MAAM,aAAc,IAAK,WAAW;EAC7C,KAAK,IAAI,IAAI,GAAG,IAAI,WAAW,QAAQ,KAAK,GAAG;GAC7C,MAAM,YAAY,WAAW,MAAM;GACnC,KAAM,QAAQ,IAAK,OAAO,GACxB,OAAO,MAAM,eAAe;EAEhC;CACF;CACA,OAAO,QAAQ;AACjB;AAEA,MAAM,cAAc,SAAkC;CACpD,MAAM,SAAmB,CAAC;CAC1B,KAAK,MAAM,MAAM,MAAM;EACrB,MAAM,QAAQ,QAAQ,QAAQ,EAAE;EAChC,IAAI,UAAU,IAAI,OAAO;EACzB,OAAO,KAAK,KAAK;CACnB;CACA,OAAO;AACT;AAEA,MAAM,eACJ,QACA,UACA,WACoB;CACpB,IAAI,cAAc;CAClB,IAAI,OAAO;CACX,MAAM,YAAY,KAAK,UAAU;CACjC,MAAM,SAAmB,CAAC;CAE1B,KAAK,MAAM,SAAS,QAAQ;EAC1B,IAAI,QAAQ,KAAK,UAAU,aAAa,GAAG,OAAO;EAClD,cAAe,eAAe,WAAY;EAC1C,QAAQ;EACR,OAAO,QAAQ,QAAQ;GACrB,QAAQ;GACR,OAAO,KAAM,gBAAgB,OAAQ,QAAQ;EAC/C;CACF;CAEA,IAAI,QAAQ,UAAU,OAAO;CAC7B,KAAM,eAAgB,SAAS,OAAS,cAAc,GACpD,OAAO;CAGT,OAAO;AACT;AASA,MAAM,kBACJ,aACqB;CACrB,MAAM,WAAW,QAAQ,KAAK,QAAQ;CACtC,MAAM,WAAW,QAAQ,KAAK,QAAQ;CACtC,IAAI,YAAY,UACd,OAAO;EAAE,OAAO;EAAO,MAAM;CAAS;CAExC,MAAM,IAAI,SAAS,YAAY;CAC/B,IAAI,CAAC,EAAE,WAAW,KAAK,GACrB,OAAO;EAAE,OAAO;EAAO,MAAM;CAAY;CAE3C,MAAM,OAAO,EAAE,MAAM,CAAC;CACtB,IACE,KAAK,SAAS,mBACd,KAAK,SAAS,iBAEd,OAAO;EAAE,OAAO;EAAO,MAAM;CAAS;CAGxC,MAAM,SAAS,WAAW,IAAI;CAC9B,IAAI,WAAW,MACb,OAAO;EAAE,OAAO;EAAO,MAAM;CAAS;CAExC,MAAM,WAAqB,MAAM,KAAK,gBAAgB;CACtD,KAAK,MAAM,SAAS,QAClB,SAAS,KAAK,KAAK;CAErB,MAAM,QAAQ,QAAQ,QAAQ;CAE9B,MAAM,UAAU,OAAO;CACvB,IAAI,YAAY,KAAA,KAAa,UAAU,IACrC,OAAO;EAAE,OAAO;EAAO,MAAM;CAAY;CAG3C,IAAI,YAAY,KAAK,UAAU,cAC7B,OAAO;EAAE,OAAO;EAAO,MAAM;CAAW;CAE1C,IAAI,UAAU,KAAK,UAAU,eAC3B,OAAO;EAAE,OAAO;EAAO,MAAM;CAAW;CAI1C,MAAM,UAAU,YADM,OAAO,MAAM,GAAG,EACE,GAAG,GAAG,CAAC;CAC/C,IACE,YAAY,QACZ,QAAQ,SAAS,KACjB,QAAQ,SAAS,IAEjB,OAAO;EAAE,OAAO;EAAO,MAAM;CAAY;CAG3C,IACE,YAAY,KACZ,QAAQ,WAAW,MACnB,QAAQ,WAAW,IAEnB,OAAO;EAAE,OAAO;EAAO,MAAM;CAAY;CAG3C,OAAO,EAAE,OAAO,KAAK;AACvB;AAEA,MAAM,YAAY,UAAkC;CAClD,MAAM,IAAI,QAAQ,KAAK;CACvB,MAAM,SAAS,eAAe,MAAM,OAAO,GAAG,CAAC;CAC/C,IAAI,OAAO,OAAO,OAAO;EAAE,OAAO;EAAM,SAAS;CAAE;CAEnD,IAAI,OAAO,SAAS,aAClB,OAAO,IACL,qBACA,qDACF;CAEF,IAAI,OAAO,SAAS,YAClB,OAAO,IACL,oBACA,kDACF;CAEF,OAAO,IACL,kBACA,8CACF;AACF;AAEA,MAAM,UAAU,UAA0B,QAAQ,KAAK;AAEvD,MAAM,YAA6B;CACjC,OAAO;CACP,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS;EACP;EACA;EACA;EACA;CACF;CACA,kBACE;CACF,YAAY;CACZ,UAAU,CACR,8CACA,gEACF;CACA;CACA;CACA;AACF"}
1
+ {"version":3,"file":"btcbech32.js","names":[],"sources":["../../src/generated/crypto/btcbech32.ts"],"sourcesContent":["// Generated by scripts/generate-public-surface.ts. Do not edit.\nimport { createValidator, getBinding } from \"../../runtime\";\nimport type { GlobalValidator } from \"../../types\";\n\nconst btcbech32: GlobalValidator = createValidator(\n \"crypto.btcbech32\",\n 42,\n);\n\nexport default btcbech32;\nexport const compact = btcbech32.compact;\nexport const format = btcbech32.format;\nexport const validate = btcbech32.validate;\nexport const convertBits = (\n values: readonly number[],\n fromBits: number,\n toBits: number,\n): number[] | null =>\n getBinding().convertBits(values, fromBits, toBits);\nexport const polymod = (\n values: readonly number[],\n): number => getBinding().polymod(values);\nexport const validateBech32 = (\n value: string,\n):\n | { valid: true }\n | {\n valid: false;\n code: \"format\" | \"checksum\" | \"component\";\n } => getBinding().validateBech32(value);\n"],"mappings":";;AAIA,MAAM,YAA6B,gBACjC,oBACA,EACF;AAGA,MAAa,UAAU,UAAU;AACjC,MAAa,SAAS,UAAU;AAChC,MAAa,WAAW,UAAU;AAClC,MAAa,eACX,QACA,UACA,WAEA,WAAW,CAAC,CAAC,YAAY,QAAQ,UAAU,MAAM;AACnD,MAAa,WACX,WACW,WAAW,CAAC,CAAC,QAAQ,MAAM;AACxC,MAAa,kBACX,UAMO,WAAW,CAAC,CAAC,eAAe,KAAK"}
@@ -1,11 +1,10 @@
1
1
  import { GlobalValidator, ValidateResult } from "../types.js";
2
-
3
- //#region src/crypto/eth.d.ts
2
+ //#region src/generated/crypto/eth.d.ts
3
+ declare const eth: GlobalValidator;
4
4
  declare const compact: (value: string) => string;
5
- declare const hasValidEip55Checksum: (address: string) => boolean;
6
- declare const validate: (value: string) => ValidateResult;
7
5
  declare const format: (value: string) => string;
8
- declare const eth: GlobalValidator;
6
+ declare const validate: (value: string) => ValidateResult;
7
+ declare const hasValidEip55Checksum: (value: string) => boolean;
9
8
  //#endregion
10
9
  export { compact, eth as default, format, hasValidEip55Checksum, validate };
11
10
  //# sourceMappingURL=eth.d.ts.map
@@ -1,62 +1,10 @@
1
- import { keccak256 } from "../_checksums/keccak.js";
2
- import { clean } from "../_util/clean.js";
3
- import { err } from "../_util/result.js";
4
- //#region src/crypto/eth.ts
5
- const ETH_ADDRESS_LENGTH = 42;
6
- const HEX_PREFIX_LENGTH = 2;
7
- const compact = (value) => clean(value, " ").toLowerCase();
8
- const asciiBytes = (value) => {
9
- const bytes = new Uint8Array(value.length);
10
- for (let i = 0; i < value.length; i += 1) bytes[i] = value.charCodeAt(i);
11
- return bytes;
12
- };
13
- const hexBytes = (bytes) => {
14
- let result = "";
15
- for (const byte of bytes) result += byte.toString(16).padStart(2, "0");
16
- return result;
17
- };
18
- const isMixedCase = (value) => /[a-f]/.test(value) && /[A-F]/.test(value);
19
- const hasValidEip55Checksum = (address) => {
20
- const body = address.slice(HEX_PREFIX_LENGTH);
21
- if (!isMixedCase(body)) return true;
22
- const hash = hexBytes(keccak256(asciiBytes(body.toLowerCase())));
23
- for (let i = 0; i < body.length; i += 1) {
24
- const ch = body.charAt(i);
25
- if (/\d/.test(ch)) continue;
26
- if (ch !== (Number.parseInt(hash.charAt(i), 16) >= 8 ? ch.toUpperCase() : ch.toLowerCase())) return false;
27
- }
28
- return true;
29
- };
30
- const validate = (value) => {
31
- const raw = clean(value, " ");
32
- const v = raw.toLowerCase();
33
- if (v.length !== ETH_ADDRESS_LENGTH) return err("INVALID_LENGTH", "Ethereum address must be 42 characters");
34
- if (!/^0x[0-9a-f]{40}$/i.test(raw)) return err("INVALID_FORMAT", "Ethereum address must be 0x followed by 40 hexadecimal characters");
35
- if (!hasValidEip55Checksum(raw)) return err("INVALID_CHECKSUM", "Ethereum address fails EIP-55 checksum validation");
36
- return {
37
- valid: true,
38
- compact: v
39
- };
40
- };
41
- const format = (value) => compact(value);
42
- const eth = {
43
- scope: "global",
44
- name: "Ethereum Address",
45
- localName: "Ethereum Address",
46
- abbreviation: "ETH",
47
- aliases: [
48
- "Ethereum address",
49
- "EVM address",
50
- "crypto wallet"
51
- ],
52
- candidatePattern: "0x[0-9A-Fa-f]{40}",
53
- entityType: "any",
54
- examples: ["0xde709f2102306220921060314715629080e2fb77"],
55
- lengths: [ETH_ADDRESS_LENGTH],
56
- compact,
57
- format,
58
- validate
59
- };
1
+ import { createValidator, getBinding } from "../runtime.js";
2
+ //#region src/generated/crypto/eth.ts
3
+ const eth = createValidator("crypto.eth", 43);
4
+ const compact = eth.compact;
5
+ const format = eth.format;
6
+ const validate = eth.validate;
7
+ const hasValidEip55Checksum = (value) => getBinding().hasValidEip55Checksum(value);
60
8
  //#endregion
61
9
  export { compact, eth as default, format, hasValidEip55Checksum, validate };
62
10
 
@@ -1 +1 @@
1
- {"version":3,"file":"eth.js","names":[],"sources":["../../src/crypto/eth.ts"],"sourcesContent":["/**\n * Ethereum address.\n *\n * Validates the canonical 0x-prefixed 20-byte\n * hexadecimal address shape. The compact form is\n * lowercased so checksummed and non-checksummed\n * variants of the same address compare equal.\n */\n\nimport type {\n GlobalValidator,\n ValidateResult,\n} from \"../types\";\n\nimport { keccak256 } from \"#checksums/keccak\";\nimport { clean } from \"#util/clean\";\nimport { err } from \"#util/result\";\n\nconst ETH_ADDRESS_LENGTH = 42;\nconst HEX_PREFIX_LENGTH = 2;\n\nconst compact = (value: string): string =>\n clean(value, \" \").toLowerCase();\n\nconst asciiBytes = (value: string): Uint8Array => {\n const bytes = new Uint8Array(value.length);\n for (let i = 0; i < value.length; i += 1) {\n bytes[i] = value.charCodeAt(i);\n }\n return bytes;\n};\n\nconst hexBytes = (bytes: Uint8Array): string => {\n let result = \"\";\n for (const byte of bytes) {\n result += byte.toString(16).padStart(2, \"0\");\n }\n return result;\n};\n\nconst isMixedCase = (value: string): boolean =>\n /[a-f]/.test(value) && /[A-F]/.test(value);\n\nconst hasValidEip55Checksum = (\n address: string,\n): boolean => {\n const body = address.slice(HEX_PREFIX_LENGTH);\n if (!isMixedCase(body)) return true;\n\n const lower = body.toLowerCase();\n const hash = hexBytes(keccak256(asciiBytes(lower)));\n\n for (let i = 0; i < body.length; i += 1) {\n const ch = body.charAt(i);\n if (/\\d/.test(ch)) continue;\n\n const nibble = Number.parseInt(hash.charAt(i), 16);\n const expected =\n nibble >= 8 ? ch.toUpperCase() : ch.toLowerCase();\n if (ch !== expected) return false;\n }\n\n return true;\n};\n\nconst validate = (value: string): ValidateResult => {\n const raw = clean(value, \" \");\n const v = raw.toLowerCase();\n if (v.length !== ETH_ADDRESS_LENGTH) {\n return err(\n \"INVALID_LENGTH\",\n \"Ethereum address must be 42 characters\",\n );\n }\n if (!/^0x[0-9a-f]{40}$/i.test(raw)) {\n return err(\n \"INVALID_FORMAT\",\n \"Ethereum address must be 0x followed by 40 hexadecimal characters\",\n );\n }\n if (!hasValidEip55Checksum(raw)) {\n return err(\n \"INVALID_CHECKSUM\",\n \"Ethereum address fails EIP-55 checksum validation\",\n );\n }\n return { valid: true, compact: v };\n};\n\nconst format = (value: string): string => compact(value);\n\nconst eth: GlobalValidator = {\n scope: \"global\",\n name: \"Ethereum Address\",\n localName: \"Ethereum Address\",\n abbreviation: \"ETH\",\n aliases: [\n \"Ethereum address\",\n \"EVM address\",\n \"crypto wallet\",\n ] as const,\n candidatePattern: \"0x[0-9A-Fa-f]{40}\",\n entityType: \"any\",\n examples: [\n \"0xde709f2102306220921060314715629080e2fb77\",\n ] as const,\n lengths: [ETH_ADDRESS_LENGTH] as const,\n compact,\n format,\n validate,\n};\n\nexport default eth;\nexport { compact, format, hasValidEip55Checksum, validate };\n"],"mappings":";;;;AAkBA,MAAM,qBAAqB;AAC3B,MAAM,oBAAoB;AAE1B,MAAM,WAAW,UACf,MAAM,OAAO,GAAG,CAAC,CAAC,YAAY;AAEhC,MAAM,cAAc,UAA8B;CAChD,MAAM,QAAQ,IAAI,WAAW,MAAM,MAAM;CACzC,KAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,GACrC,MAAM,KAAK,MAAM,WAAW,CAAC;CAE/B,OAAO;AACT;AAEA,MAAM,YAAY,UAA8B;CAC9C,IAAI,SAAS;CACb,KAAK,MAAM,QAAQ,OACjB,UAAU,KAAK,SAAS,EAAE,CAAC,CAAC,SAAS,GAAG,GAAG;CAE7C,OAAO;AACT;AAEA,MAAM,eAAe,UACnB,QAAQ,KAAK,KAAK,KAAK,QAAQ,KAAK,KAAK;AAE3C,MAAM,yBACJ,YACY;CACZ,MAAM,OAAO,QAAQ,MAAM,iBAAiB;CAC5C,IAAI,CAAC,YAAY,IAAI,GAAG,OAAO;CAG/B,MAAM,OAAO,SAAS,UAAU,WADlB,KAAK,YAC4B,CAAC,CAAC,CAAC;CAElD,KAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK,GAAG;EACvC,MAAM,KAAK,KAAK,OAAO,CAAC;EACxB,IAAI,KAAK,KAAK,EAAE,GAAG;EAKnB,IAAI,QAHW,OAAO,SAAS,KAAK,OAAO,CAAC,GAAG,EAExC,KAAK,IAAI,GAAG,YAAY,IAAI,GAAG,YAAY,IAC7B,OAAO;CAC9B;CAEA,OAAO;AACT;AAEA,MAAM,YAAY,UAAkC;CAClD,MAAM,MAAM,MAAM,OAAO,GAAG;CAC5B,MAAM,IAAI,IAAI,YAAY;CAC1B,IAAI,EAAE,WAAW,oBACf,OAAO,IACL,kBACA,wCACF;CAEF,IAAI,CAAC,oBAAoB,KAAK,GAAG,GAC/B,OAAO,IACL,kBACA,mEACF;CAEF,IAAI,CAAC,sBAAsB,GAAG,GAC5B,OAAO,IACL,oBACA,mDACF;CAEF,OAAO;EAAE,OAAO;EAAM,SAAS;CAAE;AACnC;AAEA,MAAM,UAAU,UAA0B,QAAQ,KAAK;AAEvD,MAAM,MAAuB;CAC3B,OAAO;CACP,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS;EACP;EACA;EACA;CACF;CACA,kBAAkB;CAClB,YAAY;CACZ,UAAU,CACR,4CACF;CACA,SAAS,CAAC,kBAAkB;CAC5B;CACA;CACA;AACF"}
1
+ {"version":3,"file":"eth.js","names":[],"sources":["../../src/generated/crypto/eth.ts"],"sourcesContent":["// Generated by scripts/generate-public-surface.ts. Do not edit.\nimport { createValidator, getBinding } from \"../../runtime\";\nimport type { GlobalValidator } from \"../../types\";\n\nconst eth: GlobalValidator = createValidator(\n \"crypto.eth\",\n 43,\n);\n\nexport default eth;\nexport const compact = eth.compact;\nexport const format = eth.format;\nexport const validate = eth.validate;\nexport const hasValidEip55Checksum = (\n value: string,\n): boolean => getBinding().hasValidEip55Checksum(value);\n"],"mappings":";;AAIA,MAAM,MAAuB,gBAC3B,cACA,EACF;AAGA,MAAa,UAAU,IAAI;AAC3B,MAAa,SAAS,IAAI;AAC1B,MAAa,WAAW,IAAI;AAC5B,MAAa,yBACX,UACY,WAAW,CAAC,CAAC,sBAAsB,KAAK"}
@@ -1,12 +1,10 @@
1
- import btcBase58 from "./btcbase58.js";
2
- import btcBech32 from "./btcbech32.js";
1
+ import btcbase58 from "./btcbase58.js";
2
+ import btcbech32 from "./btcbech32.js";
3
3
  import eth from "./eth.js";
4
4
  import wallet from "./wallet.js";
5
-
6
- //#region src/crypto/mod.d.ts
7
5
  declare namespace mod_d_exports {
8
- export { btcBase58 as btcbase58, btcBech32 as btcbech32, eth, wallet };
6
+ export { btcbase58, btcbech32, eth, wallet };
9
7
  }
10
8
  //#endregion
11
- export { btcBase58 as btcbase58, btcBech32 as btcbech32, eth, mod_d_exports, wallet };
9
+ export { btcbase58, btcbech32, eth, mod_d_exports, wallet };
12
10
  //# sourceMappingURL=mod.d.ts.map
@@ -1,16 +1,16 @@
1
1
  import { __exportAll } from "../_virtual/_rolldown/runtime.js";
2
- import btcBase58 from "./btcbase58.js";
3
- import btcBech32 from "./btcbech32.js";
2
+ import btcbase58 from "./btcbase58.js";
3
+ import btcbech32 from "./btcbech32.js";
4
4
  import eth from "./eth.js";
5
5
  import wallet from "./wallet.js";
6
- //#region src/crypto/mod.ts
6
+ //#region src/generated/crypto/mod.ts
7
7
  var crypto_exports = /* @__PURE__ */ __exportAll({
8
- btcbase58: () => btcBase58,
9
- btcbech32: () => btcBech32,
8
+ btcbase58: () => btcbase58,
9
+ btcbech32: () => btcbech32,
10
10
  eth: () => eth,
11
11
  wallet: () => wallet
12
12
  });
13
13
  //#endregion
14
- export { btcBase58 as btcbase58, btcBech32 as btcbech32, crypto_exports, eth, wallet };
14
+ export { btcbase58, btcbech32, crypto_exports, eth, wallet };
15
15
 
16
16
  //# sourceMappingURL=mod.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mod.js","names":[],"sources":["../../src/crypto/mod.ts"],"sourcesContent":["export { default as btcbase58 } from \"./btcbase58\";\nexport { default as btcbech32 } from \"./btcbech32\";\nexport { default as eth } from \"./eth\";\nexport { default as wallet } from \"./wallet\";\n"],"mappings":""}
1
+ {"version":3,"file":"mod.js","names":[],"sources":["../../src/generated/crypto/mod.ts"],"sourcesContent":["// Generated by scripts/generate-public-surface.ts. Do not edit.\nexport { default as btcbase58 } from \"./btcbase58\";\nexport { default as btcbech32 } from \"./btcbech32\";\nexport { default as eth } from \"./eth\";\nexport { default as wallet } from \"./wallet\";\n"],"mappings":""}
@@ -1,10 +1,9 @@
1
1
  import { GlobalValidator, ValidateResult } from "../types.js";
2
-
3
- //#region src/crypto/wallet.d.ts
2
+ //#region src/generated/crypto/wallet.d.ts
3
+ declare const wallet: GlobalValidator;
4
4
  declare const compact: (value: string) => string;
5
- declare const validate: (value: string) => ValidateResult;
6
5
  declare const format: (value: string) => string;
7
- declare const wallet: GlobalValidator;
6
+ declare const validate: (value: string) => ValidateResult;
8
7
  //#endregion
9
8
  export { compact, wallet as default, format, validate };
10
9
  //# sourceMappingURL=wallet.d.ts.map
@@ -1,54 +1,9 @@
1
- import btcBase58 from "./btcbase58.js";
2
- import btcBech32 from "./btcbech32.js";
3
- import eth from "./eth.js";
4
- //#region src/crypto/wallet.ts
5
- const validators = [
6
- eth,
7
- btcBech32,
8
- btcBase58
9
- ];
10
- const compact = (value) => {
11
- for (const validator of validators) {
12
- const result = validator.validate(value);
13
- if (result.valid) return result.compact;
14
- }
15
- return value.trim();
16
- };
17
- const validate = (value) => {
18
- for (const validator of validators) {
19
- const result = validator.validate(value);
20
- if (result.valid) return result;
21
- }
22
- return {
23
- valid: false,
24
- error: {
25
- code: "INVALID_FORMAT",
26
- message: "Unsupported cryptocurrency wallet address"
27
- }
28
- };
29
- };
30
- const format = (value) => compact(value);
31
- const wallet = {
32
- scope: "global",
33
- name: "Cryptocurrency Wallet Address",
34
- localName: "Cryptocurrency Wallet Address",
35
- abbreviation: "crypto",
36
- aliases: [
37
- "crypto address",
38
- "wallet address",
39
- "cryptocurrency wallet"
40
- ],
41
- candidatePattern: "(?:0x[0-9A-Fa-f]{40}|[13][1-9A-HJ-NP-Za-km-z]{25,34}|bc1[ac-hj-np-z02-9]{11,71}|BC1[AC-HJ-NP-Z02-9]{11,71})",
42
- entityType: "any",
43
- examples: [
44
- "0xde709f2102306220921060314715629080e2fb77",
45
- "1BoatSLRHtKNngkdXEeobR76b53LETtpyT",
46
- "bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4"
47
- ],
48
- compact,
49
- format,
50
- validate
51
- };
1
+ import { createValidator } from "../runtime.js";
2
+ //#region src/generated/crypto/wallet.ts
3
+ const wallet = createValidator("crypto.wallet", 44);
4
+ const compact = wallet.compact;
5
+ const format = wallet.format;
6
+ const validate = wallet.validate;
52
7
  //#endregion
53
8
  export { compact, wallet as default, format, validate };
54
9
 
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.js","names":[],"sources":["../../src/crypto/wallet.ts"],"sourcesContent":["/**\n * Cryptocurrency wallet address.\n *\n * Convenience validator for supported wallet address\n * families. Use the specific validators when the\n * network or format must be known.\n */\n\nimport type {\n GlobalValidator,\n ValidateResult,\n} from \"../types\";\nimport btcBase58 from \"./btcbase58\";\nimport btcBech32 from \"./btcbech32\";\nimport eth from \"./eth\";\n\nconst validators = [eth, btcBech32, btcBase58] as const;\n\nconst compact = (value: string): string => {\n for (const validator of validators) {\n const result = validator.validate(value);\n if (result.valid) return result.compact;\n }\n return value.trim();\n};\n\nconst validate = (value: string): ValidateResult => {\n for (const validator of validators) {\n const result = validator.validate(value);\n if (result.valid) return result;\n }\n return {\n valid: false,\n error: {\n code: \"INVALID_FORMAT\",\n message: \"Unsupported cryptocurrency wallet address\",\n },\n };\n};\n\nconst format = (value: string): string => compact(value);\n\nconst wallet: GlobalValidator = {\n scope: \"global\",\n name: \"Cryptocurrency Wallet Address\",\n localName: \"Cryptocurrency Wallet Address\",\n abbreviation: \"crypto\",\n aliases: [\n \"crypto address\",\n \"wallet address\",\n \"cryptocurrency wallet\",\n ] as const,\n candidatePattern:\n \"(?:0x[0-9A-Fa-f]{40}|[13][1-9A-HJ-NP-Za-km-z]{25,34}|bc1[ac-hj-np-z02-9]{11,71}|BC1[AC-HJ-NP-Z02-9]{11,71})\",\n entityType: \"any\",\n examples: [\n \"0xde709f2102306220921060314715629080e2fb77\",\n \"1BoatSLRHtKNngkdXEeobR76b53LETtpyT\",\n \"bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4\",\n ] as const,\n compact,\n format,\n validate,\n};\n\nexport default wallet;\nexport { compact, format, validate };\n"],"mappings":";;;;AAgBA,MAAM,aAAa;CAAC;CAAK;CAAW;AAAS;AAE7C,MAAM,WAAW,UAA0B;CACzC,KAAK,MAAM,aAAa,YAAY;EAClC,MAAM,SAAS,UAAU,SAAS,KAAK;EACvC,IAAI,OAAO,OAAO,OAAO,OAAO;CAClC;CACA,OAAO,MAAM,KAAK;AACpB;AAEA,MAAM,YAAY,UAAkC;CAClD,KAAK,MAAM,aAAa,YAAY;EAClC,MAAM,SAAS,UAAU,SAAS,KAAK;EACvC,IAAI,OAAO,OAAO,OAAO;CAC3B;CACA,OAAO;EACL,OAAO;EACP,OAAO;GACL,MAAM;GACN,SAAS;EACX;CACF;AACF;AAEA,MAAM,UAAU,UAA0B,QAAQ,KAAK;AAEvD,MAAM,SAA0B;CAC9B,OAAO;CACP,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS;EACP;EACA;EACA;CACF;CACA,kBACE;CACF,YAAY;CACZ,UAAU;EACR;EACA;EACA;CACF;CACA;CACA;CACA;AACF"}
1
+ {"version":3,"file":"wallet.js","names":[],"sources":["../../src/generated/crypto/wallet.ts"],"sourcesContent":["// Generated by scripts/generate-public-surface.ts. Do not edit.\nimport { createValidator } from \"../../runtime\";\nimport type { GlobalValidator } from \"../../types\";\n\nconst wallet: GlobalValidator = createValidator(\n \"crypto.wallet\",\n 44,\n);\n\nexport default wallet;\nexport const compact = wallet.compact;\nexport const format = wallet.format;\nexport const validate = wallet.validate;\n"],"mappings":";;AAIA,MAAM,SAA0B,gBAC9B,iBACA,EACF;AAGA,MAAa,UAAU,OAAO;AAC9B,MAAa,SAAS,OAAO;AAC7B,MAAa,WAAW,OAAO"}
package/dist/cu/mod.d.ts CHANGED
@@ -1,6 +1,4 @@
1
1
  import ni from "./ni.js";
2
-
3
- //#region src/cu/mod.d.ts
4
2
  declare namespace mod_d_exports {
5
3
  export { ni };
6
4
  }
package/dist/cu/mod.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { __exportAll } from "../_virtual/_rolldown/runtime.js";
2
2
  import ni from "./ni.js";
3
- //#region src/cu/mod.ts
3
+ //#region src/generated/cu/mod.ts
4
4
  var cu_exports = /* @__PURE__ */ __exportAll({ ni: () => ni });
5
5
  //#endregion
6
6
  export { cu_exports, ni };
@@ -1 +1 @@
1
- {"version":3,"file":"mod.js","names":[],"sources":["../../src/cu/mod.ts"],"sourcesContent":["export { default as ni } from \"./ni\";\n"],"mappings":""}
1
+ {"version":3,"file":"mod.js","names":[],"sources":["../../src/generated/cu/mod.ts"],"sourcesContent":["// Generated by scripts/generate-public-surface.ts. Do not edit.\nexport { default as ni } from \"./ni\";\n"],"mappings":""}
package/dist/cu/ni.d.ts CHANGED
@@ -1,22 +1,11 @@
1
- import { CountryValidator, ParsedPersonId, ValidateResult } from "../types.js";
2
-
3
- //#region src/cu/ni.d.ts
1
+ import { CountryValidator, ParsedIdentifier, ParsedPersonId, ValidateResult } from "../types.js";
2
+ //#region src/generated/cu/ni.d.ts
3
+ declare const ni: CountryValidator<"CU", ParsedPersonId>;
4
4
  declare const compact: (value: string) => string;
5
- declare const validate: (value: string) => ValidateResult;
6
5
  declare const format: (value: string) => string;
7
- /**
8
- * Extract birth date and gender from a Cuban NI.
9
- * Returns null if the value is not valid.
10
- */
11
- declare const parse: (value: string) => ParsedPersonId | null;
12
- /** Generate a random valid Cuban NI. */
6
+ declare const validate: (value: string) => ValidateResult;
13
7
  declare const generate: () => string;
14
- /**
15
- * Cuban identity card number (NI).
16
- *
17
- * Examples sourced from python-stdnum test suite.
18
- */
19
- declare const ni: CountryValidator<"CU", ParsedPersonId>;
8
+ declare const parse: ((value: string) => ParsedIdentifier | null) & ((value: string) => ParsedPersonId | null);
20
9
  //#endregion
21
10
  export { compact, ni as default, format, generate, parse, validate };
22
11
  //# sourceMappingURL=ni.d.ts.map
package/dist/cu/ni.js CHANGED
@@ -1,84 +1,13 @@
1
- import { clean } from "../_util/clean.js";
2
- import { isValidDate } from "../_util/date.js";
3
- import { randomDigits, randomInt } from "../_util/generate.js";
4
- import { err } from "../_util/result.js";
5
- //#region src/cu/ni.ts
6
- const compact = (value) => clean(value, " -").trim();
7
- /**
8
- * Derive the full birth year from the two-digit year
9
- * and the century indicator at position 6.
10
- */
11
- const centuryOffset = (digit) => {
12
- if (digit === "9") return 1800;
13
- if (digit >= "0" && digit <= "5") return 1900;
14
- return 2e3;
15
- };
16
- const validate = (value) => {
17
- const v = compact(value);
18
- if (v.length !== 11) return err("INVALID_LENGTH", "Cuban NI must be 11 digits");
19
- if (!/^\d{11}$/.test(v)) return err("INVALID_FORMAT", "Cuban NI must contain only digits");
20
- const yy = Number(v.slice(0, 2));
21
- const mm = Number(v.slice(2, 4));
22
- const dd = Number(v.slice(4, 6));
23
- if (!isValidDate(centuryOffset(v[6]) + yy, mm, dd)) return err("INVALID_COMPONENT", "Cuban NI contains an invalid birth date");
24
- return {
25
- valid: true,
26
- compact: v
27
- };
28
- };
29
- const format = (value) => compact(value);
30
- /**
31
- * Extract birth date and gender from a Cuban NI.
32
- * Returns null if the value is not valid.
33
- */
34
- const parse = (value) => {
35
- const result = validate(value);
36
- if (!result.valid) return null;
37
- const v = result.compact;
38
- const yy = Number(v.slice(0, 2));
39
- const mm = Number(v.slice(2, 4));
40
- const dd = Number(v.slice(4, 6));
41
- const year = centuryOffset(v[6]) + yy;
42
- const gender = Number(v[9]) % 2 === 0 ? "male" : "female";
43
- return {
44
- birthDate: new Date(year, mm - 1, dd),
45
- gender
46
- };
47
- };
48
- /** Generate a random valid Cuban NI. */
49
- const generate = () => {
50
- const year = randomInt(1950, 2024);
51
- const month = String(randomInt(1, 12)).padStart(2, "0");
52
- const day = String(randomInt(1, 28)).padStart(2, "0");
53
- return `${String(year % 100).padStart(2, "0")}${month}${day}${year >= 2e3 ? String(randomInt(6, 8)) : String(randomInt(0, 5))}${randomDigits(4)}`;
54
- };
55
- /**
56
- * Cuban identity card number (NI).
57
- *
58
- * Examples sourced from python-stdnum test suite.
59
- */
60
- const ni = {
61
- name: "Cuban Identity Card Number",
62
- localName: "Número de Identidad",
63
- abbreviation: "NI",
64
- aliases: [
65
- "NI",
66
- "número de identidad",
67
- "carnet de identidad"
68
- ],
69
- candidatePattern: "\\d{11}",
70
- scope: "country",
71
- country: "CU",
72
- entityType: "person",
73
- lengths: [11],
74
- examples: ["91021027775", "72062506561"],
75
- compact,
76
- format,
77
- parse,
78
- validate,
79
- generate,
80
- sourceUrl: "https://www.ecured.cu/Carnet_de_Identidad"
81
- };
1
+ import { createValidator } from "../runtime.js";
2
+ //#region src/generated/cu/ni.ts
3
+ const ni = createValidator("cu.ni", 45);
4
+ const compact = ni.compact;
5
+ const format = ni.format;
6
+ const validate = ni.validate;
7
+ const generate = () => ni.generate?.() ?? (() => {
8
+ throw new Error("Validator cu.ni cannot generate values");
9
+ })();
10
+ const parse = ni.parse;
82
11
  //#endregion
83
12
  export { compact, ni as default, format, generate, parse, validate };
84
13
 
package/dist/cu/ni.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ni.js","names":[],"sources":["../../src/cu/ni.ts"],"sourcesContent":["/**\n * NI (Número de Identidad, Cuban identity card number).\n *\n * 11 digits encoding birth date, century, sequence, and\n * gender. Structure: YYMMDDXNNNN where:\n * - YYMMDD = birth date\n * - X = century digit (9=1800s, 0-5=1900s, 6-8=2000s)\n * - NNNN = sequence (digit at position 9 encodes gender:\n * even=male, odd=female)\n *\n * No check digit; validation is by date and format only.\n *\n * Ported from python-stdnum cu.ni module.\n *\n * @see https://www.ecured.cu/Carnet_de_Identidad\n */\n\nimport type {\n ParsedPersonId,\n ValidateResult,\n CountryValidator,\n} from \"../types\";\n\nimport { clean } from \"#util/clean\";\nimport { isValidDate } from \"#util/date\";\nimport { randomDigits, randomInt } from \"#util/generate\";\nimport { err } from \"#util/result\";\n\nconst compact = (value: string): string =>\n clean(value, \" -\").trim();\n\n/**\n * Derive the full birth year from the two-digit year\n * and the century indicator at position 6.\n */\nconst centuryOffset = (digit: string): number => {\n if (digit === \"9\") return 1800;\n if (digit >= \"0\" && digit <= \"5\") return 1900;\n return 2000;\n};\n\nconst validate = (value: string): ValidateResult => {\n const v = compact(value);\n\n if (v.length !== 11) {\n return err(\n \"INVALID_LENGTH\",\n \"Cuban NI must be 11 digits\",\n );\n }\n\n if (!/^\\d{11}$/.test(v)) {\n return err(\n \"INVALID_FORMAT\",\n \"Cuban NI must contain only digits\",\n );\n }\n\n const yy = Number(v.slice(0, 2));\n const mm = Number(v.slice(2, 4));\n const dd = Number(v.slice(4, 6));\n // SAFETY: regex check above guarantees v.length === 11.\n // eslint-disable-next-line no-non-null-assertion\n const year = centuryOffset(v[6]!) + yy;\n\n if (!isValidDate(year, mm, dd)) {\n return err(\n \"INVALID_COMPONENT\",\n \"Cuban NI contains an invalid birth date\",\n );\n }\n\n return { valid: true, compact: v };\n};\n\nconst format = (value: string): string => compact(value);\n\n/**\n * Extract birth date and gender from a Cuban NI.\n * Returns null if the value is not valid.\n */\nconst parse = (value: string): ParsedPersonId | null => {\n const result = validate(value);\n if (!result.valid) return null;\n\n const v = result.compact;\n const yy = Number(v.slice(0, 2));\n const mm = Number(v.slice(2, 4));\n const dd = Number(v.slice(4, 6));\n // SAFETY: regex check above guarantees v.length === 11.\n // eslint-disable-next-line no-non-null-assertion\n const year = centuryOffset(v[6]!) + yy;\n\n const genderDigit = Number(v[9]);\n const gender: \"male\" | \"female\" =\n genderDigit % 2 === 0 ? \"male\" : \"female\";\n\n return {\n birthDate: new Date(year, mm - 1, dd),\n gender,\n };\n};\n\n/** Generate a random valid Cuban NI. */\nconst generate = (): string => {\n const year = randomInt(1950, 2024);\n const month = String(randomInt(1, 12)).padStart(2, \"0\");\n const day = String(randomInt(1, 28)).padStart(2, \"0\");\n const yy = String(year % 100).padStart(2, \"0\");\n const century =\n year >= 2000\n ? String(randomInt(6, 8))\n : String(randomInt(0, 5));\n return `${yy}${month}${day}${century}${randomDigits(4)}`;\n};\n\n/**\n * Cuban identity card number (NI).\n *\n * Examples sourced from python-stdnum test suite.\n */\nconst ni: CountryValidator<\"CU\", ParsedPersonId> = {\n name: \"Cuban Identity Card Number\",\n localName: \"Número de Identidad\",\n abbreviation: \"NI\",\n aliases: [\n \"NI\",\n \"número de identidad\",\n \"carnet de identidad\",\n ] as const,\n candidatePattern: \"\\\\d{11}\",\n scope: \"country\",\n country: \"CU\",\n entityType: \"person\",\n lengths: [11] as const,\n examples: [\"91021027775\", \"72062506561\"] as const,\n compact,\n format,\n parse,\n validate,\n generate,\n sourceUrl: \"https://www.ecured.cu/Carnet_de_Identidad\",\n};\n\nexport default ni;\nexport { compact, format, generate, parse, validate };\n"],"mappings":";;;;;AA4BA,MAAM,WAAW,UACf,MAAM,OAAO,IAAI,CAAC,CAAC,KAAK;;;;;AAM1B,MAAM,iBAAiB,UAA0B;CAC/C,IAAI,UAAU,KAAK,OAAO;CAC1B,IAAI,SAAS,OAAO,SAAS,KAAK,OAAO;CACzC,OAAO;AACT;AAEA,MAAM,YAAY,UAAkC;CAClD,MAAM,IAAI,QAAQ,KAAK;CAEvB,IAAI,EAAE,WAAW,IACf,OAAO,IACL,kBACA,4BACF;CAGF,IAAI,CAAC,WAAW,KAAK,CAAC,GACpB,OAAO,IACL,kBACA,mCACF;CAGF,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;CAK/B,IAAI,CAAC,YAFQ,cAAc,EAAE,EAAG,IAAI,IAEb,IAAI,EAAE,GAC3B,OAAO,IACL,qBACA,yCACF;CAGF,OAAO;EAAE,OAAO;EAAM,SAAS;CAAE;AACnC;AAEA,MAAM,UAAU,UAA0B,QAAQ,KAAK;;;;;AAMvD,MAAM,SAAS,UAAyC;CACtD,MAAM,SAAS,SAAS,KAAK;CAC7B,IAAI,CAAC,OAAO,OAAO,OAAO;CAE1B,MAAM,IAAI,OAAO;CACjB,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,MAAM,OAAO,cAAc,EAAE,EAAG,IAAI;CAGpC,MAAM,SADc,OAAO,EAAE,EAEjB,IAAI,MAAM,IAAI,SAAS;CAEnC,OAAO;EACL,WAAW,IAAI,KAAK,MAAM,KAAK,GAAG,EAAE;EACpC;CACF;AACF;;AAGA,MAAM,iBAAyB;CAC7B,MAAM,OAAO,UAAU,MAAM,IAAI;CACjC,MAAM,QAAQ,OAAO,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG;CACtD,MAAM,MAAM,OAAO,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG;CAMpD,OAAO,GALI,OAAO,OAAO,GAAG,CAAC,CAAC,SAAS,GAAG,GAK/B,IAAI,QAAQ,MAHrB,QAAQ,MACJ,OAAO,UAAU,GAAG,CAAC,CAAC,IACtB,OAAO,UAAU,GAAG,CAAC,CAAC,IACW,aAAa,CAAC;AACvD;;;;;;AAOA,MAAM,KAA6C;CACjD,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS;EACP;EACA;EACA;CACF;CACA,kBAAkB;CAClB,OAAO;CACP,SAAS;CACT,YAAY;CACZ,SAAS,CAAC,EAAE;CACZ,UAAU,CAAC,eAAe,aAAa;CACvC;CACA;CACA;CACA;CACA;CACA,WAAW;AACb"}
1
+ {"version":3,"file":"ni.js","names":[],"sources":["../../src/generated/cu/ni.ts"],"sourcesContent":["// Generated by scripts/generate-public-surface.ts. Do not edit.\nimport { createValidator } from \"../../runtime\";\nimport type {\n CountryValidator,\n ParsedPersonId,\n} from \"../../types\";\n\nconst ni: CountryValidator<\"CU\", ParsedPersonId> =\n createValidator(\"cu.ni\", 45);\n\nexport default ni;\nexport const compact = ni.compact;\nexport const format = ni.format;\nexport const validate = ni.validate;\nexport const generate = (): string =>\n ni.generate?.() ??\n (() => {\n throw new Error(\n \"Validator cu.ni cannot generate values\",\n );\n })();\nexport const parse = ni.parse;\n"],"mappings":";;AAOA,MAAM,KACJ,gBAAgB,SAAS,EAAE;AAG7B,MAAa,UAAU,GAAG;AAC1B,MAAa,SAAS,GAAG;AACzB,MAAa,WAAW,GAAG;AAC3B,MAAa,iBACX,GAAG,WAAW,YACP;CACL,MAAM,IAAI,MACR,wCACF;AACF,EAAA,CAAG;AACL,MAAa,QAAQ,GAAG"}
package/dist/cy/mod.d.ts CHANGED
@@ -1,6 +1,4 @@
1
1
  import vat from "./vat.js";
2
-
3
- //#region src/cy/mod.d.ts
4
2
  declare namespace mod_d_exports {
5
3
  export { vat };
6
4
  }
package/dist/cy/mod.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { __exportAll } from "../_virtual/_rolldown/runtime.js";
2
2
  import vat from "./vat.js";
3
- //#region src/cy/mod.ts
3
+ //#region src/generated/cy/mod.ts
4
4
  var cy_exports = /* @__PURE__ */ __exportAll({ vat: () => vat });
5
5
  //#endregion
6
6
  export { cy_exports, vat };
@@ -1 +1 @@
1
- {"version":3,"file":"mod.js","names":[],"sources":["../../src/cy/mod.ts"],"sourcesContent":["export { default as vat } from \"./vat\";\n"],"mappings":""}
1
+ {"version":3,"file":"mod.js","names":[],"sources":["../../src/generated/cy/mod.ts"],"sourcesContent":["// Generated by scripts/generate-public-surface.ts. Do not edit.\nexport { default as vat } from \"./vat\";\n"],"mappings":""}
package/dist/cy/vat.d.ts CHANGED
@@ -1,13 +1,10 @@
1
1
  import { CountryValidator, ValidateResult } from "../types.js";
2
-
3
- //#region src/cy/vat.d.ts
2
+ //#region src/generated/cy/vat.d.ts
3
+ declare const vat: CountryValidator<"CY">;
4
4
  declare const compact: (value: string) => string;
5
- declare const validate: (value: string) => ValidateResult;
6
5
  declare const format: (value: string) => string;
7
- /** Generate a random valid Cypriot VAT number. */
6
+ declare const validate: (value: string) => ValidateResult;
8
7
  declare const generate: () => string;
9
- /** Cypriot VAT Number. */
10
- declare const vat: CountryValidator<"CY">;
11
8
  //#endregion
12
9
  export { compact, vat as default, format, generate, validate };
13
10
  //# sourceMappingURL=vat.d.ts.map
package/dist/cy/vat.js CHANGED
@@ -1,80 +1,12 @@
1
- import { clean } from "../_util/clean.js";
2
- import { randomDigits } from "../_util/generate.js";
3
- import { err } from "../_util/result.js";
4
- import { isdigits } from "../_util/strings.js";
5
- //#region src/cy/vat.ts
6
- const ODD_MAP = {
7
- 0: 1,
8
- 1: 0,
9
- 2: 5,
10
- 3: 7,
11
- 4: 9,
12
- 5: 13,
13
- 6: 15,
14
- 7: 17,
15
- 8: 19,
16
- 9: 21
17
- };
18
- const LETTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
19
- const compact = (value) => {
20
- let v = clean(value, " -/.");
21
- if (v.startsWith("CY") || v.startsWith("cy")) v = v.slice(2);
22
- return v.toUpperCase();
23
- };
24
- const validate = (value) => {
25
- const v = compact(value);
26
- if (v.length !== 9) return err("INVALID_LENGTH", "Cypriot VAT number must be 8 digits + 1 letter");
27
- const digits = v.slice(0, 8);
28
- const checkLetter = v[8];
29
- if (!isdigits(digits)) return err("INVALID_FORMAT", "Cypriot VAT number must start with 8 digits");
30
- if (checkLetter === void 0 || !LETTERS.includes(checkLetter)) return err("INVALID_FORMAT", "Cypriot VAT number must end with a letter");
31
- if (v.startsWith("12")) return err("INVALID_COMPONENT", "Cypriot VAT number cannot start with 12");
32
- let odd = 0;
33
- let even = 0;
34
- for (let i = 0; i < 8; i++) {
35
- const d = Number(digits.charAt(i));
36
- if (i % 2 === 0) odd += ODD_MAP[d] ?? 0;
37
- else even += d;
38
- }
39
- if (checkLetter !== LETTERS.charAt((odd + even) % 26)) return err("INVALID_CHECKSUM", "Cypriot VAT number check letter mismatch");
40
- return {
41
- valid: true,
42
- compact: v
43
- };
44
- };
45
- const format = (value) => `CY${compact(value)}`;
46
- /** Generate a random valid Cypriot VAT number. */
47
- const generate = () => {
48
- for (;;) {
49
- const digits = randomDigits(8);
50
- if (digits.startsWith("12")) continue;
51
- let odd = 0;
52
- let even = 0;
53
- for (let i = 0; i < 8; i++) {
54
- const d = Number(digits.charAt(i));
55
- if (i % 2 === 0) odd += ODD_MAP[d] ?? 0;
56
- else even += d;
57
- }
58
- return digits + LETTERS.charAt((odd + even) % 26);
59
- }
60
- };
61
- /** Cypriot VAT Number. */
62
- const vat = {
63
- name: "Cypriot VAT Number",
64
- localName: "Αριθμός Εγγραφής Φ.Π.Α.",
65
- abbreviation: "ΦΠΑ",
66
- aliases: ["ΦΠΑ", "VAT CY"],
67
- candidatePattern: "CY\\d{8}[A-Z]",
68
- scope: "country",
69
- country: "CY",
70
- entityType: "company",
71
- sourceUrl: "https://www.mof.gov.cy/",
72
- examples: ["10259033P"],
73
- compact,
74
- format,
75
- validate,
76
- generate
77
- };
1
+ import { createValidator } from "../runtime.js";
2
+ //#region src/generated/cy/vat.ts
3
+ const vat = createValidator("cy.vat", 46);
4
+ const compact = vat.compact;
5
+ const format = vat.format;
6
+ const validate = vat.validate;
7
+ const generate = () => vat.generate?.() ?? (() => {
8
+ throw new Error("Validator cy.vat cannot generate values");
9
+ })();
78
10
  //#endregion
79
11
  export { compact, vat as default, format, generate, validate };
80
12
 
@@ -1 +1 @@
1
- {"version":3,"file":"vat.js","names":[],"sources":["../../src/cy/vat.ts"],"sourcesContent":["/**\n * ΦΠΑ (Cypriot VAT number).\n *\n * 8 digits + 1 check letter. Cannot start with \"12\".\n *\n * @see https://www.vatify.eu/cyprus-vat-number.html\n * @see https://www.oecd.org/content/dam/oecd/en/topics/policy-issue-focus/aeoi/cyprus-tin.pdf\n */\n\nimport type {\n ValidateResult,\n CountryValidator,\n} from \"../types\";\n\nimport { clean } from \"#util/clean\";\nimport { randomDigits } from \"#util/generate\";\nimport { err } from \"#util/result\";\nimport { isdigits } from \"#util/strings\";\n\nconst ODD_MAP: Record<number, number> = {\n 0: 1,\n 1: 0,\n 2: 5,\n 3: 7,\n 4: 9,\n 5: 13,\n 6: 15,\n 7: 17,\n 8: 19,\n 9: 21,\n};\n\nconst LETTERS = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\";\n\nconst compact = (value: string): string => {\n let v = clean(value, \" -/.\");\n if (v.startsWith(\"CY\") || v.startsWith(\"cy\")) {\n v = v.slice(2);\n }\n return v.toUpperCase();\n};\n\nconst validate = (value: string): ValidateResult => {\n const v = compact(value);\n if (v.length !== 9) {\n return err(\n \"INVALID_LENGTH\",\n \"Cypriot VAT number must be 8 digits + 1 letter\",\n );\n }\n const digits = v.slice(0, 8);\n const checkLetter = v[8];\n if (!isdigits(digits)) {\n return err(\n \"INVALID_FORMAT\",\n \"Cypriot VAT number must start with 8 digits\",\n );\n }\n if (\n checkLetter === undefined ||\n !LETTERS.includes(checkLetter)\n ) {\n return err(\n \"INVALID_FORMAT\",\n \"Cypriot VAT number must end with a letter\",\n );\n }\n if (v.startsWith(\"12\")) {\n return err(\n \"INVALID_COMPONENT\",\n \"Cypriot VAT number cannot start with 12\",\n );\n }\n let odd = 0;\n let even = 0;\n for (let i = 0; i < 8; i++) {\n const d = Number(digits.charAt(i));\n if (i % 2 === 0) {\n // Odd position (1-indexed: 1,3,5,7)\n odd += ODD_MAP[d] ?? 0;\n } else {\n // Even position (1-indexed: 2,4,6,8)\n even += d;\n }\n }\n const expected = LETTERS.charAt((odd + even) % 26);\n if (checkLetter !== expected) {\n return err(\n \"INVALID_CHECKSUM\",\n \"Cypriot VAT number check letter mismatch\",\n );\n }\n return { valid: true, compact: v };\n};\n\nconst format = (value: string): string =>\n `CY${compact(value)}`;\n\n/** Generate a random valid Cypriot VAT number. */\nconst generate = (): string => {\n for (;;) {\n const digits = randomDigits(8);\n if (digits.startsWith(\"12\")) continue;\n let odd = 0;\n let even = 0;\n for (let i = 0; i < 8; i++) {\n const d = Number(digits.charAt(i));\n if (i % 2 === 0) odd += ODD_MAP[d] ?? 0;\n else even += d;\n }\n return digits + LETTERS.charAt((odd + even) % 26);\n }\n};\n\n/** Cypriot VAT Number. */\nconst vat: CountryValidator<\"CY\"> = {\n name: \"Cypriot VAT Number\",\n localName: \"Αριθμός Εγγραφής Φ.Π.Α.\",\n abbreviation: \"ΦΠΑ\",\n aliases: [\"ΦΠΑ\", \"VAT CY\"] as const,\n candidatePattern: \"CY\\\\d{8}[A-Z]\",\n scope: \"country\",\n country: \"CY\",\n entityType: \"company\",\n sourceUrl: \"https://www.mof.gov.cy/\",\n examples: [\"10259033P\"] as const,\n compact,\n format,\n validate,\n generate,\n};\n\nexport default vat;\nexport { compact, format, validate, generate };\n"],"mappings":";;;;;AAmBA,MAAM,UAAkC;CACtC,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;AACL;AAEA,MAAM,UAAU;AAEhB,MAAM,WAAW,UAA0B;CACzC,IAAI,IAAI,MAAM,OAAO,MAAM;CAC3B,IAAI,EAAE,WAAW,IAAI,KAAK,EAAE,WAAW,IAAI,GACzC,IAAI,EAAE,MAAM,CAAC;CAEf,OAAO,EAAE,YAAY;AACvB;AAEA,MAAM,YAAY,UAAkC;CAClD,MAAM,IAAI,QAAQ,KAAK;CACvB,IAAI,EAAE,WAAW,GACf,OAAO,IACL,kBACA,gDACF;CAEF,MAAM,SAAS,EAAE,MAAM,GAAG,CAAC;CAC3B,MAAM,cAAc,EAAE;CACtB,IAAI,CAAC,SAAS,MAAM,GAClB,OAAO,IACL,kBACA,6CACF;CAEF,IACE,gBAAgB,KAAA,KAChB,CAAC,QAAQ,SAAS,WAAW,GAE7B,OAAO,IACL,kBACA,2CACF;CAEF,IAAI,EAAE,WAAW,IAAI,GACnB,OAAO,IACL,qBACA,yCACF;CAEF,IAAI,MAAM;CACV,IAAI,OAAO;CACX,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK;EAC1B,MAAM,IAAI,OAAO,OAAO,OAAO,CAAC,CAAC;EACjC,IAAI,IAAI,MAAM,GAEZ,OAAO,QAAQ,MAAM;OAGrB,QAAQ;CAEZ;CAEA,IAAI,gBADa,QAAQ,QAAQ,MAAM,QAAQ,EACpB,GACzB,OAAO,IACL,oBACA,0CACF;CAEF,OAAO;EAAE,OAAO;EAAM,SAAS;CAAE;AACnC;AAEA,MAAM,UAAU,UACd,KAAK,QAAQ,KAAK;;AAGpB,MAAM,iBAAyB;CAC7B,SAAS;EACP,MAAM,SAAS,aAAa,CAAC;EAC7B,IAAI,OAAO,WAAW,IAAI,GAAG;EAC7B,IAAI,MAAM;EACV,IAAI,OAAO;EACX,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK;GAC1B,MAAM,IAAI,OAAO,OAAO,OAAO,CAAC,CAAC;GACjC,IAAI,IAAI,MAAM,GAAG,OAAO,QAAQ,MAAM;QACjC,QAAQ;EACf;EACA,OAAO,SAAS,QAAQ,QAAQ,MAAM,QAAQ,EAAE;CAClD;AACF;;AAGA,MAAM,MAA8B;CAClC,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS,CAAC,OAAO,QAAQ;CACzB,kBAAkB;CAClB,OAAO;CACP,SAAS;CACT,YAAY;CACZ,WAAW;CACX,UAAU,CAAC,WAAW;CACtB;CACA;CACA;CACA;AACF"}
1
+ {"version":3,"file":"vat.js","names":[],"sources":["../../src/generated/cy/vat.ts"],"sourcesContent":["// Generated by scripts/generate-public-surface.ts. Do not edit.\nimport { createValidator } from \"../../runtime\";\nimport type { CountryValidator } from \"../../types\";\n\nconst vat: CountryValidator<\"CY\"> = createValidator(\n \"cy.vat\",\n 46,\n);\n\nexport default vat;\nexport const compact = vat.compact;\nexport const format = vat.format;\nexport const validate = vat.validate;\nexport const generate = (): string =>\n vat.generate?.() ??\n (() => {\n throw new Error(\n \"Validator cy.vat 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/cz/dic.d.ts CHANGED
@@ -1,13 +1,10 @@
1
1
  import { CountryValidator, ValidateResult } from "../types.js";
2
-
3
- //#region src/cz/dic.d.ts
2
+ //#region src/generated/cz/dic.d.ts
3
+ declare const dic: CountryValidator<"CZ">;
4
4
  declare const compact: (value: string) => string;
5
- declare const validate: (value: string) => ValidateResult;
6
5
  declare const format: (value: string) => string;
7
- /** Generate a random valid 8-digit DIČ. */
6
+ declare const validate: (value: string) => ValidateResult;
8
7
  declare const generate: () => string;
9
- /** Czech VAT Number. */
10
- declare const dic: CountryValidator<"CZ">;
11
8
  //#endregion
12
9
  export { compact, dic as default, format, generate, validate };
13
10
  //# sourceMappingURL=dic.d.ts.map