@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/th/tin.js CHANGED
@@ -1,52 +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/th/tin.ts
6
- const compact = (value) => clean(value, " -");
7
- const validate = (value) => {
8
- const v = compact(value);
9
- if (v.length !== 13) return err("INVALID_LENGTH", "TIN must be exactly 13 digits");
10
- if (!isdigits(v)) return err("INVALID_FORMAT", "TIN must contain only digits");
11
- if (Number(v[0]) > 8) return err("INVALID_COMPONENT", "TIN first digit must be 0-8");
12
- let sum = 0;
13
- for (let i = 0; i < 12; i++) sum += Number(v[i]) * (13 - i);
14
- if ((11 - sum % 11) % 10 !== Number(v[12])) return err("INVALID_CHECKSUM", "TIN check digit does not match");
15
- return {
16
- valid: true,
17
- compact: v
18
- };
19
- };
20
- const format = (value) => {
21
- const v = compact(value);
22
- return `${v[0]} ${v.slice(1, 5)} ${v.slice(5, 10)} ${v.slice(10, 12)} ${v[12]}`;
23
- };
24
- /** Generate a random valid Thai TIN. */
25
- const generate = () => {
26
- const payload = String(randomInt(1, 8)) + randomDigits(11);
27
- let sum = 0;
28
- for (let i = 0; i < 12; i++) sum += (13 - i) * Number(payload[i]);
29
- return payload + String((11 - sum % 11) % 10);
30
- };
31
- /** Thai Tax Identification Number. */
32
- const tin = {
33
- name: "Thai Tax Identification Number",
34
- localName: "เลขประจำตัวผู้เสียภาษี",
35
- abbreviation: "TIN",
36
- aliases: ["เลขประจำตัวผู้เสียภาษี", "TIN"],
37
- candidatePattern: "\\d{13}",
38
- scope: "country",
39
- country: "TH",
40
- entityType: "any",
41
- description: "13-digit tax identifier for individuals and companies",
42
- sourceUrl: "https://www.rd.go.th/",
43
- lengths: [13],
44
- examples: ["1101700230708", "3100600445015"],
45
- compact,
46
- format,
47
- validate,
48
- generate
49
- };
1
+ import { createValidator } from "../runtime.js";
2
+ //#region src/generated/th/tin.ts
3
+ const tin = createValidator("th.tin", 162);
4
+ const compact = tin.compact;
5
+ const format = tin.format;
6
+ const validate = tin.validate;
7
+ const generate = () => tin.generate?.() ?? (() => {
8
+ throw new Error("Validator th.tin cannot generate values");
9
+ })();
50
10
  //#endregion
51
11
  export { compact, tin as default, format, generate, validate };
52
12
 
@@ -1 +1 @@
1
- {"version":3,"file":"tin.js","names":[],"sources":["../../src/th/tin.ts"],"sourcesContent":["/**\n * TIN (Thai Tax Identification Number,\n * เลขประจำตัวผู้เสียภาษี).\n *\n * 13 digits. Individual TINs have first digit 1-8;\n * company TINs (MOA) start with 0. Both use a\n * weighted mod-11 check digit.\n *\n * @see https://www.rd.go.th/\n * @see https://en.wikipedia.org/wiki/Thai_identity_card\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 !== 13) {\n return err(\n \"INVALID_LENGTH\",\n \"TIN must be exactly 13 digits\",\n );\n }\n if (!isdigits(v)) {\n return err(\n \"INVALID_FORMAT\",\n \"TIN must contain only digits\",\n );\n }\n\n // First digit: 1-8 for individuals, 0 for companies\n const first = Number(v[0]);\n if (first > 8) {\n return err(\n \"INVALID_COMPONENT\",\n \"TIN first digit must be 0-8\",\n );\n }\n\n // Mod-11 check digit (position 13)\n let sum = 0;\n for (let i = 0; i < 12; i++) {\n sum += Number(v[i]) * (13 - i);\n }\n const check = (11 - (sum % 11)) % 10;\n if (check !== Number(v[12])) {\n return err(\n \"INVALID_CHECKSUM\",\n \"TIN check digit does not match\",\n );\n }\n\n return { valid: true, compact: v };\n};\n\nconst format = (value: string): string => {\n const v = compact(value);\n return (\n `${v[0]} ${v.slice(1, 5)} ` +\n `${v.slice(5, 10)} ${v.slice(10, 12)} ${v[12]}`\n );\n};\n\n/** Generate a random valid Thai TIN. */\nconst generate = (): string => {\n const first = String(randomInt(1, 8));\n const payload = first + randomDigits(11);\n let sum = 0;\n for (let i = 0; i < 12; i++)\n sum += (13 - i) * Number(payload[i]);\n return payload + String((11 - (sum % 11)) % 10);\n};\n\n/** Thai Tax Identification Number. */\nconst tin: CountryValidator<\"TH\"> = {\n name: \"Thai Tax Identification Number\",\n localName: \"เลขประจำตัวผู้เสียภาษี\",\n abbreviation: \"TIN\",\n aliases: [\"เลขประจำตัวผู้เสียภาษี\", \"TIN\"] as const,\n candidatePattern: \"\\\\d{13}\",\n scope: \"country\",\n country: \"TH\",\n entityType: \"any\",\n description:\n \"13-digit tax identifier for individuals and companies\",\n sourceUrl: \"https://www.rd.go.th/\",\n lengths: [13] as const,\n examples: [\"1101700230708\", \"3100600445015\"] as const,\n compact,\n format,\n validate,\n generate,\n};\n\nexport default tin;\nexport { compact, format, validate, generate };\n"],"mappings":";;;;;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;CAKF,IADc,OAAO,EAAE,EACf,IAAI,GACV,OAAO,IACL,qBACA,6BACF;CAIF,IAAI,MAAM;CACV,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,KACtB,OAAO,OAAO,EAAE,EAAE,KAAK,KAAK;CAG9B,KADe,KAAM,MAAM,MAAO,OACpB,OAAO,EAAE,GAAG,GACxB,OAAO,IACL,oBACA,gCACF;CAGF,OAAO;EAAE,OAAO;EAAM,SAAS;CAAE;AACnC;AAEA,MAAM,UAAU,UAA0B;CACxC,MAAM,IAAI,QAAQ,KAAK;CACvB,OACE,GAAG,EAAE,GAAG,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,GACtB,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,EAAE;AAE9C;;AAGA,MAAM,iBAAyB;CAE7B,MAAM,UADQ,OAAO,UAAU,GAAG,CAAC,CACf,IAAI,aAAa,EAAE;CACvC,IAAI,MAAM;CACV,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,KACtB,QAAQ,KAAK,KAAK,OAAO,QAAQ,EAAE;CACrC,OAAO,UAAU,QAAQ,KAAM,MAAM,MAAO,EAAE;AAChD;;AAGA,MAAM,MAA8B;CAClC,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS,CAAC,0BAA0B,KAAK;CACzC,kBAAkB;CAClB,OAAO;CACP,SAAS;CACT,YAAY;CACZ,aACE;CACF,WAAW;CACX,SAAS,CAAC,EAAE;CACZ,UAAU,CAAC,iBAAiB,eAAe;CAC3C;CACA;CACA;CACA;AACF"}
1
+ {"version":3,"file":"tin.js","names":[],"sources":["../../src/generated/th/tin.ts"],"sourcesContent":["// Generated by scripts/generate-public-surface.ts. Do not edit.\nimport { createValidator } from \"../../runtime\";\nimport type { CountryValidator } from \"../../types\";\n\nconst tin: CountryValidator<\"TH\"> = createValidator(\n \"th.tin\",\n 162,\n);\n\nexport default tin;\nexport const compact = tin.compact;\nexport const format = tin.format;\nexport const validate = tin.validate;\nexport const generate = (): string =>\n tin.generate?.() ??\n (() => {\n throw new Error(\n \"Validator th.tin 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/tr/mod.d.ts CHANGED
@@ -1,7 +1,5 @@
1
1
  import tckimlik from "./tckimlik.js";
2
2
  import vkn from "./vkn.js";
3
-
4
- //#region src/tr/mod.d.ts
5
3
  declare namespace mod_d_exports {
6
4
  export { tckimlik, vkn };
7
5
  }
package/dist/tr/mod.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { __exportAll } from "../_virtual/_rolldown/runtime.js";
2
2
  import tckimlik from "./tckimlik.js";
3
3
  import vkn from "./vkn.js";
4
- //#region src/tr/mod.ts
4
+ //#region src/generated/tr/mod.ts
5
5
  var tr_exports = /* @__PURE__ */ __exportAll({
6
6
  tckimlik: () => tckimlik,
7
7
  vkn: () => vkn
@@ -1 +1 @@
1
- {"version":3,"file":"mod.js","names":[],"sources":["../../src/tr/mod.ts"],"sourcesContent":["export { default as tckimlik } from \"./tckimlik\";\nexport { default as vkn } from \"./vkn\";\n"],"mappings":""}
1
+ {"version":3,"file":"mod.js","names":[],"sources":["../../src/generated/tr/mod.ts"],"sourcesContent":["// Generated by scripts/generate-public-surface.ts. Do not edit.\nexport { default as tckimlik } from \"./tckimlik\";\nexport { default as vkn } from \"./vkn\";\n"],"mappings":""}
@@ -1,14 +1,10 @@
1
1
  import { CountryValidator, ValidateResult } from "../types.js";
2
-
3
- //#region src/tr/tckimlik.d.ts
2
+ //#region src/generated/tr/tckimlik.d.ts
3
+ declare const tckimlik: CountryValidator<"TR">;
4
4
  declare const compact: (value: string) => string;
5
- declare const validate: (value: string) => ValidateResult;
6
- /** TR IDs are displayed without separators. */
7
5
  declare const format: (value: string) => string;
8
- /** Generate a random valid Turkish T.C. Kimlik No. */
6
+ declare const validate: (value: string) => ValidateResult;
9
7
  declare const generate: () => string;
10
- /** Turkish Personal Identification Number. */
11
- declare const tckimlik: CountryValidator<"TR">;
12
8
  //#endregion
13
9
  export { compact, tckimlik as default, format, generate, validate };
14
10
  //# sourceMappingURL=tckimlik.d.ts.map
@@ -1,59 +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/tr/tckimlik.ts
6
- const compact = (value) => clean(value, " -./");
7
- /**
8
- * Calculate the two check digits from the first
9
- * nine digits of a T.C. Kimlik number.
10
- */
11
- const calcCheckDigits = (number) => {
12
- let oddSum = 0;
13
- let evenSum = 0;
14
- for (let i = 0; i < 9; i++) {
15
- const d = Number(number[i]);
16
- if (i % 2 === 0) oddSum += d;
17
- else evenSum += d;
18
- }
19
- const d10 = ((7 * oddSum - evenSum) % 10 + 10) % 10;
20
- return `${d10}${(oddSum + evenSum + d10) % 10}`;
21
- };
22
- const validate = (value) => {
23
- const v = compact(value);
24
- if (v.length !== 11) return err("INVALID_LENGTH", "T.C. Kimlik number must be 11 digits");
25
- if (!isdigits(v)) return err("INVALID_FORMAT", "T.C. Kimlik number must contain only digits");
26
- if (v[0] === "0") return err("INVALID_COMPONENT", "T.C. Kimlik number cannot start with 0");
27
- if (calcCheckDigits(v) !== v.slice(9)) return err("INVALID_CHECKSUM", "T.C. Kimlik number check digit mismatch");
28
- return {
29
- valid: true,
30
- compact: v
31
- };
32
- };
33
- /** TR IDs are displayed without separators. */
34
- const format = (value) => compact(value);
35
- /** Generate a random valid Turkish T.C. Kimlik No. */
36
- const generate = () => {
37
- const payload = String(randomInt(1, 9)) + randomDigits(8);
38
- return payload + calcCheckDigits(payload);
39
- };
40
- /** Turkish Personal Identification Number. */
41
- const tckimlik = {
42
- name: "Turkish Personal ID",
43
- localName: "T.C. Kimlik Numarası",
44
- abbreviation: "T.C. Kimlik",
45
- aliases: ["TC Kimlik No", "T.C. Kimlik Numarası"],
46
- candidatePattern: "[1-9]\\d{10}",
47
- scope: "country",
48
- country: "TR",
49
- entityType: "person",
50
- sourceUrl: "https://www.nvi.gov.tr/",
51
- examples: ["17291716060"],
52
- compact,
53
- format,
54
- validate,
55
- generate
56
- };
1
+ import { createValidator } from "../runtime.js";
2
+ //#region src/generated/tr/tckimlik.ts
3
+ const tckimlik = createValidator("tr.tckimlik", 163);
4
+ const compact = tckimlik.compact;
5
+ const format = tckimlik.format;
6
+ const validate = tckimlik.validate;
7
+ const generate = () => tckimlik.generate?.() ?? (() => {
8
+ throw new Error("Validator tr.tckimlik cannot generate values");
9
+ })();
57
10
  //#endregion
58
11
  export { compact, tckimlik as default, format, generate, validate };
59
12
 
@@ -1 +1 @@
1
- {"version":3,"file":"tckimlik.js","names":[],"sources":["../../src/tr/tckimlik.ts"],"sourcesContent":["/**\n * T.C. Kimlik No.\n * (Türkiye Cumhuriyeti Kimlik Numarası,\n * Turkish personal identification number).\n *\n * 11-digit unique personal ID assigned to every\n * Turkish citizen by MERNİS (Merkezi Nüfus İdaresi\n * Sistemi). The first digit is never zero. The last\n * two digits are check digits.\n *\n * Check digit algorithm:\n * Let A = sum of digits at odd positions (1,3,5,7,9)\n * Let B = sum of digits at even positions (2,4,6,8)\n * d10 = (7 * A - B) mod 10\n * d11 = (d1 + d2 + ... + d10) mod 10\n *\n * @see https://tckimlik.nvi.gov.tr/\n * @see https://en.wikipedia.org/wiki/Turkish_Identification_Number\n * @see https://www.turkiye.gov.tr/nvi-tckn-dogrulama\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\n/**\n * Calculate the two check digits from the first\n * nine digits of a T.C. Kimlik number.\n */\nconst calcCheckDigits = (number: string): string => {\n let oddSum = 0;\n let evenSum = 0;\n for (let i = 0; i < 9; i++) {\n const d = Number(number[i]);\n if (i % 2 === 0) {\n oddSum += d;\n } else {\n evenSum += d;\n }\n }\n const d10 = (((7 * oddSum - evenSum) % 10) + 10) % 10;\n const d11 = (oddSum + evenSum + d10) % 10;\n return `${d10}${d11}`;\n};\n\nconst validate = (value: string): ValidateResult => {\n const v = compact(value);\n if (v.length !== 11) {\n return err(\n \"INVALID_LENGTH\",\n \"T.C. Kimlik number must be 11 digits\",\n );\n }\n if (!isdigits(v)) {\n return err(\n \"INVALID_FORMAT\",\n \"T.C. Kimlik number must contain only digits\",\n );\n }\n if (v[0] === \"0\") {\n return err(\n \"INVALID_COMPONENT\",\n \"T.C. Kimlik number cannot start with 0\",\n );\n }\n if (calcCheckDigits(v) !== v.slice(9)) {\n return err(\n \"INVALID_CHECKSUM\",\n \"T.C. Kimlik number check digit mismatch\",\n );\n }\n return { valid: true, compact: v };\n};\n\n/** TR IDs are displayed without separators. */\nconst format = (value: string): string => compact(value);\n\n/** Generate a random valid Turkish T.C. Kimlik No. */\nconst generate = (): string => {\n const payload = String(randomInt(1, 9)) + randomDigits(8);\n return payload + calcCheckDigits(payload);\n};\n\n/** Turkish Personal Identification Number. */\nconst tckimlik: CountryValidator<\"TR\"> = {\n name: \"Turkish Personal ID\",\n localName: \"T.C. Kimlik Numarası\",\n abbreviation: \"T.C. Kimlik\",\n aliases: [\n \"TC Kimlik No\",\n \"T.C. Kimlik Numarası\",\n ] as const,\n candidatePattern: \"[1-9]\\\\d{10}\",\n scope: \"country\",\n country: \"TR\",\n entityType: \"person\",\n sourceUrl: \"https://www.nvi.gov.tr/\",\n examples: [\"17291716060\"] as const,\n compact,\n format,\n validate,\n generate,\n};\n\nexport default tckimlik;\nexport { compact, format, validate, generate };\n"],"mappings":";;;;;AA+BA,MAAM,WAAW,UACf,MAAM,OAAO,MAAM;;;;;AAMrB,MAAM,mBAAmB,WAA2B;CAClD,IAAI,SAAS;CACb,IAAI,UAAU;CACd,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK;EAC1B,MAAM,IAAI,OAAO,OAAO,EAAE;EAC1B,IAAI,IAAI,MAAM,GACZ,UAAU;OAEV,WAAW;CAEf;CACA,MAAM,QAAS,IAAI,SAAS,WAAW,KAAM,MAAM;CAEnD,OAAO,GAAG,OADG,SAAS,UAAU,OAAO;AAEzC;AAEA,MAAM,YAAY,UAAkC;CAClD,MAAM,IAAI,QAAQ,KAAK;CACvB,IAAI,EAAE,WAAW,IACf,OAAO,IACL,kBACA,sCACF;CAEF,IAAI,CAAC,SAAS,CAAC,GACb,OAAO,IACL,kBACA,6CACF;CAEF,IAAI,EAAE,OAAO,KACX,OAAO,IACL,qBACA,wCACF;CAEF,IAAI,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,OAAO,IACL,oBACA,yCACF;CAEF,OAAO;EAAE,OAAO;EAAM,SAAS;CAAE;AACnC;;AAGA,MAAM,UAAU,UAA0B,QAAQ,KAAK;;AAGvD,MAAM,iBAAyB;CAC7B,MAAM,UAAU,OAAO,UAAU,GAAG,CAAC,CAAC,IAAI,aAAa,CAAC;CACxD,OAAO,UAAU,gBAAgB,OAAO;AAC1C;;AAGA,MAAM,WAAmC;CACvC,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS,CACP,gBACA,sBACF;CACA,kBAAkB;CAClB,OAAO;CACP,SAAS;CACT,YAAY;CACZ,WAAW;CACX,UAAU,CAAC,aAAa;CACxB;CACA;CACA;CACA;AACF"}
1
+ {"version":3,"file":"tckimlik.js","names":[],"sources":["../../src/generated/tr/tckimlik.ts"],"sourcesContent":["// Generated by scripts/generate-public-surface.ts. Do not edit.\nimport { createValidator } from \"../../runtime\";\nimport type { CountryValidator } from \"../../types\";\n\nconst tckimlik: CountryValidator<\"TR\"> = createValidator(\n \"tr.tckimlik\",\n 163,\n);\n\nexport default tckimlik;\nexport const compact = tckimlik.compact;\nexport const format = tckimlik.format;\nexport const validate = tckimlik.validate;\nexport const generate = (): string =>\n tckimlik.generate?.() ??\n (() => {\n throw new Error(\n \"Validator tr.tckimlik 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/tr/vkn.d.ts CHANGED
@@ -1,14 +1,10 @@
1
1
  import { CountryValidator, ValidateResult } from "../types.js";
2
-
3
- //#region src/tr/vkn.d.ts
2
+ //#region src/generated/tr/vkn.d.ts
3
+ declare const vkn: CountryValidator<"TR">;
4
4
  declare const compact: (value: string) => string;
5
- declare const validate: (value: string) => ValidateResult;
6
- /** TR IDs are displayed without separators. */
7
5
  declare const format: (value: string) => string;
8
- /** Generate a random valid Turkish VKN. */
6
+ declare const validate: (value: string) => ValidateResult;
9
7
  declare const generate: () => string;
10
- /** Turkish Tax Identification Number. */
11
- declare const vkn: CountryValidator<"TR">;
12
8
  //#endregion
13
9
  export { compact, vkn as default, format, generate, validate };
14
10
  //# sourceMappingURL=vkn.d.ts.map
package/dist/tr/vkn.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/tr/vkn.ts
6
- const compact = (value) => clean(value, " -./");
7
- /**
8
- * Calculate the check digit for the first 9 digits
9
- * of a VKN.
10
- */
11
- const calcCheckDigit = (number) => {
12
- let s = 0;
13
- for (let i = 0; i < 9; i++) {
14
- const pos = 9 - i;
15
- const c1 = (Number(number[i]) + pos) % 10;
16
- if (c1 !== 0) {
17
- const c2 = c1 * 2 ** pos % 9 || 9;
18
- s += c2;
19
- }
20
- }
21
- return String((10 - s % 10) % 10);
22
- };
23
- const validate = (value) => {
24
- const v = compact(value);
25
- if (v.length !== 10) return err("INVALID_LENGTH", "VKN must be 10 digits");
26
- if (!isdigits(v)) return err("INVALID_FORMAT", "VKN must contain only digits");
27
- if (calcCheckDigit(v) !== v[9]) return err("INVALID_CHECKSUM", "VKN check digit mismatch");
28
- return {
29
- valid: true,
30
- compact: v
31
- };
32
- };
33
- /** TR IDs are displayed without separators. */
34
- const format = (value) => compact(value);
35
- /** Generate a random valid Turkish VKN. */
36
- const generate = () => {
37
- const payload = randomDigits(9);
38
- return payload + calcCheckDigit(payload);
39
- };
40
- /** Turkish Tax Identification Number. */
41
- const vkn = {
42
- name: "Turkish Tax ID",
43
- localName: "Vergi Kimlik Numarası",
44
- abbreviation: "VKN",
45
- aliases: ["VKN", "Vergi Kimlik Numarası"],
46
- candidatePattern: "\\d{10}",
47
- scope: "country",
48
- country: "TR",
49
- entityType: "company",
50
- sourceUrl: "https://www.gib.gov.tr/",
51
- examples: ["4540536920"],
52
- compact,
53
- format,
54
- validate,
55
- generate
56
- };
1
+ import { createValidator } from "../runtime.js";
2
+ //#region src/generated/tr/vkn.ts
3
+ const vkn = createValidator("tr.vkn", 164);
4
+ const compact = vkn.compact;
5
+ const format = vkn.format;
6
+ const validate = vkn.validate;
7
+ const generate = () => vkn.generate?.() ?? (() => {
8
+ throw new Error("Validator tr.vkn cannot generate values");
9
+ })();
57
10
  //#endregion
58
11
  export { compact, vkn as default, format, generate, validate };
59
12
 
@@ -1 +1 @@
1
- {"version":3,"file":"vkn.js","names":[],"sources":["../../src/tr/vkn.ts"],"sourcesContent":["/**\n * VKN (Vergi Kimlik Numarası, Turkish tax\n * identification number).\n *\n * 10-digit tax ID used for businesses in Turkey.\n * The last digit is a check digit.\n *\n * Check digit algorithm:\n * For each of the first 9 digits (right to left,\n * position i = 1..9):\n * c1 = (digit + i) mod 10\n * c2 = if c1 != 0: (c1 * 2^i) mod 9, or 9 if\n * that result is 0\n * sum += c2\n * check = (10 - sum) mod 10\n *\n * @see https://www.turkiye.gov.tr/gib-intvrg-vergi-kimlik-numarasi-dogrulama\n * @see https://arthurdejong.org/python-stdnum/doc/1.17/stdnum.tr.vkn\n * @see https://www.gib.gov.tr/\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 * Calculate the check digit for the first 9 digits\n * of a VKN.\n */\nconst calcCheckDigit = (number: string): string => {\n let s = 0;\n for (let i = 0; i < 9; i++) {\n const pos = 9 - i; // position 1..9 from right\n const c1 = (Number(number[i]) + pos) % 10;\n if (c1 !== 0) {\n const pow = 2 ** pos;\n const c2 = (c1 * pow) % 9 || 9;\n s += c2;\n }\n }\n return String((10 - (s % 10)) % 10);\n};\n\nconst validate = (value: string): ValidateResult => {\n const v = compact(value);\n if (v.length !== 10) {\n return err(\"INVALID_LENGTH\", \"VKN must be 10 digits\");\n }\n if (!isdigits(v)) {\n return err(\n \"INVALID_FORMAT\",\n \"VKN must contain only digits\",\n );\n }\n if (calcCheckDigit(v) !== v[9]) {\n return err(\n \"INVALID_CHECKSUM\",\n \"VKN check digit mismatch\",\n );\n }\n return { valid: true, compact: v };\n};\n\n/** TR IDs are displayed without separators. */\nconst format = (value: string): string => compact(value);\n\n/** Generate a random valid Turkish VKN. */\nconst generate = (): string => {\n const payload = randomDigits(9);\n return payload + calcCheckDigit(payload);\n};\n\n/** Turkish Tax Identification Number. */\nconst vkn: CountryValidator<\"TR\"> = {\n name: \"Turkish Tax ID\",\n localName: \"Vergi Kimlik Numarası\",\n abbreviation: \"VKN\",\n aliases: [\"VKN\", \"Vergi Kimlik Numarası\"] as const,\n candidatePattern: \"\\\\d{10}\",\n scope: \"country\",\n country: \"TR\",\n entityType: \"company\",\n sourceUrl: \"https://www.gib.gov.tr/\",\n examples: [\"4540536920\"] as const,\n compact,\n format,\n validate,\n generate,\n};\n\nexport default vkn;\nexport { compact, format, validate, generate };\n"],"mappings":";;;;;AA+BA,MAAM,WAAW,UACf,MAAM,OAAO,MAAM;;;;;AAMrB,MAAM,kBAAkB,WAA2B;CACjD,IAAI,IAAI;CACR,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK;EAC1B,MAAM,MAAM,IAAI;EAChB,MAAM,MAAM,OAAO,OAAO,EAAE,IAAI,OAAO;EACvC,IAAI,OAAO,GAAG;GAEZ,MAAM,KAAM,KADA,KAAK,MACO,KAAK;GAC7B,KAAK;EACP;CACF;CACA,OAAO,QAAQ,KAAM,IAAI,MAAO,EAAE;AACpC;AAEA,MAAM,YAAY,UAAkC;CAClD,MAAM,IAAI,QAAQ,KAAK;CACvB,IAAI,EAAE,WAAW,IACf,OAAO,IAAI,kBAAkB,uBAAuB;CAEtD,IAAI,CAAC,SAAS,CAAC,GACb,OAAO,IACL,kBACA,8BACF;CAEF,IAAI,eAAe,CAAC,MAAM,EAAE,IAC1B,OAAO,IACL,oBACA,0BACF;CAEF,OAAO;EAAE,OAAO;EAAM,SAAS;CAAE;AACnC;;AAGA,MAAM,UAAU,UAA0B,QAAQ,KAAK;;AAGvD,MAAM,iBAAyB;CAC7B,MAAM,UAAU,aAAa,CAAC;CAC9B,OAAO,UAAU,eAAe,OAAO;AACzC;;AAGA,MAAM,MAA8B;CAClC,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS,CAAC,OAAO,uBAAuB;CACxC,kBAAkB;CAClB,OAAO;CACP,SAAS;CACT,YAAY;CACZ,WAAW;CACX,UAAU,CAAC,YAAY;CACvB;CACA;CACA;CACA;AACF"}
1
+ {"version":3,"file":"vkn.js","names":[],"sources":["../../src/generated/tr/vkn.ts"],"sourcesContent":["// Generated by scripts/generate-public-surface.ts. Do not edit.\nimport { createValidator } from \"../../runtime\";\nimport type { CountryValidator } from \"../../types\";\n\nconst vkn: CountryValidator<\"TR\"> = createValidator(\n \"tr.vkn\",\n 164,\n);\n\nexport default vkn;\nexport const compact = vkn.compact;\nexport const format = vkn.format;\nexport const validate = vkn.validate;\nexport const generate = (): string =>\n vkn.generate?.() ??\n (() => {\n throw new Error(\n \"Validator tr.vkn 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/tw/mod.d.ts CHANGED
@@ -1,6 +1,4 @@
1
1
  import ubn from "./ubn.js";
2
-
3
- //#region src/tw/mod.d.ts
4
2
  declare namespace mod_d_exports {
5
3
  export { ubn };
6
4
  }
package/dist/tw/mod.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { __exportAll } from "../_virtual/_rolldown/runtime.js";
2
2
  import ubn from "./ubn.js";
3
- //#region src/tw/mod.ts
3
+ //#region src/generated/tw/mod.ts
4
4
  var tw_exports = /* @__PURE__ */ __exportAll({ ubn: () => ubn });
5
5
  //#endregion
6
6
  export { tw_exports, ubn };
@@ -1 +1 @@
1
- {"version":3,"file":"mod.js","names":[],"sources":["../../src/tw/mod.ts"],"sourcesContent":["export { default as ubn } from \"./ubn\";\n"],"mappings":""}
1
+ {"version":3,"file":"mod.js","names":[],"sources":["../../src/generated/tw/mod.ts"],"sourcesContent":["// Generated by scripts/generate-public-surface.ts. Do not edit.\nexport { default as ubn } from \"./ubn\";\n"],"mappings":""}
package/dist/tw/ubn.d.ts CHANGED
@@ -1,13 +1,10 @@
1
1
  import { CountryValidator, ValidateResult } from "../types.js";
2
-
3
- //#region src/tw/ubn.d.ts
2
+ //#region src/generated/tw/ubn.d.ts
3
+ declare const ubn: CountryValidator<"TW">;
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 UBN. */
6
+ declare const validate: (value: string) => ValidateResult;
8
7
  declare const generate: () => string;
9
- /** Taiwanese Unified Business Number. */
10
- declare const ubn: CountryValidator<"TW">;
11
8
  //#endregion
12
9
  export { compact, ubn as default, format, generate, validate };
13
10
  //# sourceMappingURL=ubn.d.ts.map
package/dist/tw/ubn.js CHANGED
@@ -1,75 +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/tw/ubn.ts
6
- const WEIGHTS = [
7
- 1,
8
- 2,
9
- 1,
10
- 2,
11
- 1,
12
- 2,
13
- 4,
14
- 1
15
- ];
16
- /** Sum the individual digits of a number. */
17
- const digitSum = (n) => {
18
- let sum = 0;
19
- while (n > 0) {
20
- sum += n % 10;
21
- n = Math.floor(n / 10);
22
- }
23
- return sum;
24
- };
25
- const compact = (value) => clean(value, " -");
26
- const validate = (value) => {
27
- const v = compact(value);
28
- if (v.length !== 8) return err("INVALID_LENGTH", "UBN must be exactly 8 digits");
29
- if (!isdigits(v)) return err("INVALID_FORMAT", "UBN must contain only digits");
30
- let sum = 0;
31
- for (const [i, weight] of WEIGHTS.entries()) sum += digitSum(Number(v[i]) * weight);
32
- const checksum = sum % 10;
33
- if (checksum === 0) return {
34
- valid: true,
35
- compact: v
36
- };
37
- if (checksum === 9 && v[6] === "7") return {
38
- valid: true,
39
- compact: v
40
- };
41
- return err("INVALID_CHECKSUM", "UBN checksum does not match");
42
- };
43
- const format = (value) => compact(value);
44
- /** Generate a random valid UBN. */
45
- const generate = () => {
46
- for (;;) {
47
- const prefix = randomDigits(7);
48
- for (let d = 0; d < 10; d++) {
49
- const candidate = `${prefix}${d}`;
50
- if (validate(candidate).valid) return candidate;
51
- }
52
- }
53
- };
54
- /** Taiwanese Unified Business Number. */
55
- const ubn = {
56
- name: "Unified Business Number",
57
- localName: "統一編號",
58
- abbreviation: "UBN",
59
- aliases: ["統一編號", "UBN"],
60
- candidatePattern: "\\d{8}",
61
- scope: "country",
62
- country: "TW",
63
- entityType: "company",
64
- description: "8-digit company identifier issued by the Ministry of Economic Affairs",
65
- sourceUrl: "https://zh.wikipedia.org/wiki/%E7%B5%B1%E4%B8%80%E7%B7%A8%E8%99%9F",
66
- lengths: [8],
67
- examples: ["00501503", "04595257"],
68
- compact,
69
- format,
70
- validate,
71
- generate
72
- };
1
+ import { createValidator } from "../runtime.js";
2
+ //#region src/generated/tw/ubn.ts
3
+ const ubn = createValidator("tw.ubn", 165);
4
+ const compact = ubn.compact;
5
+ const format = ubn.format;
6
+ const validate = ubn.validate;
7
+ const generate = () => ubn.generate?.() ?? (() => {
8
+ throw new Error("Validator tw.ubn cannot generate values");
9
+ })();
73
10
  //#endregion
74
11
  export { compact, ubn as default, format, generate, validate };
75
12
 
@@ -1 +1 @@
1
- {"version":3,"file":"ubn.js","names":[],"sources":["../../src/tw/ubn.ts"],"sourcesContent":["/**\n * UBN (Unified Business Number, 統一編號).\n *\n * Taiwanese company identifier. 8 digits with a\n * weighted checksum. Weights [1,2,1,2,1,2,4,1];\n * sum the individual digits of each product, total\n * mod 10 must be 0. Special case: when the 7th digit\n * is 7, checksum 9 is also accepted.\n *\n * @see https://zh.wikipedia.org/wiki/統一編號\n */\n\nimport type {\n ValidateResult,\n CountryValidator,\n} from \"../types\";\n\nimport { clean } from \"#util/clean\";\nimport { randomDigits } from \"#util/generate\";\nimport { err } from \"#util/result\";\nimport { isdigits } from \"#util/strings\";\n\nconst WEIGHTS = [1, 2, 1, 2, 1, 2, 4, 1] as const;\n\n/** Sum the individual digits of a number. */\nconst digitSum = (n: number): number => {\n let sum = 0;\n while (n > 0) {\n sum += n % 10;\n n = Math.floor(n / 10);\n }\n return sum;\n};\n\nconst compact = (value: string): string =>\n clean(value, \" -\");\n\nconst validate = (value: string): ValidateResult => {\n const v = compact(value);\n if (v.length !== 8) {\n return err(\n \"INVALID_LENGTH\",\n \"UBN must be exactly 8 digits\",\n );\n }\n if (!isdigits(v)) {\n return err(\n \"INVALID_FORMAT\",\n \"UBN must contain only digits\",\n );\n }\n\n let sum = 0;\n for (const [i, weight] of WEIGHTS.entries()) {\n sum += digitSum(Number(v[i]) * weight);\n }\n\n const checksum = sum % 10;\n if (checksum === 0) {\n return { valid: true, compact: v };\n }\n\n // Special case: when the 7th digit is 7 (product\n // 4*7=28), the checksum may be 9 instead of 0.\n if (checksum === 9 && v[6] === \"7\") {\n return { valid: true, compact: v };\n }\n\n return err(\n \"INVALID_CHECKSUM\",\n \"UBN checksum does not match\",\n );\n};\n\nconst format = (value: string): string => compact(value);\n\n/** Generate a random valid UBN. */\nconst generate = (): string => {\n for (;;) {\n const prefix = randomDigits(7);\n for (let d = 0; d < 10; d++) {\n const candidate = `${prefix}${d}`;\n const r = validate(candidate);\n if (r.valid) return candidate;\n }\n }\n};\n\n/** Taiwanese Unified Business Number. */\nconst ubn: CountryValidator<\"TW\"> = {\n name: \"Unified Business Number\",\n localName: \"統一編號\",\n abbreviation: \"UBN\",\n aliases: [\"統一編號\", \"UBN\"] as const,\n candidatePattern: \"\\\\d{8}\",\n scope: \"country\",\n country: \"TW\",\n entityType: \"company\",\n description:\n \"8-digit company identifier issued by the Ministry of Economic Affairs\",\n sourceUrl:\n \"https://zh.wikipedia.org/wiki/%E7%B5%B1%E4%B8%80%E7%B7%A8%E8%99%9F\",\n lengths: [8] as const,\n examples: [\"00501503\", \"04595257\"] as const,\n compact,\n format,\n validate,\n generate,\n};\n\nexport default ubn;\nexport { compact, format, generate, validate };\n"],"mappings":";;;;;AAsBA,MAAM,UAAU;CAAC;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;AAAC;;AAGvC,MAAM,YAAY,MAAsB;CACtC,IAAI,MAAM;CACV,OAAO,IAAI,GAAG;EACZ,OAAO,IAAI;EACX,IAAI,KAAK,MAAM,IAAI,EAAE;CACvB;CACA,OAAO;AACT;AAEA,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,IAAI,MAAM;CACV,KAAK,MAAM,CAAC,GAAG,WAAW,QAAQ,QAAQ,GACxC,OAAO,SAAS,OAAO,EAAE,EAAE,IAAI,MAAM;CAGvC,MAAM,WAAW,MAAM;CACvB,IAAI,aAAa,GACf,OAAO;EAAE,OAAO;EAAM,SAAS;CAAE;CAKnC,IAAI,aAAa,KAAK,EAAE,OAAO,KAC7B,OAAO;EAAE,OAAO;EAAM,SAAS;CAAE;CAGnC,OAAO,IACL,oBACA,6BACF;AACF;AAEA,MAAM,UAAU,UAA0B,QAAQ,KAAK;;AAGvD,MAAM,iBAAyB;CAC7B,SAAS;EACP,MAAM,SAAS,aAAa,CAAC;EAC7B,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,KAAK;GAC3B,MAAM,YAAY,GAAG,SAAS;GAE9B,IADU,SAAS,SACf,CAAC,CAAC,OAAO,OAAO;EACtB;CACF;AACF;;AAGA,MAAM,MAA8B;CAClC,MAAM;CACN,WAAW;CACX,cAAc;CACd,SAAS,CAAC,QAAQ,KAAK;CACvB,kBAAkB;CAClB,OAAO;CACP,SAAS;CACT,YAAY;CACZ,aACE;CACF,WACE;CACF,SAAS,CAAC,CAAC;CACX,UAAU,CAAC,YAAY,UAAU;CACjC;CACA;CACA;CACA;AACF"}
1
+ {"version":3,"file":"ubn.js","names":[],"sources":["../../src/generated/tw/ubn.ts"],"sourcesContent":["// Generated by scripts/generate-public-surface.ts. Do not edit.\nimport { createValidator } from \"../../runtime\";\nimport type { CountryValidator } from \"../../types\";\n\nconst ubn: CountryValidator<\"TW\"> = createValidator(\n \"tw.ubn\",\n 165,\n);\n\nexport default ubn;\nexport const compact = ubn.compact;\nexport const format = ubn.format;\nexport const validate = ubn.validate;\nexport const generate = (): string =>\n ubn.generate?.() ??\n (() => {\n throw new Error(\n \"Validator tw.ubn 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/types.d.ts CHANGED
@@ -1,9 +1,6 @@
1
1
  //#region src/types.d.ts
2
- /**
3
- * ISO 3166-1 alpha-2 country codes for countries
4
- * with at least one validator in this package.
5
- */
6
2
  type CountryCode = "AD" | "AE" | "AI" | "AL" | "AM" | "AR" | "AT" | "AU" | "AZ" | "BA" | "BD" | "BE" | "BG" | "BH" | "BR" | "BY" | "BZ" | "CA" | "CH" | "CL" | "CN" | "CO" | "CR" | "CU" | "CY" | "CZ" | "DE" | "DK" | "DO" | "EC" | "EE" | "EG" | "ES" | "FI" | "FR" | "GB" | "GE" | "GH" | "GR" | "GT" | "HK" | "HR" | "HU" | "ID" | "IE" | "IL" | "IN" | "IQ" | "IR" | "IS" | "IT" | "JP" | "KR" | "KW" | "KZ" | "LI" | "LK" | "LT" | "LU" | "LV" | "MA" | "MC" | "MD" | "ME" | "MK" | "MT" | "MU" | "MX" | "MY" | "NG" | "NI" | "NL" | "NO" | "NZ" | "PA" | "PE" | "PH" | "PK" | "PL" | "PT" | "RO" | "RS" | "RU" | "SE" | "SG" | "SI" | "SK" | "TH" | "TR" | "TW" | "UA" | "US" | "UY" | "VE" | "VN" | "ZA";
3
+ type ValidatorId = "ad.nrt" | "ae.eid" | "ai.tin" | "al.nipt" | "am.tin" | "ar.cbu" | "ar.cuit" | "ar.dni" | "at.businessid" | "at.tin" | "at.uid" | "at.vnr" | "au.abn" | "au.acn" | "au.tfn" | "az.voen" | "ba.jmbg" | "bd.nid" | "be.bis" | "be.nn" | "be.vat" | "bg.egn" | "bg.pnf" | "bg.vat" | "bh.cpr" | "bic" | "br.cnpj" | "br.cpf" | "by.unp" | "bz.tin" | "ca.bn" | "ca.sin" | "ch.ssn" | "ch.uid" | "ch.vat" | "cl.rut" | "cn.ric" | "cn.uscc" | "co.nit" | "cr.cpf" | "creditcard" | "crypto.btcbase58" | "crypto.btcbech32" | "crypto.eth" | "crypto.wallet" | "cu.ni" | "cy.vat" | "cz.dic" | "cz.ico" | "cz.rc" | "de.handelsreg" | "de.idnr" | "de.stnr" | "de.svnr" | "de.vat" | "dk.cpr" | "dk.cvr" | "dk.vat" | "do.rnc" | "ec.ruc" | "ee.ik" | "ee.registrikood" | "ee.vat" | "eg.tn" | "es.cif" | "es.dni" | "es.nie" | "es.nss" | "es.vat" | "eu.vat" | "fi.hetu" | "fi.vat" | "fi.ytunnus" | "fr.nif" | "fr.nir" | "fr.siren" | "fr.siret" | "fr.tva" | "gb.nhs" | "gb.nino" | "gb.sedol" | "gb.utr" | "gb.vat" | "ge.pin" | "gh.tin" | "gr.amka" | "gr.vat" | "gt.nit" | "hk.hkid" | "hr.vat" | "hu.vat" | "iban" | "id.npwp" | "ie.pps" | "ie.vat" | "il.idnr" | "in.aadhaar" | "in.gstin" | "in.pan" | "iq.nid" | "ir.nid" | "is.kennitala" | "is.vsk" | "isin" | "it.codiceFiscale" | "it.iva" | "jp.cn" | "jp.mynumber" | "kr.brn" | "kr.rrn" | "kw.civil" | "kz.iin" | "lei" | "li.peid" | "lk.nic" | "lt.asmens" | "lt.vat" | "lu.vat" | "luhn" | "lv.vat" | "ma.ice" | "mc.tva" | "md.idno" | "me.pib" | "mk.edb" | "mt.vat" | "mu.brn" | "mx.clabe" | "mx.curp" | "mx.rfc" | "my.nric" | "ng.nin" | "ni.ruc" | "nl.bsn" | "nl.kvk" | "nl.vat" | "no.fodselsnummer" | "no.mva" | "no.orgnr" | "nz.ird" | "pa.ruc" | "pe.ruc" | "ph.philid" | "pk.cnic" | "pl.nip" | "pl.pesel" | "pl.regon" | "pt.cc" | "pt.vat" | "ro.cnp" | "ro.vat" | "rs.pib" | "ru.inn" | "se.orgnr" | "se.personnummer" | "se.vat" | "sg.uen" | "si.emso" | "si.vat" | "sk.dic" | "sk.ico" | "sk.rc" | "th.tin" | "tr.tckimlik" | "tr.vkn" | "tw.ubn" | "ua.edrpou" | "us.ein" | "us.itin" | "us.rtn" | "us.ssn" | "uy.rut" | "ve.rif" | "vn.mst" | "za.idnr";
7
4
  type ErrorCode = "INVALID_FORMAT" | "INVALID_LENGTH" | "INVALID_CHECKSUM" | "INVALID_COMPONENT";
8
5
  type StdnumError = {
9
6
  code: ErrorCode;
@@ -16,102 +13,30 @@ type ValidateResult = {
16
13
  valid: false;
17
14
  error: StdnumError;
18
15
  };
19
- /**
20
- * Structured data extracted from an identifier that
21
- * encodes a birth date.
22
- */
23
16
  type ParsedBirthDate = {
24
17
  birthDate: Date;
25
18
  };
26
- /**
27
- * Structured data extracted from a personal ID number
28
- * that also encodes gender.
29
- */
30
19
  type ParsedPersonId = ParsedBirthDate & {
31
20
  gender: "male" | "female";
32
21
  };
33
22
  type ParsedIdentifier = ParsedBirthDate | ParsedPersonId;
34
- /**
35
- * Whether an identifier is scoped to a single
36
- * country (e.g. Czech IČO) or is cross-border by
37
- * design (e.g. IBAN, ISIN, BIC, LEI, EU VAT).
38
- *
39
- * Modeled as a discriminated union so consumers
40
- * can group, filter, and exhaustively switch
41
- * without null-checking `country`.
42
- */
43
- type ValidatorScope = {
44
- scope: "country";
45
- country: CountryCode;
46
- } | {
47
- scope: "global";
48
- };
23
+ type CardNetwork = "visa" | "mastercard" | "amex" | "discover" | "diners" | "jcb" | "unionpay" | "maestro";
49
24
  type ValidatorBase<TParsed extends ParsedIdentifier | undefined = undefined> = {
50
- /** English name. */name: string; /** Name in the local language. */
51
- localName: string; /** Common abbreviation (e.g. "IČO"). */
52
- abbreviation: string; /** What kind of entity this identifies. */
25
+ name: string;
26
+ localName: string;
27
+ abbreviation: string;
53
28
  entityType: "person" | "company" | "any";
54
- /**
55
- * Strip separators and normalize to a
56
- * canonical compact form.
57
- */
58
29
  compact: (value: string) => string;
59
- /**
60
- * Format the identifier for display
61
- * (e.g. add separators, group digits).
62
- */
63
30
  format: (value: string) => string;
64
- /**
65
- * Validate the identifier. Returns the
66
- * compact form on success, or an error
67
- * with a code and message on failure.
68
- */
69
- validate: (value: string) => ValidateResult; /** One-liner describing the identifier. */
70
- description?: string; /** URL to official authority or spec page. */
71
- sourceUrl?: string; /** Valid lengths of the compact form. */
31
+ validate: (value: string) => ValidateResult;
32
+ validateMany: (values: readonly string[]) => ValidateResult[];
33
+ description?: string;
34
+ sourceUrl?: string;
72
35
  lengths?: readonly number[];
73
- /**
74
- * Known-valid compact values. Useful as test
75
- * seeds, form placeholders, API schema examples,
76
- * and documentation. Sourced from official
77
- * government specs where available.
78
- */
79
36
  examples?: readonly string[];
80
- /**
81
- * Generate a random valid identifier in compact
82
- * form. Available on validators with checksum
83
- * algorithms. Useful for testing, demos, and
84
- * form placeholders. NOT cryptographically secure.
85
- */
86
37
  generate?: () => string;
87
- /**
88
- * All known names, abbreviations, and common
89
- * references for this identifier. Superset of
90
- * name/localName/abbreviation. Useful for
91
- * searching documents, building autocomplete,
92
- * or contextual detection.
93
- */
94
38
  aliases?: readonly string[];
95
- /**
96
- * Regex pattern string to find candidates of
97
- * this identifier in free text. Should be loose
98
- * enough to catch formatted variants (dots,
99
- * spaces, hyphens) but specific enough to avoid
100
- * excessive noise. Matched candidates should be
101
- * passed to validate() for confirmation.
102
- */
103
39
  candidatePattern?: string;
104
- /**
105
- * Extract structured data (e.g. birth date,
106
- * gender) from a known-valid identifier.
107
- * Available on personal IDs that encode such
108
- * data. Returns null if the input cannot be
109
- * parsed.
110
- *
111
- * On the base `Validator` type this is optional
112
- * with a widened return; narrow it by typing the
113
- * validator as `Validator<ParsedPersonId>` etc.
114
- */
115
40
  parse?: (value: string) => ParsedIdentifier | null;
116
41
  } & ([TParsed] extends [undefined] ? unknown : {
117
42
  parse: (value: string) => TParsed | null;
@@ -125,6 +50,12 @@ type GlobalValidator<TParsed extends ParsedIdentifier | undefined = undefined> =
125
50
  };
126
51
  type Validator<TParsed extends ParsedIdentifier | undefined = undefined> = CountryValidator<CountryCode, TParsed> | GlobalValidator<TParsed>;
127
52
  type ParsableValidator<TParsed extends ParsedIdentifier = ParsedIdentifier> = Validator<TParsed>;
53
+ type ValidatorScope = {
54
+ scope: "country";
55
+ country: CountryCode;
56
+ } | {
57
+ scope: "global";
58
+ };
128
59
  //#endregion
129
- export { CountryCode, CountryValidator, ErrorCode, GlobalValidator, ParsableValidator, ParsedBirthDate, ParsedIdentifier, ParsedPersonId, StdnumError, ValidateResult, Validator, ValidatorScope };
60
+ export { CardNetwork, CountryCode, CountryValidator, ErrorCode, GlobalValidator, ParsableValidator, ParsedBirthDate, ParsedIdentifier, ParsedPersonId, StdnumError, ValidateResult, Validator, ValidatorId, ValidatorScope };
130
61
  //# sourceMappingURL=types.d.ts.map
@@ -1,13 +1,10 @@
1
1
  import { CountryValidator, ValidateResult } from "../types.js";
2
-
3
- //#region src/ua/edrpou.d.ts
2
+ //#region src/generated/ua/edrpou.d.ts
3
+ declare const edrpou: CountryValidator<"UA">;
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 Ukrainian EDRPOU. */
6
+ declare const validate: (value: string) => ValidateResult;
8
7
  declare const generate: () => string;
9
- /** Ukrainian Company Register Number. */
10
- declare const edrpou: CountryValidator<"UA">;
11
8
  //#endregion
12
9
  export { compact, edrpou as default, format, generate, validate };
13
10
  //# sourceMappingURL=edrpou.d.ts.map