@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/jp/cn.js CHANGED
@@ -1,59 +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/jp/cn.ts
6
- const compact = (value) => clean(value, " -");
7
- /**
8
- * Compute the check digit for a 12-digit payload.
9
- * Weights alternate [1,2,1,2,...] from the
10
- * rightmost digit of the payload.
11
- */
12
- const checkDigit = (payload) => {
13
- let sum = 0;
14
- for (let i = 0; i < 12; i++) {
15
- const digit = Number(payload[11 - i]);
16
- const weight = i % 2 === 0 ? 1 : 2;
17
- sum += digit * weight;
18
- }
19
- return 9 - sum % 9;
20
- };
21
- const validate = (value) => {
22
- const v = compact(value);
23
- if (v.length !== 13) return err("INVALID_LENGTH", "Corporate Number must be exactly 13 digits");
24
- if (!isdigits(v)) return err("INVALID_FORMAT", "Corporate Number must contain only digits");
25
- if (checkDigit(v.slice(1)) !== Number(v[0])) return err("INVALID_CHECKSUM", "Corporate Number check digit does not match");
26
- return {
27
- valid: true,
28
- compact: v
29
- };
30
- };
31
- const format = (value) => compact(value);
32
- /** Generate a random valid Corporate Number. */
33
- const generate = () => {
34
- const payload = randomDigits(12);
35
- const check = checkDigit(payload);
36
- return `${String(check)}${payload}`;
37
- };
38
- /** Japanese Corporate Number. */
39
- const cn = {
40
- name: "Japanese Corporate Number",
41
- localName: "法人番号",
42
- abbreviation: "CN",
43
- aliases: ["法人番号", "Corporate Number"],
44
- candidatePattern: "\\d{13}",
45
- scope: "country",
46
- country: "JP",
47
- entityType: "company",
48
- description: "13-digit corporate identifier assigned by the National Tax Agency",
49
- sourceUrl: "https://en.wikipedia.org/wiki/Corporate_Number_(Japan)",
50
- lengths: [13],
51
- examples: ["5835678256246", "2021001052596"],
52
- compact,
53
- format,
54
- validate,
55
- generate
56
- };
1
+ import { createValidator } from "../runtime.js";
2
+ //#region src/generated/jp/cn.ts
3
+ const cn = createValidator("jp.cn", 106);
4
+ const compact = cn.compact;
5
+ const format = cn.format;
6
+ const validate = cn.validate;
7
+ const generate = () => cn.generate?.() ?? (() => {
8
+ throw new Error("Validator jp.cn cannot generate values");
9
+ })();
57
10
  //#endregion
58
11
  export { compact, cn as default, format, generate, validate };
59
12
 
package/dist/jp/cn.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cn.js","names":[],"sources":["../../src/jp/cn.ts"],"sourcesContent":["/**\n * CN (Corporate Number, 法人番号).\n *\n * Japanese Corporate Number. 13 digits with a\n * check digit based on modulus 9. Assigned by the\n * National Tax Agency.\n *\n * @see https://en.wikipedia.org/wiki/Corporate_Number_(Japan)\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\n/**\n * Compute the check digit for a 12-digit payload.\n * Weights alternate [1,2,1,2,...] from the\n * rightmost digit of the payload.\n */\nconst checkDigit = (payload: string): number => {\n let sum = 0;\n for (let i = 0; i < 12; i++) {\n const digit = Number(payload[11 - i]);\n const weight = i % 2 === 0 ? 1 : 2;\n sum += digit * weight;\n }\n return 9 - (sum % 9);\n};\n\nconst validate = (value: string): ValidateResult => {\n const v = compact(value);\n if (v.length !== 13) {\n return err(\n \"INVALID_LENGTH\",\n \"Corporate Number must be exactly 13 digits\",\n );\n }\n if (!isdigits(v)) {\n return err(\n \"INVALID_FORMAT\",\n \"Corporate Number must contain only digits\",\n );\n }\n const expected = checkDigit(v.slice(1));\n if (expected !== Number(v[0])) {\n return err(\n \"INVALID_CHECKSUM\",\n \"Corporate Number 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 Corporate Number. */\nconst generate = (): string => {\n const payload = randomDigits(12);\n const check = checkDigit(payload);\n return `${String(check)}${payload}`;\n};\n\n/** Japanese Corporate Number. */\nconst cn: CountryValidator<\"JP\"> = {\n name: \"Japanese Corporate Number\",\n localName: \"法人番号\",\n abbreviation: \"CN\",\n aliases: [\"法人番号\", \"Corporate Number\"] as const,\n candidatePattern: \"\\\\d{13}\",\n scope: \"country\",\n country: \"JP\",\n entityType: \"company\",\n description:\n \"13-digit corporate identifier assigned by the National Tax Agency\",\n sourceUrl:\n \"https://en.wikipedia.org/wiki/Corporate_Number_(Japan)\",\n lengths: [13] as const,\n examples: [\"5835678256246\", \"2021001052596\"] as const,\n compact,\n format,\n validate,\n generate,\n};\n\nexport default cn;\nexport { compact, format, generate, validate };\n"],"mappings":";;;;;AAoBA,MAAM,WAAW,UACf,MAAM,OAAO,IAAI;;;;;;AAOnB,MAAM,cAAc,YAA4B;CAC9C,IAAI,MAAM;CACV,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,KAAK;EAC3B,MAAM,QAAQ,OAAO,QAAQ,KAAK,EAAE;EACpC,MAAM,SAAS,IAAI,MAAM,IAAI,IAAI;EACjC,OAAO,QAAQ;CACjB;CACA,OAAO,IAAK,MAAM;AACpB;AAEA,MAAM,YAAY,UAAkC;CAClD,MAAM,IAAI,QAAQ,KAAK;CACvB,IAAI,EAAE,WAAW,IACf,OAAO,IACL,kBACA,4CACF;CAEF,IAAI,CAAC,SAAS,CAAC,GACb,OAAO,IACL,kBACA,2CACF;CAGF,IADiB,WAAW,EAAE,MAAM,CAAC,CAC1B,MAAM,OAAO,EAAE,EAAE,GAC1B,OAAO,IACL,oBACA,6CACF;CAEF,OAAO;EAAE,OAAO;EAAM,SAAS;CAAE;AACnC;AAEA,MAAM,UAAU,UAA0B,QAAQ,KAAK;;AAGvD,MAAM,iBAAyB;CAC7B,MAAM,UAAU,aAAa,EAAE;CAC/B,MAAM,QAAQ,WAAW,OAAO;CAChC,OAAO,GAAG,OAAO,KAAK,IAAI;AAC5B;;AAGA,MAAM,KAA6B;CACjC,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS,CAAC,QAAQ,kBAAkB;CACpC,kBAAkB;CAClB,OAAO;CACP,SAAS;CACT,YAAY;CACZ,aACE;CACF,WACE;CACF,SAAS,CAAC,EAAE;CACZ,UAAU,CAAC,iBAAiB,eAAe;CAC3C;CACA;CACA;CACA;AACF"}
1
+ {"version":3,"file":"cn.js","names":[],"sources":["../../src/generated/jp/cn.ts"],"sourcesContent":["// Generated by scripts/generate-public-surface.ts. Do not edit.\nimport { createValidator } from \"../../runtime\";\nimport type { CountryValidator } from \"../../types\";\n\nconst cn: CountryValidator<\"JP\"> = createValidator(\n \"jp.cn\",\n 106,\n);\n\nexport default cn;\nexport const compact = cn.compact;\nexport const format = cn.format;\nexport const validate = cn.validate;\nexport const generate = (): string =>\n cn.generate?.() ??\n (() => {\n throw new Error(\n \"Validator jp.cn cannot generate values\",\n );\n })();\n"],"mappings":";;AAIA,MAAM,KAA6B,gBACjC,SACA,GACF;AAGA,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"}
package/dist/jp/mod.d.ts CHANGED
@@ -1,7 +1,5 @@
1
1
  import cn from "./cn.js";
2
2
  import mynumber from "./mynumber.js";
3
-
4
- //#region src/jp/mod.d.ts
5
3
  declare namespace mod_d_exports {
6
4
  export { cn, mynumber };
7
5
  }
package/dist/jp/mod.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { __exportAll } from "../_virtual/_rolldown/runtime.js";
2
2
  import cn from "./cn.js";
3
3
  import mynumber from "./mynumber.js";
4
- //#region src/jp/mod.ts
4
+ //#region src/generated/jp/mod.ts
5
5
  var jp_exports = /* @__PURE__ */ __exportAll({
6
6
  cn: () => cn,
7
7
  mynumber: () => mynumber
@@ -1 +1 @@
1
- {"version":3,"file":"mod.js","names":[],"sources":["../../src/jp/mod.ts"],"sourcesContent":["export { default as cn } from \"./cn\";\nexport { default as mynumber } from \"./mynumber\";\n"],"mappings":""}
1
+ {"version":3,"file":"mod.js","names":[],"sources":["../../src/generated/jp/mod.ts"],"sourcesContent":["// Generated by scripts/generate-public-surface.ts. Do not edit.\nexport { default as cn } from \"./cn\";\nexport { default as mynumber } from \"./mynumber\";\n"],"mappings":""}
@@ -1,13 +1,10 @@
1
1
  import { CountryValidator, ValidateResult } from "../types.js";
2
-
3
- //#region src/jp/mynumber.d.ts
2
+ //#region src/generated/jp/mynumber.d.ts
3
+ declare const mynumber: CountryValidator<"JP">;
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 My Number. */
6
+ declare const validate: (value: string) => ValidateResult;
8
7
  declare const generate: () => string;
9
- /** Japanese Individual Number (My Number). */
10
- declare const mynumber: CountryValidator<"JP">;
11
8
  //#endregion
12
9
  export { compact, mynumber as default, format, generate, validate };
13
10
  //# sourceMappingURL=mynumber.d.ts.map
@@ -1,76 +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/jp/mynumber.ts
6
- const compact = (value) => clean(value, " -");
7
- const WEIGHTS = [
8
- 6,
9
- 5,
10
- 4,
11
- 3,
12
- 2,
13
- 7,
14
- 6,
15
- 5,
16
- 4,
17
- 3,
18
- 2
19
- ];
20
- /**
21
- * Compute the check digit for an 11-digit payload.
22
- * remainder <= 1 yields 0; otherwise 11 - remainder.
23
- */
24
- const checkDigit = (payload) => {
25
- let sum = 0;
26
- for (let i = 0; i < 11; i++) sum += (WEIGHTS[i] ?? 0) * Number(payload.charAt(i));
27
- const remainder = sum % 11;
28
- return remainder <= 1 ? 0 : 11 - remainder;
29
- };
30
- const validate = (value) => {
31
- const v = compact(value);
32
- if (v.length !== 12) return err("INVALID_LENGTH", "My Number must be exactly 12 digits");
33
- if (!isdigits(v)) return err("INVALID_FORMAT", "My Number must contain only digits");
34
- if (checkDigit(v.slice(0, 11)) !== Number(v[11])) return err("INVALID_CHECKSUM", "My Number check digit does not match");
35
- return {
36
- valid: true,
37
- compact: v
38
- };
39
- };
40
- const format = (value) => {
41
- const v = compact(value);
42
- if (v.length === 12) return `${v.slice(0, 4)} ${v.slice(4, 8)} ${v.slice(8)}`;
43
- return v;
44
- };
45
- /** Generate a random valid My Number. */
46
- const generate = () => {
47
- const payload = randomDigits(11);
48
- const check = checkDigit(payload);
49
- return `${payload}${String(check)}`;
50
- };
51
- /** Japanese Individual Number (My Number). */
52
- const mynumber = {
53
- name: "Japanese Individual Number",
54
- localName: "マイナンバー",
55
- abbreviation: "My Number",
56
- aliases: [
57
- "My Number",
58
- "マイナンバー",
59
- "個人番号"
60
- ],
61
- candidatePattern: "\\d{4}[\\s-]?\\d{4}[\\s-]?\\d{4}",
62
- scope: "country",
63
- country: "JP",
64
- entityType: "person",
65
- description: "12-digit personal identifier for tax and social security",
66
- sourceUrl: "https://en.wikipedia.org/wiki/Individual_Number",
67
- lengths: [12],
68
- examples: ["123456789018", "000000000019"],
69
- compact,
70
- format,
71
- validate,
72
- generate
73
- };
1
+ import { createValidator } from "../runtime.js";
2
+ //#region src/generated/jp/mynumber.ts
3
+ const mynumber = createValidator("jp.mynumber", 107);
4
+ const compact = mynumber.compact;
5
+ const format = mynumber.format;
6
+ const validate = mynumber.validate;
7
+ const generate = () => mynumber.generate?.() ?? (() => {
8
+ throw new Error("Validator jp.mynumber cannot generate values");
9
+ })();
74
10
  //#endregion
75
11
  export { compact, mynumber as default, format, generate, validate };
76
12
 
@@ -1 +1 @@
1
- {"version":3,"file":"mynumber.js","names":[],"sources":["../../src/jp/mynumber.ts"],"sourcesContent":["/**\n * My Number (Individual Number, マイナンバー).\n *\n * Japanese Individual Number. 12 digits with a\n * mod 11 check digit. Assigned to every resident\n * of Japan for tax and social security purposes.\n * Contains no encoded personal information.\n *\n * @see https://en.wikipedia.org/wiki/Individual_Number\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 WEIGHTS = [6, 5, 4, 3, 2, 7, 6, 5, 4, 3, 2];\n\n/**\n * Compute the check digit for an 11-digit payload.\n * remainder <= 1 yields 0; otherwise 11 - remainder.\n */\nconst checkDigit = (payload: string): number => {\n let sum = 0;\n for (let i = 0; i < 11; i++) {\n sum += (WEIGHTS[i] ?? 0) * Number(payload.charAt(i));\n }\n const remainder = sum % 11;\n return remainder <= 1 ? 0 : 11 - remainder;\n};\n\nconst validate = (value: string): ValidateResult => {\n const v = compact(value);\n if (v.length !== 12) {\n return err(\n \"INVALID_LENGTH\",\n \"My Number must be exactly 12 digits\",\n );\n }\n if (!isdigits(v)) {\n return err(\n \"INVALID_FORMAT\",\n \"My Number must contain only digits\",\n );\n }\n const expected = checkDigit(v.slice(0, 11));\n if (expected !== Number(v[11])) {\n return err(\n \"INVALID_CHECKSUM\",\n \"My Number check digit does not match\",\n );\n }\n return { valid: true, compact: v };\n};\n\nconst format = (value: string): string => {\n const v = compact(value);\n if (v.length === 12) {\n return `${v.slice(0, 4)} ${v.slice(4, 8)} ${v.slice(8)}`;\n }\n return v;\n};\n\n/** Generate a random valid My Number. */\nconst generate = (): string => {\n const payload = randomDigits(11);\n const check = checkDigit(payload);\n return `${payload}${String(check)}`;\n};\n\n/** Japanese Individual Number (My Number). */\nconst mynumber: CountryValidator<\"JP\"> = {\n name: \"Japanese Individual Number\",\n localName: \"マイナンバー\",\n abbreviation: \"My Number\",\n aliases: [\n \"My Number\",\n \"マイナンバー\",\n \"個人番号\",\n ] as const,\n candidatePattern: \"\\\\d{4}[\\\\s-]?\\\\d{4}[\\\\s-]?\\\\d{4}\",\n scope: \"country\",\n country: \"JP\",\n entityType: \"person\",\n description:\n \"12-digit personal identifier for tax\" +\n \" and social security\",\n sourceUrl:\n \"https://en.wikipedia.org/wiki/Individual_Number\",\n lengths: [12] as const,\n examples: [\"123456789018\", \"000000000019\"] as const,\n compact,\n format,\n validate,\n generate,\n};\n\nexport default mynumber;\nexport { compact, format, generate, validate };\n"],"mappings":";;;;;AAqBA,MAAM,WAAW,UACf,MAAM,OAAO,IAAI;AAEnB,MAAM,UAAU;CAAC;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;AAAC;;;;;AAMhD,MAAM,cAAc,YAA4B;CAC9C,IAAI,MAAM;CACV,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,KACtB,QAAQ,QAAQ,MAAM,KAAK,OAAO,QAAQ,OAAO,CAAC,CAAC;CAErD,MAAM,YAAY,MAAM;CACxB,OAAO,aAAa,IAAI,IAAI,KAAK;AACnC;AAEA,MAAM,YAAY,UAAkC;CAClD,MAAM,IAAI,QAAQ,KAAK;CACvB,IAAI,EAAE,WAAW,IACf,OAAO,IACL,kBACA,qCACF;CAEF,IAAI,CAAC,SAAS,CAAC,GACb,OAAO,IACL,kBACA,oCACF;CAGF,IADiB,WAAW,EAAE,MAAM,GAAG,EAAE,CAC9B,MAAM,OAAO,EAAE,GAAG,GAC3B,OAAO,IACL,oBACA,sCACF;CAEF,OAAO;EAAE,OAAO;EAAM,SAAS;CAAE;AACnC;AAEA,MAAM,UAAU,UAA0B;CACxC,MAAM,IAAI,QAAQ,KAAK;CACvB,IAAI,EAAE,WAAW,IACf,OAAO,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC;CAEvD,OAAO;AACT;;AAGA,MAAM,iBAAyB;CAC7B,MAAM,UAAU,aAAa,EAAE;CAC/B,MAAM,QAAQ,WAAW,OAAO;CAChC,OAAO,GAAG,UAAU,OAAO,KAAK;AAClC;;AAGA,MAAM,WAAmC;CACvC,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS;EACP;EACA;EACA;CACF;CACA,kBAAkB;CAClB,OAAO;CACP,SAAS;CACT,YAAY;CACZ,aACE;CAEF,WACE;CACF,SAAS,CAAC,EAAE;CACZ,UAAU,CAAC,gBAAgB,cAAc;CACzC;CACA;CACA;CACA;AACF"}
1
+ {"version":3,"file":"mynumber.js","names":[],"sources":["../../src/generated/jp/mynumber.ts"],"sourcesContent":["// Generated by scripts/generate-public-surface.ts. Do not edit.\nimport { createValidator } from \"../../runtime\";\nimport type { CountryValidator } from \"../../types\";\n\nconst mynumber: CountryValidator<\"JP\"> = createValidator(\n \"jp.mynumber\",\n 107,\n);\n\nexport default mynumber;\nexport const compact = mynumber.compact;\nexport const format = mynumber.format;\nexport const validate = mynumber.validate;\nexport const generate = (): string =>\n mynumber.generate?.() ??\n (() => {\n throw new Error(\n \"Validator jp.mynumber cannot generate values\",\n );\n })();\n"],"mappings":";;AAIA,MAAM,WAAmC,gBACvC,eACA,GACF;AAGA,MAAa,UAAU,SAAS;AAChC,MAAa,SAAS,SAAS;AAC/B,MAAa,WAAW,SAAS;AACjC,MAAa,iBACX,SAAS,WAAW,YACb;CACL,MAAM,IAAI,MACR,8CACF;AACF,EAAA,CAAG"}
package/dist/kr/brn.d.ts CHANGED
@@ -1,22 +1,10 @@
1
1
  import { CountryValidator, ValidateResult } from "../types.js";
2
-
3
- //#region src/kr/brn.d.ts
4
- /** Generate a random valid Korean BRN. */
5
- declare const generate: () => string;
6
- /**
7
- * BRN (Business Registration Number, 사업자등록번호).
8
- *
9
- * Korean Business Registration Number. 10 digits
10
- * formatted as XXX-XX-XXXXX. Validated by component
11
- * checks (tax office, business type, serial).
12
- *
13
- * @see https://en.wikipedia.org/wiki/Business_registration_number_(South_Korea)
14
- */
2
+ //#region src/generated/kr/brn.d.ts
3
+ declare const brn: CountryValidator<"KR">;
15
4
  declare const compact: (value: string) => string;
16
- declare const validate: (value: string) => ValidateResult;
17
5
  declare const format: (value: string) => string;
18
- /** Korean Business Registration Number. */
19
- declare const brn: CountryValidator<"KR">;
6
+ declare const validate: (value: string) => ValidateResult;
7
+ declare const generate: () => string;
20
8
  //#endregion
21
9
  export { compact, brn as default, format, generate, validate };
22
10
  //# sourceMappingURL=brn.d.ts.map
package/dist/kr/brn.js CHANGED
@@ -1,58 +1,12 @@
1
- import { clean } from "../_util/clean.js";
2
- import { randomDigits, randomInt } from "../_util/generate.js";
3
- import { err } from "../_util/result.js";
4
- import { isdigits } from "../_util/strings.js";
5
- //#region src/kr/brn.ts
6
- /** Generate a random valid Korean BRN. */
7
- const generate = () => {
8
- const office = String(randomInt(101, 999));
9
- let bizType;
10
- do
11
- bizType = randomDigits(2);
12
- while (bizType === "00");
13
- let serial;
14
- do
15
- serial = randomDigits(4);
16
- while (serial === "0000");
17
- const last = randomDigits(1);
18
- return `${office}${bizType}${serial}${last}`;
19
- };
20
- const compact = (value) => clean(value, " -");
21
- const validate = (value) => {
22
- const v = compact(value);
23
- if (v.length !== 10) return err("INVALID_LENGTH", "BRN must be exactly 10 digits");
24
- if (!isdigits(v)) return err("INVALID_FORMAT", "BRN must contain only digits");
25
- if (v.slice(0, 3) < "101") return err("INVALID_COMPONENT", "BRN tax office code must be >= 101");
26
- if (v.slice(3, 5) === "00") return err("INVALID_COMPONENT", "BRN business type must not be 00");
27
- if (v.slice(5, 9) === "0000") return err("INVALID_COMPONENT", "BRN serial must not be 0000");
28
- return {
29
- valid: true,
30
- compact: v
31
- };
32
- };
33
- const format = (value) => {
34
- const v = compact(value);
35
- return `${v.slice(0, 3)}-${v.slice(3, 5)}-${v.slice(5)}`;
36
- };
37
- /** Korean Business Registration Number. */
38
- const brn = {
39
- name: "Korean Business Registration Number",
40
- localName: "사업자등록번호",
41
- abbreviation: "BRN",
42
- aliases: ["사업자등록번호", "BRN"],
43
- candidatePattern: "\\d{3}-?\\d{2}-?\\d{5}",
44
- scope: "country",
45
- country: "KR",
46
- entityType: "company",
47
- description: "10-digit business identifier issued by the National Tax Service",
48
- sourceUrl: "https://en.wikipedia.org/wiki/Business_registration_number_(South_Korea)",
49
- lengths: [10],
50
- examples: ["1168200131", "2208162517"],
51
- compact,
52
- format,
53
- validate,
54
- generate
55
- };
1
+ import { createValidator } from "../runtime.js";
2
+ //#region src/generated/kr/brn.ts
3
+ const brn = createValidator("kr.brn", 108);
4
+ const compact = brn.compact;
5
+ const format = brn.format;
6
+ const validate = brn.validate;
7
+ const generate = () => brn.generate?.() ?? (() => {
8
+ throw new Error("Validator kr.brn cannot generate values");
9
+ })();
56
10
  //#endregion
57
11
  export { compact, brn as default, format, generate, validate };
58
12
 
@@ -1 +1 @@
1
- {"version":3,"file":"brn.js","names":[],"sources":["../../src/kr/brn.ts"],"sourcesContent":["/** Generate a random valid Korean BRN. */\nconst generate = (): string => {\n const office = String(randomInt(101, 999));\n let bizType: string;\n do {\n bizType = randomDigits(2);\n } while (bizType === \"00\");\n let serial: string;\n do {\n serial = randomDigits(4);\n } while (serial === \"0000\");\n const last = randomDigits(1);\n return `${office}${bizType}${serial}${last}`;\n};\n\n/**\n * BRN (Business Registration Number, 사업자등록번호).\n *\n * Korean Business Registration Number. 10 digits\n * formatted as XXX-XX-XXXXX. Validated by component\n * checks (tax office, business type, serial).\n *\n * @see https://en.wikipedia.org/wiki/Business_registration_number_(South_Korea)\n */\n\nimport type {\n ValidateResult,\n CountryValidator,\n} from \"../types\";\n\nimport { clean } from \"#util/clean\";\nimport { randomDigits, randomInt } from \"#util/generate\";\nimport { err } from \"#util/result\";\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 !== 10) {\n return err(\n \"INVALID_LENGTH\",\n \"BRN must be exactly 10 digits\",\n );\n }\n if (!isdigits(v)) {\n return err(\n \"INVALID_FORMAT\",\n \"BRN must contain only digits\",\n );\n }\n // Tax office number must be >= 101\n if (v.slice(0, 3) < \"101\") {\n return err(\n \"INVALID_COMPONENT\",\n \"BRN tax office code must be >= 101\",\n );\n }\n // Business type must not be 00\n if (v.slice(3, 5) === \"00\") {\n return err(\n \"INVALID_COMPONENT\",\n \"BRN business type must not be 00\",\n );\n }\n // Serial part must not be 0000\n if (v.slice(5, 9) === \"0000\") {\n return err(\n \"INVALID_COMPONENT\",\n \"BRN serial must not be 0000\",\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, 3)}-${v.slice(3, 5)}-${v.slice(5)}`;\n};\n\n/** Korean Business Registration Number. */\nconst brn: CountryValidator<\"KR\"> = {\n name: \"Korean Business Registration Number\",\n localName: \"사업자등록번호\",\n abbreviation: \"BRN\",\n aliases: [\"사업자등록번호\", \"BRN\"] as const,\n candidatePattern: \"\\\\d{3}-?\\\\d{2}-?\\\\d{5}\",\n scope: \"country\",\n country: \"KR\",\n entityType: \"company\",\n description:\n \"10-digit business identifier issued by the National Tax Service\",\n sourceUrl:\n \"https://en.wikipedia.org/wiki/Business_registration_number_(South_Korea)\",\n lengths: [10] as const,\n examples: [\"1168200131\", \"2208162517\"] as const,\n compact,\n format,\n validate,\n generate,\n};\n\nexport default brn;\nexport { compact, format, validate, generate };\n"],"mappings":";;;;;;AACA,MAAM,iBAAyB;CAC7B,MAAM,SAAS,OAAO,UAAU,KAAK,GAAG,CAAC;CACzC,IAAI;CACJ;EACE,UAAU,aAAa,CAAC;QACjB,YAAY;CACrB,IAAI;CACJ;EACE,SAAS,aAAa,CAAC;QAChB,WAAW;CACpB,MAAM,OAAO,aAAa,CAAC;CAC3B,OAAO,GAAG,SAAS,UAAU,SAAS;AACxC;AAsBA,MAAM,WAAW,UACf,MAAM,OAAO,IAAI;AAEnB,MAAM,YAAY,UAAkC;CAClD,MAAM,IAAI,QAAQ,KAAK;CACvB,IAAI,EAAE,WAAW,IACf,OAAO,IACL,kBACA,+BACF;CAEF,IAAI,CAAC,SAAS,CAAC,GACb,OAAO,IACL,kBACA,8BACF;CAGF,IAAI,EAAE,MAAM,GAAG,CAAC,IAAI,OAClB,OAAO,IACL,qBACA,oCACF;CAGF,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,MACpB,OAAO,IACL,qBACA,kCACF;CAGF,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,QACpB,OAAO,IACL,qBACA,6BACF;CAEF,OAAO;EAAE,OAAO;EAAM,SAAS;CAAE;AACnC;AAEA,MAAM,UAAU,UAA0B;CACxC,MAAM,IAAI,QAAQ,KAAK;CACvB,OAAO,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC;AACvD;;AAGA,MAAM,MAA8B;CAClC,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS,CAAC,WAAW,KAAK;CAC1B,kBAAkB;CAClB,OAAO;CACP,SAAS;CACT,YAAY;CACZ,aACE;CACF,WACE;CACF,SAAS,CAAC,EAAE;CACZ,UAAU,CAAC,cAAc,YAAY;CACrC;CACA;CACA;CACA;AACF"}
1
+ {"version":3,"file":"brn.js","names":[],"sources":["../../src/generated/kr/brn.ts"],"sourcesContent":["// Generated by scripts/generate-public-surface.ts. Do not edit.\nimport { createValidator } from \"../../runtime\";\nimport type { CountryValidator } from \"../../types\";\n\nconst brn: CountryValidator<\"KR\"> = createValidator(\n \"kr.brn\",\n 108,\n);\n\nexport default brn;\nexport const compact = brn.compact;\nexport const format = brn.format;\nexport const validate = brn.validate;\nexport const generate = (): string =>\n brn.generate?.() ??\n (() => {\n throw new Error(\n \"Validator kr.brn 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/kr/mod.d.ts CHANGED
@@ -1,7 +1,5 @@
1
1
  import brn from "./brn.js";
2
2
  import rrn from "./rrn.js";
3
-
4
- //#region src/kr/mod.d.ts
5
3
  declare namespace mod_d_exports {
6
4
  export { brn, rrn };
7
5
  }
package/dist/kr/mod.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { __exportAll } from "../_virtual/_rolldown/runtime.js";
2
2
  import brn from "./brn.js";
3
3
  import rrn from "./rrn.js";
4
- //#region src/kr/mod.ts
4
+ //#region src/generated/kr/mod.ts
5
5
  var kr_exports = /* @__PURE__ */ __exportAll({
6
6
  brn: () => brn,
7
7
  rrn: () => rrn
@@ -1 +1 @@
1
- {"version":3,"file":"mod.js","names":[],"sources":["../../src/kr/mod.ts"],"sourcesContent":["export { default as brn } from \"./brn\";\nexport { default as rrn } from \"./rrn\";\n"],"mappings":""}
1
+ {"version":3,"file":"mod.js","names":[],"sources":["../../src/generated/kr/mod.ts"],"sourcesContent":["// Generated by scripts/generate-public-surface.ts. Do not edit.\nexport { default as brn } from \"./brn\";\nexport { default as rrn } from \"./rrn\";\n"],"mappings":""}
package/dist/kr/rrn.d.ts CHANGED
@@ -1,23 +1,11 @@
1
- import { CountryValidator, ParsedPersonId, ValidateResult } from "../types.js";
2
-
3
- //#region src/kr/rrn.d.ts
1
+ import { CountryValidator, ParsedIdentifier, ParsedPersonId, ValidateResult } from "../types.js";
2
+ //#region src/generated/kr/rrn.d.ts
3
+ declare const rrn: CountryValidator<"KR", 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 an RRN.
9
- * Returns null if the value is not valid.
10
- *
11
- * Gender digit mapping:
12
- * 1, 3 = male Korean; 2, 4 = female Korean
13
- * 5, 7 = male foreigner; 6, 8 = female foreigner
14
- * 0, 9 = pre-1800 (male/female by convention)
15
- */
16
- declare const parse: (value: string) => ParsedPersonId | null;
17
- /** Generate a random valid Korean RRN. */
6
+ declare const validate: (value: string) => ValidateResult;
18
7
  declare const generate: () => string;
19
- /** Korean Resident Registration Number. */
20
- declare const rrn: CountryValidator<"KR", ParsedPersonId>;
8
+ declare const parse: ((value: string) => ParsedIdentifier | null) & ((value: string) => ParsedPersonId | null);
21
9
  //#endregion
22
10
  export { compact, rrn as default, format, generate, parse, validate };
23
11
  //# sourceMappingURL=rrn.d.ts.map
package/dist/kr/rrn.js CHANGED
@@ -1,134 +1,13 @@
1
- import { clean } from "../_util/clean.js";
2
- import { isValidDate } from "../_util/date.js";
3
- import { randomDigits, randomInt } from "../_util/generate.js";
4
- import { err } from "../_util/result.js";
5
- import { isdigits } from "../_util/strings.js";
6
- //#region src/kr/rrn.ts
7
- const compact = (value) => clean(value, " -/");
8
- const CHECK_WEIGHTS = [
9
- 2,
10
- 3,
11
- 4,
12
- 5,
13
- 6,
14
- 7,
15
- 8,
16
- 9,
17
- 2,
18
- 3,
19
- 4,
20
- 5
21
- ];
22
- /**
23
- * Compute the check digit for the first 12 digits.
24
- * Formula: (11 - sum(w_i * d_i) % 11) % 10.
25
- */
26
- const checkDigit = (digits) => {
27
- let sum = 0;
28
- for (let i = 0; i < 12; i++) sum += (CHECK_WEIGHTS[i] ?? 0) * Number(digits.charAt(i));
29
- return (11 - sum % 11) % 10;
30
- };
31
- /** Century prefix derived from the 7th digit. */
32
- const CENTURY_BY_GENDER = {
33
- "0": 1800,
34
- "1": 1900,
35
- "2": 1900,
36
- "3": 2e3,
37
- "4": 2e3,
38
- "5": 1900,
39
- "6": 1900,
40
- "7": 2e3,
41
- "8": 2e3,
42
- "9": 1800
43
- };
44
- /**
45
- * Resolve birth date components from a compacted RRN.
46
- * Returns null if the date is invalid.
47
- */
48
- const resolveBirthDate = (v) => {
49
- const century = CENTURY_BY_GENDER[v.charAt(6)];
50
- if (century === void 0) return null;
51
- const year = century + Number(v.slice(0, 2));
52
- const month = Number(v.slice(2, 4));
53
- const day = Number(v.slice(4, 6));
54
- if (!isValidDate(year, month, day)) return null;
55
- return {
56
- year,
57
- month,
58
- day
59
- };
60
- };
61
- const validate = (value) => {
62
- const v = compact(value);
63
- if (v.length !== 13) return err("INVALID_LENGTH", "RRN must be exactly 13 digits");
64
- if (!isdigits(v)) return err("INVALID_FORMAT", "RRN must contain only digits");
65
- if (resolveBirthDate(v) === null) return err("INVALID_COMPONENT", "RRN contains an invalid date of birth");
66
- if (Number(v.slice(7, 9)) > 96) return err("INVALID_COMPONENT", "RRN place-of-birth code must be <= 96");
67
- if (checkDigit(v.slice(0, 12)) !== Number(v[12])) return err("INVALID_CHECKSUM", "RRN check digit does not match");
68
- return {
69
- valid: true,
70
- compact: v
71
- };
72
- };
73
- const format = (value) => {
74
- const v = compact(value);
75
- if (v.length === 13) return `${v.slice(0, 6)}-${v.slice(6)}`;
76
- return v;
77
- };
78
- /**
79
- * Extract birth date and gender from an RRN.
80
- * Returns null if the value is not valid.
81
- *
82
- * Gender digit mapping:
83
- * 1, 3 = male Korean; 2, 4 = female Korean
84
- * 5, 7 = male foreigner; 6, 8 = female foreigner
85
- * 0, 9 = pre-1800 (male/female by convention)
86
- */
87
- const parse = (value) => {
88
- const result = validate(value);
89
- if (!result.valid) return null;
90
- const v = result.compact;
91
- const bd = resolveBirthDate(v);
92
- if (bd === null) return null;
93
- const genderDigit = v.charAt(6);
94
- const isMale = "13579".includes(genderDigit);
95
- return {
96
- birthDate: new Date(bd.year, bd.month - 1, bd.day),
97
- gender: isMale ? "male" : "female"
98
- };
99
- };
100
- /** Generate a random valid Korean RRN. */
101
- const generate = () => {
102
- const year = randomInt(1900, 2024);
103
- const month = String(randomInt(1, 12)).padStart(2, "0");
104
- const day = String(randomInt(1, 28)).padStart(2, "0");
105
- const body = `${String(year % 100).padStart(2, "0")}${month}${day}${year >= 2e3 ? String(randomInt(3, 4)) : String(randomInt(1, 2))}${String(randomInt(0, 96)).padStart(2, "0")}${randomDigits(3)}`;
106
- return `${body}${String(checkDigit(body))}`;
107
- };
108
- /** Korean Resident Registration Number. */
109
- const rrn = {
110
- name: "Korean Resident Registration Number",
111
- localName: "주민등록번호",
112
- abbreviation: "RRN",
113
- aliases: [
114
- "RRN",
115
- "주민등록번호",
116
- "Resident Registration Number"
117
- ],
118
- candidatePattern: "\\d{6}[\\s-]?\\d{7}",
119
- scope: "country",
120
- country: "KR",
121
- entityType: "person",
122
- description: "13-digit personal identifier issued to all residents of South Korea",
123
- sourceUrl: "https://en.wikipedia.org/wiki/Resident_registration_number",
124
- lengths: [13],
125
- examples: ["9710139019902", "9501011000109"],
126
- compact,
127
- format,
128
- parse,
129
- validate,
130
- generate
131
- };
1
+ import { createValidator } from "../runtime.js";
2
+ //#region src/generated/kr/rrn.ts
3
+ const rrn = createValidator("kr.rrn", 109);
4
+ const compact = rrn.compact;
5
+ const format = rrn.format;
6
+ const validate = rrn.validate;
7
+ const generate = () => rrn.generate?.() ?? (() => {
8
+ throw new Error("Validator kr.rrn cannot generate values");
9
+ })();
10
+ const parse = rrn.parse;
132
11
  //#endregion
133
12
  export { compact, rrn as default, format, generate, parse, validate };
134
13
 
@@ -1 +1 @@
1
- {"version":3,"file":"rrn.js","names":[],"sources":["../../src/kr/rrn.ts"],"sourcesContent":["/**\n * RRN (Resident Registration Number, 주민등록번호).\n *\n * Korean Resident Registration Number. 13 digits\n * formatted as YYMMDD-GPPCCSD. Encodes date of\n * birth, gender/century, place of birth, community\n * center, serial, and a check digit.\n *\n * @see https://en.wikipedia.org/wiki/Resident_registration_number\n */\n\nimport type {\n ParsedPersonId,\n ValidateResult,\n CountryValidator,\n} from \"../types\";\n\nimport { clean } from \"#util/clean\";\nimport { isValidDate } from \"#util/date\";\nimport { randomDigits, randomInt } from \"#util/generate\";\nimport { err } from \"#util/result\";\nimport { isdigits } from \"#util/strings\";\n\nconst compact = (value: string): string =>\n clean(value, \" -/\");\n\nconst CHECK_WEIGHTS = [2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5];\n\n/**\n * Compute the check digit for the first 12 digits.\n * Formula: (11 - sum(w_i * d_i) % 11) % 10.\n */\nconst checkDigit = (digits: string): number => {\n let sum = 0;\n for (let i = 0; i < 12; i++) {\n sum +=\n (CHECK_WEIGHTS[i] ?? 0) * Number(digits.charAt(i));\n }\n return (11 - (sum % 11)) % 10;\n};\n\n/** Century prefix derived from the 7th digit. */\nconst CENTURY_BY_GENDER: Record<string, number> = {\n \"0\": 1800,\n \"1\": 1900,\n \"2\": 1900,\n \"3\": 2000,\n \"4\": 2000,\n \"5\": 1900,\n \"6\": 1900,\n \"7\": 2000,\n \"8\": 2000,\n \"9\": 1800,\n};\n\n/**\n * Resolve birth date components from a compacted RRN.\n * Returns null if the date is invalid.\n */\nconst resolveBirthDate = (\n v: string,\n): { year: number; month: number; day: number } | null => {\n const century = CENTURY_BY_GENDER[v.charAt(6)];\n if (century === undefined) return null;\n\n const year = century + Number(v.slice(0, 2));\n const month = Number(v.slice(2, 4));\n const day = Number(v.slice(4, 6));\n\n if (!isValidDate(year, month, day)) return null;\n return { year, month, day };\n};\n\nconst validate = (value: string): ValidateResult => {\n const v = compact(value);\n if (v.length !== 13) {\n return err(\n \"INVALID_LENGTH\",\n \"RRN must be exactly 13 digits\",\n );\n }\n if (!isdigits(v)) {\n return err(\n \"INVALID_FORMAT\",\n \"RRN must contain only digits\",\n );\n }\n if (resolveBirthDate(v) === null) {\n return err(\n \"INVALID_COMPONENT\",\n \"RRN contains an invalid date of birth\",\n );\n }\n const place = Number(v.slice(7, 9));\n if (place > 96) {\n return err(\n \"INVALID_COMPONENT\",\n \"RRN place-of-birth code must be <= 96\",\n );\n }\n if (checkDigit(v.slice(0, 12)) !== Number(v[12])) {\n return err(\n \"INVALID_CHECKSUM\",\n \"RRN check digit does not match\",\n );\n }\n return { valid: true, compact: v };\n};\n\nconst format = (value: string): string => {\n const v = compact(value);\n if (v.length === 13) {\n return `${v.slice(0, 6)}-${v.slice(6)}`;\n }\n return v;\n};\n\n/**\n * Extract birth date and gender from an RRN.\n * Returns null if the value is not valid.\n *\n * Gender digit mapping:\n * 1, 3 = male Korean; 2, 4 = female Korean\n * 5, 7 = male foreigner; 6, 8 = female foreigner\n * 0, 9 = pre-1800 (male/female by convention)\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 bd = resolveBirthDate(v);\n if (bd === null) return null;\n\n const genderDigit = v.charAt(6);\n const isMale = \"13579\".includes(genderDigit);\n\n return {\n birthDate: new Date(bd.year, bd.month - 1, bd.day),\n gender: isMale ? \"male\" : \"female\",\n };\n};\n\n/** Generate a random valid Korean RRN. */\nconst generate = (): string => {\n const year = randomInt(1900, 2024);\n const month = String(randomInt(1, 12)).padStart(2, \"0\");\n const day = String(randomInt(1, 28)).padStart(2, \"0\");\n const yy = String(year % 100).padStart(2, \"0\");\n const genderDigit =\n year >= 2000\n ? String(randomInt(3, 4))\n : String(randomInt(1, 2));\n const place = String(randomInt(0, 96)).padStart(2, \"0\");\n const body = `${yy}${month}${day}${genderDigit}${place}${randomDigits(3)}`;\n return `${body}${String(checkDigit(body))}`;\n};\n\n/** Korean Resident Registration Number. */\nconst rrn: CountryValidator<\"KR\", ParsedPersonId> = {\n name: \"Korean Resident Registration Number\",\n localName: \"주민등록번호\",\n abbreviation: \"RRN\",\n aliases: [\n \"RRN\",\n \"주민등록번호\",\n \"Resident Registration Number\",\n ] as const,\n candidatePattern: \"\\\\d{6}[\\\\s-]?\\\\d{7}\",\n scope: \"country\",\n country: \"KR\",\n entityType: \"person\",\n description:\n \"13-digit personal identifier issued to all\" +\n \" residents of South Korea\",\n sourceUrl:\n \"https://en.wikipedia.org/wiki/\" +\n \"Resident_registration_number\",\n lengths: [13] as const,\n examples: [\"9710139019902\", \"9501011000109\"] as const,\n compact,\n format,\n parse,\n validate,\n generate,\n};\n\nexport default rrn;\nexport { compact, format, generate, parse, validate };\n"],"mappings":";;;;;;AAuBA,MAAM,WAAW,UACf,MAAM,OAAO,KAAK;AAEpB,MAAM,gBAAgB;CAAC;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;AAAC;;;;;AAMzD,MAAM,cAAc,WAA2B;CAC7C,IAAI,MAAM;CACV,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,KACtB,QACG,cAAc,MAAM,KAAK,OAAO,OAAO,OAAO,CAAC,CAAC;CAErD,QAAQ,KAAM,MAAM,MAAO;AAC7B;;AAGA,MAAM,oBAA4C;CAChD,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP;;;;;AAMA,MAAM,oBACJ,MACwD;CACxD,MAAM,UAAU,kBAAkB,EAAE,OAAO,CAAC;CAC5C,IAAI,YAAY,KAAA,GAAW,OAAO;CAElC,MAAM,OAAO,UAAU,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC;CAC3C,MAAM,QAAQ,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC;CAClC,MAAM,MAAM,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC;CAEhC,IAAI,CAAC,YAAY,MAAM,OAAO,GAAG,GAAG,OAAO;CAC3C,OAAO;EAAE;EAAM;EAAO;CAAI;AAC5B;AAEA,MAAM,YAAY,UAAkC;CAClD,MAAM,IAAI,QAAQ,KAAK;CACvB,IAAI,EAAE,WAAW,IACf,OAAO,IACL,kBACA,+BACF;CAEF,IAAI,CAAC,SAAS,CAAC,GACb,OAAO,IACL,kBACA,8BACF;CAEF,IAAI,iBAAiB,CAAC,MAAM,MAC1B,OAAO,IACL,qBACA,uCACF;CAGF,IADc,OAAO,EAAE,MAAM,GAAG,CAAC,CACzB,IAAI,IACV,OAAO,IACL,qBACA,uCACF;CAEF,IAAI,WAAW,EAAE,MAAM,GAAG,EAAE,CAAC,MAAM,OAAO,EAAE,GAAG,GAC7C,OAAO,IACL,oBACA,gCACF;CAEF,OAAO;EAAE,OAAO;EAAM,SAAS;CAAE;AACnC;AAEA,MAAM,UAAU,UAA0B;CACxC,MAAM,IAAI,QAAQ,KAAK;CACvB,IAAI,EAAE,WAAW,IACf,OAAO,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC;CAEtC,OAAO;AACT;;;;;;;;;;AAWA,MAAM,SAAS,UAAyC;CACtD,MAAM,SAAS,SAAS,KAAK;CAC7B,IAAI,CAAC,OAAO,OAAO,OAAO;CAE1B,MAAM,IAAI,OAAO;CACjB,MAAM,KAAK,iBAAiB,CAAC;CAC7B,IAAI,OAAO,MAAM,OAAO;CAExB,MAAM,cAAc,EAAE,OAAO,CAAC;CAC9B,MAAM,SAAS,QAAQ,SAAS,WAAW;CAE3C,OAAO;EACL,WAAW,IAAI,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,GAAG,GAAG;EACjD,QAAQ,SAAS,SAAS;CAC5B;AACF;;AAGA,MAAM,iBAAyB;CAC7B,MAAM,OAAO,UAAU,MAAM,IAAI;CACjC,MAAM,QAAQ,OAAO,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG;CACtD,MAAM,MAAM,OAAO,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG;CAOpD,MAAM,OAAO,GANF,OAAO,OAAO,GAAG,CAAC,CAAC,SAAS,GAAG,GAMzB,IAAI,QAAQ,MAJ3B,QAAQ,MACJ,OAAO,UAAU,GAAG,CAAC,CAAC,IACtB,OAAO,UAAU,GAAG,CAAC,CAAC,IACd,OAAO,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,GACE,IAAI,aAAa,CAAC;CACvE,OAAO,GAAG,OAAO,OAAO,WAAW,IAAI,CAAC;AAC1C;;AAGA,MAAM,MAA8C;CAClD,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS;EACP;EACA;EACA;CACF;CACA,kBAAkB;CAClB,OAAO;CACP,SAAS;CACT,YAAY;CACZ,aACE;CAEF,WACE;CAEF,SAAS,CAAC,EAAE;CACZ,UAAU,CAAC,iBAAiB,eAAe;CAC3C;CACA;CACA;CACA;CACA;AACF"}
1
+ {"version":3,"file":"rrn.js","names":[],"sources":["../../src/generated/kr/rrn.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 rrn: CountryValidator<\"KR\", ParsedPersonId> =\n createValidator(\"kr.rrn\", 109);\n\nexport default rrn;\nexport const compact = rrn.compact;\nexport const format = rrn.format;\nexport const validate = rrn.validate;\nexport const generate = (): string =>\n rrn.generate?.() ??\n (() => {\n throw new Error(\n \"Validator kr.rrn cannot generate values\",\n );\n })();\nexport const parse = rrn.parse;\n"],"mappings":";;AAOA,MAAM,MACJ,gBAAgB,UAAU,GAAG;AAG/B,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;AACL,MAAa,QAAQ,IAAI"}
@@ -1,19 +1,11 @@
1
- import { CountryValidator, ParsedBirthDate, ValidateResult } from "../types.js";
2
-
3
- //#region src/kw/civil.d.ts
1
+ import { CountryValidator, ParsedBirthDate, ParsedIdentifier, ValidateResult } from "../types.js";
2
+ //#region src/generated/kw/civil.d.ts
3
+ declare const civil: CountryValidator<"KW", ParsedBirthDate>;
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 from a Kuwait civil number.
9
- * Gender is not encoded in the number.
10
- * Returns null if the value is not valid.
11
- */
12
- declare const parse: (value: string) => ParsedBirthDate | null;
13
- /** Generate a random valid Kuwait civil number. */
6
+ declare const validate: (value: string) => ValidateResult;
14
7
  declare const generate: () => string;
15
- /** Kuwait Civil Number (الرقم المدني). */
16
- declare const civil: CountryValidator<"KW", ParsedBirthDate>;
8
+ declare const parse: ((value: string) => ParsedIdentifier | null) & ((value: string) => ParsedBirthDate | null);
17
9
  //#endregion
18
10
  export { compact, civil as default, format, generate, parse, validate };
19
11
  //# sourceMappingURL=civil.d.ts.map