@johnmorrisdotca/kuni 0.0.0-stage → 1.0.0

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 (825) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/LICENSE +21 -0
  3. package/NOTICE.md +127 -0
  4. package/README.md +396 -2
  5. package/dist/codes.cjs +289 -0
  6. package/dist/codes.d.cts +6 -0
  7. package/dist/codes.d.ts +6 -0
  8. package/dist/codes.js +261 -0
  9. package/dist/index.cjs +725 -0
  10. package/dist/index.d.cts +24 -0
  11. package/dist/index.d.ts +24 -0
  12. package/dist/index.js +686 -0
  13. package/dist/load.cjs +512 -0
  14. package/dist/load.d.cts +5 -0
  15. package/dist/load.d.ts +5 -0
  16. package/dist/load.js +475 -0
  17. package/dist/subdivisions/ad.cjs +7 -0
  18. package/dist/subdivisions/ad.d.cts +5 -0
  19. package/dist/subdivisions/ad.d.ts +5 -0
  20. package/dist/subdivisions/ad.js +7 -0
  21. package/dist/subdivisions/ae.cjs +7 -0
  22. package/dist/subdivisions/ae.d.cts +5 -0
  23. package/dist/subdivisions/ae.d.ts +5 -0
  24. package/dist/subdivisions/ae.js +7 -0
  25. package/dist/subdivisions/af.cjs +34 -0
  26. package/dist/subdivisions/af.d.cts +5 -0
  27. package/dist/subdivisions/af.d.ts +5 -0
  28. package/dist/subdivisions/af.js +34 -0
  29. package/dist/subdivisions/ag.cjs +8 -0
  30. package/dist/subdivisions/ag.d.cts +5 -0
  31. package/dist/subdivisions/ag.d.ts +5 -0
  32. package/dist/subdivisions/ag.js +8 -0
  33. package/dist/subdivisions/al.cjs +12 -0
  34. package/dist/subdivisions/al.d.cts +5 -0
  35. package/dist/subdivisions/al.d.ts +5 -0
  36. package/dist/subdivisions/al.js +12 -0
  37. package/dist/subdivisions/am.cjs +11 -0
  38. package/dist/subdivisions/am.d.cts +5 -0
  39. package/dist/subdivisions/am.d.ts +5 -0
  40. package/dist/subdivisions/am.js +11 -0
  41. package/dist/subdivisions/ao.cjs +18 -0
  42. package/dist/subdivisions/ao.d.cts +5 -0
  43. package/dist/subdivisions/ao.d.ts +5 -0
  44. package/dist/subdivisions/ao.js +18 -0
  45. package/dist/subdivisions/ar.cjs +24 -0
  46. package/dist/subdivisions/ar.d.cts +5 -0
  47. package/dist/subdivisions/ar.d.ts +5 -0
  48. package/dist/subdivisions/ar.js +24 -0
  49. package/dist/subdivisions/at.cjs +9 -0
  50. package/dist/subdivisions/at.d.cts +5 -0
  51. package/dist/subdivisions/at.d.ts +5 -0
  52. package/dist/subdivisions/at.js +9 -0
  53. package/dist/subdivisions/au.cjs +8 -0
  54. package/dist/subdivisions/au.d.cts +5 -0
  55. package/dist/subdivisions/au.d.ts +5 -0
  56. package/dist/subdivisions/au.js +8 -0
  57. package/dist/subdivisions/az.cjs +78 -0
  58. package/dist/subdivisions/az.d.cts +5 -0
  59. package/dist/subdivisions/az.d.ts +5 -0
  60. package/dist/subdivisions/az.js +78 -0
  61. package/dist/subdivisions/ba.cjs +3 -0
  62. package/dist/subdivisions/ba.d.cts +5 -0
  63. package/dist/subdivisions/ba.d.ts +5 -0
  64. package/dist/subdivisions/ba.js +3 -0
  65. package/dist/subdivisions/bb.cjs +11 -0
  66. package/dist/subdivisions/bb.d.cts +5 -0
  67. package/dist/subdivisions/bb.d.ts +5 -0
  68. package/dist/subdivisions/bb.js +11 -0
  69. package/dist/subdivisions/bd.cjs +72 -0
  70. package/dist/subdivisions/bd.d.cts +5 -0
  71. package/dist/subdivisions/bd.d.ts +5 -0
  72. package/dist/subdivisions/bd.js +72 -0
  73. package/dist/subdivisions/be.cjs +13 -0
  74. package/dist/subdivisions/be.d.cts +5 -0
  75. package/dist/subdivisions/be.d.ts +5 -0
  76. package/dist/subdivisions/be.js +13 -0
  77. package/dist/subdivisions/bf.cjs +58 -0
  78. package/dist/subdivisions/bf.d.cts +5 -0
  79. package/dist/subdivisions/bf.d.ts +5 -0
  80. package/dist/subdivisions/bf.js +58 -0
  81. package/dist/subdivisions/bg.cjs +28 -0
  82. package/dist/subdivisions/bg.d.cts +5 -0
  83. package/dist/subdivisions/bg.d.ts +5 -0
  84. package/dist/subdivisions/bg.js +28 -0
  85. package/dist/subdivisions/bh.cjs +4 -0
  86. package/dist/subdivisions/bh.d.cts +5 -0
  87. package/dist/subdivisions/bh.d.ts +5 -0
  88. package/dist/subdivisions/bh.js +4 -0
  89. package/dist/subdivisions/bi.cjs +18 -0
  90. package/dist/subdivisions/bi.d.cts +5 -0
  91. package/dist/subdivisions/bi.d.ts +5 -0
  92. package/dist/subdivisions/bi.js +18 -0
  93. package/dist/subdivisions/bj.cjs +12 -0
  94. package/dist/subdivisions/bj.d.cts +5 -0
  95. package/dist/subdivisions/bj.d.ts +5 -0
  96. package/dist/subdivisions/bj.js +12 -0
  97. package/dist/subdivisions/bn.cjs +4 -0
  98. package/dist/subdivisions/bn.d.cts +5 -0
  99. package/dist/subdivisions/bn.d.ts +5 -0
  100. package/dist/subdivisions/bn.js +4 -0
  101. package/dist/subdivisions/bo.cjs +9 -0
  102. package/dist/subdivisions/bo.d.cts +5 -0
  103. package/dist/subdivisions/bo.d.ts +5 -0
  104. package/dist/subdivisions/bo.js +9 -0
  105. package/dist/subdivisions/bq.cjs +3 -0
  106. package/dist/subdivisions/bq.d.cts +5 -0
  107. package/dist/subdivisions/bq.d.ts +5 -0
  108. package/dist/subdivisions/bq.js +3 -0
  109. package/dist/subdivisions/br.cjs +27 -0
  110. package/dist/subdivisions/br.d.cts +5 -0
  111. package/dist/subdivisions/br.d.ts +5 -0
  112. package/dist/subdivisions/br.js +27 -0
  113. package/dist/subdivisions/bs.cjs +32 -0
  114. package/dist/subdivisions/bs.d.cts +5 -0
  115. package/dist/subdivisions/bs.d.ts +5 -0
  116. package/dist/subdivisions/bs.js +32 -0
  117. package/dist/subdivisions/bt.cjs +20 -0
  118. package/dist/subdivisions/bt.d.cts +5 -0
  119. package/dist/subdivisions/bt.d.ts +5 -0
  120. package/dist/subdivisions/bt.js +20 -0
  121. package/dist/subdivisions/bw.cjs +16 -0
  122. package/dist/subdivisions/bw.d.cts +5 -0
  123. package/dist/subdivisions/bw.d.ts +5 -0
  124. package/dist/subdivisions/bw.js +16 -0
  125. package/dist/subdivisions/by.cjs +7 -0
  126. package/dist/subdivisions/by.d.cts +5 -0
  127. package/dist/subdivisions/by.d.ts +5 -0
  128. package/dist/subdivisions/by.js +7 -0
  129. package/dist/subdivisions/bz.cjs +6 -0
  130. package/dist/subdivisions/bz.d.cts +5 -0
  131. package/dist/subdivisions/bz.d.ts +5 -0
  132. package/dist/subdivisions/bz.js +6 -0
  133. package/dist/subdivisions/ca.cjs +13 -0
  134. package/dist/subdivisions/ca.d.cts +5 -0
  135. package/dist/subdivisions/ca.d.ts +5 -0
  136. package/dist/subdivisions/ca.js +13 -0
  137. package/dist/subdivisions/cd.cjs +26 -0
  138. package/dist/subdivisions/cd.d.cts +5 -0
  139. package/dist/subdivisions/cd.d.ts +5 -0
  140. package/dist/subdivisions/cd.js +26 -0
  141. package/dist/subdivisions/cf.cjs +17 -0
  142. package/dist/subdivisions/cf.d.cts +5 -0
  143. package/dist/subdivisions/cf.d.ts +5 -0
  144. package/dist/subdivisions/cf.js +17 -0
  145. package/dist/subdivisions/cg.cjs +12 -0
  146. package/dist/subdivisions/cg.d.cts +5 -0
  147. package/dist/subdivisions/cg.d.ts +5 -0
  148. package/dist/subdivisions/cg.js +12 -0
  149. package/dist/subdivisions/ch.cjs +26 -0
  150. package/dist/subdivisions/ch.d.cts +5 -0
  151. package/dist/subdivisions/ch.d.ts +5 -0
  152. package/dist/subdivisions/ch.js +26 -0
  153. package/dist/subdivisions/ci.cjs +14 -0
  154. package/dist/subdivisions/ci.d.cts +5 -0
  155. package/dist/subdivisions/ci.d.ts +5 -0
  156. package/dist/subdivisions/ci.js +14 -0
  157. package/dist/subdivisions/cl.cjs +16 -0
  158. package/dist/subdivisions/cl.d.cts +5 -0
  159. package/dist/subdivisions/cl.d.ts +5 -0
  160. package/dist/subdivisions/cl.js +16 -0
  161. package/dist/subdivisions/cm.cjs +10 -0
  162. package/dist/subdivisions/cm.d.cts +5 -0
  163. package/dist/subdivisions/cm.d.ts +5 -0
  164. package/dist/subdivisions/cm.js +10 -0
  165. package/dist/subdivisions/cn.cjs +34 -0
  166. package/dist/subdivisions/cn.d.cts +5 -0
  167. package/dist/subdivisions/cn.d.ts +5 -0
  168. package/dist/subdivisions/cn.js +34 -0
  169. package/dist/subdivisions/co.cjs +33 -0
  170. package/dist/subdivisions/co.d.cts +5 -0
  171. package/dist/subdivisions/co.d.ts +5 -0
  172. package/dist/subdivisions/co.js +33 -0
  173. package/dist/subdivisions/cr.cjs +7 -0
  174. package/dist/subdivisions/cr.d.cts +5 -0
  175. package/dist/subdivisions/cr.d.ts +5 -0
  176. package/dist/subdivisions/cr.js +7 -0
  177. package/dist/subdivisions/cu.cjs +16 -0
  178. package/dist/subdivisions/cu.d.cts +5 -0
  179. package/dist/subdivisions/cu.d.ts +5 -0
  180. package/dist/subdivisions/cu.js +16 -0
  181. package/dist/subdivisions/cv.cjs +24 -0
  182. package/dist/subdivisions/cv.d.cts +5 -0
  183. package/dist/subdivisions/cv.d.ts +5 -0
  184. package/dist/subdivisions/cv.js +24 -0
  185. package/dist/subdivisions/cy.cjs +6 -0
  186. package/dist/subdivisions/cy.d.cts +5 -0
  187. package/dist/subdivisions/cy.d.ts +5 -0
  188. package/dist/subdivisions/cy.js +6 -0
  189. package/dist/subdivisions/cz.cjs +90 -0
  190. package/dist/subdivisions/cz.d.cts +5 -0
  191. package/dist/subdivisions/cz.d.ts +5 -0
  192. package/dist/subdivisions/cz.js +90 -0
  193. package/dist/subdivisions/de.cjs +16 -0
  194. package/dist/subdivisions/de.d.cts +5 -0
  195. package/dist/subdivisions/de.d.ts +5 -0
  196. package/dist/subdivisions/de.js +16 -0
  197. package/dist/subdivisions/dj.cjs +6 -0
  198. package/dist/subdivisions/dj.d.cts +5 -0
  199. package/dist/subdivisions/dj.d.ts +5 -0
  200. package/dist/subdivisions/dj.js +6 -0
  201. package/dist/subdivisions/dk.cjs +5 -0
  202. package/dist/subdivisions/dk.d.cts +5 -0
  203. package/dist/subdivisions/dk.d.ts +5 -0
  204. package/dist/subdivisions/dk.js +5 -0
  205. package/dist/subdivisions/dm.cjs +10 -0
  206. package/dist/subdivisions/dm.d.cts +5 -0
  207. package/dist/subdivisions/dm.d.ts +5 -0
  208. package/dist/subdivisions/dm.js +10 -0
  209. package/dist/subdivisions/do.cjs +42 -0
  210. package/dist/subdivisions/do.d.cts +5 -0
  211. package/dist/subdivisions/do.d.ts +5 -0
  212. package/dist/subdivisions/do.js +42 -0
  213. package/dist/subdivisions/dz.cjs +58 -0
  214. package/dist/subdivisions/dz.d.cts +5 -0
  215. package/dist/subdivisions/dz.d.ts +5 -0
  216. package/dist/subdivisions/dz.js +58 -0
  217. package/dist/subdivisions/ec.cjs +24 -0
  218. package/dist/subdivisions/ec.d.cts +5 -0
  219. package/dist/subdivisions/ec.d.ts +5 -0
  220. package/dist/subdivisions/ec.js +24 -0
  221. package/dist/subdivisions/ee.cjs +94 -0
  222. package/dist/subdivisions/ee.d.cts +5 -0
  223. package/dist/subdivisions/ee.d.ts +5 -0
  224. package/dist/subdivisions/ee.js +94 -0
  225. package/dist/subdivisions/eg.cjs +27 -0
  226. package/dist/subdivisions/eg.d.cts +5 -0
  227. package/dist/subdivisions/eg.d.ts +5 -0
  228. package/dist/subdivisions/eg.js +27 -0
  229. package/dist/subdivisions/er.cjs +6 -0
  230. package/dist/subdivisions/er.d.cts +5 -0
  231. package/dist/subdivisions/er.d.ts +5 -0
  232. package/dist/subdivisions/er.js +6 -0
  233. package/dist/subdivisions/es.cjs +69 -0
  234. package/dist/subdivisions/es.d.cts +5 -0
  235. package/dist/subdivisions/es.d.ts +5 -0
  236. package/dist/subdivisions/es.js +69 -0
  237. package/dist/subdivisions/et.cjs +13 -0
  238. package/dist/subdivisions/et.d.cts +5 -0
  239. package/dist/subdivisions/et.d.ts +5 -0
  240. package/dist/subdivisions/et.js +13 -0
  241. package/dist/subdivisions/fi.cjs +19 -0
  242. package/dist/subdivisions/fi.d.cts +5 -0
  243. package/dist/subdivisions/fi.d.ts +5 -0
  244. package/dist/subdivisions/fi.js +19 -0
  245. package/dist/subdivisions/fj.cjs +19 -0
  246. package/dist/subdivisions/fj.d.cts +5 -0
  247. package/dist/subdivisions/fj.d.ts +5 -0
  248. package/dist/subdivisions/fj.js +19 -0
  249. package/dist/subdivisions/fm.cjs +4 -0
  250. package/dist/subdivisions/fm.d.cts +5 -0
  251. package/dist/subdivisions/fm.d.ts +5 -0
  252. package/dist/subdivisions/fm.js +4 -0
  253. package/dist/subdivisions/fr.cjs +124 -0
  254. package/dist/subdivisions/fr.d.cts +5 -0
  255. package/dist/subdivisions/fr.d.ts +5 -0
  256. package/dist/subdivisions/fr.js +124 -0
  257. package/dist/subdivisions/ga.cjs +9 -0
  258. package/dist/subdivisions/ga.d.cts +5 -0
  259. package/dist/subdivisions/ga.d.ts +5 -0
  260. package/dist/subdivisions/ga.js +9 -0
  261. package/dist/subdivisions/gb.cjs +221 -0
  262. package/dist/subdivisions/gb.d.cts +5 -0
  263. package/dist/subdivisions/gb.d.ts +5 -0
  264. package/dist/subdivisions/gb.js +221 -0
  265. package/dist/subdivisions/gd.cjs +7 -0
  266. package/dist/subdivisions/gd.d.cts +5 -0
  267. package/dist/subdivisions/gd.d.ts +5 -0
  268. package/dist/subdivisions/gd.js +7 -0
  269. package/dist/subdivisions/ge.cjs +12 -0
  270. package/dist/subdivisions/ge.d.cts +5 -0
  271. package/dist/subdivisions/ge.d.ts +5 -0
  272. package/dist/subdivisions/ge.js +12 -0
  273. package/dist/subdivisions/gh.cjs +16 -0
  274. package/dist/subdivisions/gh.d.cts +5 -0
  275. package/dist/subdivisions/gh.d.ts +5 -0
  276. package/dist/subdivisions/gh.js +16 -0
  277. package/dist/subdivisions/gl.cjs +5 -0
  278. package/dist/subdivisions/gl.d.cts +5 -0
  279. package/dist/subdivisions/gl.d.ts +5 -0
  280. package/dist/subdivisions/gl.js +5 -0
  281. package/dist/subdivisions/gm.cjs +6 -0
  282. package/dist/subdivisions/gm.d.cts +5 -0
  283. package/dist/subdivisions/gm.d.ts +5 -0
  284. package/dist/subdivisions/gm.js +6 -0
  285. package/dist/subdivisions/gn.cjs +41 -0
  286. package/dist/subdivisions/gn.d.cts +5 -0
  287. package/dist/subdivisions/gn.d.ts +5 -0
  288. package/dist/subdivisions/gn.js +41 -0
  289. package/dist/subdivisions/gq.cjs +10 -0
  290. package/dist/subdivisions/gq.d.cts +5 -0
  291. package/dist/subdivisions/gq.d.ts +5 -0
  292. package/dist/subdivisions/gq.js +10 -0
  293. package/dist/subdivisions/gr.cjs +14 -0
  294. package/dist/subdivisions/gr.d.cts +5 -0
  295. package/dist/subdivisions/gr.d.ts +5 -0
  296. package/dist/subdivisions/gr.js +14 -0
  297. package/dist/subdivisions/gt.cjs +22 -0
  298. package/dist/subdivisions/gt.d.cts +5 -0
  299. package/dist/subdivisions/gt.d.ts +5 -0
  300. package/dist/subdivisions/gt.js +22 -0
  301. package/dist/subdivisions/gw.cjs +12 -0
  302. package/dist/subdivisions/gw.d.cts +5 -0
  303. package/dist/subdivisions/gw.d.ts +5 -0
  304. package/dist/subdivisions/gw.js +12 -0
  305. package/dist/subdivisions/gy.cjs +10 -0
  306. package/dist/subdivisions/gy.d.cts +5 -0
  307. package/dist/subdivisions/gy.d.ts +5 -0
  308. package/dist/subdivisions/gy.js +10 -0
  309. package/dist/subdivisions/hn.cjs +18 -0
  310. package/dist/subdivisions/hn.d.cts +5 -0
  311. package/dist/subdivisions/hn.d.ts +5 -0
  312. package/dist/subdivisions/hn.js +18 -0
  313. package/dist/subdivisions/hr.cjs +21 -0
  314. package/dist/subdivisions/hr.d.cts +5 -0
  315. package/dist/subdivisions/hr.d.ts +5 -0
  316. package/dist/subdivisions/hr.js +21 -0
  317. package/dist/subdivisions/ht.cjs +10 -0
  318. package/dist/subdivisions/ht.d.cts +5 -0
  319. package/dist/subdivisions/ht.d.ts +5 -0
  320. package/dist/subdivisions/ht.js +10 -0
  321. package/dist/subdivisions/hu.cjs +43 -0
  322. package/dist/subdivisions/hu.d.cts +5 -0
  323. package/dist/subdivisions/hu.d.ts +5 -0
  324. package/dist/subdivisions/hu.js +43 -0
  325. package/dist/subdivisions/id.cjs +45 -0
  326. package/dist/subdivisions/id.d.cts +5 -0
  327. package/dist/subdivisions/id.d.ts +5 -0
  328. package/dist/subdivisions/id.js +45 -0
  329. package/dist/subdivisions/ie.cjs +30 -0
  330. package/dist/subdivisions/ie.d.cts +5 -0
  331. package/dist/subdivisions/ie.d.ts +5 -0
  332. package/dist/subdivisions/ie.js +30 -0
  333. package/dist/subdivisions/il.cjs +6 -0
  334. package/dist/subdivisions/il.d.cts +5 -0
  335. package/dist/subdivisions/il.d.ts +5 -0
  336. package/dist/subdivisions/il.js +6 -0
  337. package/dist/subdivisions/in.cjs +36 -0
  338. package/dist/subdivisions/in.d.cts +5 -0
  339. package/dist/subdivisions/in.d.ts +5 -0
  340. package/dist/subdivisions/in.js +36 -0
  341. package/dist/subdivisions/iq.cjs +19 -0
  342. package/dist/subdivisions/iq.d.cts +5 -0
  343. package/dist/subdivisions/iq.d.ts +5 -0
  344. package/dist/subdivisions/iq.js +19 -0
  345. package/dist/subdivisions/ir.cjs +31 -0
  346. package/dist/subdivisions/ir.d.cts +5 -0
  347. package/dist/subdivisions/ir.d.ts +5 -0
  348. package/dist/subdivisions/ir.js +31 -0
  349. package/dist/subdivisions/is.cjs +72 -0
  350. package/dist/subdivisions/is.d.cts +5 -0
  351. package/dist/subdivisions/is.d.ts +5 -0
  352. package/dist/subdivisions/is.js +72 -0
  353. package/dist/subdivisions/it.cjs +126 -0
  354. package/dist/subdivisions/it.d.cts +5 -0
  355. package/dist/subdivisions/it.d.ts +5 -0
  356. package/dist/subdivisions/it.js +126 -0
  357. package/dist/subdivisions/jm.cjs +14 -0
  358. package/dist/subdivisions/jm.d.cts +5 -0
  359. package/dist/subdivisions/jm.d.ts +5 -0
  360. package/dist/subdivisions/jm.js +14 -0
  361. package/dist/subdivisions/jo.cjs +12 -0
  362. package/dist/subdivisions/jo.d.cts +5 -0
  363. package/dist/subdivisions/jo.d.ts +5 -0
  364. package/dist/subdivisions/jo.js +12 -0
  365. package/dist/subdivisions/jp.cjs +47 -0
  366. package/dist/subdivisions/jp.d.cts +5 -0
  367. package/dist/subdivisions/jp.d.ts +5 -0
  368. package/dist/subdivisions/jp.js +47 -0
  369. package/dist/subdivisions/ke.cjs +47 -0
  370. package/dist/subdivisions/ke.d.cts +5 -0
  371. package/dist/subdivisions/ke.d.ts +5 -0
  372. package/dist/subdivisions/ke.js +47 -0
  373. package/dist/subdivisions/kg.cjs +9 -0
  374. package/dist/subdivisions/kg.d.cts +5 -0
  375. package/dist/subdivisions/kg.d.ts +5 -0
  376. package/dist/subdivisions/kg.js +9 -0
  377. package/dist/subdivisions/kh.cjs +25 -0
  378. package/dist/subdivisions/kh.d.cts +5 -0
  379. package/dist/subdivisions/kh.d.ts +5 -0
  380. package/dist/subdivisions/kh.js +25 -0
  381. package/dist/subdivisions/ki.cjs +3 -0
  382. package/dist/subdivisions/ki.d.cts +5 -0
  383. package/dist/subdivisions/ki.d.ts +5 -0
  384. package/dist/subdivisions/ki.js +3 -0
  385. package/dist/subdivisions/km.cjs +3 -0
  386. package/dist/subdivisions/km.d.cts +5 -0
  387. package/dist/subdivisions/km.d.ts +5 -0
  388. package/dist/subdivisions/km.js +3 -0
  389. package/dist/subdivisions/kn.cjs +16 -0
  390. package/dist/subdivisions/kn.d.cts +5 -0
  391. package/dist/subdivisions/kn.d.ts +5 -0
  392. package/dist/subdivisions/kn.js +16 -0
  393. package/dist/subdivisions/kp.cjs +13 -0
  394. package/dist/subdivisions/kp.d.cts +5 -0
  395. package/dist/subdivisions/kp.d.ts +5 -0
  396. package/dist/subdivisions/kp.js +13 -0
  397. package/dist/subdivisions/kr.cjs +17 -0
  398. package/dist/subdivisions/kr.d.cts +5 -0
  399. package/dist/subdivisions/kr.d.ts +5 -0
  400. package/dist/subdivisions/kr.js +17 -0
  401. package/dist/subdivisions/kw.cjs +6 -0
  402. package/dist/subdivisions/kw.d.cts +5 -0
  403. package/dist/subdivisions/kw.d.ts +5 -0
  404. package/dist/subdivisions/kw.js +6 -0
  405. package/dist/subdivisions/kz.cjs +20 -0
  406. package/dist/subdivisions/kz.d.cts +5 -0
  407. package/dist/subdivisions/kz.d.ts +5 -0
  408. package/dist/subdivisions/kz.js +20 -0
  409. package/dist/subdivisions/la.cjs +18 -0
  410. package/dist/subdivisions/la.d.cts +5 -0
  411. package/dist/subdivisions/la.d.ts +5 -0
  412. package/dist/subdivisions/la.js +18 -0
  413. package/dist/subdivisions/lb.cjs +8 -0
  414. package/dist/subdivisions/lb.d.cts +5 -0
  415. package/dist/subdivisions/lb.d.ts +5 -0
  416. package/dist/subdivisions/lb.js +8 -0
  417. package/dist/subdivisions/lc.cjs +10 -0
  418. package/dist/subdivisions/lc.d.cts +5 -0
  419. package/dist/subdivisions/lc.d.ts +5 -0
  420. package/dist/subdivisions/lc.js +10 -0
  421. package/dist/subdivisions/li.cjs +11 -0
  422. package/dist/subdivisions/li.d.cts +5 -0
  423. package/dist/subdivisions/li.d.ts +5 -0
  424. package/dist/subdivisions/li.js +11 -0
  425. package/dist/subdivisions/lk.cjs +34 -0
  426. package/dist/subdivisions/lk.d.cts +5 -0
  427. package/dist/subdivisions/lk.d.ts +5 -0
  428. package/dist/subdivisions/lk.js +34 -0
  429. package/dist/subdivisions/lr.cjs +15 -0
  430. package/dist/subdivisions/lr.d.cts +5 -0
  431. package/dist/subdivisions/lr.d.ts +5 -0
  432. package/dist/subdivisions/lr.js +15 -0
  433. package/dist/subdivisions/ls.cjs +10 -0
  434. package/dist/subdivisions/ls.d.cts +5 -0
  435. package/dist/subdivisions/ls.d.ts +5 -0
  436. package/dist/subdivisions/ls.js +10 -0
  437. package/dist/subdivisions/lt.cjs +70 -0
  438. package/dist/subdivisions/lt.d.cts +5 -0
  439. package/dist/subdivisions/lt.d.ts +5 -0
  440. package/dist/subdivisions/lt.js +70 -0
  441. package/dist/subdivisions/lu.cjs +12 -0
  442. package/dist/subdivisions/lu.d.cts +5 -0
  443. package/dist/subdivisions/lu.d.ts +5 -0
  444. package/dist/subdivisions/lu.js +12 -0
  445. package/dist/subdivisions/lv.cjs +43 -0
  446. package/dist/subdivisions/lv.d.cts +5 -0
  447. package/dist/subdivisions/lv.d.ts +5 -0
  448. package/dist/subdivisions/lv.js +43 -0
  449. package/dist/subdivisions/ly.cjs +22 -0
  450. package/dist/subdivisions/ly.d.cts +5 -0
  451. package/dist/subdivisions/ly.d.ts +5 -0
  452. package/dist/subdivisions/ly.js +22 -0
  453. package/dist/subdivisions/ma.cjs +87 -0
  454. package/dist/subdivisions/ma.d.cts +5 -0
  455. package/dist/subdivisions/ma.d.ts +5 -0
  456. package/dist/subdivisions/ma.js +87 -0
  457. package/dist/subdivisions/mc.cjs +17 -0
  458. package/dist/subdivisions/mc.d.cts +5 -0
  459. package/dist/subdivisions/mc.d.ts +5 -0
  460. package/dist/subdivisions/mc.js +17 -0
  461. package/dist/subdivisions/md.cjs +37 -0
  462. package/dist/subdivisions/md.d.cts +5 -0
  463. package/dist/subdivisions/md.d.ts +5 -0
  464. package/dist/subdivisions/md.js +37 -0
  465. package/dist/subdivisions/me.cjs +25 -0
  466. package/dist/subdivisions/me.d.cts +5 -0
  467. package/dist/subdivisions/me.d.ts +5 -0
  468. package/dist/subdivisions/me.js +25 -0
  469. package/dist/subdivisions/mg.cjs +6 -0
  470. package/dist/subdivisions/mg.d.cts +5 -0
  471. package/dist/subdivisions/mg.d.ts +5 -0
  472. package/dist/subdivisions/mg.js +6 -0
  473. package/dist/subdivisions/mh.cjs +26 -0
  474. package/dist/subdivisions/mh.d.cts +5 -0
  475. package/dist/subdivisions/mh.d.ts +5 -0
  476. package/dist/subdivisions/mh.js +26 -0
  477. package/dist/subdivisions/mk.cjs +80 -0
  478. package/dist/subdivisions/mk.d.cts +5 -0
  479. package/dist/subdivisions/mk.d.ts +5 -0
  480. package/dist/subdivisions/mk.js +80 -0
  481. package/dist/subdivisions/ml.cjs +11 -0
  482. package/dist/subdivisions/ml.d.cts +5 -0
  483. package/dist/subdivisions/ml.d.ts +5 -0
  484. package/dist/subdivisions/ml.js +11 -0
  485. package/dist/subdivisions/mm.cjs +15 -0
  486. package/dist/subdivisions/mm.d.cts +5 -0
  487. package/dist/subdivisions/mm.d.ts +5 -0
  488. package/dist/subdivisions/mm.js +15 -0
  489. package/dist/subdivisions/mn.cjs +22 -0
  490. package/dist/subdivisions/mn.d.cts +5 -0
  491. package/dist/subdivisions/mn.d.ts +5 -0
  492. package/dist/subdivisions/mn.js +22 -0
  493. package/dist/subdivisions/mr.cjs +15 -0
  494. package/dist/subdivisions/mr.d.cts +5 -0
  495. package/dist/subdivisions/mr.d.ts +5 -0
  496. package/dist/subdivisions/mr.js +15 -0
  497. package/dist/subdivisions/mt.cjs +68 -0
  498. package/dist/subdivisions/mt.d.cts +5 -0
  499. package/dist/subdivisions/mt.d.ts +5 -0
  500. package/dist/subdivisions/mt.js +68 -0
  501. package/dist/subdivisions/mu.cjs +12 -0
  502. package/dist/subdivisions/mu.d.cts +5 -0
  503. package/dist/subdivisions/mu.d.ts +5 -0
  504. package/dist/subdivisions/mu.js +12 -0
  505. package/dist/subdivisions/mv.cjs +21 -0
  506. package/dist/subdivisions/mv.d.cts +5 -0
  507. package/dist/subdivisions/mv.d.ts +5 -0
  508. package/dist/subdivisions/mv.js +21 -0
  509. package/dist/subdivisions/mw.cjs +31 -0
  510. package/dist/subdivisions/mw.d.cts +5 -0
  511. package/dist/subdivisions/mw.d.ts +5 -0
  512. package/dist/subdivisions/mw.js +31 -0
  513. package/dist/subdivisions/mx.cjs +32 -0
  514. package/dist/subdivisions/mx.d.cts +5 -0
  515. package/dist/subdivisions/mx.d.ts +5 -0
  516. package/dist/subdivisions/mx.js +32 -0
  517. package/dist/subdivisions/my.cjs +16 -0
  518. package/dist/subdivisions/my.d.cts +5 -0
  519. package/dist/subdivisions/my.d.ts +5 -0
  520. package/dist/subdivisions/my.js +16 -0
  521. package/dist/subdivisions/mz.cjs +11 -0
  522. package/dist/subdivisions/mz.d.cts +5 -0
  523. package/dist/subdivisions/mz.d.ts +5 -0
  524. package/dist/subdivisions/mz.js +11 -0
  525. package/dist/subdivisions/na.cjs +14 -0
  526. package/dist/subdivisions/na.d.cts +5 -0
  527. package/dist/subdivisions/na.d.ts +5 -0
  528. package/dist/subdivisions/na.js +14 -0
  529. package/dist/subdivisions/ne.cjs +8 -0
  530. package/dist/subdivisions/ne.d.cts +5 -0
  531. package/dist/subdivisions/ne.d.ts +5 -0
  532. package/dist/subdivisions/ne.js +8 -0
  533. package/dist/subdivisions/ng.cjs +37 -0
  534. package/dist/subdivisions/ng.d.cts +5 -0
  535. package/dist/subdivisions/ng.d.ts +5 -0
  536. package/dist/subdivisions/ng.js +37 -0
  537. package/dist/subdivisions/ni.cjs +17 -0
  538. package/dist/subdivisions/ni.d.cts +5 -0
  539. package/dist/subdivisions/ni.d.ts +5 -0
  540. package/dist/subdivisions/ni.js +17 -0
  541. package/dist/subdivisions/nl.cjs +18 -0
  542. package/dist/subdivisions/nl.d.cts +5 -0
  543. package/dist/subdivisions/nl.d.ts +5 -0
  544. package/dist/subdivisions/nl.js +18 -0
  545. package/dist/subdivisions/no.cjs +13 -0
  546. package/dist/subdivisions/no.d.cts +5 -0
  547. package/dist/subdivisions/no.d.ts +5 -0
  548. package/dist/subdivisions/no.js +13 -0
  549. package/dist/subdivisions/np.cjs +7 -0
  550. package/dist/subdivisions/np.d.cts +5 -0
  551. package/dist/subdivisions/np.d.ts +5 -0
  552. package/dist/subdivisions/np.js +7 -0
  553. package/dist/subdivisions/nr.cjs +14 -0
  554. package/dist/subdivisions/nr.d.cts +5 -0
  555. package/dist/subdivisions/nr.d.ts +5 -0
  556. package/dist/subdivisions/nr.js +14 -0
  557. package/dist/subdivisions/nz.cjs +17 -0
  558. package/dist/subdivisions/nz.d.cts +5 -0
  559. package/dist/subdivisions/nz.d.ts +5 -0
  560. package/dist/subdivisions/nz.js +17 -0
  561. package/dist/subdivisions/om.cjs +11 -0
  562. package/dist/subdivisions/om.d.cts +5 -0
  563. package/dist/subdivisions/om.d.ts +5 -0
  564. package/dist/subdivisions/om.js +11 -0
  565. package/dist/subdivisions/pa.cjs +14 -0
  566. package/dist/subdivisions/pa.d.cts +5 -0
  567. package/dist/subdivisions/pa.d.ts +5 -0
  568. package/dist/subdivisions/pa.js +14 -0
  569. package/dist/subdivisions/pe.cjs +26 -0
  570. package/dist/subdivisions/pe.d.cts +5 -0
  571. package/dist/subdivisions/pe.d.ts +5 -0
  572. package/dist/subdivisions/pe.js +26 -0
  573. package/dist/subdivisions/pg.cjs +22 -0
  574. package/dist/subdivisions/pg.d.cts +5 -0
  575. package/dist/subdivisions/pg.d.ts +5 -0
  576. package/dist/subdivisions/pg.js +22 -0
  577. package/dist/subdivisions/ph.cjs +99 -0
  578. package/dist/subdivisions/ph.d.cts +5 -0
  579. package/dist/subdivisions/ph.d.ts +5 -0
  580. package/dist/subdivisions/ph.js +99 -0
  581. package/dist/subdivisions/pk.cjs +7 -0
  582. package/dist/subdivisions/pk.d.cts +5 -0
  583. package/dist/subdivisions/pk.d.ts +5 -0
  584. package/dist/subdivisions/pk.js +7 -0
  585. package/dist/subdivisions/pl.cjs +16 -0
  586. package/dist/subdivisions/pl.d.cts +5 -0
  587. package/dist/subdivisions/pl.d.ts +5 -0
  588. package/dist/subdivisions/pl.js +16 -0
  589. package/dist/subdivisions/ps.cjs +16 -0
  590. package/dist/subdivisions/ps.d.cts +5 -0
  591. package/dist/subdivisions/ps.d.ts +5 -0
  592. package/dist/subdivisions/ps.js +16 -0
  593. package/dist/subdivisions/pt.cjs +20 -0
  594. package/dist/subdivisions/pt.d.cts +5 -0
  595. package/dist/subdivisions/pt.d.ts +5 -0
  596. package/dist/subdivisions/pt.js +20 -0
  597. package/dist/subdivisions/pw.cjs +16 -0
  598. package/dist/subdivisions/pw.d.cts +5 -0
  599. package/dist/subdivisions/pw.d.ts +5 -0
  600. package/dist/subdivisions/pw.js +16 -0
  601. package/dist/subdivisions/py.cjs +18 -0
  602. package/dist/subdivisions/py.d.cts +5 -0
  603. package/dist/subdivisions/py.d.ts +5 -0
  604. package/dist/subdivisions/py.js +18 -0
  605. package/dist/subdivisions/qa.cjs +8 -0
  606. package/dist/subdivisions/qa.d.cts +5 -0
  607. package/dist/subdivisions/qa.d.ts +5 -0
  608. package/dist/subdivisions/qa.js +8 -0
  609. package/dist/subdivisions/ro.cjs +42 -0
  610. package/dist/subdivisions/ro.d.cts +5 -0
  611. package/dist/subdivisions/ro.d.ts +5 -0
  612. package/dist/subdivisions/ro.js +42 -0
  613. package/dist/subdivisions/rs.cjs +32 -0
  614. package/dist/subdivisions/rs.d.cts +5 -0
  615. package/dist/subdivisions/rs.d.ts +5 -0
  616. package/dist/subdivisions/rs.js +32 -0
  617. package/dist/subdivisions/ru.cjs +83 -0
  618. package/dist/subdivisions/ru.d.cts +5 -0
  619. package/dist/subdivisions/ru.d.ts +5 -0
  620. package/dist/subdivisions/ru.js +83 -0
  621. package/dist/subdivisions/rw.cjs +5 -0
  622. package/dist/subdivisions/rw.d.cts +5 -0
  623. package/dist/subdivisions/rw.d.ts +5 -0
  624. package/dist/subdivisions/rw.js +5 -0
  625. package/dist/subdivisions/sa.cjs +13 -0
  626. package/dist/subdivisions/sa.d.cts +5 -0
  627. package/dist/subdivisions/sa.d.ts +5 -0
  628. package/dist/subdivisions/sa.js +13 -0
  629. package/dist/subdivisions/sb.cjs +10 -0
  630. package/dist/subdivisions/sb.d.cts +5 -0
  631. package/dist/subdivisions/sb.d.ts +5 -0
  632. package/dist/subdivisions/sb.js +10 -0
  633. package/dist/subdivisions/sc.cjs +27 -0
  634. package/dist/subdivisions/sc.d.cts +5 -0
  635. package/dist/subdivisions/sc.d.ts +5 -0
  636. package/dist/subdivisions/sc.js +27 -0
  637. package/dist/subdivisions/sd.cjs +18 -0
  638. package/dist/subdivisions/sd.d.cts +5 -0
  639. package/dist/subdivisions/sd.d.ts +5 -0
  640. package/dist/subdivisions/sd.js +18 -0
  641. package/dist/subdivisions/se.cjs +21 -0
  642. package/dist/subdivisions/se.d.cts +5 -0
  643. package/dist/subdivisions/se.d.ts +5 -0
  644. package/dist/subdivisions/se.js +21 -0
  645. package/dist/subdivisions/sg.cjs +5 -0
  646. package/dist/subdivisions/sg.d.cts +5 -0
  647. package/dist/subdivisions/sg.d.ts +5 -0
  648. package/dist/subdivisions/sg.js +5 -0
  649. package/dist/subdivisions/sh.cjs +3 -0
  650. package/dist/subdivisions/sh.d.cts +5 -0
  651. package/dist/subdivisions/sh.d.ts +5 -0
  652. package/dist/subdivisions/sh.js +3 -0
  653. package/dist/subdivisions/si.cjs +212 -0
  654. package/dist/subdivisions/si.d.cts +5 -0
  655. package/dist/subdivisions/si.d.ts +5 -0
  656. package/dist/subdivisions/si.js +212 -0
  657. package/dist/subdivisions/sk.cjs +8 -0
  658. package/dist/subdivisions/sk.d.cts +5 -0
  659. package/dist/subdivisions/sk.d.ts +5 -0
  660. package/dist/subdivisions/sk.js +8 -0
  661. package/dist/subdivisions/sl.cjs +5 -0
  662. package/dist/subdivisions/sl.d.cts +5 -0
  663. package/dist/subdivisions/sl.d.ts +5 -0
  664. package/dist/subdivisions/sl.js +5 -0
  665. package/dist/subdivisions/sm.cjs +9 -0
  666. package/dist/subdivisions/sm.d.cts +5 -0
  667. package/dist/subdivisions/sm.d.ts +5 -0
  668. package/dist/subdivisions/sm.js +9 -0
  669. package/dist/subdivisions/sn.cjs +14 -0
  670. package/dist/subdivisions/sn.d.cts +5 -0
  671. package/dist/subdivisions/sn.d.ts +5 -0
  672. package/dist/subdivisions/sn.js +14 -0
  673. package/dist/subdivisions/so.cjs +18 -0
  674. package/dist/subdivisions/so.d.cts +5 -0
  675. package/dist/subdivisions/so.d.ts +5 -0
  676. package/dist/subdivisions/so.js +18 -0
  677. package/dist/subdivisions/sr.cjs +10 -0
  678. package/dist/subdivisions/sr.d.cts +5 -0
  679. package/dist/subdivisions/sr.d.ts +5 -0
  680. package/dist/subdivisions/sr.js +10 -0
  681. package/dist/subdivisions/ss.cjs +10 -0
  682. package/dist/subdivisions/ss.d.cts +5 -0
  683. package/dist/subdivisions/ss.d.ts +5 -0
  684. package/dist/subdivisions/ss.js +10 -0
  685. package/dist/subdivisions/st.cjs +7 -0
  686. package/dist/subdivisions/st.d.cts +5 -0
  687. package/dist/subdivisions/st.d.ts +5 -0
  688. package/dist/subdivisions/st.js +7 -0
  689. package/dist/subdivisions/sv.cjs +14 -0
  690. package/dist/subdivisions/sv.d.cts +5 -0
  691. package/dist/subdivisions/sv.d.ts +5 -0
  692. package/dist/subdivisions/sv.js +14 -0
  693. package/dist/subdivisions/sy.cjs +14 -0
  694. package/dist/subdivisions/sy.d.cts +5 -0
  695. package/dist/subdivisions/sy.d.ts +5 -0
  696. package/dist/subdivisions/sy.js +14 -0
  697. package/dist/subdivisions/sz.cjs +4 -0
  698. package/dist/subdivisions/sz.d.cts +5 -0
  699. package/dist/subdivisions/sz.d.ts +5 -0
  700. package/dist/subdivisions/sz.js +4 -0
  701. package/dist/subdivisions/td.cjs +23 -0
  702. package/dist/subdivisions/td.d.cts +5 -0
  703. package/dist/subdivisions/td.d.ts +5 -0
  704. package/dist/subdivisions/td.js +23 -0
  705. package/dist/subdivisions/tg.cjs +5 -0
  706. package/dist/subdivisions/tg.d.cts +5 -0
  707. package/dist/subdivisions/tg.d.ts +5 -0
  708. package/dist/subdivisions/tg.js +5 -0
  709. package/dist/subdivisions/th.cjs +78 -0
  710. package/dist/subdivisions/th.d.cts +5 -0
  711. package/dist/subdivisions/th.d.ts +5 -0
  712. package/dist/subdivisions/th.js +78 -0
  713. package/dist/subdivisions/tj.cjs +5 -0
  714. package/dist/subdivisions/tj.d.cts +5 -0
  715. package/dist/subdivisions/tj.d.ts +5 -0
  716. package/dist/subdivisions/tj.js +5 -0
  717. package/dist/subdivisions/tl.cjs +13 -0
  718. package/dist/subdivisions/tl.d.cts +5 -0
  719. package/dist/subdivisions/tl.d.ts +5 -0
  720. package/dist/subdivisions/tl.js +13 -0
  721. package/dist/subdivisions/tm.cjs +6 -0
  722. package/dist/subdivisions/tm.d.cts +5 -0
  723. package/dist/subdivisions/tm.d.ts +5 -0
  724. package/dist/subdivisions/tm.js +6 -0
  725. package/dist/subdivisions/tn.cjs +24 -0
  726. package/dist/subdivisions/tn.d.cts +5 -0
  727. package/dist/subdivisions/tn.d.ts +5 -0
  728. package/dist/subdivisions/tn.js +24 -0
  729. package/dist/subdivisions/to.cjs +5 -0
  730. package/dist/subdivisions/to.d.cts +5 -0
  731. package/dist/subdivisions/to.d.ts +5 -0
  732. package/dist/subdivisions/to.js +5 -0
  733. package/dist/subdivisions/tr.cjs +81 -0
  734. package/dist/subdivisions/tr.d.cts +5 -0
  735. package/dist/subdivisions/tr.d.ts +5 -0
  736. package/dist/subdivisions/tr.js +81 -0
  737. package/dist/subdivisions/tt.cjs +15 -0
  738. package/dist/subdivisions/tt.d.cts +5 -0
  739. package/dist/subdivisions/tt.d.ts +5 -0
  740. package/dist/subdivisions/tt.js +15 -0
  741. package/dist/subdivisions/tv.cjs +8 -0
  742. package/dist/subdivisions/tv.d.cts +5 -0
  743. package/dist/subdivisions/tv.d.ts +5 -0
  744. package/dist/subdivisions/tv.js +8 -0
  745. package/dist/subdivisions/tw.cjs +22 -0
  746. package/dist/subdivisions/tw.d.cts +5 -0
  747. package/dist/subdivisions/tw.d.ts +5 -0
  748. package/dist/subdivisions/tw.js +22 -0
  749. package/dist/subdivisions/tz.cjs +31 -0
  750. package/dist/subdivisions/tz.d.cts +5 -0
  751. package/dist/subdivisions/tz.d.ts +5 -0
  752. package/dist/subdivisions/tz.js +31 -0
  753. package/dist/subdivisions/ua.cjs +27 -0
  754. package/dist/subdivisions/ua.d.cts +5 -0
  755. package/dist/subdivisions/ua.d.ts +5 -0
  756. package/dist/subdivisions/ua.js +27 -0
  757. package/dist/subdivisions/ug.cjs +139 -0
  758. package/dist/subdivisions/ug.d.cts +5 -0
  759. package/dist/subdivisions/ug.d.ts +5 -0
  760. package/dist/subdivisions/ug.js +139 -0
  761. package/dist/subdivisions/um.cjs +9 -0
  762. package/dist/subdivisions/um.d.cts +5 -0
  763. package/dist/subdivisions/um.d.ts +5 -0
  764. package/dist/subdivisions/um.js +9 -0
  765. package/dist/subdivisions/us.cjs +57 -0
  766. package/dist/subdivisions/us.d.cts +5 -0
  767. package/dist/subdivisions/us.d.ts +5 -0
  768. package/dist/subdivisions/us.js +57 -0
  769. package/dist/subdivisions/uy.cjs +19 -0
  770. package/dist/subdivisions/uy.d.cts +5 -0
  771. package/dist/subdivisions/uy.d.ts +5 -0
  772. package/dist/subdivisions/uy.js +19 -0
  773. package/dist/subdivisions/uz.cjs +14 -0
  774. package/dist/subdivisions/uz.d.cts +5 -0
  775. package/dist/subdivisions/uz.d.ts +5 -0
  776. package/dist/subdivisions/uz.js +14 -0
  777. package/dist/subdivisions/vc.cjs +6 -0
  778. package/dist/subdivisions/vc.d.cts +5 -0
  779. package/dist/subdivisions/vc.d.ts +5 -0
  780. package/dist/subdivisions/vc.js +6 -0
  781. package/dist/subdivisions/ve.cjs +25 -0
  782. package/dist/subdivisions/ve.d.cts +5 -0
  783. package/dist/subdivisions/ve.d.ts +5 -0
  784. package/dist/subdivisions/ve.js +25 -0
  785. package/dist/subdivisions/vn.cjs +63 -0
  786. package/dist/subdivisions/vn.d.cts +5 -0
  787. package/dist/subdivisions/vn.d.ts +5 -0
  788. package/dist/subdivisions/vn.js +63 -0
  789. package/dist/subdivisions/vu.cjs +6 -0
  790. package/dist/subdivisions/vu.d.cts +5 -0
  791. package/dist/subdivisions/vu.d.ts +5 -0
  792. package/dist/subdivisions/vu.js +6 -0
  793. package/dist/subdivisions/wf.cjs +3 -0
  794. package/dist/subdivisions/wf.d.cts +5 -0
  795. package/dist/subdivisions/wf.d.ts +5 -0
  796. package/dist/subdivisions/wf.js +3 -0
  797. package/dist/subdivisions/ws.cjs +11 -0
  798. package/dist/subdivisions/ws.d.cts +5 -0
  799. package/dist/subdivisions/ws.d.ts +5 -0
  800. package/dist/subdivisions/ws.js +11 -0
  801. package/dist/subdivisions/ye.cjs +22 -0
  802. package/dist/subdivisions/ye.d.cts +5 -0
  803. package/dist/subdivisions/ye.d.ts +5 -0
  804. package/dist/subdivisions/ye.js +22 -0
  805. package/dist/subdivisions/za.cjs +9 -0
  806. package/dist/subdivisions/za.d.cts +5 -0
  807. package/dist/subdivisions/za.d.ts +5 -0
  808. package/dist/subdivisions/za.js +9 -0
  809. package/dist/subdivisions/zm.cjs +10 -0
  810. package/dist/subdivisions/zm.d.cts +5 -0
  811. package/dist/subdivisions/zm.d.ts +5 -0
  812. package/dist/subdivisions/zm.js +10 -0
  813. package/dist/subdivisions/zw.cjs +10 -0
  814. package/dist/subdivisions/zw.d.cts +5 -0
  815. package/dist/subdivisions/zw.d.ts +5 -0
  816. package/dist/subdivisions/zw.js +10 -0
  817. package/dist/subdivisions.cjs +7130 -0
  818. package/dist/subdivisions.d.cts +20 -0
  819. package/dist/subdivisions.d.ts +20 -0
  820. package/dist/subdivisions.js +7096 -0
  821. package/dist/types-8MxnNg63.d.cts +50 -0
  822. package/dist/types-8MxnNg63.d.ts +50 -0
  823. package/dist/types-C9xWMvFc.d.cts +17 -0
  824. package/dist/types-C9xWMvFc.d.ts +17 -0
  825. package/package.json +144 -4
package/CHANGELOG.md ADDED
@@ -0,0 +1,23 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project are written here. The format follows
4
+ [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and the project uses
5
+ [Semantic Versioning](https://semver.org/).
6
+
7
+ ## [Unreleased]
8
+
9
+ ## [1.0.0] - 2026-10-09
10
+
11
+ The first version: every country and its subdivisions, with ISO 3166 codes and names in English and Japanese.
12
+
13
+ ### Added
14
+
15
+ - **`@johnmorrisdotca/kuni`**: the 250 countries (the 249 ISO 3166-1 codes and Kosovo, XK, as a user-assigned code), each with alpha-2, alpha-3 and numeric codes, its name in English and Japanese from Unicode CLDR 48.2, CLDR's short and variant forms, its own name, a reading in hiragana for a Japanese name written in kanji, its flag, continent and UN M49 subregion, calling code, currencies, top-level domain, capital, IANA time zones, languages and the kind of place its subdivisions are. Lookups: `country` (alpha-2 in either case, alpha-3 or numeric), `countries` (in code, English or Japanese order), `countryByName` (a name in either language, a short name, the country's own name or an alias such as Holland, UK, Burma or 米国), `countryName`, `flag`, `continentName`, `subregionName`, `fold` and `isCountryCode`.
16
+ - **`/codes`**: the 250 codes alone, `COUNTRY_CODES`, `isCountryCode` and the `CountryCode` type, about 2 KB.
17
+ - **`/subdivisions/<code>`**: one country's subdivisions as a list, one entry for each of the 200 countries that have them (Japan's 47 prefectures are under 3 KB).
18
+ - **`/subdivisions`**: all 5,046 ISO 3166-2 subdivisions (3,590 at the first level, the rest below it, such as France's departments inside its regions), each with its code, short code, level, parent, kind of place, English name, Japanese name or `null`, and for Japan's prefectures a reading. Lookups: `subdivisions` (by level), `allSubdivisions`, `subdivision`, `subdivisionByShortCode`, `subdivisionByName` and `subdivisionsByName` (English or Japanese, with or without the word for its kind, オンタリオ for オンタリオ州), and `subdivisionTypeLabel` (都, 道, 府 and 県 for Japan; 州 for Canada's provinces).
19
+ - **`/load`**: `loadSubdivisions(code)`, one dynamic import for each country, so a page loads only the countries somebody picks.
20
+ - Japanese names for 3,523 of the 3,590 first-level subdivisions (3,387 from CLDR, 41 written by hand where CLDR's is wrong or out of date, 95 from Wikidata where CLDR has none) and 4,747 of all 5,046; the rest are `null`, never an English name copied in. CLDR's trailing brackets that tell a place from one of the same name elsewhere (セント・ポール (ドミニカ国), バリンゴ (カウンティ), 江原道 (北)) are taken off, 115 of them, and listed in `docs/name-rules.md`. The 46 hand-written names (`JA_NAME_OVERRIDES`: parishes as 教区, Ukraine's Japanese forms of 2022, places renamed since, Latvian spellings and others) are listed with their reasons in `docs/disagreements.md`, with the questions left for a native reader of Japanese. `docs/ja-gaps.md` lists the gaps.
21
+ - ESM and CommonJS builds with types for both, `sideEffects: false`, no runtime dependencies, and no use of `Intl`, so a server and a browser give the same names.
22
+ - `pnpm data` builds the data from inputs committed under `data-sources/` (CLDR's subdivision files, IANA's zone.tab and TLD list, a Wikidata snapshot), checked by SHA-256, with no network; `pnpm data:fetch` and `pnpm data:wikidata` refresh them.
23
+ - A demo with three panels (find a country, the subdivisions of a country, look up a code) in English and Japanese, an API reference page, browser tests at a phone's width and a desk's, and the README's pictures taken from it.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 John Morris
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/NOTICE.md ADDED
@@ -0,0 +1,127 @@
1
+ # Notice: the data's licences
2
+
3
+ The code of this package is under the MIT licence (see [LICENSE](LICENSE)). The data in `src/data/` (and
4
+ `dist/`) is made from other people's work under their terms, which travel with it. Each data file opens with
5
+ lines saying what it was made from, and `data-sources/sources.json` records every downloaded input with its
6
+ address, the day it was read and its SHA-256.
7
+
8
+ | What | Made from | Terms |
9
+ | --- | --- | --- |
10
+ | Country names in English and Japanese, their short and variant forms, alpha-3 and numeric codes, currencies, UN M49 continents and subregions | Unicode CLDR 48.2 (`cldr-localenames-full` and `cldr-core` 48.2.0 on npm) | Unicode-3.0, below |
11
+ | Subdivision codes, English and Japanese names, the levels they are at and what they are inside | Unicode CLDR 48.2 (`common/subdivisions/en.xml`, `ja.xml`, `common/validity/subdivision.xml` at the tag `release-48-2`, and `cldr-core`'s `subdivisionContainment.json` and `aliases.json`) | Unicode-3.0, below |
12
+ | Japanese names of the subdivisions CLDR has none for, the kana readings of Japan's prefectures, calling codes, and what kind of place each subdivision is | Wikidata, the snapshot `data-sources/wikidata-2026-10-09.json` | CC0, below |
13
+ | Each country's own name, capital, continent and languages, and the calling code where Wikidata has none | countries-list 3.4.1 by Annexare Studio | MIT, below |
14
+ | Time zones | IANA time zone database 2026e, `zone.tab` | Public domain |
15
+ | Country-code top-level domains | IANA's list of top-level domains (version 2026100900) | A list of facts, published by IANA |
16
+ | The aliases ("Holland", "UK", 米国), the readings of country names written in kanji, Hokkaido's and Fukuoka's readings, and the Japanese words for kinds of place the build looks for | Written for this package, in `scripts/data-config.ts` | MIT |
17
+
18
+ ## Unicode CLDR
19
+
20
+ The country and subdivision names, codes and regions are from the Unicode Common Locale Data Repository
21
+ (https://cldr.unicode.org/). Its licence (https://www.unicode.org/license.txt, read on 2026-10-09) asks that
22
+ this notice appear with all copies of the data or in its documentation:
23
+
24
+ ```text
25
+ UNICODE LICENSE V3
26
+
27
+ COPYRIGHT AND PERMISSION NOTICE
28
+
29
+ Copyright © 2004-2026 Unicode, Inc.
30
+
31
+ NOTICE TO USER: Carefully read the following legal agreement. BY
32
+ DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING DATA FILES, AND/OR
33
+ SOFTWARE, YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
34
+ TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT
35
+ DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE.
36
+
37
+ Permission is hereby granted, free of charge, to any person obtaining a
38
+ copy of data files and any associated documentation (the "Data Files") or
39
+ software and any associated documentation (the "Software") to deal in the
40
+ Data Files or Software without restriction, including without limitation
41
+ the rights to use, copy, modify, merge, publish, distribute, and/or sell
42
+ copies of the Data Files or Software, and to permit persons to whom the
43
+ Data Files or Software are furnished to do so, provided that either (a)
44
+ this copyright and permission notice appear with all copies of the Data
45
+ Files or Software, or (b) this copyright and permission notice appear in
46
+ associated Documentation.
47
+
48
+ THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
49
+ KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
50
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
51
+ THIRD PARTY RIGHTS.
52
+
53
+ IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE
54
+ BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES,
55
+ OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
56
+ WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
57
+ ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA
58
+ FILES OR SOFTWARE.
59
+
60
+ Except as contained in this notice, the name of a copyright holder shall
61
+ not be used in advertising or otherwise to promote the sale, use or other
62
+ dealings in these Data Files or Software without prior written
63
+ authorization of the copyright holder.
64
+
65
+ SPDX-License-Identifier: Unicode-3.0
66
+ ```
67
+
68
+ **What was changed.** Names are kept as CLDR writes them, made NFC with full-width Latin letters and digits made
69
+ ordinary and spaces tidied, and with the superscript digit CLDR adds to tell two places of the same name apart
70
+ (Île-de-France²) taken off. Codes CLDR retires because the place has a country code of its own (US-PR beside PR)
71
+ are kept, as ISO 3166-2 keeps them, with the country's names. Where CLDR's Japanese name and Wikidata's differ,
72
+ CLDR's is kept; [docs/disagreements.md](docs/disagreements.md) lists them.
73
+
74
+ ## Wikidata
75
+
76
+ Wikidata's structured data is released under the Creative Commons CC0 License
77
+ (https://www.wikidata.org/wiki/Wikidata:Licensing, read on 2026-10-09): no permission is needed and no credit is
78
+ required. It is credited here anyway. The two queries are written in the snapshot file itself. A Japanese label
79
+ is used only when CLDR has no Japanese name, when every current item for the code agrees on it, and when it is
80
+ written in Japanese with no bracketed explanation; a reading only when Wikidata gives exactly one for the same
81
+ name. Kinds of place are read from the English labels of the classes an item is an instance of.
82
+
83
+ ## countries-list
84
+
85
+ ```text
86
+ The MIT License (MIT)
87
+
88
+ Copyright (c) 2014 Annexare Studio
89
+
90
+ Permission is hereby granted, free of charge, to any person obtaining a copy
91
+ of this software and associated documentation files (the "Software"), to deal
92
+ in the Software without restriction, including without limitation the rights
93
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
94
+ copies of the Software, and to permit persons to whom the Software is
95
+ furnished to do so, subject to the following conditions:
96
+
97
+ The above copyright notice and this permission notice shall be included in all
98
+ copies or substantial portions of the Software.
99
+
100
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
101
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
102
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
103
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
104
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
105
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
106
+ SOFTWARE.```
107
+
108
+ From https://github.com/annexare/Countries, version 3.4.1 on npm. Its own name (`native`), capital, continent and
109
+ languages are used as they are; its calling code only where Wikidata has none.
110
+
111
+ ## IANA
112
+
113
+ `zone.tab` is from the IANA time zone database, which is in the public domain. The list of top-level domains is
114
+ published by IANA at https://data.iana.org/TLD/tlds-alpha-by-domain.txt; only which two-letter domains exist is
115
+ read from it.
116
+
117
+ ## Not carried
118
+
119
+ No geometry, population, area or other figure, so no database with a share-alike condition is carried: the
120
+ richer country datasets under ODbL (mledoze/countries, REST Countries) and the GPL `country-state-city` were
121
+ looked at and deliberately not used. GeoNames was not used either: its codes are not ISO 3166-2, and its licence
122
+ asks for attribution on every use.
123
+
124
+ ## Made with
125
+
126
+ `scripts/build-data.ts` reads the inputs with Node alone. `cldr-core`, `cldr-localenames-full` and
127
+ `countries-list` are development dependencies of the build only: the package depends on nothing at run time.
package/README.md CHANGED
@@ -1,3 +1,397 @@
1
- # Temporary Holding Version
1
+ <h1 align="center">Kuni <sub>国</sub></h1>
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ <p align="center"><strong>Kuni 国: every country and its states, provinces and prefectures, with ISO 3166 codes and names in English and Japanese.</strong><br>
4
+ A typed, zero-dependency dataset from Unicode CLDR and Wikidata, loaded one country at a time, for JavaScript and TypeScript. Look up a country or a region by code or by what somebody typed, in either language, and load only the countries you need.</p>
5
+
6
+ <p align="center" lang="ja">世界の国と、州・県・省などの行政区画を、ISO 3166のコードと英語・日本語の名前で収めた、依存パッケージのないTypeScriptデータセット。</p>
7
+
8
+ <p align="center">
9
+ <a href="https://github.com/johnmorrisdotca/kuni/actions/workflows/ci.yml"><img alt="CI" src="https://github.com/johnmorrisdotca/kuni/actions/workflows/ci.yml/badge.svg"></a>
10
+ <a href="https://www.npmjs.com/package/@johnmorrisdotca/kuni"><img alt="npm" src="https://img.shields.io/npm/v/@johnmorrisdotca/kuni?color=2f5d4a"></a>
11
+ <a href="./LICENSE"><img alt="MIT licence" src="https://img.shields.io/badge/licence-MIT-2f5d4a"></a>
12
+ <img alt="No dependencies" src="https://img.shields.io/badge/dependencies-0-2f5d4a">
13
+ <img alt="TypeScript" src="https://img.shields.io/badge/types-TypeScript-3178c6">
14
+ </p>
15
+
16
+ <p align="center"><a href="https://johnmorrisdotca.github.io/kuni/"><strong>Try it →</strong></a> · <a href="https://johnmorrisdotca.github.io/kuni/api.html">API reference</a></p>
17
+
18
+ <table align="center">
19
+ <tr>
20
+ <td align="center" valign="top">
21
+ <picture>
22
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/johnmorrisdotca/kuni/main/docs/images/hero-desk-dark.webp">
23
+ <img src="https://raw.githubusercontent.com/johnmorrisdotca/kuni/main/docs/images/hero-desk-light.webp" alt="The demo on a desk, in English: the header with its language chooser, the API reference link, five cloth patches and the Help switch, then three panels. Find a country shows ドイツ typed in and its answer: the German flag, DE, DEU and 276, Germany, ドイツ, Deutschland, Europe, Berlin, +49, EUR, .de, two time zones, and 16 states. Subdivisions of a country shows Japan picked and a table of its prefectures with code, English and Japanese name, from JP-01 Hokkaidō 北海道, and the line 47 subdivisions; the main kind is prefecture. Look up a code begins below with JP-13 typed in." width="600">
24
+ </picture>
25
+ <br><em>The demo on a desk: a country found by its Japanese name, and Japan's prefectures loaded on demand.</em>
26
+ </td>
27
+ <td align="center" valign="top">
28
+ <picture>
29
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/johnmorrisdotca/kuni/main/docs/images/hero-phone-dark.webp">
30
+ <img src="https://raw.githubusercontent.com/johnmorrisdotca/kuni/main/docs/images/hero-phone-light.webp" alt="The demo on a phone, in Japanese: the header, its language chooser, patches and buttons, then the first panel, 国を探す, with ドイツ typed in, its row of examples, and the start of its answer, the German flag and DE, DEU, 276" width="190">
31
+ </picture>
32
+ <br><em>On a phone, in Japanese, in the device's light or dark.</em>
33
+ </td>
34
+ </tr>
35
+ </table>
36
+
37
+ Kuni is the country list every site ends up keeping for itself, kept once, with what a form, a profile page or a map quiz asks of it: the 250 countries with their ISO 3166-1 codes, and their 5,046 ISO 3166-2 subdivisions (Japan's prefectures, the American states, Canada's provinces and territories, France's regions and departments), each named in English and in Japanese. The names are Unicode CLDR's, with Wikidata filling the gaps, so they are the same on a server and in a browser, which `Intl.DisplayNames` is not. It looks a country up by what somebody typed (Holland, USA, どいつ, 米国) and a region by its code or its name. It works in [the demo](https://johnmorrisdotca.github.io/kuni/) with nothing to install.
38
+
39
+ ## In 30 seconds
40
+
41
+ ```sh
42
+ npm install @johnmorrisdotca/kuni
43
+ ```
44
+
45
+ ```ts
46
+ import { country, countryByName, countryName } from "@johnmorrisdotca/kuni";
47
+
48
+ countryByName("ドイツ")?.alpha2; // "DE"; "Germany", "どいつ" and "Deutschland" find it too
49
+ countryByName("Holland")?.name.ja; // "オランダ"
50
+ countryName("US", "ja", { short: true }); // "アメリカ"
51
+ country("JP")?.callingCode; // "+81"
52
+ ```
53
+
54
+ One country's subdivisions are an entry of their own, so a page that needs Japan's prefectures carries Japan's and no other:
55
+
56
+ ```ts
57
+ import prefectures from "@johnmorrisdotca/kuni/subdivisions/jp";
58
+
59
+ prefectures.length; // 47
60
+ prefectures[12]; // { code: "JP-13", name: { en: "Tokyo", ja: "東京都" }, reading: "とうきょうと", type: "metropolis", ... }
61
+ ```
62
+
63
+ Install the scoped name: the unscoped `kuni` on npm is somebody else's package.
64
+
65
+ ## Who it is for
66
+
67
+ - **Forms and profiles** that ask where somebody lives: a country select in either language, a state or prefecture select under it, and a free-text box whose "UK" or "Holland" still resolves to a code.
68
+ - **Sites rendered on a server and hydrated in a browser**, where `Intl.DisplayNames` spells some countries differently in Node and in Chromium and the page does not match itself.
69
+ - **Japanese-language pages** that need アメリカ合衆国 and オンタリオ州, the four kinds of Japanese prefecture (都道府県), and prefecture readings in kana.
70
+ - **Maps, quizzes and data pipelines** that join their own figures to a country or a region by its ISO code.
71
+
72
+ ## Features
73
+
74
+ - **Every country.** The 249 ISO 3166-1 codes and Kosovo (XK, user-assigned), each with alpha-2, alpha-3 and numeric codes, its flag, continent, UN M49 subregion, calling code, currencies, top-level domain, capital, time zones and languages.
75
+ - **Every subdivision.** 5,046 ISO 3166-2 codes in 200 countries: 3,590 at the first level and 1,456 below it (France's departments in its regions, England's councils in England), each with its level and parent.
76
+ - **English and Japanese names** from Unicode CLDR 48.2, with CLDR's short forms (UK, アメリカ) and variants (Ivory Coast, 象牙海岸). Japanese names for 3,523 of the 3,590 first-level subdivisions, and `null` for the rest, never a guess.
77
+ - **Found by what somebody typed.** Case, accents, full-width letters, half-width kana and hiragana or katakana are folded away, and the aliases people use (Holland, UK, Burma, 米国) are known.
78
+ - **Kinds of place**: prefecture, state, province, region and some thirty more, read from Wikidata, with the Japanese word for each (県, 州, 省) where a country's names agree on one.
79
+ - **Small where it matters.** The countries and lookups are about 57 KB (19 KB gzipped); one country's subdivisions are their own entry (Japan's 47, 2.9 KB) or a dynamic import.
80
+ - **Typed, frozen, pure and the same everywhere.** ESM and CommonJS, types for both, no dependencies, no network and no `Intl`.
81
+
82
+ ## Use it in your project
83
+
84
+ ### Install
85
+
86
+ ```sh
87
+ npm install @johnmorrisdotca/kuni
88
+ # or: pnpm add @johnmorrisdotca/kuni
89
+ # or: yarn add @johnmorrisdotca/kuni
90
+ ```
91
+
92
+ It ships ES modules and CommonJS, with types for both and `sideEffects: false`. CommonJS is there because Node scripts and some packages that will read it (an address parser among them) want `require`; the rest of the family is ES modules only.
93
+
94
+ ### The entry points
95
+
96
+ | Entry | What it carries | Size (ESM) |
97
+ | --- | --- | --- |
98
+ | `@johnmorrisdotca/kuni` | The 250 countries and the country lookups | 57 KB, 19 KB gzipped |
99
+ | `@johnmorrisdotca/kuni/codes` | The 250 codes and `isCountryCode`, nothing else | 2 KB |
100
+ | `@johnmorrisdotca/kuni/subdivisions/<code>` | One country's subdivisions, every level (`/subdivisions/jp`, `/subdivisions/us`, lower case) | 1 to 13 KB; Japan 2.9 KB |
101
+ | `@johnmorrisdotca/kuni/load` | `loadSubdivisions(code)`, one dynamic import per country | 11 KB, then the country's own file |
102
+ | `@johnmorrisdotca/kuni/subdivisions` | All 5,046 subdivisions and the subdivision lookups | 216 KB, 85 KB gzipped |
103
+
104
+ ### 1. The countries
105
+
106
+ ```ts
107
+ import { countries, country, countryByName } from "@johnmorrisdotca/kuni";
108
+
109
+ country("jp"); // alpha-2 in either case, "JPN" or "392" too
110
+ countryByName("cote d'ivoire"); // Côte d'Ivoire, CI
111
+ countries({ order: "ja" }); // in Japanese order, by reading where a name is in kanji
112
+ ```
113
+
114
+ ### 2. One country's subdivisions
115
+
116
+ ```ts
117
+ import states from "@johnmorrisdotca/kuni/subdivisions/us";
118
+ // const { SUBDIVISIONS } = require("@johnmorrisdotca/kuni/subdivisions/us");
119
+
120
+ states.filter((one) => one.type === "state").length; // 50; DC and the six outlying areas make 57
121
+ ```
122
+
123
+ ### 3. Loaded when they are wanted
124
+
125
+ ```ts
126
+ import { loadSubdivisions } from "@johnmorrisdotca/kuni/load";
127
+
128
+ const regions = await loadSubdivisions(form.country); // [] for a country with none, null for a code that is not one
129
+ ```
130
+
131
+ ### 4. Every subdivision, on a server
132
+
133
+ ```ts
134
+ import { subdivision, subdivisionByName, subdivisions, subdivisionTypeLabel } from "@johnmorrisdotca/kuni/subdivisions";
135
+
136
+ subdivisionByName("オンタリオ州", { country: "CA" })?.code; // "CA-ON"
137
+ subdivisions("FR")?.length; // 26 regions and overseas parts
138
+ subdivisions("FR", { level: "all" })?.length; // 124, with the departments
139
+ subdivisionTypeLabel("JP-13", "ja"); // "都"
140
+ ```
141
+
142
+ ### In a page, with no bundler
143
+
144
+ ```html
145
+ <script type="module">
146
+ import { countryByName } from "https://cdn.jsdelivr.net/npm/@johnmorrisdotca/kuni@1/dist/index.js";
147
+ console.log(countryByName("Holland")?.name.ja); // オランダ
148
+ </script>
149
+ ```
150
+
151
+ ## Examples
152
+
153
+ ### A country select, in either language
154
+
155
+ ```ts
156
+ import { countries } from "@johnmorrisdotca/kuni";
157
+
158
+ const options = (lang: "en" | "ja") =>
159
+ countries({ order: lang }).map((one) => ({ value: one.alpha2, label: `${one.flag} ${one.name[lang]}` }));
160
+ ```
161
+
162
+ ### A state or prefecture select that follows it
163
+
164
+ ```ts
165
+ import { loadSubdivisions } from "@johnmorrisdotca/kuni/load";
166
+
167
+ async function regionOptions(countryCode: string, lang: "en" | "ja") {
168
+ const list = (await loadSubdivisions(countryCode)) ?? [];
169
+ return list.filter((one) => one.level === 1).map((one) => ({ value: one.code, label: one.name[lang] ?? one.name.en }));
170
+ }
171
+ ```
172
+
173
+ The Japanese name is `null` where no source has one, so the fallback to English is the page's choice, made in the open.
174
+
175
+ ### What somebody typed into a free-text country box
176
+
177
+ ```ts
178
+ import { countryByName } from "@johnmorrisdotca/kuni";
179
+
180
+ for (const typed of ["UK", "the Netherlands", "USA", "どいつ", "Burma", "Narnia"]) {
181
+ console.log(typed, countryByName(typed)?.alpha2 ?? "(keep their words, no flag)");
182
+ }
183
+ // UK GB · the Netherlands NL · USA US · どいつ DE · Burma MM · Narnia (keep their words, no flag)
184
+ ```
185
+
186
+ ### A name that is two places
187
+
188
+ ```ts
189
+ import { subdivisionByName, subdivisionsByName } from "@johnmorrisdotca/kuni/subdivisions";
190
+
191
+ subdivisionByName("Punjab"); // null: it is in India and in Pakistan
192
+ subdivisionsByName("Punjab").map((one) => one.code); // ["IN-PB", "PK-PB"]
193
+ subdivisionByName("Punjab", { country: "PK" })?.code; // "PK-PB"
194
+ ```
195
+
196
+ ## API
197
+
198
+ The [API reference](https://johnmorrisdotca.github.io/kuni/api.html) lists every export of every entry point with its signature and its comment. It is made from the source by `pnpm site`, so it cannot fall behind the code.
199
+
200
+ | Entry | Exports |
201
+ | --- | --- |
202
+ | `@johnmorrisdotca/kuni` | `country`, `countries`, `countryByName`, `countryName`, `flag`, `continentName`, `subregionName`, `fold`, `isCountryCode`, `COUNTRY_CODES`, `CONTINENTS`, `LANGUAGES`, `VERSION`, and the types `Country`, `CountryCode`, `Continent`, `Language`, `CountriesOptions`, `CountryOrder`, `CountryNameOptions`, `Subdivision` and `SubdivisionType` |
203
+ | `@johnmorrisdotca/kuni/codes` | `COUNTRY_CODES`, `isCountryCode` and the type `CountryCode` |
204
+ | `@johnmorrisdotca/kuni/subdivisions` | `subdivisions`, `allSubdivisions`, `subdivision`, `subdivisionByShortCode`, `subdivisionByName`, `subdivisionsByName`, `subdivisionTypeLabel`, `SUBDIVISION_TYPES`, and the types `Subdivision`, `SubdivisionType`, `Level`, `SubdivisionsOptions` and `SubdivisionByNameOptions` |
205
+ | `@johnmorrisdotca/kuni/subdivisions/<code>` | the country's list as the default export and as `SUBDIVISIONS` |
206
+ | `@johnmorrisdotca/kuni/load` | `loadSubdivisions` and the type `Subdivision` |
207
+
208
+ A country:
209
+
210
+ ```ts
211
+ interface Country {
212
+ alpha2: string; // "JP"
213
+ alpha3: string; // "JPN"
214
+ numeric: string; // "392"
215
+ kind: "iso" | "user"; // "user" for Kosovo, XK
216
+ name: { en: string; ja: string; local?: string }; // local: its own name, "Deutschland"
217
+ shortName?: { en?: string; ja?: string }; // "UK", アメリカ
218
+ reading?: string; // hiragana, where the Japanese name is in kanji: "にほん"
219
+ flag: string; // the flag emoji
220
+ continent: "AF" | "AN" | "AS" | "EU" | "NA" | "OC" | "SA";
221
+ subregion?: string; // UN M49: "030", Eastern Asia
222
+ callingCode?: string; // "+81"; "+1" for every member of the North American plan
223
+ currency?: string[]; // ["JPY"]
224
+ tld?: string; // "jp"; "uk" for GB
225
+ capital?: { en: string };
226
+ zones?: string[]; // ["Asia/Tokyo"]
227
+ languages?: string[]; // ["ja"]
228
+ subdivisionType?: SubdivisionType; // "prefecture"
229
+ aliases?: string[]; // other names it goes by
230
+ }
231
+ ```
232
+
233
+ A subdivision:
234
+
235
+ ```ts
236
+ interface Subdivision {
237
+ code: string; // "JP-13", always the full ISO 3166-2 code
238
+ country: string; // "JP"
239
+ shortCode: string; // "13"
240
+ type: SubdivisionType | null; // "metropolis"; null where no source says
241
+ level: 1 | 2 | 3;
242
+ parent?: string; // "FR-IDF" for FR-75C, below the first level
243
+ name: { en: string; ja: string | null };
244
+ reading?: string; // Japan's prefectures: "とうきょうと"
245
+ }
246
+ ```
247
+
248
+ Every function is pure and every object it hands out is frozen. A code or a name that is not one gives `null` (or an empty list), never a near miss.
249
+
250
+ ## Theming
251
+
252
+ None, on purpose: Kuni is data and lookups, with no colours, markup or styles, so a page built on it looks however the page looks. The demo is the worked example: its panels are drawn by [`demo/demo.js`](./demo/demo.js) and [`demo/kuni.css`](./demo/kuni.css), over the family's shared stylesheet.
253
+
254
+ ## Limits
255
+
256
+ | Limit | Value | Where |
257
+ | --- | --- | --- |
258
+ | Countries | 250: the 249 ISO 3166-1 codes and XK | `COUNTRY_CODES` |
259
+ | Subdivisions | 5,046 in 200 countries; 3,590 at level 1, 1,456 at level 2, none at level 3 | `allSubdivisions` |
260
+ | Japanese names of subdivisions | 3,523 of 3,590 at level 1 (3,387 from CLDR, 41 written by hand, 95 from Wikidata); 4,747 of all 5,046 | `name.ja`, [docs/ja-gaps.md](./docs/ja-gaps.md) |
261
+ | Kinds of place | known for 4,739 of 5,046; the rest are `null` | `type` |
262
+ | Readings in kana | Japan's 47 prefectures, and the 53 country names written with kanji | `reading` |
263
+ | Languages | English and Japanese | `LANGUAGES` |
264
+
265
+ Not here: cities, postal codes, coordinates, outlines, populations, and names in other languages. CLDR marks nearly all of its Japanese subdivision names "provisional"; where Wikidata names a place differently, CLDR's name is kept and the difference listed in [docs/disagreements.md](./docs/disagreements.md) (234 of 4,322 compared) for review. CLDR's trailing brackets (セント・ポール (ドミニカ国), バリンゴ (カウンティ)) are taken off by a rule listed in [docs/name-rules.md](./docs/name-rules.md), and 46 names a reviewer found wrong or out of date are written by hand, with their reasons, in [docs/disagreements.md](./docs/disagreements.md).
266
+
267
+ ## Accessibility
268
+
269
+ Kuni draws nothing: it gives a page names, codes and readings, so what it can do for accessibility is give names a screen reader can say and a person can find by typing.
270
+
271
+ - **Names in the reader's language.** Every country and nearly every first-level subdivision has a Japanese name, and Japan's prefectures and the kanji country names have readings in hiragana, for furigana or for a screen reader.
272
+ - **Forgiving search.** A person who types in kana, in full-width letters or without accents still finds the place.
273
+ - **Flags are never the only label.** A flag is an emoji that many screen readers say only as two letters; the demo always writes the name beside it.
274
+ - **In the demo**, every panel is a labelled region, each box has a label, the answers are `aria-live`, the list of subdivisions is a real table with column headers, every control is at least 44 pixels square, and the page fits a phone at 390 pixels.
275
+ - **Not yet.** The demo's colours have not been measured against WCAG contrast ratios, and its Japanese has not been read by a native reader (see [Languages](#languages)).
276
+
277
+ ## Browser and runtime support
278
+
279
+ The package is data and plain functions, so it runs anywhere JavaScript does: any browser with ES2022 and Unicode property escapes in regular expressions, and Node. Building it from source and running its data scripts needs Node 24 or later, which runs TypeScript as it is; CI tests on Node 24 on Linux, macOS and Windows. The demo is played in a real Chromium at a phone's width (with touch) and a desk's, and in WebKit at a phone's width.
280
+
281
+ ## Languages
282
+
283
+ Every name is in English and Japanese. The country names, the subdivision names and the kinds of place in Japanese come from Unicode CLDR and Wikidata. A few strings are written for this package: the aliases (米国, 英国, 豪州), the readings of the 53 country names written with kanji and of two prefectures, the Japanese type words the build looks for, and the demo's own words. The subdivision names have been read through by a strong, but not a native, reader of Japanese, who corrected 46 of them (listed in [docs/disagreements.md](./docs/disagreements.md), with six questions left open). **Japanese: included; not yet reviewed by a native reader. Corrections welcome.** Every line of the demo is listed beside its English in [docs/strings-ja.md](./docs/strings-ja.md), and there is an [issue template](https://github.com/johnmorrisdotca/kuni/issues/new?template=fix-a-translation.md) for fixing a name or a line.
284
+
285
+ ## Roadmap
286
+
287
+ Not here yet, and each welcome as an [issue](https://github.com/johnmorrisdotca/kuni/issues):
288
+
289
+ - Names in other languages, from CLDR, as an entry per language (`/names/<locale>`).
290
+ - Each subdivision's name in its own language and script (Wikidata P1705).
291
+ - The Japanese names CLDR and Wikidata both lack (listed in [docs/ja-gaps.md](./docs/ja-gaps.md)), when a source has them.
292
+
293
+ Left out on purpose: geometry and coordinates (see [Chizu](https://github.com/johnmorrisdotca/chizu)), and any data under a share-alike or GPL licence.
294
+
295
+ ## Architecture
296
+
297
+ ```text
298
+ src/
299
+ ├── index.ts the main entry: the countries and their lookups
300
+ ├── codes.ts the "/codes" entry: the codes alone
301
+ ├── subdivisions.ts the "/subdivisions" entry: every subdivision and its lookups
302
+ ├── load.ts the "/load" entry: one country's subdivisions by dynamic import
303
+ ├── fold.ts folding what somebody typed: case, accents, width, kana
304
+ ├── rows.ts turning the data's compact rows into objects
305
+ ├── types.ts the shapes of a country and a subdivision, and the kinds of place
306
+ ├── version.ts the package's version
307
+ ├── data/ written by scripts/build-data.ts: countries, codes, and a file per country
308
+ └── subdivisions/ written by scripts/build-data.ts: the "/subdivisions/<code>" entries
309
+ ```
310
+
311
+ `scripts/build-data.ts` (`pnpm data`) makes `src/data/` from the inputs in `data-sources/` and three npm packages, with no network, and checks every input's SHA-256 first; run twice, it leaves the tree as it was. `scripts/data-config.ts` holds the few things written by hand. Tests sit beside the code (`*.test.ts`). `scripts/` also builds the demo and its API page and checks the package as npm packs it; `demo/` is the page and `e2e/` its browser tests.
312
+
313
+ ## Data and licences
314
+
315
+ | What | From | Licence |
316
+ | --- | --- | --- |
317
+ | Country names, short and variant forms, codes, currencies, continents and subregions | Unicode CLDR 48.2 (`cldr-core`, `cldr-localenames-full`) | Unicode-3.0 |
318
+ | Subdivision codes, names, levels and parents | Unicode CLDR 48.2 (`common/subdivisions`, validity and containment) | Unicode-3.0 |
319
+ | Japanese names CLDR lacks, prefecture readings, calling codes, kinds of place | Wikidata, a snapshot of 2026-10-09 | CC0 |
320
+ | Own names, capitals, continents, languages | countries-list 3.4.1 | MIT |
321
+ | Time zones and top-level domains | IANA tzdb 2026e `zone.tab`, IANA's TLD list | Public domain; a list of facts |
322
+ | Aliases, a few readings and 46 corrected Japanese subdivision names | written for this package | MIT |
323
+
324
+ [NOTICE.md](./NOTICE.md) carries the Unicode licence text and says what was changed, and [data-sources/README.md](./data-sources/README.md) says where every input came from and how to refresh it. Nothing under ODbL, CC BY-SA or the GPL is used, so the dataset is shipped under MIT with those notices.
325
+
326
+ ## The name
327
+
328
+ *Kuni* (国) is Japanese for "country": a nation, as in 国境 (*kokkyō*, a border) and 外国 (*gaikoku*, abroad). It is also the old word for a province, the 国 of Japan's former provinces (武蔵国, *Musashi no kuni*), and, in お国はどちらですか, "where are you from?", the place somebody calls home. The one word covers both halves of the data: the countries, and the regions inside them. ([Wiktionary: 国](https://en.wiktionary.org/wiki/国), which gives "country, nation" and "province".)
329
+
330
+ ## Where it comes from, and where it is used
331
+
332
+ Kuni was written because several sites by the same author each kept their own country list: codes typed out by hand, names from `Intl.DisplayNames` that differed between the server and the browser, a few dozen aliases, and three separate tables of Japan's prefectures. It is the one list they can share.
333
+
334
+ ### Used by
335
+
336
+ Nothing yet: it is new. Using Kuni in something? Open an *Add my project* issue and we will add you.
337
+
338
+ ### The family
339
+
340
+ Kuni is not yet in the family's shared list (the template every demo's header and footer read), which is changed in every repository at once; until it is, its demo adds itself at the end. The list as it will be:
341
+
342
+ Kuni is one of twenty-five packages, each made for the same site, each at
343
+ [github.com/johnmorrisdotca](https://github.com/johnmorrisdotca). The code of every one is MIT.
344
+
345
+ - [Korokoro](https://github.com/johnmorrisdotca/korokoro) (コロコロ): dice, with notation, exact odds, real sounds and the dice of many games. [Demo](https://johnmorrisdotca.github.io/korokoro/).
346
+ - [Kyuubu](https://github.com/johnmorrisdotca/kyuubu) (キューブ): a turning cube for the browser, 2×2 to 7×7, with record solves to replay. [Demo](https://johnmorrisdotca.github.io/kyuubu/).
347
+ - [Hitotsu](https://github.com/johnmorrisdotca/hitotsu) (一つ): a colour-card shedding game for two to eight, with the house rules people play. [Demo](https://johnmorrisdotca.github.io/hitotsu/).
348
+ - [Toranpu](https://github.com/johnmorrisdotca/toranpu) (トランプ): a deck of playing cards, card games with computer players, and solitaires. [Demo](https://johnmorrisdotca.github.io/toranpu/).
349
+ - [Tane](https://github.com/johnmorrisdotca/tane) (種): seeded random numbers and daily seeds, the same in every browser and on every server. [Demo](https://johnmorrisdotca.github.io/tane/).
350
+ - [Narabe](https://github.com/johnmorrisdotca/narabe) (並べ): one rules engine for abstract board games, from gomoku and Reversi to Go and checkers. [Demo](https://johnmorrisdotca.github.io/narabe/).
351
+ - [Tenka](https://github.com/johnmorrisdotca/tenka) (天下): world conquest for two to six, on a map of the real world. [Demo](https://johnmorrisdotca.github.io/tenka/).
352
+ - [Kumimoji](https://github.com/johnmorrisdotca/kumimoji) (組み文字): a crossword tile race, in English and Japanese kana. [Demo](https://johnmorrisdotca.github.io/kumimoji/).
353
+ - [Tsunagi](https://github.com/johnmorrisdotca/tsunagi) (繋ぎ): a line-joining logic puzzle whose every level has exactly one answer. [Demo](https://johnmorrisdotca.github.io/tsunagi/).
354
+ - [Jarajara](https://github.com/johnmorrisdotca/jarajara) (ジャラジャラ): mahjong tiles drawn as SVG, stacked layouts, and the matching solitaire Awase. [Demo](https://johnmorrisdotca.github.io/jarajara/).
355
+ - [Suido](https://github.com/johnmorrisdotca/suido) (水道): a pipe puzzle: turn the pieces until the water reaches every drain. [Demo](https://johnmorrisdotca.github.io/suido/).
356
+ - [Domino](https://github.com/johnmorrisdotca/domino) (ドミノ): dominoes and Mexican Train. [Demo](https://johnmorrisdotca.github.io/domino/).
357
+ - [Kotoba](https://github.com/johnmorrisdotca/kotoba) (言葉): word lists and word-game rules in English, French, German and Japanese. [Demo](https://johnmorrisdotca.github.io/kotoba/).
358
+ - [Sugoroku](https://github.com/johnmorrisdotca/sugoroku) (双六): backgammon and its variants, with the doubling cube and match play. [Demo](https://johnmorrisdotca.github.io/sugoroku/).
359
+ - [Kazu](https://github.com/johnmorrisdotca/kazu) (数): grid number puzzles: Sudoku and its variants, Futoshiki and Skyscrapers. [Demo](https://johnmorrisdotca.github.io/kazu/).
360
+ - [Meikyuu](https://github.com/johnmorrisdotca/meikyuu) (迷宮): mazes on squares, hexagons, triangles and circles, made from a seed and drawn through with a finger or the mouse. [Demo](https://johnmorrisdotca.github.io/meikyuu/).
361
+ - [Hikidashi](https://github.com/johnmorrisdotca/hikidashi) (引き出し): a drawer of small Japanese text tools: era dates, kanji numerals, readings and sentence difficulty. [Demo](https://johnmorrisdotca.github.io/hikidashi/).
362
+ - [Chizu](https://github.com/johnmorrisdotca/chizu) (地図): maps of the world and of countries' regions, in English and Japanese, with a quiz and callouts. [Demo](https://johnmorrisdotca.github.io/chizu/).
363
+ - [Bushu](https://github.com/johnmorrisdotca/bushu) (部首): find a kanji by the parts it is made of. [Demo](https://johnmorrisdotca.github.io/bushu/).
364
+ - [Tobiishi](https://github.com/johnmorrisdotca/tobiishi) (飛び石): peg solitaire with nine boards and seeded solvable challenges. [Demo](https://johnmorrisdotca.github.io/tobiishi/).
365
+ - [Jirai](https://github.com/johnmorrisdotca/jirai) (地雷): minesweeper on shaped grids with verified no-guess boards. [Demo](https://johnmorrisdotca.github.io/jirai/).
366
+ - [Gunjin](https://github.com/johnmorrisdotca/gunjin) (軍人): five hidden-rank strategy games with pass-the-device play. [Demo](https://johnmorrisdotca.github.io/gunjin/).
367
+ - [Karakuri](https://github.com/johnmorrisdotca/karakuri) (からくり): eight hyper-casual puzzle games, some of them physics: draw a shield, pull pins, cut ropes, slide blocks, pour tubes. [Demo](https://johnmorrisdotca.github.io/karakuri/).
368
+ - [Houseki](https://github.com/johnmorrisdotca/houseki) (宝石): gem and stone matching puzzles: falling triplets, stone collapse, colour chains and gem swap. [Demo](https://johnmorrisdotca.github.io/houseki/).
369
+ - [Kuni](https://github.com/johnmorrisdotca/kuni) (国): every country and its subdivisions, with ISO 3166 codes and names in English and Japanese. [Demo](https://johnmorrisdotca.github.io/kuni/).
370
+
371
+ **This package is Kuni.** The demos of all twenty-five share one header and footer, so each links the rest.
372
+
373
+ ## Development
374
+
375
+ ```sh
376
+ pnpm install
377
+ pnpm check # lint, types, build, every test (sizes included), and the packed package
378
+ pnpm test:package # pack, install and import it as somebody who installed it would
379
+ pnpm test:demo # build the demo and play it in a real browser, at a phone's width and a desk's
380
+ pnpm site # build the demo into site/, as the Pages workflow publishes it
381
+ pnpm screenshots:readme # take the README's pictures from the built demo, in light and dark
382
+ pnpm data # rebuild src/data/ from data-sources/ (no network)
383
+ pnpm data:report # the coverage, and docs/ja-gaps.md
384
+ pnpm docs:make # rewrite docs/strings-ja.md after changing a word of the demo
385
+ ```
386
+
387
+ ## Contributing
388
+
389
+ See [CONTRIBUTING.md](./CONTRIBUTING.md); the commands are under [Development](#development), and the rules for the data are in its own section. Please follow the [code of conduct](./CODE_OF_CONDUCT.md). A security concern is for the [security policy](./SECURITY.md), not a public issue.
390
+
391
+ ## Changes
392
+
393
+ See [CHANGELOG.md](./CHANGELOG.md). The first version is 1.0.0.
394
+
395
+ ## Licence
396
+
397
+ MIT, © John Morris. The data is made from Unicode CLDR (Unicode-3.0), Wikidata (CC0), countries-list (MIT) and IANA (public domain), credited with their terms in [NOTICE.md](./NOTICE.md), which ships with the package.