@stll/stdnum 2.1.0 → 2.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1181) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +1 -0
  2. package/dist/ad/mod.d.ts +0 -2
  3. package/dist/ad/mod.js +1 -1
  4. package/dist/ad/mod.js.map +1 -1
  5. package/dist/ad/nrt.d.ts +4 -21
  6. package/dist/ad/nrt.js +9 -53
  7. package/dist/ad/nrt.js.map +1 -1
  8. package/dist/ae/eid.d.ts +3 -9
  9. package/dist/ae/eid.js +9 -65
  10. package/dist/ae/eid.js.map +1 -1
  11. package/dist/ae/mod.d.ts +0 -2
  12. package/dist/ae/mod.js +1 -1
  13. package/dist/ae/mod.js.map +1 -1
  14. package/dist/ai/mod.d.ts +0 -2
  15. package/dist/ai/mod.js +1 -1
  16. package/dist/ai/mod.js.map +1 -1
  17. package/dist/ai/tin.d.ts +4 -31
  18. package/dist/ai/tin.js +9 -51
  19. package/dist/ai/tin.js.map +1 -1
  20. package/dist/al/mod.d.ts +0 -2
  21. package/dist/al/mod.js +1 -1
  22. package/dist/al/mod.js.map +1 -1
  23. package/dist/al/nipt.d.ts +4 -18
  24. package/dist/al/nipt.js +9 -42
  25. package/dist/al/nipt.js.map +1 -1
  26. package/dist/am/mod.d.ts +0 -2
  27. package/dist/am/mod.js +1 -1
  28. package/dist/am/mod.js.map +1 -1
  29. package/dist/am/tin.d.ts +4 -21
  30. package/dist/am/tin.js +9 -36
  31. package/dist/am/tin.js.map +1 -1
  32. package/dist/ar/cbu.d.ts +3 -6
  33. package/dist/ar/cbu.js +9 -76
  34. package/dist/ar/cbu.js.map +1 -1
  35. package/dist/ar/cuit.d.ts +3 -11
  36. package/dist/ar/cuit.js +9 -103
  37. package/dist/ar/cuit.js.map +1 -1
  38. package/dist/ar/dni.d.ts +4 -16
  39. package/dist/ar/dni.js +9 -45
  40. package/dist/ar/dni.js.map +1 -1
  41. package/dist/ar/mod.d.ts +0 -2
  42. package/dist/ar/mod.js +1 -1
  43. package/dist/ar/mod.js.map +1 -1
  44. package/dist/at/businessid.d.ts +4 -15
  45. package/dist/at/businessid.js +9 -45
  46. package/dist/at/businessid.js.map +1 -1
  47. package/dist/at/mod.d.ts +0 -2
  48. package/dist/at/mod.js +1 -1
  49. package/dist/at/mod.js.map +1 -1
  50. package/dist/at/tin.d.ts +3 -6
  51. package/dist/at/tin.js +9 -56
  52. package/dist/at/tin.js.map +1 -1
  53. package/dist/at/uid.d.ts +3 -6
  54. package/dist/at/uid.js +9 -52
  55. package/dist/at/uid.js.map +1 -1
  56. package/dist/at/vnr.d.ts +3 -6
  57. package/dist/at/vnr.js +9 -82
  58. package/dist/at/vnr.js.map +1 -1
  59. package/dist/au/abn.d.ts +3 -6
  60. package/dist/au/abn.js +9 -64
  61. package/dist/au/abn.js.map +1 -1
  62. package/dist/au/acn.d.ts +3 -6
  63. package/dist/au/acn.js +9 -57
  64. package/dist/au/acn.js.map +1 -1
  65. package/dist/au/mod.d.ts +0 -2
  66. package/dist/au/mod.js +1 -1
  67. package/dist/au/mod.js.map +1 -1
  68. package/dist/au/tfn.d.ts +3 -6
  69. package/dist/au/tfn.js +9 -58
  70. package/dist/au/tfn.js.map +1 -1
  71. package/dist/az/mod.d.ts +0 -2
  72. package/dist/az/mod.js +1 -1
  73. package/dist/az/mod.js.map +1 -1
  74. package/dist/az/voen.d.ts +3 -13
  75. package/dist/az/voen.js +9 -83
  76. package/dist/az/voen.js.map +1 -1
  77. package/dist/ba/jmbg.d.ts +5 -8
  78. package/dist/ba/jmbg.js +10 -86
  79. package/dist/ba/jmbg.js.map +1 -1
  80. package/dist/ba/mod.d.ts +0 -2
  81. package/dist/ba/mod.js +1 -1
  82. package/dist/ba/mod.js.map +1 -1
  83. package/dist/bd/mod.d.ts +0 -2
  84. package/dist/bd/mod.js +1 -1
  85. package/dist/bd/mod.js.map +1 -1
  86. package/dist/bd/nid.d.ts +4 -28
  87. package/dist/bd/nid.js +9 -91
  88. package/dist/bd/nid.js.map +1 -1
  89. package/dist/be/bis.d.ts +3 -6
  90. package/dist/be/bis.js +9 -51
  91. package/dist/be/bis.js.map +1 -1
  92. package/dist/be/mod.d.ts +0 -2
  93. package/dist/be/mod.js +2 -2
  94. package/dist/be/mod.js.map +1 -1
  95. package/dist/be/nn.d.ts +4 -13
  96. package/dist/be/nn.js +10 -70
  97. package/dist/be/nn.js.map +1 -1
  98. package/dist/be/vat.d.ts +3 -6
  99. package/dist/be/vat.js +9 -58
  100. package/dist/be/vat.js.map +1 -1
  101. package/dist/bg/egn.d.ts +5 -12
  102. package/dist/bg/egn.js +10 -110
  103. package/dist/bg/egn.js.map +1 -1
  104. package/dist/bg/mod.d.ts +0 -2
  105. package/dist/bg/mod.js +1 -1
  106. package/dist/bg/mod.js.map +1 -1
  107. package/dist/bg/pnf.d.ts +3 -6
  108. package/dist/bg/pnf.js +9 -59
  109. package/dist/bg/pnf.js.map +1 -1
  110. package/dist/bg/vat.d.ts +3 -6
  111. package/dist/bg/vat.js +9 -143
  112. package/dist/bg/vat.js.map +1 -1
  113. package/dist/bh/cpr.d.ts +3 -6
  114. package/dist/bh/cpr.js +9 -44
  115. package/dist/bh/cpr.js.map +1 -1
  116. package/dist/bh/mod.d.ts +0 -2
  117. package/dist/bh/mod.js +1 -1
  118. package/dist/bh/mod.js.map +1 -1
  119. package/dist/bic.d.ts +4 -18
  120. package/dist/bic.js +9 -56
  121. package/dist/bic.js.map +1 -1
  122. package/dist/br/cnpj.d.ts +3 -13
  123. package/dist/br/cnpj.js +9 -109
  124. package/dist/br/cnpj.js.map +1 -1
  125. package/dist/br/cpf.d.ts +3 -6
  126. package/dist/br/cpf.js +9 -66
  127. package/dist/br/cpf.js.map +1 -1
  128. package/dist/br/mod.d.ts +0 -2
  129. package/dist/br/mod.js +1 -1
  130. package/dist/br/mod.js.map +1 -1
  131. package/dist/by/mod.d.ts +0 -2
  132. package/dist/by/mod.js +1 -1
  133. package/dist/by/mod.js.map +1 -1
  134. package/dist/by/unp.d.ts +3 -6
  135. package/dist/by/unp.js +9 -102
  136. package/dist/by/unp.js.map +1 -1
  137. package/dist/bz/mod.d.ts +0 -2
  138. package/dist/bz/mod.js +1 -1
  139. package/dist/bz/mod.js.map +1 -1
  140. package/dist/bz/tin.d.ts +3 -10
  141. package/dist/bz/tin.js +9 -64
  142. package/dist/bz/tin.js.map +1 -1
  143. package/dist/ca/bn.d.ts +3 -6
  144. package/dist/ca/bn.js +9 -61
  145. package/dist/ca/bn.js.map +1 -1
  146. package/dist/ca/mod.d.ts +0 -2
  147. package/dist/ca/mod.js +1 -1
  148. package/dist/ca/mod.js.map +1 -1
  149. package/dist/ca/sin.d.ts +3 -6
  150. package/dist/ca/sin.js +9 -50
  151. package/dist/ca/sin.js.map +1 -1
  152. package/dist/catalog.d.ts +9 -0
  153. package/dist/catalog.js +9 -0
  154. package/dist/catalog.js.map +1 -0
  155. package/dist/ch/mod.d.ts +1 -3
  156. package/dist/ch/mod.js +2 -2
  157. package/dist/ch/mod.js.map +1 -1
  158. package/dist/ch/ssn.d.ts +3 -6
  159. package/dist/ch/ssn.js +9 -55
  160. package/dist/ch/ssn.js.map +1 -1
  161. package/dist/ch/uid.d.ts +3 -6
  162. package/dist/ch/uid.js +9 -69
  163. package/dist/ch/uid.js.map +1 -1
  164. package/dist/ch/vat.d.ts +3 -6
  165. package/dist/ch/vat.js +9 -58
  166. package/dist/ch/vat.js.map +1 -1
  167. package/dist/cl/mod.d.ts +0 -2
  168. package/dist/cl/mod.js +1 -1
  169. package/dist/cl/mod.js.map +1 -1
  170. package/dist/cl/rut.d.ts +3 -11
  171. package/dist/cl/rut.js +9 -78
  172. package/dist/cl/rut.js.map +1 -1
  173. package/dist/cn/mod.d.ts +0 -2
  174. package/dist/cn/mod.js +1 -1
  175. package/dist/cn/mod.js.map +1 -1
  176. package/dist/cn/ric.d.ts +5 -12
  177. package/dist/cn/ric.js +10 -94
  178. package/dist/cn/ric.js.map +1 -1
  179. package/dist/cn/uscc.d.ts +3 -6
  180. package/dist/cn/uscc.js +9 -76
  181. package/dist/cn/uscc.js.map +1 -1
  182. package/dist/co/mod.d.ts +0 -2
  183. package/dist/co/mod.js +1 -1
  184. package/dist/co/mod.js.map +1 -1
  185. package/dist/co/nit.d.ts +3 -6
  186. package/dist/co/nit.js +9 -98
  187. package/dist/co/nit.js.map +1 -1
  188. package/dist/cr/cpf.d.ts +4 -31
  189. package/dist/cr/cpf.js +9 -61
  190. package/dist/cr/cpf.js.map +1 -1
  191. package/dist/cr/mod.d.ts +0 -2
  192. package/dist/cr/mod.js +1 -1
  193. package/dist/cr/mod.js.map +1 -1
  194. package/dist/creditcard.d.ts +5 -18
  195. package/dist/creditcard.js +8 -109
  196. package/dist/creditcard.js.map +1 -1
  197. package/dist/crypto/btcbase58.d.ts +5 -6
  198. package/dist/crypto/btcbase58.js +8 -73
  199. package/dist/crypto/btcbase58.js.map +1 -1
  200. package/dist/crypto/btcbech32.d.ts +7 -9
  201. package/dist/crypto/btcbech32.js +10 -142
  202. package/dist/crypto/btcbech32.js.map +1 -1
  203. package/dist/crypto/eth.d.ts +4 -5
  204. package/dist/crypto/eth.js +7 -59
  205. package/dist/crypto/eth.js.map +1 -1
  206. package/dist/crypto/mod.d.ts +4 -6
  207. package/dist/crypto/mod.js +6 -6
  208. package/dist/crypto/mod.js.map +1 -1
  209. package/dist/crypto/wallet.d.ts +3 -4
  210. package/dist/crypto/wallet.js +6 -51
  211. package/dist/crypto/wallet.js.map +1 -1
  212. package/dist/cu/mod.d.ts +0 -2
  213. package/dist/cu/mod.js +1 -1
  214. package/dist/cu/mod.js.map +1 -1
  215. package/dist/cu/ni.d.ts +5 -16
  216. package/dist/cu/ni.js +10 -81
  217. package/dist/cu/ni.js.map +1 -1
  218. package/dist/cy/mod.d.ts +0 -2
  219. package/dist/cy/mod.js +1 -1
  220. package/dist/cy/mod.js.map +1 -1
  221. package/dist/cy/vat.d.ts +3 -6
  222. package/dist/cy/vat.js +9 -77
  223. package/dist/cy/vat.js.map +1 -1
  224. package/dist/cz/dic.d.ts +3 -6
  225. package/dist/cz/dic.js +9 -87
  226. package/dist/cz/dic.js.map +1 -1
  227. package/dist/cz/ico.d.ts +3 -6
  228. package/dist/cz/ico.js +9 -58
  229. package/dist/cz/ico.js.map +1 -1
  230. package/dist/cz/mod.d.ts +0 -2
  231. package/dist/cz/mod.js +2 -2
  232. package/dist/cz/mod.js.map +1 -1
  233. package/dist/cz/rc.d.ts +5 -15
  234. package/dist/cz/rc.js +10 -113
  235. package/dist/cz/rc.js.map +1 -1
  236. package/dist/de/handelsreg.d.ts +4 -28
  237. package/dist/de/handelsreg.js +9 -66
  238. package/dist/de/handelsreg.js.map +1 -1
  239. package/dist/de/idnr.d.ts +3 -6
  240. package/dist/de/idnr.js +9 -88
  241. package/dist/de/idnr.js.map +1 -1
  242. package/dist/de/mod.d.ts +0 -2
  243. package/dist/de/mod.js +1 -1
  244. package/dist/de/mod.js.map +1 -1
  245. package/dist/de/stnr.d.ts +4 -30
  246. package/dist/de/stnr.js +9 -126
  247. package/dist/de/stnr.js.map +1 -1
  248. package/dist/de/svnr.d.ts +3 -6
  249. package/dist/de/svnr.js +9 -95
  250. package/dist/de/svnr.js.map +1 -1
  251. package/dist/de/vat.d.ts +3 -6
  252. package/dist/de/vat.js +9 -52
  253. package/dist/de/vat.js.map +1 -1
  254. package/dist/dk/cpr.d.ts +5 -12
  255. package/dist/dk/cpr.js +10 -79
  256. package/dist/dk/cpr.js.map +1 -1
  257. package/dist/dk/cvr.d.ts +3 -6
  258. package/dist/dk/cvr.js +9 -53
  259. package/dist/dk/cvr.js.map +1 -1
  260. package/dist/dk/mod.d.ts +0 -2
  261. package/dist/dk/mod.js +1 -1
  262. package/dist/dk/mod.js.map +1 -1
  263. package/dist/dk/vat.d.ts +3 -6
  264. package/dist/dk/vat.js +9 -58
  265. package/dist/dk/vat.js.map +1 -1
  266. package/dist/do/mod.d.ts +0 -2
  267. package/dist/do/mod.js +1 -1
  268. package/dist/do/mod.js.map +1 -1
  269. package/dist/do/rnc.d.ts +3 -10
  270. package/dist/do/rnc.js +9 -77
  271. package/dist/do/rnc.js.map +1 -1
  272. package/dist/ec/mod.d.ts +0 -2
  273. package/dist/ec/mod.js +1 -1
  274. package/dist/ec/mod.js.map +1 -1
  275. package/dist/ec/ruc.d.ts +3 -6
  276. package/dist/ec/ruc.js +9 -129
  277. package/dist/ec/ruc.js.map +1 -1
  278. package/dist/ee/ik.d.ts +6 -17
  279. package/dist/ee/ik.js +11 -118
  280. package/dist/ee/ik.js.map +1 -1
  281. package/dist/ee/mod.d.ts +0 -2
  282. package/dist/ee/mod.js +1 -1
  283. package/dist/ee/mod.js.map +1 -1
  284. package/dist/ee/registrikood.d.ts +3 -6
  285. package/dist/ee/registrikood.js +9 -53
  286. package/dist/ee/registrikood.js.map +1 -1
  287. package/dist/ee/vat.d.ts +3 -6
  288. package/dist/ee/vat.js +9 -57
  289. package/dist/ee/vat.js.map +1 -1
  290. package/dist/eg/mod.d.ts +0 -2
  291. package/dist/eg/mod.js +1 -1
  292. package/dist/eg/mod.js.map +1 -1
  293. package/dist/eg/tn.d.ts +4 -16
  294. package/dist/eg/tn.js +9 -69
  295. package/dist/eg/tn.js.map +1 -1
  296. package/dist/es/cif.d.ts +3 -6
  297. package/dist/es/cif.js +9 -53
  298. package/dist/es/cif.js.map +1 -1
  299. package/dist/es/dni.d.ts +4 -7
  300. package/dist/es/dni.js +9 -45
  301. package/dist/es/dni.js.map +1 -1
  302. package/dist/es/mod.d.ts +0 -2
  303. package/dist/es/mod.js +2 -2
  304. package/dist/es/mod.js.map +1 -1
  305. package/dist/es/nie.d.ts +3 -6
  306. package/dist/es/nie.js +9 -66
  307. package/dist/es/nie.js.map +1 -1
  308. package/dist/es/nss.d.ts +3 -6
  309. package/dist/es/nss.js +9 -53
  310. package/dist/es/nss.js.map +1 -1
  311. package/dist/es/vat.d.ts +4 -7
  312. package/dist/es/vat.js +10 -95
  313. package/dist/es/vat.js.map +1 -1
  314. package/dist/eu/mod.d.ts +3 -5
  315. package/dist/eu/mod.js +4 -4
  316. package/dist/eu/mod.js.map +1 -1
  317. package/dist/eu/vat.d.ts +4 -15
  318. package/dist/eu/vat.js +10 -184
  319. package/dist/eu/vat.js.map +1 -1
  320. package/dist/fi/hetu.d.ts +5 -12
  321. package/dist/fi/hetu.js +10 -110
  322. package/dist/fi/hetu.js.map +1 -1
  323. package/dist/fi/mod.d.ts +0 -2
  324. package/dist/fi/mod.js +2 -2
  325. package/dist/fi/mod.js.map +1 -1
  326. package/dist/fi/vat.d.ts +3 -6
  327. package/dist/fi/vat.js +9 -57
  328. package/dist/fi/vat.js.map +1 -1
  329. package/dist/fi/ytunnus.d.ts +3 -6
  330. package/dist/fi/ytunnus.js +9 -59
  331. package/dist/fi/ytunnus.js.map +1 -1
  332. package/dist/fr/mod.d.ts +0 -2
  333. package/dist/fr/mod.js +2 -2
  334. package/dist/fr/mod.js.map +1 -1
  335. package/dist/fr/nif.d.ts +3 -6
  336. package/dist/fr/nif.js +9 -52
  337. package/dist/fr/nif.js.map +1 -1
  338. package/dist/fr/nir.d.ts +5 -8
  339. package/dist/fr/nir.js +10 -91
  340. package/dist/fr/nir.js.map +1 -1
  341. package/dist/fr/siren.d.ts +3 -6
  342. package/dist/fr/siren.js +9 -44
  343. package/dist/fr/siren.js.map +1 -1
  344. package/dist/fr/siret.d.ts +3 -6
  345. package/dist/fr/siret.js +9 -60
  346. package/dist/fr/siret.js.map +1 -1
  347. package/dist/fr/tva.d.ts +3 -6
  348. package/dist/fr/tva.js +9 -66
  349. package/dist/fr/tva.js.map +1 -1
  350. package/dist/gb/mod.d.ts +0 -2
  351. package/dist/gb/mod.js +2 -2
  352. package/dist/gb/mod.js.map +1 -1
  353. package/dist/gb/nhs.d.ts +4 -5
  354. package/dist/gb/nhs.js +7 -47
  355. package/dist/gb/nhs.js.map +1 -1
  356. package/dist/gb/nino.d.ts +4 -17
  357. package/dist/gb/nino.js +9 -90
  358. package/dist/gb/nino.js.map +1 -1
  359. package/dist/gb/sedol.d.ts +4 -7
  360. package/dist/gb/sedol.js +10 -72
  361. package/dist/gb/sedol.js.map +1 -1
  362. package/dist/gb/utr.d.ts +3 -6
  363. package/dist/gb/utr.js +9 -57
  364. package/dist/gb/utr.js.map +1 -1
  365. package/dist/gb/vat.d.ts +3 -6
  366. package/dist/gb/vat.js +9 -89
  367. package/dist/gb/vat.js.map +1 -1
  368. package/dist/ge/mod.d.ts +0 -2
  369. package/dist/ge/mod.js +1 -1
  370. package/dist/ge/mod.js.map +1 -1
  371. package/dist/ge/pin.d.ts +4 -19
  372. package/dist/ge/pin.js +9 -36
  373. package/dist/ge/pin.js.map +1 -1
  374. package/dist/gh/mod.d.ts +0 -2
  375. package/dist/gh/mod.js +1 -1
  376. package/dist/gh/mod.js.map +1 -1
  377. package/dist/gh/tin.d.ts +3 -6
  378. package/dist/gh/tin.js +9 -62
  379. package/dist/gh/tin.js.map +1 -1
  380. package/dist/gr/amka.d.ts +3 -6
  381. package/dist/gr/amka.js +9 -59
  382. package/dist/gr/amka.js.map +1 -1
  383. package/dist/gr/mod.d.ts +0 -2
  384. package/dist/gr/mod.js +2 -2
  385. package/dist/gr/mod.js.map +1 -1
  386. package/dist/gr/vat.d.ts +3 -6
  387. package/dist/gr/vat.js +9 -53
  388. package/dist/gr/vat.js.map +1 -1
  389. package/dist/gt/mod.d.ts +0 -2
  390. package/dist/gt/mod.js +1 -1
  391. package/dist/gt/mod.js.map +1 -1
  392. package/dist/gt/nit.d.ts +3 -13
  393. package/dist/gt/nit.js +9 -86
  394. package/dist/gt/nit.js.map +1 -1
  395. package/dist/hk/hkid.d.ts +3 -7
  396. package/dist/hk/hkid.js +9 -80
  397. package/dist/hk/hkid.js.map +1 -1
  398. package/dist/hk/mod.d.ts +0 -2
  399. package/dist/hk/mod.js +1 -1
  400. package/dist/hk/mod.js.map +1 -1
  401. package/dist/hr/mod.d.ts +0 -2
  402. package/dist/hr/mod.js +1 -1
  403. package/dist/hr/mod.js.map +1 -1
  404. package/dist/hr/vat.d.ts +3 -6
  405. package/dist/hr/vat.js +9 -44
  406. package/dist/hr/vat.js.map +1 -1
  407. package/dist/hu/mod.d.ts +0 -2
  408. package/dist/hu/mod.js +1 -1
  409. package/dist/hu/mod.js.map +1 -1
  410. package/dist/hu/vat.d.ts +3 -6
  411. package/dist/hu/vat.js +9 -57
  412. package/dist/hu/vat.js.map +1 -1
  413. package/dist/iban.d.ts +3 -8
  414. package/dist/iban.js +9 -272
  415. package/dist/iban.js.map +1 -1
  416. package/dist/id/mod.d.ts +0 -2
  417. package/dist/id/mod.js +1 -1
  418. package/dist/id/mod.js.map +1 -1
  419. package/dist/id/npwp.d.ts +3 -6
  420. package/dist/id/npwp.js +9 -119
  421. package/dist/id/npwp.js.map +1 -1
  422. package/dist/ie/mod.d.ts +0 -2
  423. package/dist/ie/mod.js +2 -2
  424. package/dist/ie/mod.js.map +1 -1
  425. package/dist/ie/pps.d.ts +3 -6
  426. package/dist/ie/pps.js +9 -56
  427. package/dist/ie/pps.js.map +1 -1
  428. package/dist/ie/vat.d.ts +3 -6
  429. package/dist/ie/vat.js +9 -71
  430. package/dist/ie/vat.js.map +1 -1
  431. package/dist/il/idnr.d.ts +3 -6
  432. package/dist/il/idnr.js +9 -50
  433. package/dist/il/idnr.js.map +1 -1
  434. package/dist/il/mod.d.ts +0 -2
  435. package/dist/il/mod.js +1 -1
  436. package/dist/il/mod.js.map +1 -1
  437. package/dist/in/aadhaar.d.ts +3 -6
  438. package/dist/in/aadhaar.js +9 -47
  439. package/dist/in/aadhaar.js.map +1 -1
  440. package/dist/in/gstin.d.ts +3 -6
  441. package/dist/in/gstin.js +9 -119
  442. package/dist/in/gstin.js.map +1 -1
  443. package/dist/in/mod.d.ts +0 -2
  444. package/dist/in/mod.js +1 -1
  445. package/dist/in/mod.js.map +1 -1
  446. package/dist/in/pan.d.ts +4 -20
  447. package/dist/in/pan.js +9 -42
  448. package/dist/in/pan.js.map +1 -1
  449. package/dist/index.d.ts +9 -9
  450. package/dist/index.js +2 -2
  451. package/dist/iq/mod.d.ts +0 -2
  452. package/dist/iq/mod.js +1 -1
  453. package/dist/iq/mod.js.map +1 -1
  454. package/dist/iq/nid.d.ts +4 -22
  455. package/dist/iq/nid.js +9 -39
  456. package/dist/iq/nid.js.map +1 -1
  457. package/dist/ir/mod.d.ts +0 -2
  458. package/dist/ir/mod.js +1 -1
  459. package/dist/ir/mod.js.map +1 -1
  460. package/dist/ir/nid.d.ts +3 -10
  461. package/dist/ir/nid.js +9 -64
  462. package/dist/ir/nid.js.map +1 -1
  463. package/dist/is/kennitala.d.ts +3 -6
  464. package/dist/is/kennitala.js +9 -77
  465. package/dist/is/kennitala.js.map +1 -1
  466. package/dist/is/mod.d.ts +0 -2
  467. package/dist/is/mod.js +1 -1
  468. package/dist/is/mod.js.map +1 -1
  469. package/dist/is/vsk.d.ts +4 -14
  470. package/dist/is/vsk.js +9 -37
  471. package/dist/is/vsk.js.map +1 -1
  472. package/dist/isin.d.ts +3 -6
  473. package/dist/isin.js +9 -71
  474. package/dist/isin.js.map +1 -1
  475. package/dist/it/codicefiscale.d.ts +5 -13
  476. package/dist/it/codicefiscale.js +10 -214
  477. package/dist/it/codicefiscale.js.map +1 -1
  478. package/dist/it/iva.d.ts +3 -6
  479. package/dist/it/iva.js +9 -60
  480. package/dist/it/iva.js.map +1 -1
  481. package/dist/it/mod.d.ts +0 -2
  482. package/dist/it/mod.js +2 -2
  483. package/dist/it/mod.js.map +1 -1
  484. package/dist/jp/cn.d.ts +3 -6
  485. package/dist/jp/cn.js +9 -56
  486. package/dist/jp/cn.js.map +1 -1
  487. package/dist/jp/mod.d.ts +0 -2
  488. package/dist/jp/mod.js +1 -1
  489. package/dist/jp/mod.js.map +1 -1
  490. package/dist/jp/mynumber.d.ts +3 -6
  491. package/dist/jp/mynumber.js +9 -73
  492. package/dist/jp/mynumber.js.map +1 -1
  493. package/dist/kr/brn.d.ts +4 -16
  494. package/dist/kr/brn.js +9 -55
  495. package/dist/kr/brn.js.map +1 -1
  496. package/dist/kr/mod.d.ts +0 -2
  497. package/dist/kr/mod.js +1 -1
  498. package/dist/kr/mod.js.map +1 -1
  499. package/dist/kr/rrn.d.ts +5 -17
  500. package/dist/kr/rrn.js +10 -131
  501. package/dist/kr/rrn.js.map +1 -1
  502. package/dist/kw/civil.d.ts +5 -13
  503. package/dist/kw/civil.js +10 -98
  504. package/dist/kw/civil.js.map +1 -1
  505. package/dist/kw/mod.d.ts +0 -2
  506. package/dist/kw/mod.js +1 -1
  507. package/dist/kw/mod.js.map +1 -1
  508. package/dist/kz/iin.d.ts +5 -16
  509. package/dist/kz/iin.js +10 -132
  510. package/dist/kz/iin.js.map +1 -1
  511. package/dist/kz/mod.d.ts +0 -2
  512. package/dist/kz/mod.js +1 -1
  513. package/dist/kz/mod.js.map +1 -1
  514. package/dist/lei.d.ts +3 -6
  515. package/dist/lei.js +9 -55
  516. package/dist/lei.js.map +1 -1
  517. package/dist/li/mod.d.ts +0 -2
  518. package/dist/li/mod.js +1 -1
  519. package/dist/li/mod.js.map +1 -1
  520. package/dist/li/peid.d.ts +4 -16
  521. package/dist/li/peid.js +9 -49
  522. package/dist/li/peid.js.map +1 -1
  523. package/dist/lk/mod.d.ts +0 -2
  524. package/dist/lk/mod.js +1 -1
  525. package/dist/lk/mod.js.map +1 -1
  526. package/dist/lk/nic.d.ts +5 -12
  527. package/dist/lk/nic.js +10 -135
  528. package/dist/lk/nic.js.map +1 -1
  529. package/dist/lt/asmens.d.ts +3 -6
  530. package/dist/lt/asmens.js +9 -78
  531. package/dist/lt/asmens.js.map +1 -1
  532. package/dist/lt/mod.d.ts +0 -2
  533. package/dist/lt/mod.js +2 -2
  534. package/dist/lt/mod.js.map +1 -1
  535. package/dist/lt/vat.d.ts +3 -6
  536. package/dist/lt/vat.js +9 -60
  537. package/dist/lt/vat.js.map +1 -1
  538. package/dist/lu/mod.d.ts +0 -2
  539. package/dist/lu/mod.js +1 -1
  540. package/dist/lu/mod.js.map +1 -1
  541. package/dist/lu/vat.d.ts +3 -6
  542. package/dist/lu/vat.js +9 -46
  543. package/dist/lu/vat.js.map +1 -1
  544. package/dist/luhn.d.ts +3 -9
  545. package/dist/luhn.js +7 -47
  546. package/dist/luhn.js.map +1 -1
  547. package/dist/lv/mod.d.ts +0 -2
  548. package/dist/lv/mod.js +1 -1
  549. package/dist/lv/mod.js.map +1 -1
  550. package/dist/lv/vat.d.ts +3 -6
  551. package/dist/lv/vat.js +9 -101
  552. package/dist/lv/vat.js.map +1 -1
  553. package/dist/ma/ice.d.ts +3 -6
  554. package/dist/ma/ice.js +9 -44
  555. package/dist/ma/ice.js.map +1 -1
  556. package/dist/ma/mod.d.ts +0 -2
  557. package/dist/ma/mod.js +1 -1
  558. package/dist/ma/mod.js.map +1 -1
  559. package/dist/mc/mod.d.ts +0 -2
  560. package/dist/mc/mod.js +1 -1
  561. package/dist/mc/mod.js.map +1 -1
  562. package/dist/mc/tva.d.ts +3 -6
  563. package/dist/mc/tva.js +9 -50
  564. package/dist/mc/tva.js.map +1 -1
  565. package/dist/md/idno.d.ts +3 -5
  566. package/dist/md/idno.js +6 -58
  567. package/dist/md/idno.js.map +1 -1
  568. package/dist/md/mod.d.ts +0 -2
  569. package/dist/md/mod.js +1 -1
  570. package/dist/md/mod.js.map +1 -1
  571. package/dist/me/mod.d.ts +0 -2
  572. package/dist/me/mod.js +1 -1
  573. package/dist/me/mod.js.map +1 -1
  574. package/dist/me/pib.d.ts +3 -6
  575. package/dist/me/pib.js +9 -51
  576. package/dist/me/pib.js.map +1 -1
  577. package/dist/metadata.d.ts +3505 -0
  578. package/dist/metadata.js +4949 -0
  579. package/dist/metadata.js.map +1 -0
  580. package/dist/mk/edb.d.ts +3 -6
  581. package/dist/mk/edb.js +9 -64
  582. package/dist/mk/edb.js.map +1 -1
  583. package/dist/mk/mod.d.ts +0 -2
  584. package/dist/mk/mod.js +1 -1
  585. package/dist/mk/mod.js.map +1 -1
  586. package/dist/mt/mod.d.ts +0 -2
  587. package/dist/mt/mod.js +1 -1
  588. package/dist/mt/mod.js.map +1 -1
  589. package/dist/mt/vat.d.ts +3 -6
  590. package/dist/mt/vat.js +9 -58
  591. package/dist/mt/vat.js.map +1 -1
  592. package/dist/mu/brn.d.ts +4 -28
  593. package/dist/mu/brn.js +9 -44
  594. package/dist/mu/brn.js.map +1 -1
  595. package/dist/mu/mod.d.ts +0 -2
  596. package/dist/mu/mod.js +1 -1
  597. package/dist/mu/mod.js.map +1 -1
  598. package/dist/mx/clabe.d.ts +3 -10
  599. package/dist/mx/clabe.js +9 -70
  600. package/dist/mx/clabe.js.map +1 -1
  601. package/dist/mx/curp.d.ts +5 -16
  602. package/dist/mx/curp.js +10 -144
  603. package/dist/mx/curp.js.map +1 -1
  604. package/dist/mx/mod.d.ts +0 -2
  605. package/dist/mx/mod.js +1 -1
  606. package/dist/mx/mod.js.map +1 -1
  607. package/dist/mx/rfc.d.ts +3 -10
  608. package/dist/mx/rfc.js +9 -91
  609. package/dist/mx/rfc.js.map +1 -1
  610. package/dist/my/mod.d.ts +0 -2
  611. package/dist/my/mod.js +1 -1
  612. package/dist/my/mod.js.map +1 -1
  613. package/dist/my/nric.d.ts +5 -12
  614. package/dist/my/nric.js +10 -184
  615. package/dist/my/nric.js.map +1 -1
  616. package/dist/native-node.d.ts +14 -0
  617. package/dist/native-node.js +75 -0
  618. package/dist/native-node.js.map +1 -0
  619. package/dist/native.d.ts +79 -0
  620. package/dist/native.js +24 -0
  621. package/dist/native.js.map +1 -0
  622. package/dist/ng/mod.d.ts +0 -2
  623. package/dist/ng/mod.js +1 -1
  624. package/dist/ng/mod.js.map +1 -1
  625. package/dist/ng/nin.d.ts +4 -18
  626. package/dist/ng/nin.js +9 -40
  627. package/dist/ng/nin.js.map +1 -1
  628. package/dist/ni/mod.d.ts +0 -2
  629. package/dist/ni/mod.js +1 -1
  630. package/dist/ni/mod.js.map +1 -1
  631. package/dist/ni/ruc.d.ts +3 -15
  632. package/dist/ni/ruc.js +9 -87
  633. package/dist/ni/ruc.js.map +1 -1
  634. package/dist/nl/bsn.d.ts +3 -6
  635. package/dist/nl/bsn.js +9 -58
  636. package/dist/nl/bsn.js.map +1 -1
  637. package/dist/nl/kvk.d.ts +4 -14
  638. package/dist/nl/kvk.js +9 -35
  639. package/dist/nl/kvk.js.map +1 -1
  640. package/dist/nl/mod.d.ts +0 -2
  641. package/dist/nl/mod.js +2 -2
  642. package/dist/nl/mod.js.map +1 -1
  643. package/dist/nl/vat.d.ts +3 -6
  644. package/dist/nl/vat.js +9 -44
  645. package/dist/nl/vat.js.map +1 -1
  646. package/dist/no/fodselsnummer.d.ts +5 -13
  647. package/dist/no/fodselsnummer.js +10 -123
  648. package/dist/no/fodselsnummer.js.map +1 -1
  649. package/dist/no/mod.d.ts +2 -4
  650. package/dist/no/mod.js +3 -3
  651. package/dist/no/mod.js.map +1 -1
  652. package/dist/no/mva.d.ts +3 -6
  653. package/dist/no/mva.js +9 -43
  654. package/dist/no/mva.js.map +1 -1
  655. package/dist/no/orgnr.d.ts +3 -6
  656. package/dist/no/orgnr.js +9 -56
  657. package/dist/no/orgnr.js.map +1 -1
  658. package/dist/nz/ird.d.ts +3 -6
  659. package/dist/nz/ird.js +9 -92
  660. package/dist/nz/ird.js.map +1 -1
  661. package/dist/nz/mod.d.ts +0 -2
  662. package/dist/nz/mod.js +1 -1
  663. package/dist/nz/mod.js.map +1 -1
  664. package/dist/pa/mod.d.ts +0 -2
  665. package/dist/pa/mod.js +1 -1
  666. package/dist/pa/mod.js.map +1 -1
  667. package/dist/pa/ruc.d.ts +3 -15
  668. package/dist/pa/ruc.js +9 -181
  669. package/dist/pa/ruc.js.map +1 -1
  670. package/dist/patterns.d.ts +6 -35
  671. package/dist/patterns.js +10 -171
  672. package/dist/patterns.js.map +1 -1
  673. package/dist/pe/mod.d.ts +0 -2
  674. package/dist/pe/mod.js +1 -1
  675. package/dist/pe/mod.js.map +1 -1
  676. package/dist/pe/ruc.d.ts +3 -11
  677. package/dist/pe/ruc.js +9 -91
  678. package/dist/pe/ruc.js.map +1 -1
  679. package/dist/ph/mod.d.ts +0 -2
  680. package/dist/ph/mod.js +1 -1
  681. package/dist/ph/mod.js.map +1 -1
  682. package/dist/ph/philid.d.ts +4 -19
  683. package/dist/ph/philid.js +9 -45
  684. package/dist/ph/philid.js.map +1 -1
  685. package/dist/pk/cnic.d.ts +4 -19
  686. package/dist/pk/cnic.js +9 -54
  687. package/dist/pk/cnic.js.map +1 -1
  688. package/dist/pk/mod.d.ts +0 -2
  689. package/dist/pk/mod.js +1 -1
  690. package/dist/pk/mod.js.map +1 -1
  691. package/dist/pl/mod.d.ts +0 -2
  692. package/dist/pl/mod.js +1 -1
  693. package/dist/pl/mod.js.map +1 -1
  694. package/dist/pl/nip.d.ts +3 -10
  695. package/dist/pl/nip.js +9 -65
  696. package/dist/pl/nip.js.map +1 -1
  697. package/dist/pl/pesel.d.ts +5 -12
  698. package/dist/pl/pesel.js +10 -96
  699. package/dist/pl/pesel.js.map +1 -1
  700. package/dist/pl/regon.d.ts +3 -6
  701. package/dist/pl/regon.js +9 -72
  702. package/dist/pl/regon.js.map +1 -1
  703. package/dist/pt/cc.d.ts +3 -6
  704. package/dist/pt/cc.js +9 -67
  705. package/dist/pt/cc.js.map +1 -1
  706. package/dist/pt/mod.d.ts +0 -2
  707. package/dist/pt/mod.js +2 -2
  708. package/dist/pt/mod.js.map +1 -1
  709. package/dist/pt/vat.d.ts +3 -6
  710. package/dist/pt/vat.js +9 -61
  711. package/dist/pt/vat.js.map +1 -1
  712. package/dist/registry.d.ts +6 -0
  713. package/dist/registry.js +357 -0
  714. package/dist/registry.js.map +1 -0
  715. package/dist/ro/cnp.d.ts +5 -12
  716. package/dist/ro/cnp.js +10 -163
  717. package/dist/ro/cnp.js.map +1 -1
  718. package/dist/ro/mod.d.ts +0 -2
  719. package/dist/ro/mod.js +2 -2
  720. package/dist/ro/mod.js.map +1 -1
  721. package/dist/ro/vat.d.ts +3 -6
  722. package/dist/ro/vat.js +9 -74
  723. package/dist/ro/vat.js.map +1 -1
  724. package/dist/rs/mod.d.ts +0 -2
  725. package/dist/rs/mod.js +1 -1
  726. package/dist/rs/mod.js.map +1 -1
  727. package/dist/rs/pib.d.ts +3 -6
  728. package/dist/rs/pib.js +9 -48
  729. package/dist/rs/pib.js.map +1 -1
  730. package/dist/ru/inn.d.ts +3 -6
  731. package/dist/ru/inn.js +9 -89
  732. package/dist/ru/inn.js.map +1 -1
  733. package/dist/ru/mod.d.ts +0 -2
  734. package/dist/ru/mod.js +1 -1
  735. package/dist/ru/mod.js.map +1 -1
  736. package/dist/runtime.js +121 -0
  737. package/dist/runtime.js.map +1 -0
  738. package/dist/se/mod.d.ts +0 -2
  739. package/dist/se/mod.js +2 -2
  740. package/dist/se/mod.js.map +1 -1
  741. package/dist/se/orgnr.d.ts +3 -6
  742. package/dist/se/orgnr.js +9 -48
  743. package/dist/se/orgnr.js.map +1 -1
  744. package/dist/se/personnummer.d.ts +5 -16
  745. package/dist/se/personnummer.js +10 -111
  746. package/dist/se/personnummer.js.map +1 -1
  747. package/dist/se/vat.d.ts +3 -6
  748. package/dist/se/vat.js +9 -52
  749. package/dist/se/vat.js.map +1 -1
  750. package/dist/sg/mod.d.ts +0 -2
  751. package/dist/sg/mod.js +1 -1
  752. package/dist/sg/mod.js.map +1 -1
  753. package/dist/sg/uen.d.ts +3 -6
  754. package/dist/sg/uen.js +9 -180
  755. package/dist/sg/uen.js.map +1 -1
  756. package/dist/si/emso.d.ts +5 -12
  757. package/dist/si/emso.js +10 -102
  758. package/dist/si/emso.js.map +1 -1
  759. package/dist/si/mod.d.ts +0 -2
  760. package/dist/si/mod.js +2 -2
  761. package/dist/si/mod.js.map +1 -1
  762. package/dist/si/vat.d.ts +3 -6
  763. package/dist/si/vat.js +9 -61
  764. package/dist/si/vat.js.map +1 -1
  765. package/dist/sk/dic.d.ts +3 -6
  766. package/dist/sk/dic.js +9 -63
  767. package/dist/sk/dic.js.map +1 -1
  768. package/dist/sk/ico.d.ts +6 -5
  769. package/dist/sk/ico.js +9 -27
  770. package/dist/sk/ico.js.map +1 -1
  771. package/dist/sk/mod.d.ts +0 -2
  772. package/dist/sk/mod.js +1 -1
  773. package/dist/sk/mod.js.map +1 -1
  774. package/dist/sk/rc.d.ts +7 -5
  775. package/dist/sk/rc.js +10 -30
  776. package/dist/sk/rc.js.map +1 -1
  777. package/dist/th/mod.d.ts +0 -2
  778. package/dist/th/mod.js +1 -1
  779. package/dist/th/mod.js.map +1 -1
  780. package/dist/th/tin.d.ts +3 -6
  781. package/dist/th/tin.js +9 -49
  782. package/dist/th/tin.js.map +1 -1
  783. package/dist/tr/mod.d.ts +0 -2
  784. package/dist/tr/mod.js +1 -1
  785. package/dist/tr/mod.js.map +1 -1
  786. package/dist/tr/tckimlik.d.ts +3 -7
  787. package/dist/tr/tckimlik.js +9 -56
  788. package/dist/tr/tckimlik.js.map +1 -1
  789. package/dist/tr/vkn.d.ts +3 -7
  790. package/dist/tr/vkn.js +9 -56
  791. package/dist/tr/vkn.js.map +1 -1
  792. package/dist/tw/mod.d.ts +0 -2
  793. package/dist/tw/mod.js +1 -1
  794. package/dist/tw/mod.js.map +1 -1
  795. package/dist/tw/ubn.d.ts +3 -6
  796. package/dist/tw/ubn.js +9 -72
  797. package/dist/tw/ubn.js.map +1 -1
  798. package/dist/types.d.ts +16 -85
  799. package/dist/ua/edrpou.d.ts +3 -6
  800. package/dist/ua/edrpou.js +9 -92
  801. package/dist/ua/edrpou.js.map +1 -1
  802. package/dist/ua/mod.d.ts +0 -2
  803. package/dist/ua/mod.js +1 -1
  804. package/dist/ua/mod.js.map +1 -1
  805. package/dist/us/ein.d.ts +4 -17
  806. package/dist/us/ein.js +9 -221
  807. package/dist/us/ein.js.map +1 -1
  808. package/dist/us/itin.d.ts +4 -20
  809. package/dist/us/itin.js +9 -54
  810. package/dist/us/itin.js.map +1 -1
  811. package/dist/us/mod.d.ts +0 -2
  812. package/dist/us/mod.js +1 -1
  813. package/dist/us/mod.js.map +1 -1
  814. package/dist/us/rtn.d.ts +3 -6
  815. package/dist/us/rtn.js +9 -75
  816. package/dist/us/rtn.js.map +1 -1
  817. package/dist/us/ssn.d.ts +4 -18
  818. package/dist/us/ssn.js +9 -63
  819. package/dist/us/ssn.js.map +1 -1
  820. package/dist/uy/mod.d.ts +0 -2
  821. package/dist/uy/mod.js +1 -1
  822. package/dist/uy/mod.js.map +1 -1
  823. package/dist/uy/rut.d.ts +3 -10
  824. package/dist/uy/rut.js +9 -88
  825. package/dist/uy/rut.js.map +1 -1
  826. package/dist/ve/mod.d.ts +0 -2
  827. package/dist/ve/mod.js +1 -1
  828. package/dist/ve/mod.js.map +1 -1
  829. package/dist/ve/rif.d.ts +3 -10
  830. package/dist/ve/rif.js +9 -92
  831. package/dist/ve/rif.js.map +1 -1
  832. package/dist/vn/mod.d.ts +0 -2
  833. package/dist/vn/mod.js +1 -1
  834. package/dist/vn/mod.js.map +1 -1
  835. package/dist/vn/mst.d.ts +3 -6
  836. package/dist/vn/mst.js +9 -67
  837. package/dist/vn/mst.js.map +1 -1
  838. package/dist/za/idnr.d.ts +5 -12
  839. package/dist/za/idnr.js +10 -94
  840. package/dist/za/idnr.js.map +1 -1
  841. package/dist/za/mod.d.ts +0 -2
  842. package/dist/za/mod.js +1 -1
  843. package/dist/za/mod.js.map +1 -1
  844. package/index.cjs +3 -0
  845. package/package.json +38 -62
  846. package/registry.json +4829 -0
  847. package/registry.schema.json +94 -0
  848. package/LICENSE +0 -21
  849. package/README.md +0 -346
  850. package/dist/_checksums/keccak.d.ts +0 -5
  851. package/dist/_checksums/keccak.js +0 -118
  852. package/dist/_checksums/keccak.js.map +0 -1
  853. package/dist/_checksums/luhn.d.ts +0 -12
  854. package/dist/_checksums/luhn.js +0 -26
  855. package/dist/_checksums/luhn.js.map +0 -1
  856. package/dist/_checksums/mod1110.d.ts +0 -12
  857. package/dist/_checksums/mod1110.js +0 -25
  858. package/dist/_checksums/mod1110.js.map +0 -1
  859. package/dist/_checksums/mod112.d.ts +0 -24
  860. package/dist/_checksums/mod112.js +0 -53
  861. package/dist/_checksums/mod112.js.map +0 -1
  862. package/dist/_checksums/mod97.d.ts +0 -23
  863. package/dist/_checksums/mod97.js +0 -28
  864. package/dist/_checksums/mod97.js.map +0 -1
  865. package/dist/_checksums/sha256.d.ts +0 -5
  866. package/dist/_checksums/sha256.js +0 -164
  867. package/dist/_checksums/sha256.js.map +0 -1
  868. package/dist/_checksums/verhoeff.d.ts +0 -22
  869. package/dist/_checksums/verhoeff.js +0 -271
  870. package/dist/_checksums/verhoeff.js.map +0 -1
  871. package/dist/_checksums/weighted-sum.d.ts +0 -13
  872. package/dist/_checksums/weighted-sum.js +0 -22
  873. package/dist/_checksums/weighted-sum.js.map +0 -1
  874. package/dist/_util/arabic.d.ts +0 -19
  875. package/dist/_util/arabic.js +0 -41
  876. package/dist/_util/arabic.js.map +0 -1
  877. package/dist/_util/clean.d.ts +0 -13
  878. package/dist/_util/clean.js +0 -71
  879. package/dist/_util/clean.js.map +0 -1
  880. package/dist/_util/date.d.ts +0 -12
  881. package/dist/_util/date.js +0 -19
  882. package/dist/_util/date.js.map +0 -1
  883. package/dist/_util/generate.d.ts +0 -28
  884. package/dist/_util/generate.js +0 -43
  885. package/dist/_util/generate.js.map +0 -1
  886. package/dist/_util/result.d.ts +0 -8
  887. package/dist/_util/result.js +0 -13
  888. package/dist/_util/result.js.map +0 -1
  889. package/dist/_util/strings.d.ts +0 -21
  890. package/dist/_util/strings.js +0 -28
  891. package/dist/_util/strings.js.map +0 -1
  892. package/src/_checksums/keccak.ts +0 -145
  893. package/src/_checksums/luhn.ts +0 -24
  894. package/src/_checksums/mod1110.ts +0 -24
  895. package/src/_checksums/mod112.ts +0 -41
  896. package/src/_checksums/mod97.ts +0 -28
  897. package/src/_checksums/sha256.ts +0 -125
  898. package/src/_checksums/verhoeff.ts +0 -71
  899. package/src/_checksums/weighted-sum.ts +0 -23
  900. package/src/_util/arabic.ts +0 -48
  901. package/src/_util/clean.ts +0 -86
  902. package/src/_util/date.ts +0 -23
  903. package/src/_util/generate.ts +0 -62
  904. package/src/_util/result.ts +0 -10
  905. package/src/_util/strings.ts +0 -32
  906. package/src/ad/mod.ts +0 -1
  907. package/src/ad/nrt.ts +0 -123
  908. package/src/ae/eid.ts +0 -110
  909. package/src/ae/mod.ts +0 -1
  910. package/src/ai/mod.ts +0 -1
  911. package/src/ai/tin.ts +0 -102
  912. package/src/al/mod.ts +0 -1
  913. package/src/al/nipt.ts +0 -82
  914. package/src/am/mod.ts +0 -1
  915. package/src/am/tin.ts +0 -77
  916. package/src/ar/cbu.ts +0 -110
  917. package/src/ar/cuit.ts +0 -149
  918. package/src/ar/dni.ts +0 -83
  919. package/src/ar/mod.ts +0 -3
  920. package/src/at/businessid.ts +0 -78
  921. package/src/at/mod.ts +0 -4
  922. package/src/at/tin.ts +0 -94
  923. package/src/at/uid.ts +0 -96
  924. package/src/at/vnr.ts +0 -161
  925. package/src/au/abn.ts +0 -89
  926. package/src/au/acn.ts +0 -90
  927. package/src/au/mod.ts +0 -3
  928. package/src/au/tfn.ts +0 -89
  929. package/src/az/mod.ts +0 -1
  930. package/src/az/voen.ts +0 -131
  931. package/src/ba/jmbg.ts +0 -130
  932. package/src/ba/mod.ts +0 -1
  933. package/src/bd/mod.ts +0 -1
  934. package/src/bd/nid.ts +0 -143
  935. package/src/be/bis.ts +0 -109
  936. package/src/be/mod.ts +0 -3
  937. package/src/be/nn.ts +0 -129
  938. package/src/be/vat.ts +0 -111
  939. package/src/bg/egn.ts +0 -164
  940. package/src/bg/mod.ts +0 -3
  941. package/src/bg/pnf.ts +0 -90
  942. package/src/bg/vat.ts +0 -160
  943. package/src/bh/cpr.ts +0 -94
  944. package/src/bh/mod.ts +0 -1
  945. package/src/bic.ts +0 -105
  946. package/src/br/cnpj.ts +0 -156
  947. package/src/br/cpf.ts +0 -118
  948. package/src/br/mod.ts +0 -2
  949. package/src/by/mod.ts +0 -1
  950. package/src/by/unp.ts +0 -163
  951. package/src/bz/mod.ts +0 -1
  952. package/src/bz/tin.ts +0 -122
  953. package/src/ca/bn.ts +0 -111
  954. package/src/ca/mod.ts +0 -2
  955. package/src/ca/sin.ts +0 -95
  956. package/src/ch/mod.ts +0 -3
  957. package/src/ch/ssn.ts +0 -99
  958. package/src/ch/uid.ts +0 -112
  959. package/src/ch/vat.ts +0 -89
  960. package/src/cl/mod.ts +0 -1
  961. package/src/cl/rut.ts +0 -124
  962. package/src/cn/mod.ts +0 -2
  963. package/src/cn/ric.ts +0 -184
  964. package/src/cn/uscc.ts +0 -127
  965. package/src/co/mod.ts +0 -1
  966. package/src/co/nit.ts +0 -116
  967. package/src/cr/cpf.ts +0 -116
  968. package/src/cr/mod.ts +0 -1
  969. package/src/creditcard.ts +0 -194
  970. package/src/crypto/btcbase58.ts +0 -144
  971. package/src/crypto/btcbech32.ts +0 -210
  972. package/src/crypto/eth.ts +0 -114
  973. package/src/crypto/mod.ts +0 -4
  974. package/src/crypto/wallet.ts +0 -67
  975. package/src/cu/mod.ts +0 -1
  976. package/src/cu/ni.ts +0 -146
  977. package/src/cy/mod.ts +0 -1
  978. package/src/cy/vat.ts +0 -134
  979. package/src/cz/dic.ts +0 -140
  980. package/src/cz/ico.ts +0 -86
  981. package/src/cz/mod.ts +0 -3
  982. package/src/cz/rc.ts +0 -222
  983. package/src/de/handelsreg.ts +0 -122
  984. package/src/de/idnr.ts +0 -147
  985. package/src/de/mod.ts +0 -5
  986. package/src/de/stnr.ts +0 -222
  987. package/src/de/svnr.ts +0 -171
  988. package/src/de/vat.ts +0 -102
  989. package/src/dk/cpr.ts +0 -137
  990. package/src/dk/cvr.ts +0 -91
  991. package/src/dk/mod.ts +0 -3
  992. package/src/dk/vat.ts +0 -96
  993. package/src/do/mod.ts +0 -1
  994. package/src/do/rnc.ts +0 -130
  995. package/src/ec/mod.ts +0 -1
  996. package/src/ec/ruc.ts +0 -199
  997. package/src/ee/ik.ts +0 -167
  998. package/src/ee/mod.ts +0 -3
  999. package/src/ee/registrikood.ts +0 -86
  1000. package/src/ee/vat.ts +0 -89
  1001. package/src/eg/mod.ts +0 -1
  1002. package/src/eg/tn.ts +0 -107
  1003. package/src/es/cif.ts +0 -108
  1004. package/src/es/dni.ts +0 -94
  1005. package/src/es/mod.ts +0 -5
  1006. package/src/es/nie.ts +0 -111
  1007. package/src/es/nss.ts +0 -113
  1008. package/src/es/vat.ts +0 -186
  1009. package/src/eu/mod.ts +0 -1
  1010. package/src/eu/vat.ts +0 -220
  1011. package/src/fi/hetu.ts +0 -200
  1012. package/src/fi/mod.ts +0 -3
  1013. package/src/fi/vat.ts +0 -87
  1014. package/src/fi/ytunnus.ts +0 -87
  1015. package/src/fr/mod.ts +0 -5
  1016. package/src/fr/nif.ts +0 -97
  1017. package/src/fr/nir.ts +0 -197
  1018. package/src/fr/siren.ts +0 -83
  1019. package/src/fr/siret.ts +0 -126
  1020. package/src/fr/tva.ts +0 -150
  1021. package/src/gb/mod.ts +0 -5
  1022. package/src/gb/nhs.ts +0 -92
  1023. package/src/gb/nino.ts +0 -158
  1024. package/src/gb/sedol.ts +0 -143
  1025. package/src/gb/utr.ts +0 -85
  1026. package/src/gb/vat.ts +0 -162
  1027. package/src/ge/mod.ts +0 -1
  1028. package/src/ge/pin.ts +0 -75
  1029. package/src/gh/mod.ts +0 -1
  1030. package/src/gh/tin.ts +0 -105
  1031. package/src/gr/amka.ts +0 -108
  1032. package/src/gr/mod.ts +0 -2
  1033. package/src/gr/vat.ts +0 -100
  1034. package/src/gt/mod.ts +0 -1
  1035. package/src/gt/nit.ts +0 -123
  1036. package/src/hk/hkid.ts +0 -136
  1037. package/src/hk/mod.ts +0 -1
  1038. package/src/hr/mod.ts +0 -1
  1039. package/src/hr/vat.ts +0 -83
  1040. package/src/hu/mod.ts +0 -1
  1041. package/src/hu/vat.ts +0 -87
  1042. package/src/iban.ts +0 -344
  1043. package/src/id/mod.ts +0 -1
  1044. package/src/id/npwp.ts +0 -191
  1045. package/src/ie/mod.ts +0 -2
  1046. package/src/ie/pps.ts +0 -109
  1047. package/src/ie/vat.ts +0 -142
  1048. package/src/il/idnr.ts +0 -91
  1049. package/src/il/mod.ts +0 -1
  1050. package/src/in/aadhaar.ts +0 -100
  1051. package/src/in/gstin.ts +0 -175
  1052. package/src/in/mod.ts +0 -3
  1053. package/src/in/pan.ts +0 -97
  1054. package/src/index.ts +0 -123
  1055. package/src/iq/mod.ts +0 -1
  1056. package/src/iq/nid.ts +0 -75
  1057. package/src/ir/mod.ts +0 -1
  1058. package/src/ir/nid.ts +0 -124
  1059. package/src/is/kennitala.ts +0 -129
  1060. package/src/is/mod.ts +0 -2
  1061. package/src/is/vsk.ts +0 -67
  1062. package/src/isin.ts +0 -124
  1063. package/src/it/codicefiscale.ts +0 -332
  1064. package/src/it/iva.ts +0 -119
  1065. package/src/it/mod.ts +0 -2
  1066. package/src/jp/cn.ts +0 -95
  1067. package/src/jp/mod.ts +0 -2
  1068. package/src/jp/mynumber.ts +0 -107
  1069. package/src/kr/brn.ts +0 -105
  1070. package/src/kr/mod.ts +0 -2
  1071. package/src/kr/rrn.ts +0 -189
  1072. package/src/kw/civil.ts +0 -161
  1073. package/src/kw/mod.ts +0 -1
  1074. package/src/kz/iin.ts +0 -184
  1075. package/src/kz/mod.ts +0 -1
  1076. package/src/lei.ts +0 -102
  1077. package/src/li/mod.ts +0 -1
  1078. package/src/li/peid.ts +0 -70
  1079. package/src/lk/mod.ts +0 -1
  1080. package/src/lk/nic.ts +0 -233
  1081. package/src/lt/asmens.ts +0 -124
  1082. package/src/lt/mod.ts +0 -2
  1083. package/src/lt/vat.ts +0 -114
  1084. package/src/lu/mod.ts +0 -1
  1085. package/src/lu/vat.ts +0 -85
  1086. package/src/luhn.ts +0 -79
  1087. package/src/lv/mod.ts +0 -1
  1088. package/src/lv/vat.ts +0 -169
  1089. package/src/ma/ice.ts +0 -83
  1090. package/src/ma/mod.ts +0 -1
  1091. package/src/mc/mod.ts +0 -1
  1092. package/src/mc/tva.ts +0 -78
  1093. package/src/md/idno.ts +0 -90
  1094. package/src/md/mod.ts +0 -1
  1095. package/src/me/mod.ts +0 -1
  1096. package/src/me/pib.ts +0 -83
  1097. package/src/mk/edb.ts +0 -95
  1098. package/src/mk/mod.ts +0 -1
  1099. package/src/mt/mod.ts +0 -1
  1100. package/src/mt/vat.ts +0 -93
  1101. package/src/mu/brn.ts +0 -106
  1102. package/src/mu/mod.ts +0 -1
  1103. package/src/mx/clabe.ts +0 -115
  1104. package/src/mx/curp.ts +0 -247
  1105. package/src/mx/mod.ts +0 -3
  1106. package/src/mx/rfc.ts +0 -179
  1107. package/src/my/mod.ts +0 -1
  1108. package/src/my/nric.ts +0 -260
  1109. package/src/ng/mod.ts +0 -1
  1110. package/src/ng/nin.ts +0 -76
  1111. package/src/ni/mod.ts +0 -1
  1112. package/src/ni/ruc.ts +0 -180
  1113. package/src/nl/bsn.ts +0 -91
  1114. package/src/nl/kvk.ts +0 -63
  1115. package/src/nl/mod.ts +0 -3
  1116. package/src/nl/vat.ts +0 -95
  1117. package/src/no/fodselsnummer.ts +0 -197
  1118. package/src/no/mod.ts +0 -3
  1119. package/src/no/mva.ts +0 -77
  1120. package/src/no/orgnr.ts +0 -83
  1121. package/src/nz/ird.ts +0 -132
  1122. package/src/nz/mod.ts +0 -1
  1123. package/src/pa/mod.ts +0 -1
  1124. package/src/pa/ruc.ts +0 -387
  1125. package/src/patterns.ts +0 -390
  1126. package/src/pe/mod.ts +0 -1
  1127. package/src/pe/ruc.ts +0 -124
  1128. package/src/ph/mod.ts +0 -1
  1129. package/src/ph/philid.ts +0 -80
  1130. package/src/pk/cnic.ts +0 -109
  1131. package/src/pk/mod.ts +0 -1
  1132. package/src/pl/mod.ts +0 -3
  1133. package/src/pl/nip.ts +0 -100
  1134. package/src/pl/pesel.ts +0 -155
  1135. package/src/pl/regon.ts +0 -102
  1136. package/src/pt/cc.ts +0 -112
  1137. package/src/pt/mod.ts +0 -2
  1138. package/src/pt/vat.ts +0 -98
  1139. package/src/ro/cnp.ts +0 -179
  1140. package/src/ro/mod.ts +0 -2
  1141. package/src/ro/vat.ts +0 -99
  1142. package/src/rs/mod.ts +0 -1
  1143. package/src/rs/pib.ts +0 -87
  1144. package/src/ru/inn.ts +0 -113
  1145. package/src/ru/mod.ts +0 -1
  1146. package/src/se/mod.ts +0 -3
  1147. package/src/se/orgnr.ts +0 -85
  1148. package/src/se/personnummer.ts +0 -183
  1149. package/src/se/vat.ts +0 -97
  1150. package/src/sg/mod.ts +0 -1
  1151. package/src/sg/uen.ts +0 -288
  1152. package/src/si/emso.ts +0 -178
  1153. package/src/si/mod.ts +0 -2
  1154. package/src/si/vat.ts +0 -113
  1155. package/src/sk/dic.ts +0 -110
  1156. package/src/sk/ico.ts +0 -40
  1157. package/src/sk/mod.ts +0 -3
  1158. package/src/sk/rc.ts +0 -44
  1159. package/src/th/mod.ts +0 -1
  1160. package/src/th/tin.ts +0 -106
  1161. package/src/tr/mod.ts +0 -2
  1162. package/src/tr/tckimlik.ts +0 -115
  1163. package/src/tr/vkn.ts +0 -101
  1164. package/src/tw/mod.ts +0 -1
  1165. package/src/tw/ubn.ts +0 -112
  1166. package/src/types.ts +0 -262
  1167. package/src/ua/edrpou.ts +0 -108
  1168. package/src/ua/mod.ts +0 -1
  1169. package/src/us/ein.ts +0 -261
  1170. package/src/us/itin.ts +0 -129
  1171. package/src/us/mod.ts +0 -4
  1172. package/src/us/rtn.ts +0 -139
  1173. package/src/us/ssn.ts +0 -121
  1174. package/src/uy/mod.ts +0 -1
  1175. package/src/uy/rut.ts +0 -150
  1176. package/src/ve/mod.ts +0 -1
  1177. package/src/ve/rif.ts +0 -147
  1178. package/src/vn/mod.ts +0 -1
  1179. package/src/vn/mst.ts +0 -132
  1180. package/src/za/idnr.ts +0 -159
  1181. package/src/za/mod.ts +0 -1
package/dist/ro/vat.js CHANGED
@@ -1,77 +1,12 @@
1
- import { weightedSum } from "../_checksums/weighted-sum.js";
2
- import { clean } from "../_util/clean.js";
3
- import { randomDigits, randomInt } from "../_util/generate.js";
4
- import { err } from "../_util/result.js";
5
- import { isdigits } from "../_util/strings.js";
6
- //#region src/ro/vat.ts
7
- const WEIGHTS = [
8
- 7,
9
- 5,
10
- 3,
11
- 2,
12
- 1,
13
- 7,
14
- 5,
15
- 3,
16
- 2
17
- ];
18
- const compact = (value) => {
19
- let v = clean(value, " -/.");
20
- if (v.startsWith("RO") || v.startsWith("ro")) v = v.slice(2);
21
- return v;
22
- };
23
- const validate = (value) => {
24
- const v = compact(value);
25
- if (v.length < 2 || v.length > 10) return err("INVALID_LENGTH", "Romanian VAT number must be 2 to 10 digits");
26
- if (!isdigits(v) || v[0] === "0") return err("INVALID_FORMAT", "Romanian VAT number must contain only digits and must not start with 0");
27
- const padded = v.padStart(10, "0");
28
- if (weightedSum(padded.slice(0, 9), WEIGHTS, 11) * 10 % 11 % 10 !== Number(padded[9])) return err("INVALID_CHECKSUM", "Romanian VAT number check digit mismatch");
29
- return {
30
- valid: true,
31
- compact: v
32
- };
33
- };
34
- const format = (value) => `RO${compact(value)}`;
35
- /** Generate a random valid Romanian VAT number. */
36
- const generate = () => {
37
- for (;;) {
38
- const c = String(randomInt(1, 9)) + randomDigits(randomInt(1, 9));
39
- if (validate(c).valid) return c;
40
- }
41
- };
42
- /** Romanian VAT Number. */
43
- const vat = {
44
- name: "Romanian VAT Number",
45
- localName: "Cod de Identificare Fiscală",
46
- abbreviation: "CIF",
47
- aliases: [
48
- "CUI",
49
- "CIF",
50
- "cod de identificare fiscală",
51
- "cod fiscal"
52
- ],
53
- candidatePattern: "RO\\d{2,10}",
54
- scope: "country",
55
- country: "RO",
56
- entityType: "any",
57
- sourceUrl: "https://www.anaf.ro/",
58
- lengths: [
59
- 2,
60
- 3,
61
- 4,
62
- 5,
63
- 6,
64
- 7,
65
- 8,
66
- 9,
67
- 10
68
- ],
69
- examples: ["18547290"],
70
- compact,
71
- format,
72
- validate,
73
- generate
74
- };
1
+ import { createValidator } from "../runtime.js";
2
+ //#region src/generated/ro/vat.ts
3
+ const vat = createValidator("ro.vat", 150);
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 ro.vat cannot generate values");
9
+ })();
75
10
  //#endregion
76
11
  export { compact, vat as default, format, generate, validate };
77
12
 
@@ -1 +1 @@
1
- {"version":3,"file":"vat.js","names":[],"sources":["../../src/ro/vat.ts"],"sourcesContent":["/**\n * CIF/CUI (Romanian VAT number).\n *\n * 2-10 digits. Pad to 10, weights\n * [7,5,3,2,1,7,5,3,2], check =\n * (10 * sum) % 11 % 10 === last digit.\n *\n * @see https://www.vatify.eu/romania-vat-number.html\n * @see https://www.anaf.ro/\n */\n\nimport type {\n ValidateResult,\n CountryValidator,\n} from \"../types\";\n\nimport { weightedSum } from \"#checksums/weighted-sum\";\nimport { clean } from \"#util/clean\";\nimport { randomDigits, randomInt } from \"#util/generate\";\nimport { err } from \"#util/result\";\nimport { isdigits } from \"#util/strings\";\n\nconst WEIGHTS = [7, 5, 3, 2, 1, 7, 5, 3, 2];\n\nconst compact = (value: string): string => {\n let v = clean(value, \" -/.\");\n if (v.startsWith(\"RO\") || v.startsWith(\"ro\")) {\n v = v.slice(2);\n }\n return v;\n};\n\nconst validate = (value: string): ValidateResult => {\n const v = compact(value);\n if (v.length < 2 || v.length > 10) {\n return err(\n \"INVALID_LENGTH\",\n \"Romanian VAT number must be 2 to 10 digits\",\n );\n }\n if (!isdigits(v) || v[0] === \"0\") {\n return err(\n \"INVALID_FORMAT\",\n \"Romanian VAT number must contain only digits \" +\n \"and must not start with 0\",\n );\n }\n // Pad to 10 digits\n const padded = v.padStart(10, \"0\");\n const sum = weightedSum(padded.slice(0, 9), WEIGHTS, 11);\n const check = ((sum * 10) % 11) % 10;\n if (check !== Number(padded[9])) {\n return err(\n \"INVALID_CHECKSUM\",\n \"Romanian VAT number check digit mismatch\",\n );\n }\n return { valid: true, compact: v };\n};\n\nconst format = (value: string): string =>\n `RO${compact(value)}`;\n\n/** Generate a random valid Romanian VAT number. */\nconst generate = (): string => {\n for (;;) {\n const c =\n String(randomInt(1, 9)) +\n randomDigits(randomInt(1, 9));\n if (validate(c).valid) return c;\n }\n};\n\n/** Romanian VAT Number. */\nconst vat: CountryValidator<\"RO\"> = {\n name: \"Romanian VAT Number\",\n localName: \"Cod de Identificare Fiscală\",\n abbreviation: \"CIF\",\n aliases: [\n \"CUI\",\n \"CIF\",\n \"cod de identificare fiscală\",\n \"cod fiscal\",\n ] as const,\n candidatePattern: \"RO\\\\d{2,10}\",\n scope: \"country\",\n country: \"RO\",\n entityType: \"any\",\n sourceUrl: \"https://www.anaf.ro/\",\n lengths: [2, 3, 4, 5, 6, 7, 8, 9, 10] as const,\n examples: [\"18547290\"] as const,\n compact,\n format,\n validate,\n generate,\n};\n\nexport default vat;\nexport { compact, format, validate, generate };\n"],"mappings":";;;;;;AAsBA,MAAM,UAAU;CAAC;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;AAAC;AAE1C,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;AACT;AAEA,MAAM,YAAY,UAAkC;CAClD,MAAM,IAAI,QAAQ,KAAK;CACvB,IAAI,EAAE,SAAS,KAAK,EAAE,SAAS,IAC7B,OAAO,IACL,kBACA,4CACF;CAEF,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,KAC3B,OAAO,IACL,kBACA,wEAEF;CAGF,MAAM,SAAS,EAAE,SAAS,IAAI,GAAG;CAGjC,IAFY,YAAY,OAAO,MAAM,GAAG,CAAC,GAAG,SAAS,EACnC,IAAI,KAAM,KAAM,OACpB,OAAO,OAAO,EAAE,GAC5B,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,IACJ,OAAO,UAAU,GAAG,CAAC,CAAC,IACtB,aAAa,UAAU,GAAG,CAAC,CAAC;EAC9B,IAAI,SAAS,CAAC,CAAC,CAAC,OAAO,OAAO;CAChC;AACF;;AAGA,MAAM,MAA8B;CAClC,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS;EACP;EACA;EACA;EACA;CACF;CACA,kBAAkB;CAClB,OAAO;CACP,SAAS;CACT,YAAY;CACZ,WAAW;CACX,SAAS;EAAC;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;CAAE;CACpC,UAAU,CAAC,UAAU;CACrB;CACA;CACA;CACA;AACF"}
1
+ {"version":3,"file":"vat.js","names":[],"sources":["../../src/generated/ro/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<\"RO\"> = createValidator(\n \"ro.vat\",\n 150,\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 ro.vat cannot generate values\",\n );\n })();\n"],"mappings":";;AAIA,MAAM,MAA8B,gBAClC,UACA,GACF;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/rs/mod.d.ts CHANGED
@@ -1,6 +1,4 @@
1
1
  import pib from "./pib.js";
2
-
3
- //#region src/rs/mod.d.ts
4
2
  declare namespace mod_d_exports {
5
3
  export { pib };
6
4
  }
package/dist/rs/mod.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { __exportAll } from "../_virtual/_rolldown/runtime.js";
2
2
  import pib from "./pib.js";
3
- //#region src/rs/mod.ts
3
+ //#region src/generated/rs/mod.ts
4
4
  var rs_exports = /* @__PURE__ */ __exportAll({ pib: () => pib });
5
5
  //#endregion
6
6
  export { pib, rs_exports };
@@ -1 +1 @@
1
- {"version":3,"file":"mod.js","names":[],"sources":["../../src/rs/mod.ts"],"sourcesContent":["export { default as pib } from \"./pib\";\n"],"mappings":""}
1
+ {"version":3,"file":"mod.js","names":[],"sources":["../../src/generated/rs/mod.ts"],"sourcesContent":["// Generated by scripts/generate-public-surface.ts. Do not edit.\nexport { default as pib } from \"./pib\";\n"],"mappings":""}
package/dist/rs/pib.d.ts CHANGED
@@ -1,13 +1,10 @@
1
1
  import { CountryValidator, ValidateResult } from "../types.js";
2
-
3
- //#region src/rs/pib.d.ts
2
+ //#region src/generated/rs/pib.d.ts
3
+ declare const pib: CountryValidator<"RS">;
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 Serbian PIB. */
6
+ declare const validate: (value: string) => ValidateResult;
8
7
  declare const generate: () => string;
9
- /** Serbian Tax Identification Number. */
10
- declare const pib: CountryValidator<"RS">;
11
8
  //#endregion
12
9
  export { compact, pib as default, format, generate, validate };
13
10
  //# sourceMappingURL=pib.d.ts.map
package/dist/rs/pib.js CHANGED
@@ -1,51 +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/rs/pib.ts
6
- const compact = (value) => clean(value, " -");
7
- const validate = (value) => {
8
- const v = compact(value);
9
- if (v.length !== 9) return err("INVALID_LENGTH", "PIB must be exactly 9 digits");
10
- if (!isdigits(v)) return err("INVALID_FORMAT", "PIB must contain only digits");
11
- let t = 10;
12
- for (let i = 0; i < 8; i++) {
13
- t = (t + Number(v[i])) % 10;
14
- if (t === 0) t = 10;
15
- t = t * 2 % 11;
16
- }
17
- if ((11 - t) % 10 !== Number(v[8])) return err("INVALID_CHECKSUM", "PIB check digit mismatch");
18
- return {
19
- valid: true,
20
- compact: v
21
- };
22
- };
23
- const format = (value) => compact(value);
24
- /** Generate a random valid Serbian PIB. */
25
- const generate = () => {
26
- for (;;) {
27
- const c = randomDigits(9);
28
- if (validate(c).valid) return c;
29
- }
30
- };
31
- /** Serbian Tax Identification Number. */
32
- const pib = {
33
- name: "Serbian Tax ID",
34
- localName: "Poreski identifikacioni broj",
35
- abbreviation: "PIB",
36
- aliases: ["PIB", "poreski identifikacioni broj"],
37
- candidatePattern: "\\d{9}",
38
- scope: "country",
39
- country: "RS",
40
- entityType: "any",
41
- lengths: [9],
42
- sourceUrl: "https://www.purs.gov.rs/",
43
- examples: ["101134702"],
44
- compact,
45
- format,
46
- validate,
47
- generate
48
- };
1
+ import { createValidator } from "../runtime.js";
2
+ //#region src/generated/rs/pib.ts
3
+ const pib = createValidator("rs.pib", 151);
4
+ const compact = pib.compact;
5
+ const format = pib.format;
6
+ const validate = pib.validate;
7
+ const generate = () => pib.generate?.() ?? (() => {
8
+ throw new Error("Validator rs.pib cannot generate values");
9
+ })();
49
10
  //#endregion
50
11
  export { compact, pib as default, format, generate, validate };
51
12
 
@@ -1 +1 @@
1
- {"version":3,"file":"pib.js","names":[],"sources":["../../src/rs/pib.ts"],"sourcesContent":["/**\n * PIB (Poreski identifikacioni broj).\n *\n * Serbian tax identification number. 9 digits with\n * a mod 11 checksum (ISO 7064 variant).\n *\n * @see https://en.wikipedia.org/wiki/Tax_identification_number_(Serbia)\n * @see https://www.purs.gov.rs/\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 compact = (value: string): string =>\n clean(value, \" -\");\n\nconst validate = (value: string): ValidateResult => {\n const v = compact(value);\n if (v.length !== 9) {\n return err(\n \"INVALID_LENGTH\",\n \"PIB must be exactly 9 digits\",\n );\n }\n if (!isdigits(v)) {\n return err(\n \"INVALID_FORMAT\",\n \"PIB must contain only digits\",\n );\n }\n\n // ISO 7064 Mod 11, 10 checksum\n let t = 10;\n for (let i = 0; i < 8; i++) {\n t = (t + Number(v[i])) % 10;\n if (t === 0) t = 10;\n t = (t * 2) % 11;\n }\n const check = (11 - t) % 10;\n if (check !== Number(v[8])) {\n return err(\n \"INVALID_CHECKSUM\",\n \"PIB check digit mismatch\",\n );\n }\n\n return { valid: true, compact: v };\n};\n\nconst format = (value: string): string => compact(value);\n\n/** Generate a random valid Serbian PIB. */\nconst generate = (): string => {\n for (;;) {\n const c = randomDigits(9);\n if (validate(c).valid) return c;\n }\n};\n\n/** Serbian Tax Identification Number. */\nconst pib: CountryValidator<\"RS\"> = {\n name: \"Serbian Tax ID\",\n localName: \"Poreski identifikacioni broj\",\n abbreviation: \"PIB\",\n aliases: [\"PIB\", \"poreski identifikacioni broj\"] as const,\n candidatePattern: \"\\\\d{9}\",\n scope: \"country\",\n country: \"RS\",\n entityType: \"any\",\n lengths: [9] as const,\n sourceUrl: \"https://www.purs.gov.rs/\",\n examples: [\"101134702\"] as const,\n compact,\n format,\n validate,\n generate,\n};\n\nexport default pib;\nexport { compact, format, validate, generate };\n"],"mappings":";;;;;AAoBA,MAAM,WAAW,UACf,MAAM,OAAO,IAAI;AAEnB,MAAM,YAAY,UAAkC;CAClD,MAAM,IAAI,QAAQ,KAAK;CACvB,IAAI,EAAE,WAAW,GACf,OAAO,IACL,kBACA,8BACF;CAEF,IAAI,CAAC,SAAS,CAAC,GACb,OAAO,IACL,kBACA,8BACF;CAIF,IAAI,IAAI;CACR,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK;EAC1B,KAAK,IAAI,OAAO,EAAE,EAAE,KAAK;EACzB,IAAI,MAAM,GAAG,IAAI;EACjB,IAAK,IAAI,IAAK;CAChB;CAEA,KADe,KAAK,KAAK,OACX,OAAO,EAAE,EAAE,GACvB,OAAO,IACL,oBACA,0BACF;CAGF,OAAO;EAAE,OAAO;EAAM,SAAS;CAAE;AACnC;AAEA,MAAM,UAAU,UAA0B,QAAQ,KAAK;;AAGvD,MAAM,iBAAyB;CAC7B,SAAS;EACP,MAAM,IAAI,aAAa,CAAC;EACxB,IAAI,SAAS,CAAC,CAAC,CAAC,OAAO,OAAO;CAChC;AACF;;AAGA,MAAM,MAA8B;CAClC,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS,CAAC,OAAO,8BAA8B;CAC/C,kBAAkB;CAClB,OAAO;CACP,SAAS;CACT,YAAY;CACZ,SAAS,CAAC,CAAC;CACX,WAAW;CACX,UAAU,CAAC,WAAW;CACtB;CACA;CACA;CACA;AACF"}
1
+ {"version":3,"file":"pib.js","names":[],"sources":["../../src/generated/rs/pib.ts"],"sourcesContent":["// Generated by scripts/generate-public-surface.ts. Do not edit.\nimport { createValidator } from \"../../runtime\";\nimport type { CountryValidator } from \"../../types\";\n\nconst pib: CountryValidator<\"RS\"> = createValidator(\n \"rs.pib\",\n 151,\n);\n\nexport default pib;\nexport const compact = pib.compact;\nexport const format = pib.format;\nexport const validate = pib.validate;\nexport const generate = (): string =>\n pib.generate?.() ??\n (() => {\n throw new Error(\n \"Validator rs.pib cannot generate values\",\n );\n })();\n"],"mappings":";;AAIA,MAAM,MAA8B,gBAClC,UACA,GACF;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/ru/inn.d.ts CHANGED
@@ -1,13 +1,10 @@
1
1
  import { CountryValidator, ValidateResult } from "../types.js";
2
-
3
- //#region src/ru/inn.d.ts
2
+ //#region src/generated/ru/inn.d.ts
3
+ declare const inn: CountryValidator<"RU">;
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 10-digit Russian INN. */
6
+ declare const validate: (value: string) => ValidateResult;
8
7
  declare const generate: () => string;
9
- /** Russian Taxpayer Identification Number. */
10
- declare const inn: CountryValidator<"RU">;
11
8
  //#endregion
12
9
  export { compact, inn as default, format, generate, validate };
13
10
  //# sourceMappingURL=inn.d.ts.map
package/dist/ru/inn.js CHANGED
@@ -1,92 +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/ru/inn.ts
6
- const WEIGHTS_10 = [
7
- 2,
8
- 4,
9
- 10,
10
- 3,
11
- 5,
12
- 9,
13
- 4,
14
- 6,
15
- 8
16
- ];
17
- const WEIGHTS_11 = [
18
- 7,
19
- 2,
20
- 4,
21
- 10,
22
- 3,
23
- 5,
24
- 9,
25
- 4,
26
- 6,
27
- 8
28
- ];
29
- const WEIGHTS_12 = [
30
- 3,
31
- 7,
32
- 2,
33
- 4,
34
- 10,
35
- 3,
36
- 5,
37
- 9,
38
- 4,
39
- 6,
40
- 8
41
- ];
42
- const checkDigit = (value, weights) => {
43
- let sum = 0;
44
- for (const [i, weight] of weights.entries()) sum += Number(value[i]) * weight;
45
- return sum % 11 % 10;
46
- };
47
- const compact = (value) => clean(value, " -");
48
- const validate = (value) => {
49
- const v = compact(value);
50
- if (v.length !== 10 && v.length !== 12) return err("INVALID_LENGTH", "INN must be 10 or 12 digits");
51
- if (!isdigits(v)) return err("INVALID_FORMAT", "INN must contain only digits");
52
- if (v.length === 10) {
53
- if (checkDigit(v, WEIGHTS_10) !== Number(v[9])) return err("INVALID_CHECKSUM", "INN check digit mismatch");
54
- } else {
55
- const check11 = checkDigit(v, WEIGHTS_11);
56
- const check12 = checkDigit(v, WEIGHTS_12);
57
- if (check11 !== Number(v[10]) || check12 !== Number(v[11])) return err("INVALID_CHECKSUM", "INN check digit mismatch");
58
- }
59
- return {
60
- valid: true,
61
- compact: v
62
- };
63
- };
64
- const format = (value) => compact(value);
65
- /** Generate a random valid 10-digit Russian INN. */
66
- const generate = () => {
67
- for (;;) {
68
- const c = randomDigits(10);
69
- if (validate(c).valid) return c;
70
- }
71
- };
72
- /** Russian Taxpayer Identification Number. */
73
- const inn = {
74
- name: "Russian Tax ID",
75
- localName: "Идентификационный номер налогоплательщика",
76
- abbreviation: "ИНН",
77
- aliases: ["ИНН", "INN"],
78
- candidatePattern: "\\d{10,12}",
79
- scope: "country",
80
- country: "RU",
81
- entityType: "any",
82
- lengths: [10, 12],
83
- sourceUrl: "https://www.nalog.gov.ru/",
84
- examples: ["7707083893", "526317984689"],
85
- compact,
86
- format,
87
- validate,
88
- generate
89
- };
1
+ import { createValidator } from "../runtime.js";
2
+ //#region src/generated/ru/inn.ts
3
+ const inn = createValidator("ru.inn", 152);
4
+ const compact = inn.compact;
5
+ const format = inn.format;
6
+ const validate = inn.validate;
7
+ const generate = () => inn.generate?.() ?? (() => {
8
+ throw new Error("Validator ru.inn cannot generate values");
9
+ })();
90
10
  //#endregion
91
11
  export { compact, inn as default, format, generate, validate };
92
12
 
@@ -1 +1 @@
1
- {"version":3,"file":"inn.js","names":[],"sources":["../../src/ru/inn.ts"],"sourcesContent":["/**\n * INN (Идентификационный номер налогоплательщика).\n *\n * Russian taxpayer identification number. 10 digits\n * for companies (1 check digit), 12 digits for\n * individuals (2 check digits). Check digits are\n * computed as weighted sum mod 11 mod 10.\n *\n * @see https://en.wikipedia.org/wiki/Taxpayer_Identification_Number_(Russia)\n * @see https://www.nalog.gov.ru/\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 WEIGHTS_10 = [2, 4, 10, 3, 5, 9, 4, 6, 8] as const;\nconst WEIGHTS_11 = [7, 2, 4, 10, 3, 5, 9, 4, 6, 8] as const;\nconst WEIGHTS_12 = [\n 3, 7, 2, 4, 10, 3, 5, 9, 4, 6, 8,\n] as const;\n\nconst checkDigit = (\n value: string,\n weights: readonly number[],\n): number => {\n let sum = 0;\n for (const [i, weight] of weights.entries()) {\n sum += Number(value[i]) * weight;\n }\n return (sum % 11) % 10;\n};\n\nconst compact = (value: string): string =>\n clean(value, \" -\");\n\nconst validate = (value: string): ValidateResult => {\n const v = compact(value);\n if (v.length !== 10 && v.length !== 12) {\n return err(\n \"INVALID_LENGTH\",\n \"INN must be 10 or 12 digits\",\n );\n }\n if (!isdigits(v)) {\n return err(\n \"INVALID_FORMAT\",\n \"INN must contain only digits\",\n );\n }\n\n if (v.length === 10) {\n const check = checkDigit(v, WEIGHTS_10);\n if (check !== Number(v[9])) {\n return err(\n \"INVALID_CHECKSUM\",\n \"INN check digit mismatch\",\n );\n }\n } else {\n const check11 = checkDigit(v, WEIGHTS_11);\n const check12 = checkDigit(v, WEIGHTS_12);\n if (\n check11 !== Number(v[10]) ||\n check12 !== Number(v[11])\n ) {\n return err(\n \"INVALID_CHECKSUM\",\n \"INN check digit mismatch\",\n );\n }\n }\n\n return { valid: true, compact: v };\n};\n\nconst format = (value: string): string => compact(value);\n\n/** Generate a random valid 10-digit Russian INN. */\nconst generate = (): string => {\n for (;;) {\n const c = randomDigits(10);\n if (validate(c).valid) return c;\n }\n};\n\n/** Russian Taxpayer Identification Number. */\nconst inn: CountryValidator<\"RU\"> = {\n name: \"Russian Tax ID\",\n localName: \"Идентификационный номер налогоплательщика\",\n abbreviation: \"ИНН\",\n aliases: [\"ИНН\", \"INN\"] as const,\n candidatePattern: \"\\\\d{10,12}\",\n scope: \"country\",\n country: \"RU\",\n entityType: \"any\",\n lengths: [10, 12] as const,\n sourceUrl: \"https://www.nalog.gov.ru/\",\n examples: [\"7707083893\", \"526317984689\"] as const,\n compact,\n format,\n validate,\n generate,\n};\n\nexport default inn;\nexport { compact, format, validate, generate };\n"],"mappings":";;;;;AAsBA,MAAM,aAAa;CAAC;CAAG;CAAG;CAAI;CAAG;CAAG;CAAG;CAAG;CAAG;AAAC;AAC9C,MAAM,aAAa;CAAC;CAAG;CAAG;CAAG;CAAI;CAAG;CAAG;CAAG;CAAG;CAAG;AAAC;AACjD,MAAM,aAAa;CACjB;CAAG;CAAG;CAAG;CAAG;CAAI;CAAG;CAAG;CAAG;CAAG;CAAG;AACjC;AAEA,MAAM,cACJ,OACA,YACW;CACX,IAAI,MAAM;CACV,KAAK,MAAM,CAAC,GAAG,WAAW,QAAQ,QAAQ,GACxC,OAAO,OAAO,MAAM,EAAE,IAAI;CAE5B,OAAQ,MAAM,KAAM;AACtB;AAEA,MAAM,WAAW,UACf,MAAM,OAAO,IAAI;AAEnB,MAAM,YAAY,UAAkC;CAClD,MAAM,IAAI,QAAQ,KAAK;CACvB,IAAI,EAAE,WAAW,MAAM,EAAE,WAAW,IAClC,OAAO,IACL,kBACA,6BACF;CAEF,IAAI,CAAC,SAAS,CAAC,GACb,OAAO,IACL,kBACA,8BACF;CAGF,IAAI,EAAE,WAAW;MACD,WAAW,GAAG,UACpB,MAAM,OAAO,EAAE,EAAE,GACvB,OAAO,IACL,oBACA,0BACF;CAAA,OAEG;EACL,MAAM,UAAU,WAAW,GAAG,UAAU;EACxC,MAAM,UAAU,WAAW,GAAG,UAAU;EACxC,IACE,YAAY,OAAO,EAAE,GAAG,KACxB,YAAY,OAAO,EAAE,GAAG,GAExB,OAAO,IACL,oBACA,0BACF;CAEJ;CAEA,OAAO;EAAE,OAAO;EAAM,SAAS;CAAE;AACnC;AAEA,MAAM,UAAU,UAA0B,QAAQ,KAAK;;AAGvD,MAAM,iBAAyB;CAC7B,SAAS;EACP,MAAM,IAAI,aAAa,EAAE;EACzB,IAAI,SAAS,CAAC,CAAC,CAAC,OAAO,OAAO;CAChC;AACF;;AAGA,MAAM,MAA8B;CAClC,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS,CAAC,OAAO,KAAK;CACtB,kBAAkB;CAClB,OAAO;CACP,SAAS;CACT,YAAY;CACZ,SAAS,CAAC,IAAI,EAAE;CAChB,WAAW;CACX,UAAU,CAAC,cAAc,cAAc;CACvC;CACA;CACA;CACA;AACF"}
1
+ {"version":3,"file":"inn.js","names":[],"sources":["../../src/generated/ru/inn.ts"],"sourcesContent":["// Generated by scripts/generate-public-surface.ts. Do not edit.\nimport { createValidator } from \"../../runtime\";\nimport type { CountryValidator } from \"../../types\";\n\nconst inn: CountryValidator<\"RU\"> = createValidator(\n \"ru.inn\",\n 152,\n);\n\nexport default inn;\nexport const compact = inn.compact;\nexport const format = inn.format;\nexport const validate = inn.validate;\nexport const generate = (): string =>\n inn.generate?.() ??\n (() => {\n throw new Error(\n \"Validator ru.inn cannot generate values\",\n );\n })();\n"],"mappings":";;AAIA,MAAM,MAA8B,gBAClC,UACA,GACF;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/ru/mod.d.ts CHANGED
@@ -1,6 +1,4 @@
1
1
  import inn from "./inn.js";
2
-
3
- //#region src/ru/mod.d.ts
4
2
  declare namespace mod_d_exports {
5
3
  export { inn };
6
4
  }
package/dist/ru/mod.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { __exportAll } from "../_virtual/_rolldown/runtime.js";
2
2
  import inn from "./inn.js";
3
- //#region src/ru/mod.ts
3
+ //#region src/generated/ru/mod.ts
4
4
  var ru_exports = /* @__PURE__ */ __exportAll({ inn: () => inn });
5
5
  //#endregion
6
6
  export { inn, ru_exports };
@@ -1 +1 @@
1
- {"version":3,"file":"mod.js","names":[],"sources":["../../src/ru/mod.ts"],"sourcesContent":["export { default as inn } from \"./inn\";\n"],"mappings":""}
1
+ {"version":3,"file":"mod.js","names":[],"sources":["../../src/generated/ru/mod.ts"],"sourcesContent":["// Generated by scripts/generate-public-surface.ts. Do not edit.\nexport { default as inn } from \"./inn\";\n"],"mappings":""}
@@ -0,0 +1,121 @@
1
+ import { registryMetadata } from "./metadata.js";
2
+ import { loadNativeStdnumBinding } from "./native-node.js";
3
+ let nativeBinding;
4
+ let bindingGeneration = 0;
5
+ const resetValidationBindings = [];
6
+ const getBinding = () => {
7
+ nativeBinding ??= loadNativeStdnumBinding();
8
+ return nativeBinding;
9
+ };
10
+ const createValidator = (id, index) => {
11
+ const metadata = registryMetadata[index];
12
+ if (metadata === void 0 || metadata.id !== id) throw new Error(`Unknown stdnum validator: ${id}`);
13
+ let cachedGeneration = -1;
14
+ let cachedOperations;
15
+ const operations = () => {
16
+ if (cachedOperations === void 0 || cachedGeneration !== bindingGeneration) {
17
+ cachedOperations = bindOperations(getBinding(), id, index);
18
+ cachedGeneration = bindingGeneration;
19
+ }
20
+ return cachedOperations;
21
+ };
22
+ const lazyValidate = (value) => {
23
+ const validate = operations().validate;
24
+ validator["validate"] = validate;
25
+ return validate(value);
26
+ };
27
+ const validator = {
28
+ name: metadata.name,
29
+ localName: metadata.localName,
30
+ abbreviation: metadata.abbreviation,
31
+ aliases: metadata.aliases,
32
+ candidatePattern: optional(metadata.candidatePattern),
33
+ scope: metadata.scope,
34
+ entityType: metadata.entityType,
35
+ sourceUrl: metadata.sourceUrl ?? void 0,
36
+ lengths: metadata.lengths.at(0) === void 0 ? void 0 : metadata.lengths,
37
+ examples: metadata.examples.at(0) === void 0 ? void 0 : metadata.examples,
38
+ compact: (value) => operations().compact(value),
39
+ format: (value) => operations().format(value),
40
+ validate: lazyValidate,
41
+ validateMany: (values) => operations().validateMany(values)
42
+ };
43
+ resetValidationBindings.push(() => {
44
+ validator["validate"] = lazyValidate;
45
+ });
46
+ if (metadata.country !== null) validator["country"] = metadata.country;
47
+ if (metadata.description !== null) validator["description"] = metadata.description;
48
+ if (metadata.canGenerate) validator["generate"] = () => {
49
+ const value = operations().generate();
50
+ if (value === null) throw new Error(`Validator ${id} cannot generate values`);
51
+ return value;
52
+ };
53
+ if (metadata.parseKind !== null) validator["parse"] = (value) => fromNativeParsed(operations().parse(value));
54
+ return validator;
55
+ };
56
+ const bindOperations = (binding, id, index) => {
57
+ const compactIndex = binding.compactIndex;
58
+ const formatIndex = binding.formatIndex;
59
+ const generateIndex = binding.generateIndex;
60
+ const parseIndex = binding.parseIndex;
61
+ const validateFastIndex = binding.validateFastIndex;
62
+ const validateManyIndex = binding.validateManyIndex;
63
+ const areAllCanonicalValidIndex = binding.areAllCanonicalValidIndex;
64
+ const isValidCanonicalIndex = binding.isValidCanonicalIndex;
65
+ const supportsCanonicalValidation = isValidCanonicalIndex !== void 0 && binding.supportsCanonicalValidationIndex?.(index) === true;
66
+ const compact = compactIndex === void 0 ? (value) => binding.compact(id, value) : (value) => compactIndex(index, value);
67
+ const validate = () => {
68
+ if (supportsCanonicalValidation) return (value) => isValidCanonicalIndex(index, value) ? {
69
+ valid: true,
70
+ compact: value
71
+ } : publicResult(binding.validateIndex === void 0 ? binding.validate(id, value) : binding.validateIndex(index, value));
72
+ if (validateFastIndex === void 0) return (value) => publicResult(binding.validate(id, value));
73
+ return (value) => {
74
+ const result = validateFastIndex(index, value);
75
+ if (typeof result !== "number") return {
76
+ valid: false,
77
+ error: result
78
+ };
79
+ return {
80
+ valid: true,
81
+ compact: result === 1 ? value : compact(value)
82
+ };
83
+ };
84
+ };
85
+ const validateMany = () => {
86
+ if (validateManyIndex === void 0) return (values) => values.map((value) => publicResult(binding.validate(id, value)));
87
+ if (supportsCanonicalValidation && areAllCanonicalValidIndex !== void 0) return (values) => areAllCanonicalValidIndex(index, values) ? values.map((normalizedValue) => ({
88
+ valid: true,
89
+ compact: normalizedValue
90
+ })) : validateManyIndex(index, values).map(publicResult);
91
+ return (values) => validateManyIndex(index, values).map(publicResult);
92
+ };
93
+ return {
94
+ compact,
95
+ format: formatIndex === void 0 ? (value) => binding.format(id, value) : (value) => formatIndex(index, value),
96
+ generate: generateIndex === void 0 ? () => binding.generate(id) : () => generateIndex(index),
97
+ parse: parseIndex === void 0 ? (value) => binding.parse(id, value) : (value) => parseIndex(index, value),
98
+ validate: validate(),
99
+ validateMany: validateMany()
100
+ };
101
+ };
102
+ const publicResult = (result) => result.valid ? {
103
+ valid: true,
104
+ compact: result.compact
105
+ } : {
106
+ valid: false,
107
+ error: result.error
108
+ };
109
+ const optional = (value) => value ?? void 0;
110
+ const fromNativeParsed = (parsed) => {
111
+ if (parsed === null) return null;
112
+ const birthDate = new Date(parsed.birthYear, parsed.birthMonth - 1, parsed.birthDay);
113
+ return parsed.gender === "male" || parsed.gender === "female" ? {
114
+ birthDate,
115
+ gender: parsed.gender
116
+ } : { birthDate };
117
+ };
118
+ //#endregion
119
+ export { createValidator, getBinding };
120
+
121
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","names":[],"sources":["../src/runtime.ts"],"sourcesContent":["import { registryMetadata } from \"./generated/metadata\";\nimport type {\n NativeParsedIdentifier,\n NativeStdnumBinding,\n} from \"./native\";\nimport { loadNativeStdnumBinding } from \"./native-node\";\nimport type {\n ParsedIdentifier,\n ValidateResult,\n Validator,\n} from \"./types\";\n\nlet bindingOverride: NativeStdnumBinding | undefined;\nlet nativeBinding: NativeStdnumBinding | undefined;\nlet bindingGeneration = 0;\nconst resetValidationBindings: (() => void)[] = [];\n\nexport const setBinding = (\n binding: NativeStdnumBinding | undefined,\n): void => {\n bindingOverride = binding;\n bindingGeneration += 1;\n for (const reset of resetValidationBindings) reset();\n};\n\nexport const getBinding = (): NativeStdnumBinding => {\n if (bindingOverride !== undefined) return bindingOverride;\n nativeBinding ??= loadNativeStdnumBinding();\n return nativeBinding;\n};\n\nexport const createValidator = <\n TValidator extends Validator,\n>(\n id: string,\n index: number,\n): TValidator => {\n const metadata = registryMetadata[index];\n if (metadata === undefined || metadata.id !== id)\n throw new Error(`Unknown stdnum validator: ${id}`);\n let cachedGeneration = -1;\n let cachedOperations: ValidatorOperations | undefined;\n const operations = (): ValidatorOperations => {\n if (\n cachedOperations === undefined ||\n cachedGeneration !== bindingGeneration\n ) {\n cachedOperations = bindOperations(\n getBinding(),\n id,\n index,\n );\n cachedGeneration = bindingGeneration;\n }\n return cachedOperations;\n };\n const lazyValidate = (value: string): ValidateResult => {\n const validate = operations().validate;\n validator[\"validate\"] = validate;\n return validate(value);\n };\n const validator: Record<string, unknown> = {\n name: metadata.name,\n localName: metadata.localName,\n abbreviation: metadata.abbreviation,\n aliases: metadata.aliases,\n candidatePattern: optional(metadata.candidatePattern),\n scope: metadata.scope,\n entityType: metadata.entityType,\n sourceUrl: metadata.sourceUrl ?? undefined,\n lengths:\n metadata.lengths.at(0) === undefined\n ? undefined\n : metadata.lengths,\n examples:\n metadata.examples.at(0) === undefined\n ? undefined\n : metadata.examples,\n compact: (value: string) => operations().compact(value),\n format: (value: string) => operations().format(value),\n validate: lazyValidate,\n validateMany: (values: readonly string[]) =>\n operations().validateMany(values),\n };\n resetValidationBindings.push(() => {\n validator[\"validate\"] = lazyValidate;\n });\n if (metadata.country !== null)\n validator[\"country\"] = metadata.country;\n if (metadata.description !== null)\n validator[\"description\"] = metadata.description;\n if (metadata.canGenerate) {\n validator[\"generate\"] = (): string => {\n const value = operations().generate();\n if (value === null)\n throw new Error(\n `Validator ${id} cannot generate values`,\n );\n return value;\n };\n }\n if (metadata.parseKind !== null) {\n validator[\"parse\"] = (\n value: string,\n ): ParsedIdentifier | null =>\n fromNativeParsed(operations().parse(value));\n }\n return validator as TValidator;\n};\n\ntype ValidatorOperations = {\n compact(this: void, value: string): string;\n format(this: void, value: string): string;\n generate(this: void): string | null;\n parse(\n this: void,\n value: string,\n ): NativeParsedIdentifier | null;\n validate(this: void, value: string): ValidateResult;\n validateMany(\n this: void,\n values: readonly string[],\n ): ValidateResult[];\n};\n\nconst bindOperations = (\n binding: NativeStdnumBinding,\n id: string,\n index: number,\n): ValidatorOperations => {\n const compactIndex = binding.compactIndex;\n const formatIndex = binding.formatIndex;\n const generateIndex = binding.generateIndex;\n const parseIndex = binding.parseIndex;\n const validateFastIndex = binding.validateFastIndex;\n const validateManyIndex = binding.validateManyIndex;\n const areAllCanonicalValidIndex =\n binding.areAllCanonicalValidIndex;\n const isValidCanonicalIndex =\n binding.isValidCanonicalIndex;\n const supportsCanonicalValidation =\n isValidCanonicalIndex !== undefined &&\n binding.supportsCanonicalValidationIndex?.(index) ===\n true;\n const compact =\n compactIndex === undefined\n ? (value: string) => binding.compact(id, value)\n : (value: string) => compactIndex(index, value);\n const validate = (): ValidatorOperations[\"validate\"] => {\n if (supportsCanonicalValidation) {\n return (value) =>\n isValidCanonicalIndex(index, value)\n ? { valid: true, compact: value }\n : publicResult(\n binding.validateIndex === undefined\n ? binding.validate(id, value)\n : binding.validateIndex(index, value),\n );\n }\n if (validateFastIndex === undefined) {\n return (value) =>\n publicResult(binding.validate(id, value));\n }\n return (value) => {\n const result = validateFastIndex(index, value);\n if (typeof result !== \"number\")\n return { valid: false, error: result };\n return {\n valid: true,\n compact: result === 1 ? value : compact(value),\n };\n };\n };\n const validateMany =\n (): ValidatorOperations[\"validateMany\"] => {\n if (validateManyIndex === undefined) {\n return (values) =>\n values.map((value) =>\n publicResult(binding.validate(id, value)),\n );\n }\n if (\n supportsCanonicalValidation &&\n areAllCanonicalValidIndex !== undefined\n ) {\n return (values) =>\n areAllCanonicalValidIndex(index, values)\n ? values.map((normalizedValue) => ({\n valid: true,\n compact: normalizedValue,\n }))\n : validateManyIndex(index, values).map(\n publicResult,\n );\n }\n return (values) =>\n validateManyIndex(index, values).map(publicResult);\n };\n return {\n compact,\n format:\n formatIndex === undefined\n ? (value) => binding.format(id, value)\n : (value) => formatIndex(index, value),\n generate:\n generateIndex === undefined\n ? () => binding.generate(id)\n : () => generateIndex(index),\n parse:\n parseIndex === undefined\n ? (value) => binding.parse(id, value)\n : (value) => parseIndex(index, value),\n validate: validate(),\n validateMany: validateMany(),\n };\n};\n\nconst publicResult = (\n result: ReturnType<NativeStdnumBinding[\"validate\"]>,\n): ValidateResult =>\n result.valid\n ? { valid: true, compact: result.compact }\n : { valid: false, error: result.error };\n\nconst optional = <T>(value: T | null): T | undefined =>\n value ?? undefined;\n\nconst fromNativeParsed = (\n parsed: NativeParsedIdentifier | null,\n): ParsedIdentifier | null => {\n if (parsed === null) return null;\n const birthDate = new Date(\n parsed.birthYear,\n parsed.birthMonth - 1,\n parsed.birthDay,\n );\n return parsed.gender === \"male\" ||\n parsed.gender === \"female\"\n ? { birthDate, gender: parsed.gender }\n : { birthDate };\n};\n"],"mappings":";;AAaA,IAAI;AACJ,IAAI,oBAAoB;AACxB,MAAM,0BAA0C,CAAC;AAUjD,MAAa,mBAAwC;CAEnD,kBAAkB,wBAAwB;CAC1C,OAAO;AACT;AAEA,MAAa,mBAGX,IACA,UACe;CACf,MAAM,WAAW,iBAAiB;CAClC,IAAI,aAAa,KAAA,KAAa,SAAS,OAAO,IAC5C,MAAM,IAAI,MAAM,6BAA6B,IAAI;CACnD,IAAI,mBAAmB;CACvB,IAAI;CACJ,MAAM,mBAAwC;EAC5C,IACE,qBAAqB,KAAA,KACrB,qBAAqB,mBACrB;GACA,mBAAmB,eACjB,WAAW,GACX,IACA,KACF;GACA,mBAAmB;EACrB;EACA,OAAO;CACT;CACA,MAAM,gBAAgB,UAAkC;EACtD,MAAM,WAAW,WAAW,CAAC,CAAC;EAC9B,UAAU,cAAc;EACxB,OAAO,SAAS,KAAK;CACvB;CACA,MAAM,YAAqC;EACzC,MAAM,SAAS;EACf,WAAW,SAAS;EACpB,cAAc,SAAS;EACvB,SAAS,SAAS;EAClB,kBAAkB,SAAS,SAAS,gBAAgB;EACpD,OAAO,SAAS;EAChB,YAAY,SAAS;EACrB,WAAW,SAAS,aAAa,KAAA;EACjC,SACE,SAAS,QAAQ,GAAG,CAAC,MAAM,KAAA,IACvB,KAAA,IACA,SAAS;EACf,UACE,SAAS,SAAS,GAAG,CAAC,MAAM,KAAA,IACxB,KAAA,IACA,SAAS;EACf,UAAU,UAAkB,WAAW,CAAC,CAAC,QAAQ,KAAK;EACtD,SAAS,UAAkB,WAAW,CAAC,CAAC,OAAO,KAAK;EACpD,UAAU;EACV,eAAe,WACb,WAAW,CAAC,CAAC,aAAa,MAAM;CACpC;CACA,wBAAwB,WAAW;EACjC,UAAU,cAAc;CAC1B,CAAC;CACD,IAAI,SAAS,YAAY,MACvB,UAAU,aAAa,SAAS;CAClC,IAAI,SAAS,gBAAgB,MAC3B,UAAU,iBAAiB,SAAS;CACtC,IAAI,SAAS,aACX,UAAU,oBAA4B;EACpC,MAAM,QAAQ,WAAW,CAAC,CAAC,SAAS;EACpC,IAAI,UAAU,MACZ,MAAM,IAAI,MACR,aAAa,GAAG,wBAClB;EACF,OAAO;CACT;CAEF,IAAI,SAAS,cAAc,MACzB,UAAU,YACR,UAEA,iBAAiB,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC;CAE9C,OAAO;AACT;AAiBA,MAAM,kBACJ,SACA,IACA,UACwB;CACxB,MAAM,eAAe,QAAQ;CAC7B,MAAM,cAAc,QAAQ;CAC5B,MAAM,gBAAgB,QAAQ;CAC9B,MAAM,aAAa,QAAQ;CAC3B,MAAM,oBAAoB,QAAQ;CAClC,MAAM,oBAAoB,QAAQ;CAClC,MAAM,4BACJ,QAAQ;CACV,MAAM,wBACJ,QAAQ;CACV,MAAM,8BACJ,0BAA0B,KAAA,KAC1B,QAAQ,mCAAmC,KAAK,MAC9C;CACJ,MAAM,UACJ,iBAAiB,KAAA,KACZ,UAAkB,QAAQ,QAAQ,IAAI,KAAK,KAC3C,UAAkB,aAAa,OAAO,KAAK;CAClD,MAAM,iBAAkD;EACtD,IAAI,6BACF,QAAQ,UACN,sBAAsB,OAAO,KAAK,IAC9B;GAAE,OAAO;GAAM,SAAS;EAAM,IAC9B,aACE,QAAQ,kBAAkB,KAAA,IACtB,QAAQ,SAAS,IAAI,KAAK,IAC1B,QAAQ,cAAc,OAAO,KAAK,CACxC;EAER,IAAI,sBAAsB,KAAA,GACxB,QAAQ,UACN,aAAa,QAAQ,SAAS,IAAI,KAAK,CAAC;EAE5C,QAAQ,UAAU;GAChB,MAAM,SAAS,kBAAkB,OAAO,KAAK;GAC7C,IAAI,OAAO,WAAW,UACpB,OAAO;IAAE,OAAO;IAAO,OAAO;GAAO;GACvC,OAAO;IACL,OAAO;IACP,SAAS,WAAW,IAAI,QAAQ,QAAQ,KAAK;GAC/C;EACF;CACF;CACA,MAAM,qBACuC;EACzC,IAAI,sBAAsB,KAAA,GACxB,QAAQ,WACN,OAAO,KAAK,UACV,aAAa,QAAQ,SAAS,IAAI,KAAK,CAAC,CAC1C;EAEJ,IACE,+BACA,8BAA8B,KAAA,GAE9B,QAAQ,WACN,0BAA0B,OAAO,MAAM,IACnC,OAAO,KAAK,qBAAqB;GAC/B,OAAO;GACP,SAAS;EACX,EAAE,IACF,kBAAkB,OAAO,MAAM,CAAC,CAAC,IAC/B,YACF;EAER,QAAQ,WACN,kBAAkB,OAAO,MAAM,CAAC,CAAC,IAAI,YAAY;CACrD;CACF,OAAO;EACL;EACA,QACE,gBAAgB,KAAA,KACX,UAAU,QAAQ,OAAO,IAAI,KAAK,KAClC,UAAU,YAAY,OAAO,KAAK;EACzC,UACE,kBAAkB,KAAA,UACR,QAAQ,SAAS,EAAE,UACnB,cAAc,KAAK;EAC/B,OACE,eAAe,KAAA,KACV,UAAU,QAAQ,MAAM,IAAI,KAAK,KACjC,UAAU,WAAW,OAAO,KAAK;EACxC,UAAU,SAAS;EACnB,cAAc,aAAa;CAC7B;AACF;AAEA,MAAM,gBACJ,WAEA,OAAO,QACH;CAAE,OAAO;CAAM,SAAS,OAAO;AAAQ,IACvC;CAAE,OAAO;CAAO,OAAO,OAAO;AAAM;AAE1C,MAAM,YAAe,UACnB,SAAS,KAAA;AAEX,MAAM,oBACJ,WAC4B;CAC5B,IAAI,WAAW,MAAM,OAAO;CAC5B,MAAM,YAAY,IAAI,KACpB,OAAO,WACP,OAAO,aAAa,GACpB,OAAO,QACT;CACA,OAAO,OAAO,WAAW,UACvB,OAAO,WAAW,WAChB;EAAE;EAAW,QAAQ,OAAO;CAAO,IACnC,EAAE,UAAU;AAClB"}
package/dist/se/mod.d.ts CHANGED
@@ -1,8 +1,6 @@
1
1
  import orgnr from "./orgnr.js";
2
2
  import personnummer from "./personnummer.js";
3
3
  import vat from "./vat.js";
4
-
5
- //#region src/se/mod.d.ts
6
4
  declare namespace mod_d_exports {
7
5
  export { orgnr, personnummer, vat };
8
6
  }
package/dist/se/mod.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { __exportAll } from "../_virtual/_rolldown/runtime.js";
2
- import vat from "./vat.js";
3
2
  import orgnr from "./orgnr.js";
4
3
  import personnummer from "./personnummer.js";
5
- //#region src/se/mod.ts
4
+ import vat from "./vat.js";
5
+ //#region src/generated/se/mod.ts
6
6
  var se_exports = /* @__PURE__ */ __exportAll({
7
7
  orgnr: () => orgnr,
8
8
  personnummer: () => personnummer,
@@ -1 +1 @@
1
- {"version":3,"file":"mod.js","names":[],"sources":["../../src/se/mod.ts"],"sourcesContent":["export { default as orgnr } from \"./orgnr\";\nexport { default as personnummer } from \"./personnummer\";\nexport { default as vat } from \"./vat\";\n"],"mappings":""}
1
+ {"version":3,"file":"mod.js","names":[],"sources":["../../src/generated/se/mod.ts"],"sourcesContent":["// Generated by scripts/generate-public-surface.ts. Do not edit.\nexport { default as orgnr } from \"./orgnr\";\nexport { default as personnummer } from \"./personnummer\";\nexport { default as vat } from \"./vat\";\n"],"mappings":""}
@@ -1,13 +1,10 @@
1
1
  import { CountryValidator, ValidateResult } from "../types.js";
2
-
3
- //#region src/se/orgnr.d.ts
2
+ //#region src/generated/se/orgnr.d.ts
3
+ declare const orgnr: CountryValidator<"SE">;
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 Swedish org number. */
6
+ declare const validate: (value: string) => ValidateResult;
8
7
  declare const generate: () => string;
9
- /** Swedish Organization Number. */
10
- declare const orgnr: CountryValidator<"SE">;
11
8
  //#endregion
12
9
  export { compact, orgnr as default, format, generate, validate };
13
10
  //# sourceMappingURL=orgnr.d.ts.map
package/dist/se/orgnr.js CHANGED
@@ -1,51 +1,12 @@
1
- import { luhnChecksum, luhnValidate } from "../_checksums/luhn.js";
2
- import { clean } from "../_util/clean.js";
3
- import { randomDigits } from "../_util/generate.js";
4
- import { err } from "../_util/result.js";
5
- import { isdigits } from "../_util/strings.js";
6
- //#region src/se/orgnr.ts
7
- const compact = (value) => clean(value, " -");
8
- const validate = (value) => {
9
- const v = compact(value);
10
- if (v.length !== 10) return err("INVALID_LENGTH", "Swedish Organisationsnummer must be 10 digits");
11
- if (!isdigits(v)) return err("INVALID_FORMAT", "Swedish Organisationsnummer must contain only digits");
12
- if (!luhnValidate(v)) return err("INVALID_CHECKSUM", "Swedish Organisationsnummer Luhn check failed");
13
- return {
14
- valid: true,
15
- compact: v
16
- };
17
- };
18
- const format = (value) => {
19
- const v = compact(value);
20
- return `${v.slice(0, 6)}-${v.slice(6)}`;
21
- };
22
- /** Generate a random valid Swedish org number. */
23
- const generate = () => {
24
- const p = randomDigits(9);
25
- const cs = luhnChecksum(p + "0");
26
- return p + String((10 - cs) % 10);
27
- };
28
- /** Swedish Organization Number. */
29
- const orgnr = {
30
- name: "Swedish Organization Number",
31
- localName: "Organisationsnummer",
32
- abbreviation: "Orgnr",
33
- aliases: [
34
- "organisationsnummer",
35
- "org.nr",
36
- "org nr"
37
- ],
38
- candidatePattern: "\\d{6}-\\d{4}",
39
- scope: "country",
40
- country: "SE",
41
- entityType: "company",
42
- sourceUrl: "https://www.skatteverket.se/",
43
- examples: ["1234567897"],
44
- compact,
45
- format,
46
- validate,
47
- generate
48
- };
1
+ import { createValidator } from "../runtime.js";
2
+ //#region src/generated/se/orgnr.ts
3
+ const orgnr = createValidator("se.orgnr", 153);
4
+ const compact = orgnr.compact;
5
+ const format = orgnr.format;
6
+ const validate = orgnr.validate;
7
+ const generate = () => orgnr.generate?.() ?? (() => {
8
+ throw new Error("Validator se.orgnr cannot generate values");
9
+ })();
49
10
  //#endregion
50
11
  export { compact, orgnr as default, format, generate, validate };
51
12