@stll/stdnum 2.1.1 → 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 -18
  878. package/dist/_util/clean.js +0 -76
  879. package/dist/_util/clean.js.map +0 -1
  880. package/dist/_util/date.d.ts +0 -12
  881. package/dist/_util/date.js +0 -19
  882. package/dist/_util/date.js.map +0 -1
  883. package/dist/_util/generate.d.ts +0 -28
  884. package/dist/_util/generate.js +0 -43
  885. package/dist/_util/generate.js.map +0 -1
  886. package/dist/_util/result.d.ts +0 -8
  887. package/dist/_util/result.js +0 -13
  888. package/dist/_util/result.js.map +0 -1
  889. package/dist/_util/strings.d.ts +0 -21
  890. package/dist/_util/strings.js +0 -28
  891. package/dist/_util/strings.js.map +0 -1
  892. package/src/_checksums/keccak.ts +0 -145
  893. package/src/_checksums/luhn.ts +0 -24
  894. package/src/_checksums/mod1110.ts +0 -24
  895. package/src/_checksums/mod112.ts +0 -41
  896. package/src/_checksums/mod97.ts +0 -28
  897. package/src/_checksums/sha256.ts +0 -125
  898. package/src/_checksums/verhoeff.ts +0 -71
  899. package/src/_checksums/weighted-sum.ts +0 -23
  900. package/src/_util/arabic.ts +0 -48
  901. package/src/_util/clean.ts +0 -91
  902. package/src/_util/date.ts +0 -23
  903. package/src/_util/generate.ts +0 -62
  904. package/src/_util/result.ts +0 -10
  905. package/src/_util/strings.ts +0 -32
  906. package/src/ad/mod.ts +0 -1
  907. package/src/ad/nrt.ts +0 -123
  908. package/src/ae/eid.ts +0 -110
  909. package/src/ae/mod.ts +0 -1
  910. package/src/ai/mod.ts +0 -1
  911. package/src/ai/tin.ts +0 -102
  912. package/src/al/mod.ts +0 -1
  913. package/src/al/nipt.ts +0 -82
  914. package/src/am/mod.ts +0 -1
  915. package/src/am/tin.ts +0 -77
  916. package/src/ar/cbu.ts +0 -110
  917. package/src/ar/cuit.ts +0 -149
  918. package/src/ar/dni.ts +0 -83
  919. package/src/ar/mod.ts +0 -3
  920. package/src/at/businessid.ts +0 -78
  921. package/src/at/mod.ts +0 -4
  922. package/src/at/tin.ts +0 -94
  923. package/src/at/uid.ts +0 -96
  924. package/src/at/vnr.ts +0 -161
  925. package/src/au/abn.ts +0 -89
  926. package/src/au/acn.ts +0 -90
  927. package/src/au/mod.ts +0 -3
  928. package/src/au/tfn.ts +0 -89
  929. package/src/az/mod.ts +0 -1
  930. package/src/az/voen.ts +0 -131
  931. package/src/ba/jmbg.ts +0 -130
  932. package/src/ba/mod.ts +0 -1
  933. package/src/bd/mod.ts +0 -1
  934. package/src/bd/nid.ts +0 -143
  935. package/src/be/bis.ts +0 -109
  936. package/src/be/mod.ts +0 -3
  937. package/src/be/nn.ts +0 -129
  938. package/src/be/vat.ts +0 -111
  939. package/src/bg/egn.ts +0 -164
  940. package/src/bg/mod.ts +0 -3
  941. package/src/bg/pnf.ts +0 -90
  942. package/src/bg/vat.ts +0 -160
  943. package/src/bh/cpr.ts +0 -94
  944. package/src/bh/mod.ts +0 -1
  945. package/src/bic.ts +0 -105
  946. package/src/br/cnpj.ts +0 -156
  947. package/src/br/cpf.ts +0 -118
  948. package/src/br/mod.ts +0 -2
  949. package/src/by/mod.ts +0 -1
  950. package/src/by/unp.ts +0 -163
  951. package/src/bz/mod.ts +0 -1
  952. package/src/bz/tin.ts +0 -122
  953. package/src/ca/bn.ts +0 -111
  954. package/src/ca/mod.ts +0 -2
  955. package/src/ca/sin.ts +0 -95
  956. package/src/ch/mod.ts +0 -3
  957. package/src/ch/ssn.ts +0 -99
  958. package/src/ch/uid.ts +0 -112
  959. package/src/ch/vat.ts +0 -89
  960. package/src/cl/mod.ts +0 -1
  961. package/src/cl/rut.ts +0 -124
  962. package/src/cn/mod.ts +0 -2
  963. package/src/cn/ric.ts +0 -184
  964. package/src/cn/uscc.ts +0 -127
  965. package/src/co/mod.ts +0 -1
  966. package/src/co/nit.ts +0 -116
  967. package/src/cr/cpf.ts +0 -116
  968. package/src/cr/mod.ts +0 -1
  969. package/src/creditcard.ts +0 -194
  970. package/src/crypto/btcbase58.ts +0 -144
  971. package/src/crypto/btcbech32.ts +0 -210
  972. package/src/crypto/eth.ts +0 -114
  973. package/src/crypto/mod.ts +0 -4
  974. package/src/crypto/wallet.ts +0 -67
  975. package/src/cu/mod.ts +0 -1
  976. package/src/cu/ni.ts +0 -146
  977. package/src/cy/mod.ts +0 -1
  978. package/src/cy/vat.ts +0 -134
  979. package/src/cz/dic.ts +0 -140
  980. package/src/cz/ico.ts +0 -86
  981. package/src/cz/mod.ts +0 -3
  982. package/src/cz/rc.ts +0 -222
  983. package/src/de/handelsreg.ts +0 -122
  984. package/src/de/idnr.ts +0 -147
  985. package/src/de/mod.ts +0 -5
  986. package/src/de/stnr.ts +0 -222
  987. package/src/de/svnr.ts +0 -171
  988. package/src/de/vat.ts +0 -102
  989. package/src/dk/cpr.ts +0 -137
  990. package/src/dk/cvr.ts +0 -91
  991. package/src/dk/mod.ts +0 -3
  992. package/src/dk/vat.ts +0 -96
  993. package/src/do/mod.ts +0 -1
  994. package/src/do/rnc.ts +0 -130
  995. package/src/ec/mod.ts +0 -1
  996. package/src/ec/ruc.ts +0 -199
  997. package/src/ee/ik.ts +0 -167
  998. package/src/ee/mod.ts +0 -3
  999. package/src/ee/registrikood.ts +0 -86
  1000. package/src/ee/vat.ts +0 -89
  1001. package/src/eg/mod.ts +0 -1
  1002. package/src/eg/tn.ts +0 -107
  1003. package/src/es/cif.ts +0 -108
  1004. package/src/es/dni.ts +0 -94
  1005. package/src/es/mod.ts +0 -5
  1006. package/src/es/nie.ts +0 -111
  1007. package/src/es/nss.ts +0 -113
  1008. package/src/es/vat.ts +0 -186
  1009. package/src/eu/mod.ts +0 -1
  1010. package/src/eu/vat.ts +0 -220
  1011. package/src/fi/hetu.ts +0 -200
  1012. package/src/fi/mod.ts +0 -3
  1013. package/src/fi/vat.ts +0 -87
  1014. package/src/fi/ytunnus.ts +0 -87
  1015. package/src/fr/mod.ts +0 -5
  1016. package/src/fr/nif.ts +0 -97
  1017. package/src/fr/nir.ts +0 -197
  1018. package/src/fr/siren.ts +0 -83
  1019. package/src/fr/siret.ts +0 -126
  1020. package/src/fr/tva.ts +0 -150
  1021. package/src/gb/mod.ts +0 -5
  1022. package/src/gb/nhs.ts +0 -92
  1023. package/src/gb/nino.ts +0 -158
  1024. package/src/gb/sedol.ts +0 -143
  1025. package/src/gb/utr.ts +0 -85
  1026. package/src/gb/vat.ts +0 -162
  1027. package/src/ge/mod.ts +0 -1
  1028. package/src/ge/pin.ts +0 -75
  1029. package/src/gh/mod.ts +0 -1
  1030. package/src/gh/tin.ts +0 -105
  1031. package/src/gr/amka.ts +0 -108
  1032. package/src/gr/mod.ts +0 -2
  1033. package/src/gr/vat.ts +0 -100
  1034. package/src/gt/mod.ts +0 -1
  1035. package/src/gt/nit.ts +0 -123
  1036. package/src/hk/hkid.ts +0 -136
  1037. package/src/hk/mod.ts +0 -1
  1038. package/src/hr/mod.ts +0 -1
  1039. package/src/hr/vat.ts +0 -83
  1040. package/src/hu/mod.ts +0 -1
  1041. package/src/hu/vat.ts +0 -87
  1042. package/src/iban.ts +0 -344
  1043. package/src/id/mod.ts +0 -1
  1044. package/src/id/npwp.ts +0 -191
  1045. package/src/ie/mod.ts +0 -2
  1046. package/src/ie/pps.ts +0 -109
  1047. package/src/ie/vat.ts +0 -142
  1048. package/src/il/idnr.ts +0 -91
  1049. package/src/il/mod.ts +0 -1
  1050. package/src/in/aadhaar.ts +0 -100
  1051. package/src/in/gstin.ts +0 -175
  1052. package/src/in/mod.ts +0 -3
  1053. package/src/in/pan.ts +0 -97
  1054. package/src/index.ts +0 -123
  1055. package/src/iq/mod.ts +0 -1
  1056. package/src/iq/nid.ts +0 -75
  1057. package/src/ir/mod.ts +0 -1
  1058. package/src/ir/nid.ts +0 -124
  1059. package/src/is/kennitala.ts +0 -129
  1060. package/src/is/mod.ts +0 -2
  1061. package/src/is/vsk.ts +0 -67
  1062. package/src/isin.ts +0 -124
  1063. package/src/it/codicefiscale.ts +0 -332
  1064. package/src/it/iva.ts +0 -119
  1065. package/src/it/mod.ts +0 -2
  1066. package/src/jp/cn.ts +0 -95
  1067. package/src/jp/mod.ts +0 -2
  1068. package/src/jp/mynumber.ts +0 -107
  1069. package/src/kr/brn.ts +0 -105
  1070. package/src/kr/mod.ts +0 -2
  1071. package/src/kr/rrn.ts +0 -189
  1072. package/src/kw/civil.ts +0 -161
  1073. package/src/kw/mod.ts +0 -1
  1074. package/src/kz/iin.ts +0 -184
  1075. package/src/kz/mod.ts +0 -1
  1076. package/src/lei.ts +0 -102
  1077. package/src/li/mod.ts +0 -1
  1078. package/src/li/peid.ts +0 -70
  1079. package/src/lk/mod.ts +0 -1
  1080. package/src/lk/nic.ts +0 -233
  1081. package/src/lt/asmens.ts +0 -124
  1082. package/src/lt/mod.ts +0 -2
  1083. package/src/lt/vat.ts +0 -114
  1084. package/src/lu/mod.ts +0 -1
  1085. package/src/lu/vat.ts +0 -85
  1086. package/src/luhn.ts +0 -79
  1087. package/src/lv/mod.ts +0 -1
  1088. package/src/lv/vat.ts +0 -169
  1089. package/src/ma/ice.ts +0 -83
  1090. package/src/ma/mod.ts +0 -1
  1091. package/src/mc/mod.ts +0 -1
  1092. package/src/mc/tva.ts +0 -78
  1093. package/src/md/idno.ts +0 -90
  1094. package/src/md/mod.ts +0 -1
  1095. package/src/me/mod.ts +0 -1
  1096. package/src/me/pib.ts +0 -83
  1097. package/src/mk/edb.ts +0 -95
  1098. package/src/mk/mod.ts +0 -1
  1099. package/src/mt/mod.ts +0 -1
  1100. package/src/mt/vat.ts +0 -93
  1101. package/src/mu/brn.ts +0 -106
  1102. package/src/mu/mod.ts +0 -1
  1103. package/src/mx/clabe.ts +0 -115
  1104. package/src/mx/curp.ts +0 -247
  1105. package/src/mx/mod.ts +0 -3
  1106. package/src/mx/rfc.ts +0 -179
  1107. package/src/my/mod.ts +0 -1
  1108. package/src/my/nric.ts +0 -260
  1109. package/src/ng/mod.ts +0 -1
  1110. package/src/ng/nin.ts +0 -76
  1111. package/src/ni/mod.ts +0 -1
  1112. package/src/ni/ruc.ts +0 -180
  1113. package/src/nl/bsn.ts +0 -91
  1114. package/src/nl/kvk.ts +0 -63
  1115. package/src/nl/mod.ts +0 -3
  1116. package/src/nl/vat.ts +0 -95
  1117. package/src/no/fodselsnummer.ts +0 -197
  1118. package/src/no/mod.ts +0 -3
  1119. package/src/no/mva.ts +0 -77
  1120. package/src/no/orgnr.ts +0 -83
  1121. package/src/nz/ird.ts +0 -132
  1122. package/src/nz/mod.ts +0 -1
  1123. package/src/pa/mod.ts +0 -1
  1124. package/src/pa/ruc.ts +0 -387
  1125. package/src/patterns.ts +0 -390
  1126. package/src/pe/mod.ts +0 -1
  1127. package/src/pe/ruc.ts +0 -124
  1128. package/src/ph/mod.ts +0 -1
  1129. package/src/ph/philid.ts +0 -80
  1130. package/src/pk/cnic.ts +0 -109
  1131. package/src/pk/mod.ts +0 -1
  1132. package/src/pl/mod.ts +0 -3
  1133. package/src/pl/nip.ts +0 -100
  1134. package/src/pl/pesel.ts +0 -155
  1135. package/src/pl/regon.ts +0 -102
  1136. package/src/pt/cc.ts +0 -112
  1137. package/src/pt/mod.ts +0 -2
  1138. package/src/pt/vat.ts +0 -98
  1139. package/src/ro/cnp.ts +0 -179
  1140. package/src/ro/mod.ts +0 -2
  1141. package/src/ro/vat.ts +0 -99
  1142. package/src/rs/mod.ts +0 -1
  1143. package/src/rs/pib.ts +0 -87
  1144. package/src/ru/inn.ts +0 -113
  1145. package/src/ru/mod.ts +0 -1
  1146. package/src/se/mod.ts +0 -3
  1147. package/src/se/orgnr.ts +0 -85
  1148. package/src/se/personnummer.ts +0 -183
  1149. package/src/se/vat.ts +0 -97
  1150. package/src/sg/mod.ts +0 -1
  1151. package/src/sg/uen.ts +0 -288
  1152. package/src/si/emso.ts +0 -178
  1153. package/src/si/mod.ts +0 -2
  1154. package/src/si/vat.ts +0 -113
  1155. package/src/sk/dic.ts +0 -110
  1156. package/src/sk/ico.ts +0 -40
  1157. package/src/sk/mod.ts +0 -3
  1158. package/src/sk/rc.ts +0 -44
  1159. package/src/th/mod.ts +0 -1
  1160. package/src/th/tin.ts +0 -106
  1161. package/src/tr/mod.ts +0 -2
  1162. package/src/tr/tckimlik.ts +0 -115
  1163. package/src/tr/vkn.ts +0 -101
  1164. package/src/tw/mod.ts +0 -1
  1165. package/src/tw/ubn.ts +0 -112
  1166. package/src/types.ts +0 -262
  1167. package/src/ua/edrpou.ts +0 -108
  1168. package/src/ua/mod.ts +0 -1
  1169. package/src/us/ein.ts +0 -261
  1170. package/src/us/itin.ts +0 -129
  1171. package/src/us/mod.ts +0 -4
  1172. package/src/us/rtn.ts +0 -139
  1173. package/src/us/ssn.ts +0 -121
  1174. package/src/uy/mod.ts +0 -1
  1175. package/src/uy/rut.ts +0 -150
  1176. package/src/ve/mod.ts +0 -1
  1177. package/src/ve/rif.ts +0 -147
  1178. package/src/vn/mod.ts +0 -1
  1179. package/src/vn/mst.ts +0 -132
  1180. package/src/za/idnr.ts +0 -159
  1181. package/src/za/mod.ts +0 -1
package/dist/cz/dic.js CHANGED
@@ -1,90 +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
- import { validate as validate$1 } from "./rc.js";
7
- //#region src/cz/dic.ts
8
- const ICO_WEIGHTS = [
9
- 8,
10
- 7,
11
- 6,
12
- 5,
13
- 4,
14
- 3,
15
- 2
16
- ];
17
- const compact = (value) => {
18
- const v = clean(value, " -");
19
- if (v.startsWith("CZ") || v.startsWith("cz")) return v.slice(2);
20
- return v;
21
- };
22
- const checkLegal = (value) => {
23
- const v11 = (11 - weightedSum(value.slice(0, 7), ICO_WEIGHTS, 11)) % 11;
24
- return (v11 === 0 ? 1 : v11 % 10) === Number(value[7]);
25
- };
26
- const checkSpecial = (value) => {
27
- return ((8 - ((10 - weightedSum(value.slice(1, 8), [
28
- 8,
29
- 7,
30
- 6,
31
- 5,
32
- 4,
33
- 3,
34
- 2
35
- ], 11)) % 11 + 11) % 11) % 10 + 10) % 10 === Number(value[8]);
36
- };
37
- const validate = (value) => {
38
- const v = compact(value);
39
- if (v.length < 8 || v.length > 10) return err("INVALID_LENGTH", "DIČ must be 8-10 digits (without CZ prefix)");
40
- if (!isdigits(v)) return err("INVALID_FORMAT", "DIČ must contain only digits");
41
- if (v.length === 8) {
42
- if (v[0] === "9") return err("INVALID_COMPONENT", "8-digit DIČ cannot start with 9");
43
- if (!checkLegal(v)) return err("INVALID_CHECKSUM", "DIČ check digit does not match");
44
- return {
45
- valid: true,
46
- compact: v
47
- };
48
- }
49
- if (v.length === 9 && v[0] === "6") {
50
- if (!checkSpecial(v)) return err("INVALID_CHECKSUM", "DIČ special entity check digit mismatch");
51
- return {
52
- valid: true,
53
- compact: v
54
- };
55
- }
56
- return validate$1(v);
57
- };
58
- const format = (value) => `CZ${compact(value)}`;
59
- /** Generate a random valid 8-digit DIČ. */
60
- const generate = () => {
61
- const payload = String(randomInt(1, 8)) + randomDigits(6);
62
- const v11 = (11 - weightedSum(payload, ICO_WEIGHTS, 11)) % 11;
63
- const check = v11 === 0 ? 1 : v11 % 10;
64
- return payload + String(check);
65
- };
66
- /** Czech VAT Number. */
67
- const dic = {
68
- name: "Czech VAT Number",
69
- localName: "Daňové identifikační číslo",
70
- abbreviation: "DIČ",
71
- aliases: ["DIČ", "daňové identifikační číslo"],
72
- candidatePattern: "CZ\\d{8,10}",
73
- scope: "country",
74
- country: "CZ",
75
- entityType: "any",
76
- sourceUrl: "https://adisspr.mfcr.cz/dpr/DphReg",
77
- lengths: [
78
- 8,
79
- 9,
80
- 10
81
- ],
82
- examples: ["25123891", "7103192745"],
83
- compact,
84
- format,
85
- validate,
86
- generate
87
- };
1
+ import { createValidator } from "../runtime.js";
2
+ //#region src/generated/cz/dic.ts
3
+ const dic = createValidator("cz.dic", 47);
4
+ const compact = dic.compact;
5
+ const format = dic.format;
6
+ const validate = dic.validate;
7
+ const generate = () => dic.generate?.() ?? (() => {
8
+ throw new Error("Validator cz.dic cannot generate values");
9
+ })();
88
10
  //#endregion
89
11
  export { compact, dic as default, format, generate, validate };
90
12
 
@@ -1 +1 @@
1
- {"version":3,"file":"dic.js","names":["validateRc"],"sources":["../../src/cz/dic.ts"],"sourcesContent":["/**\n * DIČ (Daňové identifikační číslo).\n *\n * Czech tax identification number / VAT number.\n * Format: \"CZ\" prefix + 8, 9, or 10 digits.\n * - 8 digits: company (same checksum as IČO,\n * but first digit cannot be 9)\n * - 9 digits starting with 6: special entity\n * - 9-10 digits: individual (birth number)\n *\n * @see https://adisspr.mfcr.cz/dpr/DphReg\n */\n\nimport type {\n ValidateResult,\n CountryValidator,\n} from \"../types\";\nimport { validate as validateRc } from \"./rc\";\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 ICO_WEIGHTS = [8, 7, 6, 5, 4, 3, 2] as const;\n\nconst compact = (value: string): string => {\n const v = clean(value, \" -\");\n if (v.startsWith(\"CZ\") || v.startsWith(\"cz\")) {\n return v.slice(2);\n }\n return v;\n};\n\nconst checkLegal = (value: string): boolean => {\n const sum = weightedSum(\n value.slice(0, 7),\n ICO_WEIGHTS,\n 11,\n );\n const v11 = (11 - sum) % 11;\n const check = v11 === 0 ? 1 : v11 % 10;\n return check === Number(value[7]);\n};\n\nconst checkSpecial = (value: string): boolean => {\n // Skip the leading \"6\"; check digits 1..7\n const sum = weightedSum(\n value.slice(1, 8),\n [8, 7, 6, 5, 4, 3, 2],\n 11,\n );\n const check =\n (((8 - ((((10 - sum) % 11) + 11) % 11)) % 10) + 10) %\n 10;\n return check === Number(value[8]);\n};\n\nconst validate = (value: string): ValidateResult => {\n const v = compact(value);\n if (v.length < 8 || v.length > 10) {\n return err(\n \"INVALID_LENGTH\",\n \"DIČ must be 8-10 digits (without CZ prefix)\",\n );\n }\n if (!isdigits(v)) {\n return err(\n \"INVALID_FORMAT\",\n \"DIČ must contain only digits\",\n );\n }\n\n // 8-digit: legal entity (IČO-like checksum)\n if (v.length === 8) {\n if (v[0] === \"9\") {\n return err(\n \"INVALID_COMPONENT\",\n \"8-digit DIČ cannot start with 9\",\n );\n }\n if (!checkLegal(v)) {\n return err(\n \"INVALID_CHECKSUM\",\n \"DIČ check digit does not match\",\n );\n }\n return { valid: true, compact: v };\n }\n\n // 9-digit starting with 6: special entity\n if (v.length === 9 && v[0] === \"6\") {\n if (!checkSpecial(v)) {\n return err(\n \"INVALID_CHECKSUM\",\n \"DIČ special entity check digit mismatch\",\n );\n }\n return { valid: true, compact: v };\n }\n\n // 9-10 digit: birth number\n return validateRc(v);\n};\n\nconst format = (value: string): string =>\n `CZ${compact(value)}`;\n\n/** Generate a random valid 8-digit DIČ. */\nconst generate = (): string => {\n const first = String(randomInt(1, 8));\n const payload = first + randomDigits(6);\n const sum = weightedSum(payload, ICO_WEIGHTS, 11);\n const v11 = (11 - sum) % 11;\n const check = v11 === 0 ? 1 : v11 % 10;\n return payload + String(check);\n};\n\n/** Czech VAT Number. */\nconst dic: CountryValidator<\"CZ\"> = {\n name: \"Czech VAT Number\",\n localName: \"Daňové identifikační číslo\",\n abbreviation: \"DIČ\",\n aliases: [\"DIČ\", \"daňové identifikační číslo\"] as const,\n candidatePattern: \"CZ\\\\d{8,10}\",\n scope: \"country\",\n country: \"CZ\",\n entityType: \"any\",\n sourceUrl: \"https://adisspr.mfcr.cz/dpr/DphReg\",\n lengths: [8, 9, 10] as const,\n examples: [\"25123891\", \"7103192745\"] as const,\n compact,\n format,\n validate,\n generate,\n};\n\nexport default dic;\nexport { compact, format, validate, generate };\n"],"mappings":";;;;;;;AAyBA,MAAM,cAAc;CAAC;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;AAAC;AAExC,MAAM,WAAW,UAA0B;CACzC,MAAM,IAAI,MAAM,OAAO,IAAI;CAC3B,IAAI,EAAE,WAAW,IAAI,KAAK,EAAE,WAAW,IAAI,GACzC,OAAO,EAAE,MAAM,CAAC;CAElB,OAAO;AACT;AAEA,MAAM,cAAc,UAA2B;CAM7C,MAAM,OAAO,KALD,YACV,MAAM,MAAM,GAAG,CAAC,GAChB,aACA,EAEkB,KAAK;CAEzB,QADc,QAAQ,IAAI,IAAI,MAAM,QACnB,OAAO,MAAM,EAAE;AAClC;AAEA,MAAM,gBAAgB,UAA2B;CAU/C,SAFK,MAAQ,KAND,YACV,MAAM,MAAM,GAAG,CAAC,GAChB;EAAC;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;CAAC,GACpB,EAGkB,KAAK,KAAM,MAAM,MAAO,KAAM,MAChD,OACe,OAAO,MAAM,EAAE;AAClC;AAEA,MAAM,YAAY,UAAkC;CAClD,MAAM,IAAI,QAAQ,KAAK;CACvB,IAAI,EAAE,SAAS,KAAK,EAAE,SAAS,IAC7B,OAAO,IACL,kBACA,6CACF;CAEF,IAAI,CAAC,SAAS,CAAC,GACb,OAAO,IACL,kBACA,8BACF;CAIF,IAAI,EAAE,WAAW,GAAG;EAClB,IAAI,EAAE,OAAO,KACX,OAAO,IACL,qBACA,iCACF;EAEF,IAAI,CAAC,WAAW,CAAC,GACf,OAAO,IACL,oBACA,gCACF;EAEF,OAAO;GAAE,OAAO;GAAM,SAAS;EAAE;CACnC;CAGA,IAAI,EAAE,WAAW,KAAK,EAAE,OAAO,KAAK;EAClC,IAAI,CAAC,aAAa,CAAC,GACjB,OAAO,IACL,oBACA,yCACF;EAEF,OAAO;GAAE,OAAO;GAAM,SAAS;EAAE;CACnC;CAGA,OAAOA,WAAW,CAAC;AACrB;AAEA,MAAM,UAAU,UACd,KAAK,QAAQ,KAAK;;AAGpB,MAAM,iBAAyB;CAE7B,MAAM,UADQ,OAAO,UAAU,GAAG,CAAC,CACf,IAAI,aAAa,CAAC;CAEtC,MAAM,OAAO,KADD,YAAY,SAAS,aAAa,EAC1B,KAAK;CACzB,MAAM,QAAQ,QAAQ,IAAI,IAAI,MAAM;CACpC,OAAO,UAAU,OAAO,KAAK;AAC/B;;AAGA,MAAM,MAA8B;CAClC,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS,CAAC,OAAO,4BAA4B;CAC7C,kBAAkB;CAClB,OAAO;CACP,SAAS;CACT,YAAY;CACZ,WAAW;CACX,SAAS;EAAC;EAAG;EAAG;CAAE;CAClB,UAAU,CAAC,YAAY,YAAY;CACnC;CACA;CACA;CACA;AACF"}
1
+ {"version":3,"file":"dic.js","names":[],"sources":["../../src/generated/cz/dic.ts"],"sourcesContent":["// Generated by scripts/generate-public-surface.ts. Do not edit.\nimport { createValidator } from \"../../runtime\";\nimport type { CountryValidator } from \"../../types\";\n\nconst dic: CountryValidator<\"CZ\"> = createValidator(\n \"cz.dic\",\n 47,\n);\n\nexport default dic;\nexport const compact = dic.compact;\nexport const format = dic.format;\nexport const validate = dic.validate;\nexport const generate = (): string =>\n dic.generate?.() ??\n (() => {\n throw new Error(\n \"Validator cz.dic 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/ico.d.ts CHANGED
@@ -1,13 +1,10 @@
1
1
  import { CountryValidator, ValidateResult } from "../types.js";
2
-
3
- //#region src/cz/ico.d.ts
2
+ //#region src/generated/cz/ico.d.ts
3
+ declare const ico: 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 ICO. */
6
+ declare const validate: (value: string) => ValidateResult;
8
7
  declare const generate: () => string;
9
- /** Czech Company Identification Number. */
10
- declare const ico: CountryValidator<"CZ">;
11
8
  //#endregion
12
9
  export { compact, ico as default, format, generate, validate };
13
10
  //# sourceMappingURL=ico.d.ts.map
package/dist/cz/ico.js CHANGED
@@ -1,61 +1,12 @@
1
- import { weightedSum } from "../_checksums/weighted-sum.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/cz/ico.ts
7
- const WEIGHTS = [
8
- 8,
9
- 7,
10
- 6,
11
- 5,
12
- 4,
13
- 3,
14
- 2
15
- ];
16
- const compact = (value) => clean(value, " -");
17
- const validate = (value) => {
18
- const v = compact(value);
19
- if (v.length !== 8) return err("INVALID_LENGTH", "IČO must be exactly 8 digits");
20
- if (!isdigits(v)) return err("INVALID_FORMAT", "IČO must contain only digits");
21
- const v11 = (11 - weightedSum(v.slice(0, 7), WEIGHTS, 11)) % 11;
22
- if ((v11 === 0 ? 1 : v11 % 10) !== Number(v[7])) return err("INVALID_CHECKSUM", "IČO check digit does not match");
23
- return {
24
- valid: true,
25
- compact: v
26
- };
27
- };
28
- const format = (value) => compact(value);
29
- /** Generate a random valid ICO. */
30
- const generate = () => {
31
- const payload = randomDigits(7);
32
- const v11 = (11 - weightedSum(payload, WEIGHTS, 11)) % 11;
33
- const check = v11 === 0 ? 1 : v11 % 10;
34
- return `${payload}${String(check)}`;
35
- };
36
- /** Czech Company Identification Number. */
37
- const ico = {
38
- name: "Czech Company ID",
39
- localName: "Identifikační číslo osoby",
40
- abbreviation: "IČO",
41
- aliases: [
42
- "IČO",
43
- "IČ",
44
- "identifikační číslo"
45
- ],
46
- candidatePattern: "\\d{8}",
47
- scope: "country",
48
- country: "CZ",
49
- entityType: "company",
50
- description: "8-digit company ID assigned by the Czech Statistical Office",
51
- sourceUrl: "https://www.czso.cz/",
52
- lengths: [8],
53
- examples: ["25123891", "27074358"],
54
- compact,
55
- format,
56
- validate,
57
- generate
58
- };
1
+ import { createValidator } from "../runtime.js";
2
+ //#region src/generated/cz/ico.ts
3
+ const ico = createValidator("cz.ico", 48);
4
+ const compact = ico.compact;
5
+ const format = ico.format;
6
+ const validate = ico.validate;
7
+ const generate = () => ico.generate?.() ?? (() => {
8
+ throw new Error("Validator cz.ico cannot generate values");
9
+ })();
59
10
  //#endregion
60
11
  export { compact, ico as default, format, generate, validate };
61
12
 
@@ -1 +1 @@
1
- {"version":3,"file":"ico.js","names":[],"sources":["../../src/cz/ico.ts"],"sourcesContent":["/**\n * IČO (Identifikační číslo osoby).\n *\n * Czech company identification number. 8 digits\n * with a weighted checksum. Assigned by the Czech\n * Statistical Office.\n *\n * @see https://www.czso.cz/\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 } from \"#util/generate\";\nimport { err } from \"#util/result\";\nimport { isdigits } from \"#util/strings\";\n\nconst WEIGHTS = [8, 7, 6, 5, 4, 3, 2] as const;\n\nconst compact = (value: string): string =>\n clean(value, \" -\");\n\nconst validate = (value: string): ValidateResult => {\n const v = compact(value);\n if (v.length !== 8) {\n return err(\n \"INVALID_LENGTH\",\n \"IČO must be exactly 8 digits\",\n );\n }\n if (!isdigits(v)) {\n return err(\n \"INVALID_FORMAT\",\n \"IČO must contain only digits\",\n );\n }\n const sum = weightedSum(v.slice(0, 7), WEIGHTS, 11);\n const v11 = (11 - sum) % 11;\n const check = v11 === 0 ? 1 : v11 % 10;\n if (check !== Number(v[7])) {\n return err(\n \"INVALID_CHECKSUM\",\n \"IČO check digit does not match\",\n );\n }\n return { valid: true, compact: v };\n};\n\nconst format = (value: string): string => compact(value);\n\n/** Generate a random valid ICO. */\nconst generate = (): string => {\n const payload = randomDigits(7);\n const sum = weightedSum(payload, WEIGHTS, 11);\n const v11 = (11 - sum) % 11;\n const check = v11 === 0 ? 1 : v11 % 10;\n return `${payload}${String(check)}`;\n};\n\n/** Czech Company Identification Number. */\nconst ico: CountryValidator<\"CZ\"> = {\n name: \"Czech Company ID\",\n localName: \"Identifikační číslo osoby\",\n abbreviation: \"IČO\",\n aliases: [\"IČO\", \"IČ\", \"identifikační číslo\"] as const,\n candidatePattern: \"\\\\d{8}\",\n scope: \"country\",\n country: \"CZ\",\n entityType: \"company\",\n description:\n \"8-digit company ID assigned by the Czech Statistical Office\",\n sourceUrl: \"https://www.czso.cz/\",\n lengths: [8] as const,\n examples: [\"25123891\", \"27074358\"] as const,\n compact,\n format,\n validate,\n generate,\n};\n\nexport default ico;\nexport { compact, format, generate, validate };\n"],"mappings":";;;;;;AAqBA,MAAM,UAAU;CAAC;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;AAAC;AAEpC,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;CAGF,MAAM,OAAO,KADD,YAAY,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,EAC5B,KAAK;CAEzB,KADc,QAAQ,IAAI,IAAI,MAAM,QACtB,OAAO,EAAE,EAAE,GACvB,OAAO,IACL,oBACA,gCACF;CAEF,OAAO;EAAE,OAAO;EAAM,SAAS;CAAE;AACnC;AAEA,MAAM,UAAU,UAA0B,QAAQ,KAAK;;AAGvD,MAAM,iBAAyB;CAC7B,MAAM,UAAU,aAAa,CAAC;CAE9B,MAAM,OAAO,KADD,YAAY,SAAS,SAAS,EACtB,KAAK;CACzB,MAAM,QAAQ,QAAQ,IAAI,IAAI,MAAM;CACpC,OAAO,GAAG,UAAU,OAAO,KAAK;AAClC;;AAGA,MAAM,MAA8B;CAClC,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS;EAAC;EAAO;EAAM;CAAqB;CAC5C,kBAAkB;CAClB,OAAO;CACP,SAAS;CACT,YAAY;CACZ,aACE;CACF,WAAW;CACX,SAAS,CAAC,CAAC;CACX,UAAU,CAAC,YAAY,UAAU;CACjC;CACA;CACA;CACA;AACF"}
1
+ {"version":3,"file":"ico.js","names":[],"sources":["../../src/generated/cz/ico.ts"],"sourcesContent":["// Generated by scripts/generate-public-surface.ts. Do not edit.\nimport { createValidator } from \"../../runtime\";\nimport type { CountryValidator } from \"../../types\";\n\nconst ico: CountryValidator<\"CZ\"> = createValidator(\n \"cz.ico\",\n 48,\n);\n\nexport default ico;\nexport const compact = ico.compact;\nexport const format = ico.format;\nexport const validate = ico.validate;\nexport const generate = (): string =>\n ico.generate?.() ??\n (() => {\n throw new Error(\n \"Validator cz.ico 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/mod.d.ts CHANGED
@@ -1,8 +1,6 @@
1
1
  import dic from "./dic.js";
2
2
  import ico from "./ico.js";
3
3
  import rc from "./rc.js";
4
-
5
- //#region src/cz/mod.d.ts
6
4
  declare namespace mod_d_exports {
7
5
  export { dic, ico, rc };
8
6
  }
package/dist/cz/mod.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { __exportAll } from "../_virtual/_rolldown/runtime.js";
2
- import rc from "./rc.js";
3
2
  import dic from "./dic.js";
4
3
  import ico from "./ico.js";
5
- //#region src/cz/mod.ts
4
+ import rc from "./rc.js";
5
+ //#region src/generated/cz/mod.ts
6
6
  var cz_exports = /* @__PURE__ */ __exportAll({
7
7
  dic: () => dic,
8
8
  ico: () => ico,
@@ -1 +1 @@
1
- {"version":3,"file":"mod.js","names":[],"sources":["../../src/cz/mod.ts"],"sourcesContent":["export { default as dic } from \"./dic\";\nexport { default as ico } from \"./ico\";\nexport { default as rc } from \"./rc\";\n"],"mappings":""}
1
+ {"version":3,"file":"mod.js","names":[],"sources":["../../src/generated/cz/mod.ts"],"sourcesContent":["// Generated by scripts/generate-public-surface.ts. Do not edit.\nexport { default as dic } from \"./dic\";\nexport { default as ico } from \"./ico\";\nexport { default as rc } from \"./rc\";\n"],"mappings":""}
package/dist/cz/rc.d.ts CHANGED
@@ -1,21 +1,11 @@
1
- import { CountryValidator, ParsedPersonId, ValidateResult } from "../types.js";
2
-
3
- //#region src/cz/rc.d.ts
1
+ import { CountryValidator, ParsedIdentifier, ParsedPersonId, ValidateResult } from "../types.js";
2
+ //#region src/generated/cz/rc.d.ts
3
+ declare const rc: CountryValidator<"CZ", 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 birth number.
9
- * Returns null if the value is not valid.
10
- */
11
- declare const parse: (value: string) => ParsedPersonId | null;
12
- /**
13
- * Generate a random valid 10-digit birth number.
14
- * Uses a random date between 1954 and 2024.
15
- */
6
+ declare const validate: (value: string) => ValidateResult;
16
7
  declare const generate: () => string;
17
- /** Czech/Slovak Birth Number. */
18
- declare const rc: CountryValidator<"CZ", ParsedPersonId>;
8
+ declare const parse: ((value: string) => ParsedIdentifier | null) & ((value: string) => ParsedPersonId | null);
19
9
  //#endregion
20
10
  export { compact, rc as default, format, generate, parse, validate };
21
11
  //# sourceMappingURL=rc.d.ts.map
package/dist/cz/rc.js CHANGED
@@ -1,116 +1,13 @@
1
- import { clean } from "../_util/clean.js";
2
- import { isValidDate } from "../_util/date.js";
3
- import { randomInt } from "../_util/generate.js";
4
- import { err } from "../_util/result.js";
5
- import { isdigits } from "../_util/strings.js";
6
- //#region src/cz/rc.ts
7
- const compact = (value) => clean(value, " /");
8
- const decodeMonth = (rawMonth, year, length) => {
9
- const candidates = length === 10 && year >= 2004 ? [
10
- 0,
11
- 50,
12
- 20,
13
- 70
14
- ] : [0, 50];
15
- for (const offset of candidates) {
16
- const month = rawMonth - offset;
17
- if (month >= 1 && month <= 12) return month;
18
- }
19
- return null;
20
- };
21
- const validate = (value) => {
22
- const v = compact(value);
23
- if (v.length !== 9 && v.length !== 10) return err("INVALID_LENGTH", "Birth number must be 9 or 10 digits");
24
- if (!isdigits(v)) return err("INVALID_FORMAT", "Birth number must contain only digits");
25
- const yy = Number(v.slice(0, 2));
26
- const mm = Number(v.slice(2, 4));
27
- const dd = Number(v.slice(4, 6));
28
- let year = yy + 1900;
29
- if (v.length === 9) {
30
- if (year >= 1980) year -= 100;
31
- if (year > 1953) return err("INVALID_COMPONENT", "9-digit birth numbers are pre-1954 only");
32
- } else if (year < 1954) year += 100;
33
- const month = decodeMonth(mm, year, v.length);
34
- if (month === null) return err("INVALID_COMPONENT", "Birth number contains an invalid month");
35
- if (dd < 1 || dd > 31) return err("INVALID_COMPONENT", "Birth number contains an invalid day");
36
- if (!isValidDate(year, month, dd)) return err("INVALID_COMPONENT", "Birth number contains an invalid date");
37
- if (v.length === 10) {
38
- const check = Number(v.slice(0, 9)) % 11 % 10;
39
- if (String(check) !== v[9]) return err("INVALID_CHECKSUM", "Birth number is not divisible by 11");
40
- }
41
- return {
42
- valid: true,
43
- compact: v
44
- };
45
- };
46
- const format = (value) => {
47
- const v = compact(value);
48
- return `${v.slice(0, 6)}/${v.slice(6)}`;
49
- };
50
- /**
51
- * Extract birth date and gender from a birth number.
52
- * Returns null if the value is not valid.
53
- */
54
- const parse = (value) => {
55
- const result = validate(value);
56
- if (!result.valid) return null;
57
- const v = result.compact;
58
- const yy = Number(v.slice(0, 2));
59
- const mm = Number(v.slice(2, 4));
60
- const dd = Number(v.slice(4, 6));
61
- const gender = mm >= 50 ? "female" : "male";
62
- let year = yy + 1900;
63
- if (v.length === 10 && year < 1954) year += 100;
64
- if (v.length === 9 && year >= 1980) year -= 100;
65
- const month = decodeMonth(mm, year, v.length);
66
- if (month === null) return null;
67
- return {
68
- birthDate: new Date(year, month - 1, dd),
69
- gender
70
- };
71
- };
72
- /**
73
- * Generate a random valid 10-digit birth number.
74
- * Uses a random date between 1954 and 2024.
75
- */
76
- const generate = () => {
77
- const year = randomInt(1954, 2024);
78
- const month = randomInt(1, 12);
79
- const day = randomInt(1, 28);
80
- const mm = Math.random() < .5 ? month + 50 : month;
81
- const datePart = `${String(year % 100).padStart(2, "0")}${String(mm).padStart(2, "0")}${String(day).padStart(2, "0")}`;
82
- for (let seq = 0; seq < 1e3; seq++) {
83
- const front = `${datePart}${String(seq).padStart(3, "0")}`;
84
- const check = Number(front) % 11 % 10;
85
- const result = `${front}${String(check)}`;
86
- if (validate(result).valid) return result;
87
- }
88
- throw new Error("Failed to generate valid birth number");
89
- };
90
- /** Czech/Slovak Birth Number. */
91
- const rc = {
92
- name: "Czech Birth Number",
93
- localName: "Rodné číslo",
94
- abbreviation: "RČ",
95
- aliases: [
96
- "rodné číslo",
97
- "RČ",
98
- "birth number"
99
- ],
100
- candidatePattern: "\\d{6}/\\d{3,4}",
101
- scope: "country",
102
- country: "CZ",
103
- entityType: "person",
104
- description: "Czech/Slovak national identifier encoding birth date and gender",
105
- sourceUrl: "https://www.mvcr.cz/mvcren/docDetail.aspx?docid=21975362&doctype=ART",
106
- lengths: [9, 10],
107
- examples: ["7103192745"],
108
- compact,
109
- format,
110
- parse,
111
- validate,
112
- generate
113
- };
1
+ import { createValidator } from "../runtime.js";
2
+ //#region src/generated/cz/rc.ts
3
+ const rc = createValidator("cz.rc", 49);
4
+ const compact = rc.compact;
5
+ const format = rc.format;
6
+ const validate = rc.validate;
7
+ const generate = () => rc.generate?.() ?? (() => {
8
+ throw new Error("Validator cz.rc cannot generate values");
9
+ })();
10
+ const parse = rc.parse;
114
11
  //#endregion
115
12
  export { compact, rc as default, format, generate, parse, validate };
116
13
 
package/dist/cz/rc.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rc.js","names":[],"sources":["../../src/cz/rc.ts"],"sourcesContent":["/**\n * RČ (Rodné číslo).\n *\n * Czech and Slovak national identifier (birth\n * number). 9 or 10 digits encoding date of birth\n * and gender. 10-digit numbers (post-1954) must\n * be divisible by 11.\n *\n * Women have 50 added to the month. For modern\n * 10-digit numbers, an additional +20 offset may\n * be used when the daily serial range is exhausted\n * (+70 for women).\n *\n * Canonical source:\n * - Czech Ministry of the Interior guidance on rodne\n * cislo, with the modern overflow-month rules\n *\n * We use this to keep the 9-digit historical form\n * valid while rejecting modern +20/+70 month offsets\n * on 9-digit numbers. Those overflow offsets are a\n * modern rule for 10-digit values.\n *\n * @see https://www.mvcr.cz/mvcren/docDetail.aspx?docid=21975362&doctype=ART\n * @see Law 133/2000 Sb.\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 { randomInt } from \"#util/generate\";\nimport { err } from \"#util/result\";\nimport { isdigits } from \"#util/strings\";\n\nconst compact = (value: string): string =>\n clean(value, \" /\");\n\nconst decodeMonth = (\n rawMonth: number,\n year: number,\n length: number,\n): number | null => {\n const candidates =\n length === 10 && year >= 2004\n ? [0, 50, 20, 70]\n : [0, 50];\n for (const offset of candidates) {\n const month = rawMonth - offset;\n if (month >= 1 && month <= 12) {\n return month;\n }\n }\n return null;\n};\n\nconst validate = (value: string): ValidateResult => {\n const v = compact(value);\n if (v.length !== 9 && v.length !== 10) {\n return err(\n \"INVALID_LENGTH\",\n \"Birth number must be 9 or 10 digits\",\n );\n }\n if (!isdigits(v)) {\n return err(\n \"INVALID_FORMAT\",\n \"Birth number 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\n // Resolve full year\n let year = yy + 1900;\n if (v.length === 9) {\n // 9-digit: pre-1954 only\n if (year >= 1980) year -= 100;\n if (year > 1953) {\n return err(\n \"INVALID_COMPONENT\",\n \"9-digit birth numbers are pre-1954 only\",\n );\n }\n } else {\n // 10-digit: if year < 1954, it's 2000s\n if (year < 1954) year += 100;\n }\n\n const month = decodeMonth(mm, year, v.length);\n if (month === null) {\n return err(\n \"INVALID_COMPONENT\",\n \"Birth number contains an invalid month\",\n );\n }\n\n if (dd < 1 || dd > 31) {\n return err(\n \"INVALID_COMPONENT\",\n \"Birth number contains an invalid day\",\n );\n }\n\n // Validate the actual date\n if (!isValidDate(year, month, dd)) {\n return err(\n \"INVALID_COMPONENT\",\n \"Birth number contains an invalid date\",\n );\n }\n\n // 10-digit: check digit is first 9 digits\n // mod 11 mod 10\n if (v.length === 10) {\n const front = Number(v.slice(0, 9));\n const check = (front % 11) % 10;\n if (String(check) !== v[9]) {\n return err(\n \"INVALID_CHECKSUM\",\n \"Birth number is not divisible by 11\",\n );\n }\n }\n\n return { valid: true, compact: v };\n};\n\nconst format = (value: string): string => {\n const v = compact(value);\n return `${v.slice(0, 6)}/${v.slice(6)}`;\n};\n\n/**\n * Extract birth date and gender from a birth number.\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\n const gender = mm >= 50 ? \"female\" : \"male\";\n let year = yy + 1900;\n if (v.length === 10 && year < 1954) year += 100;\n if (v.length === 9 && year >= 1980) year -= 100;\n\n const month = decodeMonth(mm, year, v.length);\n if (month === null) {\n return null;\n }\n\n return {\n birthDate: new Date(year, month - 1, dd),\n gender,\n };\n};\n\n/**\n * Generate a random valid 10-digit birth number.\n * Uses a random date between 1954 and 2024.\n */\nconst generate = (): string => {\n const year = randomInt(1954, 2024);\n const month = randomInt(1, 12);\n const day = randomInt(1, 28);\n const isFemale = Math.random() < 0.5;\n const mm = isFemale ? month + 50 : month;\n\n const yy = String(year % 100).padStart(2, \"0\");\n const mmStr = String(mm).padStart(2, \"0\");\n const dd = String(day).padStart(2, \"0\");\n\n const datePart = `${yy}${mmStr}${dd}`;\n for (let seq = 0; seq < 1000; seq++) {\n const seqStr = String(seq).padStart(3, \"0\");\n const front = `${datePart}${seqStr}`;\n const num = Number(front);\n const check = (num % 11) % 10;\n const result = `${front}${String(check)}`;\n if (validate(result).valid) {\n return result;\n }\n }\n\n throw new Error(\"Failed to generate valid birth number\");\n};\n\n/** Czech/Slovak Birth Number. */\nconst rc: CountryValidator<\"CZ\", ParsedPersonId> = {\n name: \"Czech Birth Number\",\n localName: \"Rodné číslo\",\n abbreviation: \"RČ\",\n aliases: [\"rodné číslo\", \"RČ\", \"birth number\"] as const,\n candidatePattern: \"\\\\d{6}/\\\\d{3,4}\",\n scope: \"country\",\n country: \"CZ\",\n entityType: \"person\",\n description:\n \"Czech/Slovak national identifier encoding birth date and gender\",\n sourceUrl:\n \"https://www.mvcr.cz/mvcren/docDetail.aspx?docid=21975362&doctype=ART\",\n lengths: [9, 10] as const,\n examples: [\"7103192745\"] as const,\n compact,\n format,\n parse,\n validate,\n generate,\n};\n\nexport default rc;\nexport { compact, format, generate, parse, validate };\n"],"mappings":";;;;;;AAsCA,MAAM,WAAW,UACf,MAAM,OAAO,IAAI;AAEnB,MAAM,eACJ,UACA,MACA,WACkB;CAClB,MAAM,aACJ,WAAW,MAAM,QAAQ,OACrB;EAAC;EAAG;EAAI;EAAI;CAAE,IACd,CAAC,GAAG,EAAE;CACZ,KAAK,MAAM,UAAU,YAAY;EAC/B,MAAM,QAAQ,WAAW;EACzB,IAAI,SAAS,KAAK,SAAS,IACzB,OAAO;CAEX;CACA,OAAO;AACT;AAEA,MAAM,YAAY,UAAkC;CAClD,MAAM,IAAI,QAAQ,KAAK;CACvB,IAAI,EAAE,WAAW,KAAK,EAAE,WAAW,IACjC,OAAO,IACL,kBACA,qCACF;CAEF,IAAI,CAAC,SAAS,CAAC,GACb,OAAO,IACL,kBACA,uCACF;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;CAG/B,IAAI,OAAO,KAAK;CAChB,IAAI,EAAE,WAAW,GAAG;EAElB,IAAI,QAAQ,MAAM,QAAQ;EAC1B,IAAI,OAAO,MACT,OAAO,IACL,qBACA,yCACF;CAEJ,OAEE,IAAI,OAAO,MAAM,QAAQ;CAG3B,MAAM,QAAQ,YAAY,IAAI,MAAM,EAAE,MAAM;CAC5C,IAAI,UAAU,MACZ,OAAO,IACL,qBACA,wCACF;CAGF,IAAI,KAAK,KAAK,KAAK,IACjB,OAAO,IACL,qBACA,sCACF;CAIF,IAAI,CAAC,YAAY,MAAM,OAAO,EAAE,GAC9B,OAAO,IACL,qBACA,uCACF;CAKF,IAAI,EAAE,WAAW,IAAI;EAEnB,MAAM,QADQ,OAAO,EAAE,MAAM,GAAG,CAAC,CACd,IAAI,KAAM;EAC7B,IAAI,OAAO,KAAK,MAAM,EAAE,IACtB,OAAO,IACL,oBACA,qCACF;CAEJ;CAEA,OAAO;EAAE,OAAO;EAAM,SAAS;CAAE;AACnC;AAEA,MAAM,UAAU,UAA0B;CACxC,MAAM,IAAI,QAAQ,KAAK;CACvB,OAAO,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC;AACtC;;;;;AAMA,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;CAE/B,MAAM,SAAS,MAAM,KAAK,WAAW;CACrC,IAAI,OAAO,KAAK;CAChB,IAAI,EAAE,WAAW,MAAM,OAAO,MAAM,QAAQ;CAC5C,IAAI,EAAE,WAAW,KAAK,QAAQ,MAAM,QAAQ;CAE5C,MAAM,QAAQ,YAAY,IAAI,MAAM,EAAE,MAAM;CAC5C,IAAI,UAAU,MACZ,OAAO;CAGT,OAAO;EACL,WAAW,IAAI,KAAK,MAAM,QAAQ,GAAG,EAAE;EACvC;CACF;AACF;;;;;AAMA,MAAM,iBAAyB;CAC7B,MAAM,OAAO,UAAU,MAAM,IAAI;CACjC,MAAM,QAAQ,UAAU,GAAG,EAAE;CAC7B,MAAM,MAAM,UAAU,GAAG,EAAE;CAE3B,MAAM,KADW,KAAK,OAAO,IAAI,KACX,QAAQ,KAAK;CAMnC,MAAM,WAAW,GAJN,OAAO,OAAO,GAAG,CAAC,CAAC,SAAS,GAAG,GAIrB,IAHP,OAAO,EAAE,CAAC,CAAC,SAAS,GAAG,GAGR,IAFlB,OAAO,GAAG,CAAC,CAAC,SAAS,GAAG,GAED;CAClC,KAAK,IAAI,MAAM,GAAG,MAAM,KAAM,OAAO;EAEnC,MAAM,QAAQ,GAAG,WADF,OAAO,GAAG,CAAC,CAAC,SAAS,GAAG,GACN;EAEjC,MAAM,QADM,OAAO,KACF,IAAI,KAAM;EAC3B,MAAM,SAAS,GAAG,QAAQ,OAAO,KAAK;EACtC,IAAI,SAAS,MAAM,CAAC,CAAC,OACnB,OAAO;CAEX;CAEA,MAAM,IAAI,MAAM,uCAAuC;AACzD;;AAGA,MAAM,KAA6C;CACjD,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS;EAAC;EAAe;EAAM;CAAc;CAC7C,kBAAkB;CAClB,OAAO;CACP,SAAS;CACT,YAAY;CACZ,aACE;CACF,WACE;CACF,SAAS,CAAC,GAAG,EAAE;CACf,UAAU,CAAC,YAAY;CACvB;CACA;CACA;CACA;CACA;AACF"}
1
+ {"version":3,"file":"rc.js","names":[],"sources":["../../src/generated/cz/rc.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 rc: CountryValidator<\"CZ\", ParsedPersonId> =\n createValidator(\"cz.rc\", 49);\n\nexport default rc;\nexport const compact = rc.compact;\nexport const format = rc.format;\nexport const validate = rc.validate;\nexport const generate = (): string =>\n rc.generate?.() ??\n (() => {\n throw new Error(\n \"Validator cz.rc cannot generate values\",\n );\n })();\nexport const parse = rc.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"}
@@ -1,34 +1,10 @@
1
1
  import { CountryValidator, ValidateResult } from "../types.js";
2
-
3
- //#region src/de/handelsreg.d.ts
4
- /** Generate a random valid Handelsregisternummer. */
5
- declare const generate: () => string;
6
- /**
7
- * Handelsregisternummer (German Company Register Number).
8
- *
9
- * German commercial register number assigned by the
10
- * local court (Amtsgericht). Format: register type
11
- * (HRA, HRB, GnR, PR, VR) + number.
12
- *
13
- * HRA = Handelsregister Abteilung A (partnerships,
14
- * sole proprietors). HRB = Abteilung B (corporations).
15
- * GnR = Genossenschaftsregister.
16
- * PR = Partnerschaftsregister.
17
- * VR = Vereinsregister.
18
- *
19
- * No check digit; validation is structural only.
20
- *
21
- * @see https://de.wikipedia.org/wiki/Handelsregister_(Deutschland)
22
- */
23
- /**
24
- * Strip separators and normalize to canonical form.
25
- * Accepts "HRB 12345", "HRB12345", "hrb 12345".
26
- */
2
+ //#region src/generated/de/handelsreg.d.ts
3
+ declare const handelsreg: CountryValidator<"DE">;
27
4
  declare const compact: (value: string) => string;
28
- declare const validate: (value: string) => ValidateResult;
29
5
  declare const format: (value: string) => string;
30
- /** German Company Register Number. */
31
- declare const handelsreg: CountryValidator<"DE">;
6
+ declare const validate: (value: string) => ValidateResult;
7
+ declare const generate: () => string;
32
8
  //#endregion
33
9
  export { compact, handelsreg as default, format, generate, validate };
34
10
  //# sourceMappingURL=handelsreg.d.ts.map
@@ -1,69 +1,12 @@
1
- import { clean } from "../_util/clean.js";
2
- import { randomDigits, randomPick } from "../_util/generate.js";
3
- import { err } from "../_util/result.js";
4
- //#region src/de/handelsreg.ts
5
- const GENERATE_TYPES = [
6
- "HRA",
7
- "HRB",
8
- "GNR",
9
- "PR",
10
- "VR"
11
- ];
12
- /** Generate a random valid Handelsregisternummer. */
13
- const generate = () => {
14
- return `${randomPick(GENERATE_TYPES)} ${randomDigits(5)}`;
15
- };
16
- const REGISTER_TYPES = new Set([
17
- "HRA",
18
- "HRB",
19
- "GNR",
20
- "PR",
21
- "VR"
22
- ]);
23
- /**
24
- * Strip separators and normalize to canonical form.
25
- * Accepts "HRB 12345", "HRB12345", "hrb 12345".
26
- */
27
- const compact = (value) => {
28
- const v = clean(value, " -.").trim().toUpperCase();
29
- const match = v.match(/^(HRA|HRB|GNR|PR|VR)(\d{1,7})$/);
30
- if (!match) return v;
31
- return `${match[1]} ${match[2]}`;
32
- };
33
- const validate = (value) => {
34
- const match = clean(value, " -.").trim().toUpperCase().match(/^([A-Z]{2,3})(\d{1,7})$/);
35
- if (!match) return err("INVALID_FORMAT", "Handelsregisternummer must be a register type (HRA, HRB, GnR, PR, VR) followed by 1-7 digits");
36
- const type = match[1];
37
- const number = match[2];
38
- if (!REGISTER_TYPES.has(type)) return err("INVALID_COMPONENT", `Unrecognised register type "${type}"`);
39
- return {
40
- valid: true,
41
- compact: `${type} ${number}`
42
- };
43
- };
44
- const format = (value) => compact(value);
45
- /** German Company Register Number. */
46
- const handelsreg = {
47
- name: "German Company Register Number",
48
- localName: "Handelsregisternummer",
49
- abbreviation: "HReg",
50
- aliases: [
51
- "Handelsregisternummer",
52
- "Handelsregister",
53
- "HRB",
54
- "HRA"
55
- ],
56
- candidatePattern: "(?:HRA|HRB|GnR|PR|VR)\\s*\\d{1,7}",
57
- scope: "country",
58
- country: "DE",
59
- entityType: "company",
60
- sourceUrl: "https://de.wikipedia.org/wiki/Handelsregister_(Deutschland)",
61
- examples: ["HRB 12345"],
62
- compact,
63
- format,
64
- validate,
65
- generate
66
- };
1
+ import { createValidator } from "../runtime.js";
2
+ //#region src/generated/de/handelsreg.ts
3
+ const handelsreg = createValidator("de.handelsreg", 50);
4
+ const compact = handelsreg.compact;
5
+ const format = handelsreg.format;
6
+ const validate = handelsreg.validate;
7
+ const generate = () => handelsreg.generate?.() ?? (() => {
8
+ throw new Error("Validator de.handelsreg cannot generate values");
9
+ })();
67
10
  //#endregion
68
11
  export { compact, handelsreg as default, format, generate, validate };
69
12
 
@@ -1 +1 @@
1
- {"version":3,"file":"handelsreg.js","names":[],"sources":["../../src/de/handelsreg.ts"],"sourcesContent":["const GENERATE_TYPES = [\n \"HRA\",\n \"HRB\",\n \"GNR\",\n \"PR\",\n \"VR\",\n] as const;\n\n/** Generate a random valid Handelsregisternummer. */\nconst generate = (): string => {\n const type = randomPick(GENERATE_TYPES);\n const number = randomDigits(5);\n return `${type} ${number}`;\n};\n\n/**\n * Handelsregisternummer (German Company Register Number).\n *\n * German commercial register number assigned by the\n * local court (Amtsgericht). Format: register type\n * (HRA, HRB, GnR, PR, VR) + number.\n *\n * HRA = Handelsregister Abteilung A (partnerships,\n * sole proprietors). HRB = Abteilung B (corporations).\n * GnR = Genossenschaftsregister.\n * PR = Partnerschaftsregister.\n * VR = Vereinsregister.\n *\n * No check digit; validation is structural only.\n *\n * @see https://de.wikipedia.org/wiki/Handelsregister_(Deutschland)\n */\n\nimport type {\n ValidateResult,\n CountryValidator,\n} from \"../types\";\n\nimport { clean } from \"#util/clean\";\nimport { randomDigits, randomPick } from \"#util/generate\";\nimport { err } from \"#util/result\";\n\nconst REGISTER_TYPES = new Set([\n \"HRA\",\n \"HRB\",\n \"GNR\",\n \"PR\",\n \"VR\",\n]);\n\n/**\n * Strip separators and normalize to canonical form.\n * Accepts \"HRB 12345\", \"HRB12345\", \"hrb 12345\".\n */\nconst compact = (value: string): string => {\n const v = clean(value, \" -.\").trim().toUpperCase();\n const match = v.match(/^(HRA|HRB|GNR|PR|VR)(\\d{1,7})$/);\n if (!match) return v;\n return `${match[1]} ${match[2]}`;\n};\n\nconst validate = (value: string): ValidateResult => {\n const v = clean(value, \" -.\").trim().toUpperCase();\n\n const match = v.match(/^([A-Z]{2,3})(\\d{1,7})$/);\n if (!match) {\n return err(\n \"INVALID_FORMAT\",\n \"Handelsregisternummer must be a register type \" +\n \"(HRA, HRB, GnR, PR, VR) followed by \" +\n \"1-7 digits\",\n );\n }\n\n // SAFETY: both capture groups are required, so a\n // successful match always populates [1] and [2].\n // eslint-disable-next-line no-non-null-assertion\n const type = match[1]!;\n // eslint-disable-next-line no-non-null-assertion\n const number = match[2]!;\n\n if (!REGISTER_TYPES.has(type)) {\n return err(\n \"INVALID_COMPONENT\",\n `Unrecognised register type \"${type}\"`,\n );\n }\n\n return {\n valid: true,\n compact: `${type} ${number}`,\n };\n};\n\nconst format = (value: string): string => compact(value);\n\n/** German Company Register Number. */\nconst handelsreg: CountryValidator<\"DE\"> = {\n name: \"German Company Register Number\",\n localName: \"Handelsregisternummer\",\n abbreviation: \"HReg\",\n aliases: [\n \"Handelsregisternummer\",\n \"Handelsregister\",\n \"HRB\",\n \"HRA\",\n ] as const,\n candidatePattern: \"(?:HRA|HRB|GnR|PR|VR)\\\\s*\\\\d{1,7}\",\n scope: \"country\",\n country: \"DE\",\n entityType: \"company\",\n sourceUrl:\n \"https://de.wikipedia.org/wiki/Handelsregister_(Deutschland)\",\n examples: [\"HRB 12345\"] as const,\n compact,\n format,\n validate,\n generate,\n};\n\nexport default handelsreg;\nexport { compact, format, validate, generate };\n"],"mappings":";;;;AAAA,MAAM,iBAAiB;CACrB;CACA;CACA;CACA;CACA;AACF;;AAGA,MAAM,iBAAyB;CAG7B,OAAO,GAFM,WAAW,cAEX,EAAE,GADA,aAAa,CACL;AACzB;AA6BA,MAAM,iBAAiB,IAAI,IAAI;CAC7B;CACA;CACA;CACA;CACA;AACF,CAAC;;;;;AAMD,MAAM,WAAW,UAA0B;CACzC,MAAM,IAAI,MAAM,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY;CACjD,MAAM,QAAQ,EAAE,MAAM,gCAAgC;CACtD,IAAI,CAAC,OAAO,OAAO;CACnB,OAAO,GAAG,MAAM,GAAG,GAAG,MAAM;AAC9B;AAEA,MAAM,YAAY,UAAkC;CAGlD,MAAM,QAFI,MAAM,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,YAEvB,CAAC,CAAC,MAAM,yBAAyB;CAC/C,IAAI,CAAC,OACH,OAAO,IACL,kBACA,8FAGF;CAMF,MAAM,OAAO,MAAM;CAEnB,MAAM,SAAS,MAAM;CAErB,IAAI,CAAC,eAAe,IAAI,IAAI,GAC1B,OAAO,IACL,qBACA,+BAA+B,KAAK,EACtC;CAGF,OAAO;EACL,OAAO;EACP,SAAS,GAAG,KAAK,GAAG;CACtB;AACF;AAEA,MAAM,UAAU,UAA0B,QAAQ,KAAK;;AAGvD,MAAM,aAAqC;CACzC,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS;EACP;EACA;EACA;EACA;CACF;CACA,kBAAkB;CAClB,OAAO;CACP,SAAS;CACT,YAAY;CACZ,WACE;CACF,UAAU,CAAC,WAAW;CACtB;CACA;CACA;CACA;AACF"}
1
+ {"version":3,"file":"handelsreg.js","names":[],"sources":["../../src/generated/de/handelsreg.ts"],"sourcesContent":["// Generated by scripts/generate-public-surface.ts. Do not edit.\nimport { createValidator } from \"../../runtime\";\nimport type { CountryValidator } from \"../../types\";\n\nconst handelsreg: CountryValidator<\"DE\"> = createValidator(\n \"de.handelsreg\",\n 50,\n);\n\nexport default handelsreg;\nexport const compact = handelsreg.compact;\nexport const format = handelsreg.format;\nexport const validate = handelsreg.validate;\nexport const generate = (): string =>\n handelsreg.generate?.() ??\n (() => {\n throw new Error(\n \"Validator de.handelsreg cannot generate values\",\n );\n })();\n"],"mappings":";;AAIA,MAAM,aAAqC,gBACzC,iBACA,EACF;AAGA,MAAa,UAAU,WAAW;AAClC,MAAa,SAAS,WAAW;AACjC,MAAa,WAAW,WAAW;AACnC,MAAa,iBACX,WAAW,WAAW,YACf;CACL,MAAM,IAAI,MACR,gDACF;AACF,EAAA,CAAG"}
package/dist/de/idnr.d.ts CHANGED
@@ -1,13 +1,10 @@
1
1
  import { CountryValidator, ValidateResult } from "../types.js";
2
-
3
- //#region src/de/idnr.d.ts
2
+ //#region src/generated/de/idnr.d.ts
3
+ declare const idnr: CountryValidator<"DE">;
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 German IdNr. */
6
+ declare const validate: (value: string) => ValidateResult;
8
7
  declare const generate: () => string;
9
- /** German Personal Tax ID. */
10
- declare const idnr: CountryValidator<"DE">;
11
8
  //#endregion
12
9
  export { compact, idnr as default, format, generate, validate };
13
10
  //# sourceMappingURL=idnr.d.ts.map