@johnmorrisdotca/kuni 1.0.0 → 1.1.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 (1260) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/NOTICE.md +30 -8
  3. package/README.md +160 -25
  4. package/dist/codes.d.cts +27 -0
  5. package/dist/codes.d.ts +27 -0
  6. package/dist/facts.cjs +339 -0
  7. package/dist/facts.d.cts +65 -0
  8. package/dist/facts.d.ts +65 -0
  9. package/dist/facts.js +309 -0
  10. package/dist/groupings.cjs +207 -0
  11. package/dist/groupings.d.cts +162 -0
  12. package/dist/groupings.d.ts +162 -0
  13. package/dist/groupings.js +176 -0
  14. package/dist/index.cjs +253 -253
  15. package/dist/index.d.cts +143 -3
  16. package/dist/index.d.ts +143 -3
  17. package/dist/index.js +253 -253
  18. package/dist/load.d.cts +18 -1
  19. package/dist/load.d.ts +18 -1
  20. package/dist/subdivision-facts/ad.cjs +7 -0
  21. package/dist/subdivision-facts/ad.d.cts +16 -0
  22. package/dist/subdivision-facts/ad.d.ts +16 -0
  23. package/dist/subdivision-facts/ad.js +7 -0
  24. package/dist/subdivision-facts/ae.cjs +7 -0
  25. package/dist/subdivision-facts/ae.d.cts +16 -0
  26. package/dist/subdivision-facts/ae.d.ts +16 -0
  27. package/dist/subdivision-facts/ae.js +7 -0
  28. package/dist/subdivision-facts/af.cjs +34 -0
  29. package/dist/subdivision-facts/af.d.cts +16 -0
  30. package/dist/subdivision-facts/af.d.ts +16 -0
  31. package/dist/subdivision-facts/af.js +34 -0
  32. package/dist/subdivision-facts/ag.cjs +8 -0
  33. package/dist/subdivision-facts/ag.d.cts +16 -0
  34. package/dist/subdivision-facts/ag.d.ts +16 -0
  35. package/dist/subdivision-facts/ag.js +8 -0
  36. package/dist/subdivision-facts/al.cjs +12 -0
  37. package/dist/subdivision-facts/al.d.cts +16 -0
  38. package/dist/subdivision-facts/al.d.ts +16 -0
  39. package/dist/subdivision-facts/al.js +12 -0
  40. package/dist/subdivision-facts/am.cjs +11 -0
  41. package/dist/subdivision-facts/am.d.cts +16 -0
  42. package/dist/subdivision-facts/am.d.ts +16 -0
  43. package/dist/subdivision-facts/am.js +11 -0
  44. package/dist/subdivision-facts/ao.cjs +18 -0
  45. package/dist/subdivision-facts/ao.d.cts +16 -0
  46. package/dist/subdivision-facts/ao.d.ts +16 -0
  47. package/dist/subdivision-facts/ao.js +18 -0
  48. package/dist/subdivision-facts/ar.cjs +24 -0
  49. package/dist/subdivision-facts/ar.d.cts +16 -0
  50. package/dist/subdivision-facts/ar.d.ts +16 -0
  51. package/dist/subdivision-facts/ar.js +24 -0
  52. package/dist/subdivision-facts/at.cjs +9 -0
  53. package/dist/subdivision-facts/at.d.cts +16 -0
  54. package/dist/subdivision-facts/at.d.ts +16 -0
  55. package/dist/subdivision-facts/at.js +9 -0
  56. package/dist/subdivision-facts/au.cjs +8 -0
  57. package/dist/subdivision-facts/au.d.cts +16 -0
  58. package/dist/subdivision-facts/au.d.ts +16 -0
  59. package/dist/subdivision-facts/au.js +8 -0
  60. package/dist/subdivision-facts/az.cjs +78 -0
  61. package/dist/subdivision-facts/az.d.cts +16 -0
  62. package/dist/subdivision-facts/az.d.ts +16 -0
  63. package/dist/subdivision-facts/az.js +78 -0
  64. package/dist/subdivision-facts/ba.cjs +3 -0
  65. package/dist/subdivision-facts/ba.d.cts +16 -0
  66. package/dist/subdivision-facts/ba.d.ts +16 -0
  67. package/dist/subdivision-facts/ba.js +3 -0
  68. package/dist/subdivision-facts/bb.cjs +11 -0
  69. package/dist/subdivision-facts/bb.d.cts +16 -0
  70. package/dist/subdivision-facts/bb.d.ts +16 -0
  71. package/dist/subdivision-facts/bb.js +11 -0
  72. package/dist/subdivision-facts/bd.cjs +72 -0
  73. package/dist/subdivision-facts/bd.d.cts +16 -0
  74. package/dist/subdivision-facts/bd.d.ts +16 -0
  75. package/dist/subdivision-facts/bd.js +72 -0
  76. package/dist/subdivision-facts/be.cjs +13 -0
  77. package/dist/subdivision-facts/be.d.cts +16 -0
  78. package/dist/subdivision-facts/be.d.ts +16 -0
  79. package/dist/subdivision-facts/be.js +13 -0
  80. package/dist/subdivision-facts/bf.cjs +58 -0
  81. package/dist/subdivision-facts/bf.d.cts +16 -0
  82. package/dist/subdivision-facts/bf.d.ts +16 -0
  83. package/dist/subdivision-facts/bf.js +58 -0
  84. package/dist/subdivision-facts/bg.cjs +28 -0
  85. package/dist/subdivision-facts/bg.d.cts +16 -0
  86. package/dist/subdivision-facts/bg.d.ts +16 -0
  87. package/dist/subdivision-facts/bg.js +28 -0
  88. package/dist/subdivision-facts/bh.cjs +4 -0
  89. package/dist/subdivision-facts/bh.d.cts +16 -0
  90. package/dist/subdivision-facts/bh.d.ts +16 -0
  91. package/dist/subdivision-facts/bh.js +4 -0
  92. package/dist/subdivision-facts/bi.cjs +18 -0
  93. package/dist/subdivision-facts/bi.d.cts +16 -0
  94. package/dist/subdivision-facts/bi.d.ts +16 -0
  95. package/dist/subdivision-facts/bi.js +18 -0
  96. package/dist/subdivision-facts/bj.cjs +12 -0
  97. package/dist/subdivision-facts/bj.d.cts +16 -0
  98. package/dist/subdivision-facts/bj.d.ts +16 -0
  99. package/dist/subdivision-facts/bj.js +12 -0
  100. package/dist/subdivision-facts/bn.cjs +4 -0
  101. package/dist/subdivision-facts/bn.d.cts +16 -0
  102. package/dist/subdivision-facts/bn.d.ts +16 -0
  103. package/dist/subdivision-facts/bn.js +4 -0
  104. package/dist/subdivision-facts/bo.cjs +9 -0
  105. package/dist/subdivision-facts/bo.d.cts +16 -0
  106. package/dist/subdivision-facts/bo.d.ts +16 -0
  107. package/dist/subdivision-facts/bo.js +9 -0
  108. package/dist/subdivision-facts/bq.cjs +3 -0
  109. package/dist/subdivision-facts/bq.d.cts +16 -0
  110. package/dist/subdivision-facts/bq.d.ts +16 -0
  111. package/dist/subdivision-facts/bq.js +3 -0
  112. package/dist/subdivision-facts/br.cjs +27 -0
  113. package/dist/subdivision-facts/br.d.cts +16 -0
  114. package/dist/subdivision-facts/br.d.ts +16 -0
  115. package/dist/subdivision-facts/br.js +27 -0
  116. package/dist/subdivision-facts/bs.cjs +32 -0
  117. package/dist/subdivision-facts/bs.d.cts +16 -0
  118. package/dist/subdivision-facts/bs.d.ts +16 -0
  119. package/dist/subdivision-facts/bs.js +32 -0
  120. package/dist/subdivision-facts/bt.cjs +20 -0
  121. package/dist/subdivision-facts/bt.d.cts +16 -0
  122. package/dist/subdivision-facts/bt.d.ts +16 -0
  123. package/dist/subdivision-facts/bt.js +20 -0
  124. package/dist/subdivision-facts/bw.cjs +16 -0
  125. package/dist/subdivision-facts/bw.d.cts +16 -0
  126. package/dist/subdivision-facts/bw.d.ts +16 -0
  127. package/dist/subdivision-facts/bw.js +16 -0
  128. package/dist/subdivision-facts/by.cjs +7 -0
  129. package/dist/subdivision-facts/by.d.cts +16 -0
  130. package/dist/subdivision-facts/by.d.ts +16 -0
  131. package/dist/subdivision-facts/by.js +7 -0
  132. package/dist/subdivision-facts/bz.cjs +6 -0
  133. package/dist/subdivision-facts/bz.d.cts +16 -0
  134. package/dist/subdivision-facts/bz.d.ts +16 -0
  135. package/dist/subdivision-facts/bz.js +6 -0
  136. package/dist/subdivision-facts/ca.cjs +13 -0
  137. package/dist/subdivision-facts/ca.d.cts +16 -0
  138. package/dist/subdivision-facts/ca.d.ts +16 -0
  139. package/dist/subdivision-facts/ca.js +13 -0
  140. package/dist/subdivision-facts/cd.cjs +26 -0
  141. package/dist/subdivision-facts/cd.d.cts +16 -0
  142. package/dist/subdivision-facts/cd.d.ts +16 -0
  143. package/dist/subdivision-facts/cd.js +26 -0
  144. package/dist/subdivision-facts/cf.cjs +17 -0
  145. package/dist/subdivision-facts/cf.d.cts +16 -0
  146. package/dist/subdivision-facts/cf.d.ts +16 -0
  147. package/dist/subdivision-facts/cf.js +17 -0
  148. package/dist/subdivision-facts/cg.cjs +12 -0
  149. package/dist/subdivision-facts/cg.d.cts +16 -0
  150. package/dist/subdivision-facts/cg.d.ts +16 -0
  151. package/dist/subdivision-facts/cg.js +12 -0
  152. package/dist/subdivision-facts/ch.cjs +26 -0
  153. package/dist/subdivision-facts/ch.d.cts +16 -0
  154. package/dist/subdivision-facts/ch.d.ts +16 -0
  155. package/dist/subdivision-facts/ch.js +26 -0
  156. package/dist/subdivision-facts/ci.cjs +14 -0
  157. package/dist/subdivision-facts/ci.d.cts +16 -0
  158. package/dist/subdivision-facts/ci.d.ts +16 -0
  159. package/dist/subdivision-facts/ci.js +14 -0
  160. package/dist/subdivision-facts/cl.cjs +16 -0
  161. package/dist/subdivision-facts/cl.d.cts +16 -0
  162. package/dist/subdivision-facts/cl.d.ts +16 -0
  163. package/dist/subdivision-facts/cl.js +16 -0
  164. package/dist/subdivision-facts/cm.cjs +10 -0
  165. package/dist/subdivision-facts/cm.d.cts +16 -0
  166. package/dist/subdivision-facts/cm.d.ts +16 -0
  167. package/dist/subdivision-facts/cm.js +10 -0
  168. package/dist/subdivision-facts/cn.cjs +34 -0
  169. package/dist/subdivision-facts/cn.d.cts +16 -0
  170. package/dist/subdivision-facts/cn.d.ts +16 -0
  171. package/dist/subdivision-facts/cn.js +34 -0
  172. package/dist/subdivision-facts/co.cjs +33 -0
  173. package/dist/subdivision-facts/co.d.cts +16 -0
  174. package/dist/subdivision-facts/co.d.ts +16 -0
  175. package/dist/subdivision-facts/co.js +33 -0
  176. package/dist/subdivision-facts/cr.cjs +7 -0
  177. package/dist/subdivision-facts/cr.d.cts +16 -0
  178. package/dist/subdivision-facts/cr.d.ts +16 -0
  179. package/dist/subdivision-facts/cr.js +7 -0
  180. package/dist/subdivision-facts/cu.cjs +16 -0
  181. package/dist/subdivision-facts/cu.d.cts +16 -0
  182. package/dist/subdivision-facts/cu.d.ts +16 -0
  183. package/dist/subdivision-facts/cu.js +16 -0
  184. package/dist/subdivision-facts/cv.cjs +24 -0
  185. package/dist/subdivision-facts/cv.d.cts +16 -0
  186. package/dist/subdivision-facts/cv.d.ts +16 -0
  187. package/dist/subdivision-facts/cv.js +24 -0
  188. package/dist/subdivision-facts/cy.cjs +6 -0
  189. package/dist/subdivision-facts/cy.d.cts +16 -0
  190. package/dist/subdivision-facts/cy.d.ts +16 -0
  191. package/dist/subdivision-facts/cy.js +6 -0
  192. package/dist/subdivision-facts/cz.cjs +90 -0
  193. package/dist/subdivision-facts/cz.d.cts +16 -0
  194. package/dist/subdivision-facts/cz.d.ts +16 -0
  195. package/dist/subdivision-facts/cz.js +90 -0
  196. package/dist/subdivision-facts/de.cjs +16 -0
  197. package/dist/subdivision-facts/de.d.cts +16 -0
  198. package/dist/subdivision-facts/de.d.ts +16 -0
  199. package/dist/subdivision-facts/de.js +16 -0
  200. package/dist/subdivision-facts/dj.cjs +6 -0
  201. package/dist/subdivision-facts/dj.d.cts +16 -0
  202. package/dist/subdivision-facts/dj.d.ts +16 -0
  203. package/dist/subdivision-facts/dj.js +6 -0
  204. package/dist/subdivision-facts/dk.cjs +5 -0
  205. package/dist/subdivision-facts/dk.d.cts +16 -0
  206. package/dist/subdivision-facts/dk.d.ts +16 -0
  207. package/dist/subdivision-facts/dk.js +5 -0
  208. package/dist/subdivision-facts/dm.cjs +10 -0
  209. package/dist/subdivision-facts/dm.d.cts +16 -0
  210. package/dist/subdivision-facts/dm.d.ts +16 -0
  211. package/dist/subdivision-facts/dm.js +10 -0
  212. package/dist/subdivision-facts/do.cjs +42 -0
  213. package/dist/subdivision-facts/do.d.cts +16 -0
  214. package/dist/subdivision-facts/do.d.ts +16 -0
  215. package/dist/subdivision-facts/do.js +42 -0
  216. package/dist/subdivision-facts/dz.cjs +58 -0
  217. package/dist/subdivision-facts/dz.d.cts +16 -0
  218. package/dist/subdivision-facts/dz.d.ts +16 -0
  219. package/dist/subdivision-facts/dz.js +58 -0
  220. package/dist/subdivision-facts/ec.cjs +24 -0
  221. package/dist/subdivision-facts/ec.d.cts +16 -0
  222. package/dist/subdivision-facts/ec.d.ts +16 -0
  223. package/dist/subdivision-facts/ec.js +24 -0
  224. package/dist/subdivision-facts/ee.cjs +94 -0
  225. package/dist/subdivision-facts/ee.d.cts +16 -0
  226. package/dist/subdivision-facts/ee.d.ts +16 -0
  227. package/dist/subdivision-facts/ee.js +94 -0
  228. package/dist/subdivision-facts/eg.cjs +27 -0
  229. package/dist/subdivision-facts/eg.d.cts +16 -0
  230. package/dist/subdivision-facts/eg.d.ts +16 -0
  231. package/dist/subdivision-facts/eg.js +27 -0
  232. package/dist/subdivision-facts/er.cjs +6 -0
  233. package/dist/subdivision-facts/er.d.cts +16 -0
  234. package/dist/subdivision-facts/er.d.ts +16 -0
  235. package/dist/subdivision-facts/er.js +6 -0
  236. package/dist/subdivision-facts/es.cjs +69 -0
  237. package/dist/subdivision-facts/es.d.cts +16 -0
  238. package/dist/subdivision-facts/es.d.ts +16 -0
  239. package/dist/subdivision-facts/es.js +69 -0
  240. package/dist/subdivision-facts/et.cjs +13 -0
  241. package/dist/subdivision-facts/et.d.cts +16 -0
  242. package/dist/subdivision-facts/et.d.ts +16 -0
  243. package/dist/subdivision-facts/et.js +13 -0
  244. package/dist/subdivision-facts/fi.cjs +19 -0
  245. package/dist/subdivision-facts/fi.d.cts +16 -0
  246. package/dist/subdivision-facts/fi.d.ts +16 -0
  247. package/dist/subdivision-facts/fi.js +19 -0
  248. package/dist/subdivision-facts/fj.cjs +19 -0
  249. package/dist/subdivision-facts/fj.d.cts +16 -0
  250. package/dist/subdivision-facts/fj.d.ts +16 -0
  251. package/dist/subdivision-facts/fj.js +19 -0
  252. package/dist/subdivision-facts/fm.cjs +4 -0
  253. package/dist/subdivision-facts/fm.d.cts +16 -0
  254. package/dist/subdivision-facts/fm.d.ts +16 -0
  255. package/dist/subdivision-facts/fm.js +4 -0
  256. package/dist/subdivision-facts/fr.cjs +124 -0
  257. package/dist/subdivision-facts/fr.d.cts +16 -0
  258. package/dist/subdivision-facts/fr.d.ts +16 -0
  259. package/dist/subdivision-facts/fr.js +124 -0
  260. package/dist/subdivision-facts/ga.cjs +9 -0
  261. package/dist/subdivision-facts/ga.d.cts +16 -0
  262. package/dist/subdivision-facts/ga.d.ts +16 -0
  263. package/dist/subdivision-facts/ga.js +9 -0
  264. package/dist/subdivision-facts/gb.cjs +221 -0
  265. package/dist/subdivision-facts/gb.d.cts +16 -0
  266. package/dist/subdivision-facts/gb.d.ts +16 -0
  267. package/dist/subdivision-facts/gb.js +221 -0
  268. package/dist/subdivision-facts/gd.cjs +7 -0
  269. package/dist/subdivision-facts/gd.d.cts +16 -0
  270. package/dist/subdivision-facts/gd.d.ts +16 -0
  271. package/dist/subdivision-facts/gd.js +7 -0
  272. package/dist/subdivision-facts/ge.cjs +12 -0
  273. package/dist/subdivision-facts/ge.d.cts +16 -0
  274. package/dist/subdivision-facts/ge.d.ts +16 -0
  275. package/dist/subdivision-facts/ge.js +12 -0
  276. package/dist/subdivision-facts/gh.cjs +16 -0
  277. package/dist/subdivision-facts/gh.d.cts +16 -0
  278. package/dist/subdivision-facts/gh.d.ts +16 -0
  279. package/dist/subdivision-facts/gh.js +16 -0
  280. package/dist/subdivision-facts/gl.cjs +5 -0
  281. package/dist/subdivision-facts/gl.d.cts +16 -0
  282. package/dist/subdivision-facts/gl.d.ts +16 -0
  283. package/dist/subdivision-facts/gl.js +5 -0
  284. package/dist/subdivision-facts/gm.cjs +6 -0
  285. package/dist/subdivision-facts/gm.d.cts +16 -0
  286. package/dist/subdivision-facts/gm.d.ts +16 -0
  287. package/dist/subdivision-facts/gm.js +6 -0
  288. package/dist/subdivision-facts/gn.cjs +41 -0
  289. package/dist/subdivision-facts/gn.d.cts +16 -0
  290. package/dist/subdivision-facts/gn.d.ts +16 -0
  291. package/dist/subdivision-facts/gn.js +41 -0
  292. package/dist/subdivision-facts/gq.cjs +10 -0
  293. package/dist/subdivision-facts/gq.d.cts +16 -0
  294. package/dist/subdivision-facts/gq.d.ts +16 -0
  295. package/dist/subdivision-facts/gq.js +10 -0
  296. package/dist/subdivision-facts/gr.cjs +14 -0
  297. package/dist/subdivision-facts/gr.d.cts +16 -0
  298. package/dist/subdivision-facts/gr.d.ts +16 -0
  299. package/dist/subdivision-facts/gr.js +14 -0
  300. package/dist/subdivision-facts/gt.cjs +22 -0
  301. package/dist/subdivision-facts/gt.d.cts +16 -0
  302. package/dist/subdivision-facts/gt.d.ts +16 -0
  303. package/dist/subdivision-facts/gt.js +22 -0
  304. package/dist/subdivision-facts/gw.cjs +12 -0
  305. package/dist/subdivision-facts/gw.d.cts +16 -0
  306. package/dist/subdivision-facts/gw.d.ts +16 -0
  307. package/dist/subdivision-facts/gw.js +12 -0
  308. package/dist/subdivision-facts/gy.cjs +10 -0
  309. package/dist/subdivision-facts/gy.d.cts +16 -0
  310. package/dist/subdivision-facts/gy.d.ts +16 -0
  311. package/dist/subdivision-facts/gy.js +10 -0
  312. package/dist/subdivision-facts/hn.cjs +18 -0
  313. package/dist/subdivision-facts/hn.d.cts +16 -0
  314. package/dist/subdivision-facts/hn.d.ts +16 -0
  315. package/dist/subdivision-facts/hn.js +18 -0
  316. package/dist/subdivision-facts/hr.cjs +21 -0
  317. package/dist/subdivision-facts/hr.d.cts +16 -0
  318. package/dist/subdivision-facts/hr.d.ts +16 -0
  319. package/dist/subdivision-facts/hr.js +21 -0
  320. package/dist/subdivision-facts/ht.cjs +10 -0
  321. package/dist/subdivision-facts/ht.d.cts +16 -0
  322. package/dist/subdivision-facts/ht.d.ts +16 -0
  323. package/dist/subdivision-facts/ht.js +10 -0
  324. package/dist/subdivision-facts/hu.cjs +43 -0
  325. package/dist/subdivision-facts/hu.d.cts +16 -0
  326. package/dist/subdivision-facts/hu.d.ts +16 -0
  327. package/dist/subdivision-facts/hu.js +43 -0
  328. package/dist/subdivision-facts/id.cjs +45 -0
  329. package/dist/subdivision-facts/id.d.cts +16 -0
  330. package/dist/subdivision-facts/id.d.ts +16 -0
  331. package/dist/subdivision-facts/id.js +45 -0
  332. package/dist/subdivision-facts/ie.cjs +30 -0
  333. package/dist/subdivision-facts/ie.d.cts +16 -0
  334. package/dist/subdivision-facts/ie.d.ts +16 -0
  335. package/dist/subdivision-facts/ie.js +30 -0
  336. package/dist/subdivision-facts/il.cjs +6 -0
  337. package/dist/subdivision-facts/il.d.cts +16 -0
  338. package/dist/subdivision-facts/il.d.ts +16 -0
  339. package/dist/subdivision-facts/il.js +6 -0
  340. package/dist/subdivision-facts/in.cjs +36 -0
  341. package/dist/subdivision-facts/in.d.cts +16 -0
  342. package/dist/subdivision-facts/in.d.ts +16 -0
  343. package/dist/subdivision-facts/in.js +36 -0
  344. package/dist/subdivision-facts/iq.cjs +19 -0
  345. package/dist/subdivision-facts/iq.d.cts +16 -0
  346. package/dist/subdivision-facts/iq.d.ts +16 -0
  347. package/dist/subdivision-facts/iq.js +19 -0
  348. package/dist/subdivision-facts/ir.cjs +31 -0
  349. package/dist/subdivision-facts/ir.d.cts +16 -0
  350. package/dist/subdivision-facts/ir.d.ts +16 -0
  351. package/dist/subdivision-facts/ir.js +31 -0
  352. package/dist/subdivision-facts/is.cjs +72 -0
  353. package/dist/subdivision-facts/is.d.cts +16 -0
  354. package/dist/subdivision-facts/is.d.ts +16 -0
  355. package/dist/subdivision-facts/is.js +72 -0
  356. package/dist/subdivision-facts/it.cjs +126 -0
  357. package/dist/subdivision-facts/it.d.cts +16 -0
  358. package/dist/subdivision-facts/it.d.ts +16 -0
  359. package/dist/subdivision-facts/it.js +126 -0
  360. package/dist/subdivision-facts/jm.cjs +14 -0
  361. package/dist/subdivision-facts/jm.d.cts +16 -0
  362. package/dist/subdivision-facts/jm.d.ts +16 -0
  363. package/dist/subdivision-facts/jm.js +14 -0
  364. package/dist/subdivision-facts/jo.cjs +12 -0
  365. package/dist/subdivision-facts/jo.d.cts +16 -0
  366. package/dist/subdivision-facts/jo.d.ts +16 -0
  367. package/dist/subdivision-facts/jo.js +12 -0
  368. package/dist/subdivision-facts/jp.cjs +47 -0
  369. package/dist/subdivision-facts/jp.d.cts +16 -0
  370. package/dist/subdivision-facts/jp.d.ts +16 -0
  371. package/dist/subdivision-facts/jp.js +47 -0
  372. package/dist/subdivision-facts/ke.cjs +47 -0
  373. package/dist/subdivision-facts/ke.d.cts +16 -0
  374. package/dist/subdivision-facts/ke.d.ts +16 -0
  375. package/dist/subdivision-facts/ke.js +47 -0
  376. package/dist/subdivision-facts/kg.cjs +9 -0
  377. package/dist/subdivision-facts/kg.d.cts +16 -0
  378. package/dist/subdivision-facts/kg.d.ts +16 -0
  379. package/dist/subdivision-facts/kg.js +9 -0
  380. package/dist/subdivision-facts/kh.cjs +25 -0
  381. package/dist/subdivision-facts/kh.d.cts +16 -0
  382. package/dist/subdivision-facts/kh.d.ts +16 -0
  383. package/dist/subdivision-facts/kh.js +25 -0
  384. package/dist/subdivision-facts/ki.cjs +3 -0
  385. package/dist/subdivision-facts/ki.d.cts +16 -0
  386. package/dist/subdivision-facts/ki.d.ts +16 -0
  387. package/dist/subdivision-facts/ki.js +3 -0
  388. package/dist/subdivision-facts/km.cjs +3 -0
  389. package/dist/subdivision-facts/km.d.cts +16 -0
  390. package/dist/subdivision-facts/km.d.ts +16 -0
  391. package/dist/subdivision-facts/km.js +3 -0
  392. package/dist/subdivision-facts/kn.cjs +16 -0
  393. package/dist/subdivision-facts/kn.d.cts +16 -0
  394. package/dist/subdivision-facts/kn.d.ts +16 -0
  395. package/dist/subdivision-facts/kn.js +16 -0
  396. package/dist/subdivision-facts/kp.cjs +13 -0
  397. package/dist/subdivision-facts/kp.d.cts +16 -0
  398. package/dist/subdivision-facts/kp.d.ts +16 -0
  399. package/dist/subdivision-facts/kp.js +13 -0
  400. package/dist/subdivision-facts/kr.cjs +17 -0
  401. package/dist/subdivision-facts/kr.d.cts +16 -0
  402. package/dist/subdivision-facts/kr.d.ts +16 -0
  403. package/dist/subdivision-facts/kr.js +17 -0
  404. package/dist/subdivision-facts/kw.cjs +6 -0
  405. package/dist/subdivision-facts/kw.d.cts +16 -0
  406. package/dist/subdivision-facts/kw.d.ts +16 -0
  407. package/dist/subdivision-facts/kw.js +6 -0
  408. package/dist/subdivision-facts/kz.cjs +20 -0
  409. package/dist/subdivision-facts/kz.d.cts +16 -0
  410. package/dist/subdivision-facts/kz.d.ts +16 -0
  411. package/dist/subdivision-facts/kz.js +20 -0
  412. package/dist/subdivision-facts/la.cjs +18 -0
  413. package/dist/subdivision-facts/la.d.cts +16 -0
  414. package/dist/subdivision-facts/la.d.ts +16 -0
  415. package/dist/subdivision-facts/la.js +18 -0
  416. package/dist/subdivision-facts/lb.cjs +8 -0
  417. package/dist/subdivision-facts/lb.d.cts +16 -0
  418. package/dist/subdivision-facts/lb.d.ts +16 -0
  419. package/dist/subdivision-facts/lb.js +8 -0
  420. package/dist/subdivision-facts/lc.cjs +10 -0
  421. package/dist/subdivision-facts/lc.d.cts +16 -0
  422. package/dist/subdivision-facts/lc.d.ts +16 -0
  423. package/dist/subdivision-facts/lc.js +10 -0
  424. package/dist/subdivision-facts/li.cjs +11 -0
  425. package/dist/subdivision-facts/li.d.cts +16 -0
  426. package/dist/subdivision-facts/li.d.ts +16 -0
  427. package/dist/subdivision-facts/li.js +11 -0
  428. package/dist/subdivision-facts/lk.cjs +34 -0
  429. package/dist/subdivision-facts/lk.d.cts +16 -0
  430. package/dist/subdivision-facts/lk.d.ts +16 -0
  431. package/dist/subdivision-facts/lk.js +34 -0
  432. package/dist/subdivision-facts/lr.cjs +15 -0
  433. package/dist/subdivision-facts/lr.d.cts +16 -0
  434. package/dist/subdivision-facts/lr.d.ts +16 -0
  435. package/dist/subdivision-facts/lr.js +15 -0
  436. package/dist/subdivision-facts/ls.cjs +10 -0
  437. package/dist/subdivision-facts/ls.d.cts +16 -0
  438. package/dist/subdivision-facts/ls.d.ts +16 -0
  439. package/dist/subdivision-facts/ls.js +10 -0
  440. package/dist/subdivision-facts/lt.cjs +70 -0
  441. package/dist/subdivision-facts/lt.d.cts +16 -0
  442. package/dist/subdivision-facts/lt.d.ts +16 -0
  443. package/dist/subdivision-facts/lt.js +70 -0
  444. package/dist/subdivision-facts/lu.cjs +12 -0
  445. package/dist/subdivision-facts/lu.d.cts +16 -0
  446. package/dist/subdivision-facts/lu.d.ts +16 -0
  447. package/dist/subdivision-facts/lu.js +12 -0
  448. package/dist/subdivision-facts/lv.cjs +43 -0
  449. package/dist/subdivision-facts/lv.d.cts +16 -0
  450. package/dist/subdivision-facts/lv.d.ts +16 -0
  451. package/dist/subdivision-facts/lv.js +43 -0
  452. package/dist/subdivision-facts/ly.cjs +22 -0
  453. package/dist/subdivision-facts/ly.d.cts +16 -0
  454. package/dist/subdivision-facts/ly.d.ts +16 -0
  455. package/dist/subdivision-facts/ly.js +22 -0
  456. package/dist/subdivision-facts/ma.cjs +87 -0
  457. package/dist/subdivision-facts/ma.d.cts +16 -0
  458. package/dist/subdivision-facts/ma.d.ts +16 -0
  459. package/dist/subdivision-facts/ma.js +87 -0
  460. package/dist/subdivision-facts/mc.cjs +17 -0
  461. package/dist/subdivision-facts/mc.d.cts +16 -0
  462. package/dist/subdivision-facts/mc.d.ts +16 -0
  463. package/dist/subdivision-facts/mc.js +17 -0
  464. package/dist/subdivision-facts/md.cjs +37 -0
  465. package/dist/subdivision-facts/md.d.cts +16 -0
  466. package/dist/subdivision-facts/md.d.ts +16 -0
  467. package/dist/subdivision-facts/md.js +37 -0
  468. package/dist/subdivision-facts/me.cjs +25 -0
  469. package/dist/subdivision-facts/me.d.cts +16 -0
  470. package/dist/subdivision-facts/me.d.ts +16 -0
  471. package/dist/subdivision-facts/me.js +25 -0
  472. package/dist/subdivision-facts/mg.cjs +6 -0
  473. package/dist/subdivision-facts/mg.d.cts +16 -0
  474. package/dist/subdivision-facts/mg.d.ts +16 -0
  475. package/dist/subdivision-facts/mg.js +6 -0
  476. package/dist/subdivision-facts/mh.cjs +26 -0
  477. package/dist/subdivision-facts/mh.d.cts +16 -0
  478. package/dist/subdivision-facts/mh.d.ts +16 -0
  479. package/dist/subdivision-facts/mh.js +26 -0
  480. package/dist/subdivision-facts/mk.cjs +80 -0
  481. package/dist/subdivision-facts/mk.d.cts +16 -0
  482. package/dist/subdivision-facts/mk.d.ts +16 -0
  483. package/dist/subdivision-facts/mk.js +80 -0
  484. package/dist/subdivision-facts/ml.cjs +11 -0
  485. package/dist/subdivision-facts/ml.d.cts +16 -0
  486. package/dist/subdivision-facts/ml.d.ts +16 -0
  487. package/dist/subdivision-facts/ml.js +11 -0
  488. package/dist/subdivision-facts/mm.cjs +15 -0
  489. package/dist/subdivision-facts/mm.d.cts +16 -0
  490. package/dist/subdivision-facts/mm.d.ts +16 -0
  491. package/dist/subdivision-facts/mm.js +15 -0
  492. package/dist/subdivision-facts/mn.cjs +22 -0
  493. package/dist/subdivision-facts/mn.d.cts +16 -0
  494. package/dist/subdivision-facts/mn.d.ts +16 -0
  495. package/dist/subdivision-facts/mn.js +22 -0
  496. package/dist/subdivision-facts/mr.cjs +15 -0
  497. package/dist/subdivision-facts/mr.d.cts +16 -0
  498. package/dist/subdivision-facts/mr.d.ts +16 -0
  499. package/dist/subdivision-facts/mr.js +15 -0
  500. package/dist/subdivision-facts/mt.cjs +68 -0
  501. package/dist/subdivision-facts/mt.d.cts +16 -0
  502. package/dist/subdivision-facts/mt.d.ts +16 -0
  503. package/dist/subdivision-facts/mt.js +68 -0
  504. package/dist/subdivision-facts/mu.cjs +12 -0
  505. package/dist/subdivision-facts/mu.d.cts +16 -0
  506. package/dist/subdivision-facts/mu.d.ts +16 -0
  507. package/dist/subdivision-facts/mu.js +12 -0
  508. package/dist/subdivision-facts/mv.cjs +21 -0
  509. package/dist/subdivision-facts/mv.d.cts +16 -0
  510. package/dist/subdivision-facts/mv.d.ts +16 -0
  511. package/dist/subdivision-facts/mv.js +21 -0
  512. package/dist/subdivision-facts/mw.cjs +31 -0
  513. package/dist/subdivision-facts/mw.d.cts +16 -0
  514. package/dist/subdivision-facts/mw.d.ts +16 -0
  515. package/dist/subdivision-facts/mw.js +31 -0
  516. package/dist/subdivision-facts/mx.cjs +32 -0
  517. package/dist/subdivision-facts/mx.d.cts +16 -0
  518. package/dist/subdivision-facts/mx.d.ts +16 -0
  519. package/dist/subdivision-facts/mx.js +32 -0
  520. package/dist/subdivision-facts/my.cjs +16 -0
  521. package/dist/subdivision-facts/my.d.cts +16 -0
  522. package/dist/subdivision-facts/my.d.ts +16 -0
  523. package/dist/subdivision-facts/my.js +16 -0
  524. package/dist/subdivision-facts/mz.cjs +11 -0
  525. package/dist/subdivision-facts/mz.d.cts +16 -0
  526. package/dist/subdivision-facts/mz.d.ts +16 -0
  527. package/dist/subdivision-facts/mz.js +11 -0
  528. package/dist/subdivision-facts/na.cjs +14 -0
  529. package/dist/subdivision-facts/na.d.cts +16 -0
  530. package/dist/subdivision-facts/na.d.ts +16 -0
  531. package/dist/subdivision-facts/na.js +14 -0
  532. package/dist/subdivision-facts/ne.cjs +8 -0
  533. package/dist/subdivision-facts/ne.d.cts +16 -0
  534. package/dist/subdivision-facts/ne.d.ts +16 -0
  535. package/dist/subdivision-facts/ne.js +8 -0
  536. package/dist/subdivision-facts/ng.cjs +37 -0
  537. package/dist/subdivision-facts/ng.d.cts +16 -0
  538. package/dist/subdivision-facts/ng.d.ts +16 -0
  539. package/dist/subdivision-facts/ng.js +37 -0
  540. package/dist/subdivision-facts/ni.cjs +17 -0
  541. package/dist/subdivision-facts/ni.d.cts +16 -0
  542. package/dist/subdivision-facts/ni.d.ts +16 -0
  543. package/dist/subdivision-facts/ni.js +17 -0
  544. package/dist/subdivision-facts/nl.cjs +18 -0
  545. package/dist/subdivision-facts/nl.d.cts +16 -0
  546. package/dist/subdivision-facts/nl.d.ts +16 -0
  547. package/dist/subdivision-facts/nl.js +18 -0
  548. package/dist/subdivision-facts/no.cjs +17 -0
  549. package/dist/subdivision-facts/no.d.cts +16 -0
  550. package/dist/subdivision-facts/no.d.ts +16 -0
  551. package/dist/subdivision-facts/no.js +17 -0
  552. package/dist/subdivision-facts/np.cjs +7 -0
  553. package/dist/subdivision-facts/np.d.cts +16 -0
  554. package/dist/subdivision-facts/np.d.ts +16 -0
  555. package/dist/subdivision-facts/np.js +7 -0
  556. package/dist/subdivision-facts/nr.cjs +14 -0
  557. package/dist/subdivision-facts/nr.d.cts +16 -0
  558. package/dist/subdivision-facts/nr.d.ts +16 -0
  559. package/dist/subdivision-facts/nr.js +14 -0
  560. package/dist/subdivision-facts/nz.cjs +17 -0
  561. package/dist/subdivision-facts/nz.d.cts +16 -0
  562. package/dist/subdivision-facts/nz.d.ts +16 -0
  563. package/dist/subdivision-facts/nz.js +17 -0
  564. package/dist/subdivision-facts/om.cjs +11 -0
  565. package/dist/subdivision-facts/om.d.cts +16 -0
  566. package/dist/subdivision-facts/om.d.ts +16 -0
  567. package/dist/subdivision-facts/om.js +11 -0
  568. package/dist/subdivision-facts/pa.cjs +14 -0
  569. package/dist/subdivision-facts/pa.d.cts +16 -0
  570. package/dist/subdivision-facts/pa.d.ts +16 -0
  571. package/dist/subdivision-facts/pa.js +14 -0
  572. package/dist/subdivision-facts/pe.cjs +26 -0
  573. package/dist/subdivision-facts/pe.d.cts +16 -0
  574. package/dist/subdivision-facts/pe.d.ts +16 -0
  575. package/dist/subdivision-facts/pe.js +26 -0
  576. package/dist/subdivision-facts/pg.cjs +22 -0
  577. package/dist/subdivision-facts/pg.d.cts +16 -0
  578. package/dist/subdivision-facts/pg.d.ts +16 -0
  579. package/dist/subdivision-facts/pg.js +22 -0
  580. package/dist/subdivision-facts/ph.cjs +99 -0
  581. package/dist/subdivision-facts/ph.d.cts +16 -0
  582. package/dist/subdivision-facts/ph.d.ts +16 -0
  583. package/dist/subdivision-facts/ph.js +99 -0
  584. package/dist/subdivision-facts/pk.cjs +7 -0
  585. package/dist/subdivision-facts/pk.d.cts +16 -0
  586. package/dist/subdivision-facts/pk.d.ts +16 -0
  587. package/dist/subdivision-facts/pk.js +7 -0
  588. package/dist/subdivision-facts/pl.cjs +16 -0
  589. package/dist/subdivision-facts/pl.d.cts +16 -0
  590. package/dist/subdivision-facts/pl.d.ts +16 -0
  591. package/dist/subdivision-facts/pl.js +16 -0
  592. package/dist/subdivision-facts/ps.cjs +16 -0
  593. package/dist/subdivision-facts/ps.d.cts +16 -0
  594. package/dist/subdivision-facts/ps.d.ts +16 -0
  595. package/dist/subdivision-facts/ps.js +16 -0
  596. package/dist/subdivision-facts/pt.cjs +20 -0
  597. package/dist/subdivision-facts/pt.d.cts +16 -0
  598. package/dist/subdivision-facts/pt.d.ts +16 -0
  599. package/dist/subdivision-facts/pt.js +20 -0
  600. package/dist/subdivision-facts/pw.cjs +16 -0
  601. package/dist/subdivision-facts/pw.d.cts +16 -0
  602. package/dist/subdivision-facts/pw.d.ts +16 -0
  603. package/dist/subdivision-facts/pw.js +16 -0
  604. package/dist/subdivision-facts/py.cjs +18 -0
  605. package/dist/subdivision-facts/py.d.cts +16 -0
  606. package/dist/subdivision-facts/py.d.ts +16 -0
  607. package/dist/subdivision-facts/py.js +18 -0
  608. package/dist/subdivision-facts/qa.cjs +8 -0
  609. package/dist/subdivision-facts/qa.d.cts +16 -0
  610. package/dist/subdivision-facts/qa.d.ts +16 -0
  611. package/dist/subdivision-facts/qa.js +8 -0
  612. package/dist/subdivision-facts/ro.cjs +42 -0
  613. package/dist/subdivision-facts/ro.d.cts +16 -0
  614. package/dist/subdivision-facts/ro.d.ts +16 -0
  615. package/dist/subdivision-facts/ro.js +42 -0
  616. package/dist/subdivision-facts/rs.cjs +32 -0
  617. package/dist/subdivision-facts/rs.d.cts +16 -0
  618. package/dist/subdivision-facts/rs.d.ts +16 -0
  619. package/dist/subdivision-facts/rs.js +32 -0
  620. package/dist/subdivision-facts/ru.cjs +83 -0
  621. package/dist/subdivision-facts/ru.d.cts +16 -0
  622. package/dist/subdivision-facts/ru.d.ts +16 -0
  623. package/dist/subdivision-facts/ru.js +83 -0
  624. package/dist/subdivision-facts/rw.cjs +5 -0
  625. package/dist/subdivision-facts/rw.d.cts +16 -0
  626. package/dist/subdivision-facts/rw.d.ts +16 -0
  627. package/dist/subdivision-facts/rw.js +5 -0
  628. package/dist/subdivision-facts/sa.cjs +13 -0
  629. package/dist/subdivision-facts/sa.d.cts +16 -0
  630. package/dist/subdivision-facts/sa.d.ts +16 -0
  631. package/dist/subdivision-facts/sa.js +13 -0
  632. package/dist/subdivision-facts/sb.cjs +10 -0
  633. package/dist/subdivision-facts/sb.d.cts +16 -0
  634. package/dist/subdivision-facts/sb.d.ts +16 -0
  635. package/dist/subdivision-facts/sb.js +10 -0
  636. package/dist/subdivision-facts/sc.cjs +27 -0
  637. package/dist/subdivision-facts/sc.d.cts +16 -0
  638. package/dist/subdivision-facts/sc.d.ts +16 -0
  639. package/dist/subdivision-facts/sc.js +27 -0
  640. package/dist/subdivision-facts/sd.cjs +18 -0
  641. package/dist/subdivision-facts/sd.d.cts +16 -0
  642. package/dist/subdivision-facts/sd.d.ts +16 -0
  643. package/dist/subdivision-facts/sd.js +18 -0
  644. package/dist/subdivision-facts/se.cjs +21 -0
  645. package/dist/subdivision-facts/se.d.cts +16 -0
  646. package/dist/subdivision-facts/se.d.ts +16 -0
  647. package/dist/subdivision-facts/se.js +21 -0
  648. package/dist/subdivision-facts/sg.cjs +5 -0
  649. package/dist/subdivision-facts/sg.d.cts +16 -0
  650. package/dist/subdivision-facts/sg.d.ts +16 -0
  651. package/dist/subdivision-facts/sg.js +5 -0
  652. package/dist/subdivision-facts/sh.cjs +3 -0
  653. package/dist/subdivision-facts/sh.d.cts +16 -0
  654. package/dist/subdivision-facts/sh.d.ts +16 -0
  655. package/dist/subdivision-facts/sh.js +3 -0
  656. package/dist/subdivision-facts/si.cjs +212 -0
  657. package/dist/subdivision-facts/si.d.cts +16 -0
  658. package/dist/subdivision-facts/si.d.ts +16 -0
  659. package/dist/subdivision-facts/si.js +212 -0
  660. package/dist/subdivision-facts/sk.cjs +8 -0
  661. package/dist/subdivision-facts/sk.d.cts +16 -0
  662. package/dist/subdivision-facts/sk.d.ts +16 -0
  663. package/dist/subdivision-facts/sk.js +8 -0
  664. package/dist/subdivision-facts/sl.cjs +5 -0
  665. package/dist/subdivision-facts/sl.d.cts +16 -0
  666. package/dist/subdivision-facts/sl.d.ts +16 -0
  667. package/dist/subdivision-facts/sl.js +5 -0
  668. package/dist/subdivision-facts/sm.cjs +9 -0
  669. package/dist/subdivision-facts/sm.d.cts +16 -0
  670. package/dist/subdivision-facts/sm.d.ts +16 -0
  671. package/dist/subdivision-facts/sm.js +9 -0
  672. package/dist/subdivision-facts/sn.cjs +14 -0
  673. package/dist/subdivision-facts/sn.d.cts +16 -0
  674. package/dist/subdivision-facts/sn.d.ts +16 -0
  675. package/dist/subdivision-facts/sn.js +14 -0
  676. package/dist/subdivision-facts/so.cjs +18 -0
  677. package/dist/subdivision-facts/so.d.cts +16 -0
  678. package/dist/subdivision-facts/so.d.ts +16 -0
  679. package/dist/subdivision-facts/so.js +18 -0
  680. package/dist/subdivision-facts/sr.cjs +10 -0
  681. package/dist/subdivision-facts/sr.d.cts +16 -0
  682. package/dist/subdivision-facts/sr.d.ts +16 -0
  683. package/dist/subdivision-facts/sr.js +10 -0
  684. package/dist/subdivision-facts/ss.cjs +10 -0
  685. package/dist/subdivision-facts/ss.d.cts +16 -0
  686. package/dist/subdivision-facts/ss.d.ts +16 -0
  687. package/dist/subdivision-facts/ss.js +10 -0
  688. package/dist/subdivision-facts/st.cjs +7 -0
  689. package/dist/subdivision-facts/st.d.cts +16 -0
  690. package/dist/subdivision-facts/st.d.ts +16 -0
  691. package/dist/subdivision-facts/st.js +7 -0
  692. package/dist/subdivision-facts/sv.cjs +14 -0
  693. package/dist/subdivision-facts/sv.d.cts +16 -0
  694. package/dist/subdivision-facts/sv.d.ts +16 -0
  695. package/dist/subdivision-facts/sv.js +14 -0
  696. package/dist/subdivision-facts/sy.cjs +14 -0
  697. package/dist/subdivision-facts/sy.d.cts +16 -0
  698. package/dist/subdivision-facts/sy.d.ts +16 -0
  699. package/dist/subdivision-facts/sy.js +14 -0
  700. package/dist/subdivision-facts/sz.cjs +4 -0
  701. package/dist/subdivision-facts/sz.d.cts +16 -0
  702. package/dist/subdivision-facts/sz.d.ts +16 -0
  703. package/dist/subdivision-facts/sz.js +4 -0
  704. package/dist/subdivision-facts/td.cjs +23 -0
  705. package/dist/subdivision-facts/td.d.cts +16 -0
  706. package/dist/subdivision-facts/td.d.ts +16 -0
  707. package/dist/subdivision-facts/td.js +23 -0
  708. package/dist/subdivision-facts/tg.cjs +5 -0
  709. package/dist/subdivision-facts/tg.d.cts +16 -0
  710. package/dist/subdivision-facts/tg.d.ts +16 -0
  711. package/dist/subdivision-facts/tg.js +5 -0
  712. package/dist/subdivision-facts/th.cjs +78 -0
  713. package/dist/subdivision-facts/th.d.cts +16 -0
  714. package/dist/subdivision-facts/th.d.ts +16 -0
  715. package/dist/subdivision-facts/th.js +78 -0
  716. package/dist/subdivision-facts/tj.cjs +5 -0
  717. package/dist/subdivision-facts/tj.d.cts +16 -0
  718. package/dist/subdivision-facts/tj.d.ts +16 -0
  719. package/dist/subdivision-facts/tj.js +5 -0
  720. package/dist/subdivision-facts/tl.cjs +13 -0
  721. package/dist/subdivision-facts/tl.d.cts +16 -0
  722. package/dist/subdivision-facts/tl.d.ts +16 -0
  723. package/dist/subdivision-facts/tl.js +13 -0
  724. package/dist/subdivision-facts/tm.cjs +6 -0
  725. package/dist/subdivision-facts/tm.d.cts +16 -0
  726. package/dist/subdivision-facts/tm.d.ts +16 -0
  727. package/dist/subdivision-facts/tm.js +6 -0
  728. package/dist/subdivision-facts/tn.cjs +24 -0
  729. package/dist/subdivision-facts/tn.d.cts +16 -0
  730. package/dist/subdivision-facts/tn.d.ts +16 -0
  731. package/dist/subdivision-facts/tn.js +24 -0
  732. package/dist/subdivision-facts/to.cjs +5 -0
  733. package/dist/subdivision-facts/to.d.cts +16 -0
  734. package/dist/subdivision-facts/to.d.ts +16 -0
  735. package/dist/subdivision-facts/to.js +5 -0
  736. package/dist/subdivision-facts/tr.cjs +81 -0
  737. package/dist/subdivision-facts/tr.d.cts +16 -0
  738. package/dist/subdivision-facts/tr.d.ts +16 -0
  739. package/dist/subdivision-facts/tr.js +81 -0
  740. package/dist/subdivision-facts/tt.cjs +15 -0
  741. package/dist/subdivision-facts/tt.d.cts +16 -0
  742. package/dist/subdivision-facts/tt.d.ts +16 -0
  743. package/dist/subdivision-facts/tt.js +15 -0
  744. package/dist/subdivision-facts/tv.cjs +8 -0
  745. package/dist/subdivision-facts/tv.d.cts +16 -0
  746. package/dist/subdivision-facts/tv.d.ts +16 -0
  747. package/dist/subdivision-facts/tv.js +8 -0
  748. package/dist/subdivision-facts/tw.cjs +22 -0
  749. package/dist/subdivision-facts/tw.d.cts +16 -0
  750. package/dist/subdivision-facts/tw.d.ts +16 -0
  751. package/dist/subdivision-facts/tw.js +22 -0
  752. package/dist/subdivision-facts/tz.cjs +31 -0
  753. package/dist/subdivision-facts/tz.d.cts +16 -0
  754. package/dist/subdivision-facts/tz.d.ts +16 -0
  755. package/dist/subdivision-facts/tz.js +31 -0
  756. package/dist/subdivision-facts/ua.cjs +27 -0
  757. package/dist/subdivision-facts/ua.d.cts +16 -0
  758. package/dist/subdivision-facts/ua.d.ts +16 -0
  759. package/dist/subdivision-facts/ua.js +27 -0
  760. package/dist/subdivision-facts/ug.cjs +139 -0
  761. package/dist/subdivision-facts/ug.d.cts +16 -0
  762. package/dist/subdivision-facts/ug.d.ts +16 -0
  763. package/dist/subdivision-facts/ug.js +139 -0
  764. package/dist/subdivision-facts/um.cjs +9 -0
  765. package/dist/subdivision-facts/um.d.cts +16 -0
  766. package/dist/subdivision-facts/um.d.ts +16 -0
  767. package/dist/subdivision-facts/um.js +9 -0
  768. package/dist/subdivision-facts/us.cjs +57 -0
  769. package/dist/subdivision-facts/us.d.cts +16 -0
  770. package/dist/subdivision-facts/us.d.ts +16 -0
  771. package/dist/subdivision-facts/us.js +57 -0
  772. package/dist/subdivision-facts/uy.cjs +19 -0
  773. package/dist/subdivision-facts/uy.d.cts +16 -0
  774. package/dist/subdivision-facts/uy.d.ts +16 -0
  775. package/dist/subdivision-facts/uy.js +19 -0
  776. package/dist/subdivision-facts/uz.cjs +14 -0
  777. package/dist/subdivision-facts/uz.d.cts +16 -0
  778. package/dist/subdivision-facts/uz.d.ts +16 -0
  779. package/dist/subdivision-facts/uz.js +14 -0
  780. package/dist/subdivision-facts/vc.cjs +6 -0
  781. package/dist/subdivision-facts/vc.d.cts +16 -0
  782. package/dist/subdivision-facts/vc.d.ts +16 -0
  783. package/dist/subdivision-facts/vc.js +6 -0
  784. package/dist/subdivision-facts/ve.cjs +25 -0
  785. package/dist/subdivision-facts/ve.d.cts +16 -0
  786. package/dist/subdivision-facts/ve.d.ts +16 -0
  787. package/dist/subdivision-facts/ve.js +25 -0
  788. package/dist/subdivision-facts/vn.cjs +63 -0
  789. package/dist/subdivision-facts/vn.d.cts +16 -0
  790. package/dist/subdivision-facts/vn.d.ts +16 -0
  791. package/dist/subdivision-facts/vn.js +63 -0
  792. package/dist/subdivision-facts/vu.cjs +6 -0
  793. package/dist/subdivision-facts/vu.d.cts +16 -0
  794. package/dist/subdivision-facts/vu.d.ts +16 -0
  795. package/dist/subdivision-facts/vu.js +6 -0
  796. package/dist/subdivision-facts/wf.cjs +3 -0
  797. package/dist/subdivision-facts/wf.d.cts +16 -0
  798. package/dist/subdivision-facts/wf.d.ts +16 -0
  799. package/dist/subdivision-facts/wf.js +3 -0
  800. package/dist/subdivision-facts/ws.cjs +11 -0
  801. package/dist/subdivision-facts/ws.d.cts +16 -0
  802. package/dist/subdivision-facts/ws.d.ts +16 -0
  803. package/dist/subdivision-facts/ws.js +11 -0
  804. package/dist/subdivision-facts/ye.cjs +22 -0
  805. package/dist/subdivision-facts/ye.d.cts +16 -0
  806. package/dist/subdivision-facts/ye.d.ts +16 -0
  807. package/dist/subdivision-facts/ye.js +22 -0
  808. package/dist/subdivision-facts/za.cjs +9 -0
  809. package/dist/subdivision-facts/za.d.cts +16 -0
  810. package/dist/subdivision-facts/za.d.ts +16 -0
  811. package/dist/subdivision-facts/za.js +9 -0
  812. package/dist/subdivision-facts/zm.cjs +10 -0
  813. package/dist/subdivision-facts/zm.d.cts +16 -0
  814. package/dist/subdivision-facts/zm.d.ts +16 -0
  815. package/dist/subdivision-facts/zm.js +10 -0
  816. package/dist/subdivision-facts/zw.cjs +10 -0
  817. package/dist/subdivision-facts/zw.d.cts +16 -0
  818. package/dist/subdivision-facts/zw.d.ts +16 -0
  819. package/dist/subdivision-facts/zw.js +10 -0
  820. package/dist/subdivision-facts.cjs +511 -0
  821. package/dist/subdivision-facts.d.cts +25 -0
  822. package/dist/subdivision-facts.d.ts +25 -0
  823. package/dist/subdivision-facts.js +474 -0
  824. package/dist/subdivisions/ad.d.cts +12 -1
  825. package/dist/subdivisions/ad.d.ts +12 -1
  826. package/dist/subdivisions/ae.d.cts +12 -1
  827. package/dist/subdivisions/ae.d.ts +12 -1
  828. package/dist/subdivisions/af.d.cts +12 -1
  829. package/dist/subdivisions/af.d.ts +12 -1
  830. package/dist/subdivisions/ag.d.cts +12 -1
  831. package/dist/subdivisions/ag.d.ts +12 -1
  832. package/dist/subdivisions/al.d.cts +12 -1
  833. package/dist/subdivisions/al.d.ts +12 -1
  834. package/dist/subdivisions/am.d.cts +12 -1
  835. package/dist/subdivisions/am.d.ts +12 -1
  836. package/dist/subdivisions/ao.d.cts +12 -1
  837. package/dist/subdivisions/ao.d.ts +12 -1
  838. package/dist/subdivisions/ar.d.cts +12 -1
  839. package/dist/subdivisions/ar.d.ts +12 -1
  840. package/dist/subdivisions/at.d.cts +12 -1
  841. package/dist/subdivisions/at.d.ts +12 -1
  842. package/dist/subdivisions/au.d.cts +12 -1
  843. package/dist/subdivisions/au.d.ts +12 -1
  844. package/dist/subdivisions/az.d.cts +12 -1
  845. package/dist/subdivisions/az.d.ts +12 -1
  846. package/dist/subdivisions/ba.d.cts +12 -1
  847. package/dist/subdivisions/ba.d.ts +12 -1
  848. package/dist/subdivisions/bb.d.cts +12 -1
  849. package/dist/subdivisions/bb.d.ts +12 -1
  850. package/dist/subdivisions/bd.cjs +2 -2
  851. package/dist/subdivisions/bd.d.cts +12 -1
  852. package/dist/subdivisions/bd.d.ts +12 -1
  853. package/dist/subdivisions/bd.js +2 -2
  854. package/dist/subdivisions/be.d.cts +12 -1
  855. package/dist/subdivisions/be.d.ts +12 -1
  856. package/dist/subdivisions/bf.d.cts +12 -1
  857. package/dist/subdivisions/bf.d.ts +12 -1
  858. package/dist/subdivisions/bg.d.cts +12 -1
  859. package/dist/subdivisions/bg.d.ts +12 -1
  860. package/dist/subdivisions/bh.d.cts +12 -1
  861. package/dist/subdivisions/bh.d.ts +12 -1
  862. package/dist/subdivisions/bi.d.cts +12 -1
  863. package/dist/subdivisions/bi.d.ts +12 -1
  864. package/dist/subdivisions/bj.d.cts +12 -1
  865. package/dist/subdivisions/bj.d.ts +12 -1
  866. package/dist/subdivisions/bn.d.cts +12 -1
  867. package/dist/subdivisions/bn.d.ts +12 -1
  868. package/dist/subdivisions/bo.d.cts +12 -1
  869. package/dist/subdivisions/bo.d.ts +12 -1
  870. package/dist/subdivisions/bq.d.cts +12 -1
  871. package/dist/subdivisions/bq.d.ts +12 -1
  872. package/dist/subdivisions/br.d.cts +12 -1
  873. package/dist/subdivisions/br.d.ts +12 -1
  874. package/dist/subdivisions/bs.d.cts +12 -1
  875. package/dist/subdivisions/bs.d.ts +12 -1
  876. package/dist/subdivisions/bt.d.cts +12 -1
  877. package/dist/subdivisions/bt.d.ts +12 -1
  878. package/dist/subdivisions/bw.d.cts +12 -1
  879. package/dist/subdivisions/bw.d.ts +12 -1
  880. package/dist/subdivisions/by.d.cts +12 -1
  881. package/dist/subdivisions/by.d.ts +12 -1
  882. package/dist/subdivisions/bz.d.cts +12 -1
  883. package/dist/subdivisions/bz.d.ts +12 -1
  884. package/dist/subdivisions/ca.d.cts +12 -1
  885. package/dist/subdivisions/ca.d.ts +12 -1
  886. package/dist/subdivisions/cd.d.cts +12 -1
  887. package/dist/subdivisions/cd.d.ts +12 -1
  888. package/dist/subdivisions/cf.d.cts +12 -1
  889. package/dist/subdivisions/cf.d.ts +12 -1
  890. package/dist/subdivisions/cg.d.cts +12 -1
  891. package/dist/subdivisions/cg.d.ts +12 -1
  892. package/dist/subdivisions/ch.d.cts +12 -1
  893. package/dist/subdivisions/ch.d.ts +12 -1
  894. package/dist/subdivisions/ci.d.cts +12 -1
  895. package/dist/subdivisions/ci.d.ts +12 -1
  896. package/dist/subdivisions/cl.d.cts +12 -1
  897. package/dist/subdivisions/cl.d.ts +12 -1
  898. package/dist/subdivisions/cm.d.cts +12 -1
  899. package/dist/subdivisions/cm.d.ts +12 -1
  900. package/dist/subdivisions/cn.d.cts +12 -1
  901. package/dist/subdivisions/cn.d.ts +12 -1
  902. package/dist/subdivisions/co.cjs +1 -1
  903. package/dist/subdivisions/co.d.cts +12 -1
  904. package/dist/subdivisions/co.d.ts +12 -1
  905. package/dist/subdivisions/co.js +1 -1
  906. package/dist/subdivisions/cr.d.cts +12 -1
  907. package/dist/subdivisions/cr.d.ts +12 -1
  908. package/dist/subdivisions/cu.d.cts +12 -1
  909. package/dist/subdivisions/cu.d.ts +12 -1
  910. package/dist/subdivisions/cv.d.cts +12 -1
  911. package/dist/subdivisions/cv.d.ts +12 -1
  912. package/dist/subdivisions/cy.d.cts +12 -1
  913. package/dist/subdivisions/cy.d.ts +12 -1
  914. package/dist/subdivisions/cz.d.cts +12 -1
  915. package/dist/subdivisions/cz.d.ts +12 -1
  916. package/dist/subdivisions/de.d.cts +12 -1
  917. package/dist/subdivisions/de.d.ts +12 -1
  918. package/dist/subdivisions/dj.d.cts +12 -1
  919. package/dist/subdivisions/dj.d.ts +12 -1
  920. package/dist/subdivisions/dk.d.cts +12 -1
  921. package/dist/subdivisions/dk.d.ts +12 -1
  922. package/dist/subdivisions/dm.d.cts +12 -1
  923. package/dist/subdivisions/dm.d.ts +12 -1
  924. package/dist/subdivisions/do.d.cts +12 -1
  925. package/dist/subdivisions/do.d.ts +12 -1
  926. package/dist/subdivisions/dz.d.cts +12 -1
  927. package/dist/subdivisions/dz.d.ts +12 -1
  928. package/dist/subdivisions/ec.d.cts +12 -1
  929. package/dist/subdivisions/ec.d.ts +12 -1
  930. package/dist/subdivisions/ee.d.cts +12 -1
  931. package/dist/subdivisions/ee.d.ts +12 -1
  932. package/dist/subdivisions/eg.d.cts +12 -1
  933. package/dist/subdivisions/eg.d.ts +12 -1
  934. package/dist/subdivisions/er.d.cts +12 -1
  935. package/dist/subdivisions/er.d.ts +12 -1
  936. package/dist/subdivisions/es.d.cts +12 -1
  937. package/dist/subdivisions/es.d.ts +12 -1
  938. package/dist/subdivisions/et.d.cts +12 -1
  939. package/dist/subdivisions/et.d.ts +12 -1
  940. package/dist/subdivisions/fi.d.cts +12 -1
  941. package/dist/subdivisions/fi.d.ts +12 -1
  942. package/dist/subdivisions/fj.d.cts +12 -1
  943. package/dist/subdivisions/fj.d.ts +12 -1
  944. package/dist/subdivisions/fm.d.cts +12 -1
  945. package/dist/subdivisions/fm.d.ts +12 -1
  946. package/dist/subdivisions/fr.d.cts +12 -1
  947. package/dist/subdivisions/fr.d.ts +12 -1
  948. package/dist/subdivisions/ga.d.cts +12 -1
  949. package/dist/subdivisions/ga.d.ts +12 -1
  950. package/dist/subdivisions/gb.cjs +1 -1
  951. package/dist/subdivisions/gb.d.cts +12 -1
  952. package/dist/subdivisions/gb.d.ts +12 -1
  953. package/dist/subdivisions/gb.js +1 -1
  954. package/dist/subdivisions/gd.d.cts +12 -1
  955. package/dist/subdivisions/gd.d.ts +12 -1
  956. package/dist/subdivisions/ge.d.cts +12 -1
  957. package/dist/subdivisions/ge.d.ts +12 -1
  958. package/dist/subdivisions/gh.d.cts +12 -1
  959. package/dist/subdivisions/gh.d.ts +12 -1
  960. package/dist/subdivisions/gl.d.cts +12 -1
  961. package/dist/subdivisions/gl.d.ts +12 -1
  962. package/dist/subdivisions/gm.d.cts +12 -1
  963. package/dist/subdivisions/gm.d.ts +12 -1
  964. package/dist/subdivisions/gn.d.cts +12 -1
  965. package/dist/subdivisions/gn.d.ts +12 -1
  966. package/dist/subdivisions/gq.d.cts +12 -1
  967. package/dist/subdivisions/gq.d.ts +12 -1
  968. package/dist/subdivisions/gr.d.cts +12 -1
  969. package/dist/subdivisions/gr.d.ts +12 -1
  970. package/dist/subdivisions/gt.d.cts +12 -1
  971. package/dist/subdivisions/gt.d.ts +12 -1
  972. package/dist/subdivisions/gw.d.cts +12 -1
  973. package/dist/subdivisions/gw.d.ts +12 -1
  974. package/dist/subdivisions/gy.d.cts +12 -1
  975. package/dist/subdivisions/gy.d.ts +12 -1
  976. package/dist/subdivisions/hn.d.cts +12 -1
  977. package/dist/subdivisions/hn.d.ts +12 -1
  978. package/dist/subdivisions/hr.d.cts +12 -1
  979. package/dist/subdivisions/hr.d.ts +12 -1
  980. package/dist/subdivisions/ht.d.cts +12 -1
  981. package/dist/subdivisions/ht.d.ts +12 -1
  982. package/dist/subdivisions/hu.cjs +1 -1
  983. package/dist/subdivisions/hu.d.cts +12 -1
  984. package/dist/subdivisions/hu.d.ts +12 -1
  985. package/dist/subdivisions/hu.js +1 -1
  986. package/dist/subdivisions/id.d.cts +12 -1
  987. package/dist/subdivisions/id.d.ts +12 -1
  988. package/dist/subdivisions/ie.d.cts +12 -1
  989. package/dist/subdivisions/ie.d.ts +12 -1
  990. package/dist/subdivisions/il.d.cts +12 -1
  991. package/dist/subdivisions/il.d.ts +12 -1
  992. package/dist/subdivisions/in.d.cts +12 -1
  993. package/dist/subdivisions/in.d.ts +12 -1
  994. package/dist/subdivisions/iq.d.cts +12 -1
  995. package/dist/subdivisions/iq.d.ts +12 -1
  996. package/dist/subdivisions/ir.d.cts +12 -1
  997. package/dist/subdivisions/ir.d.ts +12 -1
  998. package/dist/subdivisions/is.d.cts +12 -1
  999. package/dist/subdivisions/is.d.ts +12 -1
  1000. package/dist/subdivisions/it.d.cts +12 -1
  1001. package/dist/subdivisions/it.d.ts +12 -1
  1002. package/dist/subdivisions/jm.d.cts +12 -1
  1003. package/dist/subdivisions/jm.d.ts +12 -1
  1004. package/dist/subdivisions/jo.d.cts +12 -1
  1005. package/dist/subdivisions/jo.d.ts +12 -1
  1006. package/dist/subdivisions/jp.d.cts +12 -1
  1007. package/dist/subdivisions/jp.d.ts +12 -1
  1008. package/dist/subdivisions/ke.d.cts +12 -1
  1009. package/dist/subdivisions/ke.d.ts +12 -1
  1010. package/dist/subdivisions/kg.d.cts +12 -1
  1011. package/dist/subdivisions/kg.d.ts +12 -1
  1012. package/dist/subdivisions/kh.d.cts +12 -1
  1013. package/dist/subdivisions/kh.d.ts +12 -1
  1014. package/dist/subdivisions/ki.d.cts +12 -1
  1015. package/dist/subdivisions/ki.d.ts +12 -1
  1016. package/dist/subdivisions/km.d.cts +12 -1
  1017. package/dist/subdivisions/km.d.ts +12 -1
  1018. package/dist/subdivisions/kn.d.cts +12 -1
  1019. package/dist/subdivisions/kn.d.ts +12 -1
  1020. package/dist/subdivisions/kp.d.cts +12 -1
  1021. package/dist/subdivisions/kp.d.ts +12 -1
  1022. package/dist/subdivisions/kr.d.cts +12 -1
  1023. package/dist/subdivisions/kr.d.ts +12 -1
  1024. package/dist/subdivisions/kw.d.cts +12 -1
  1025. package/dist/subdivisions/kw.d.ts +12 -1
  1026. package/dist/subdivisions/kz.d.cts +12 -1
  1027. package/dist/subdivisions/kz.d.ts +12 -1
  1028. package/dist/subdivisions/la.d.cts +12 -1
  1029. package/dist/subdivisions/la.d.ts +12 -1
  1030. package/dist/subdivisions/lb.d.cts +12 -1
  1031. package/dist/subdivisions/lb.d.ts +12 -1
  1032. package/dist/subdivisions/lc.d.cts +12 -1
  1033. package/dist/subdivisions/lc.d.ts +12 -1
  1034. package/dist/subdivisions/li.d.cts +12 -1
  1035. package/dist/subdivisions/li.d.ts +12 -1
  1036. package/dist/subdivisions/lk.d.cts +12 -1
  1037. package/dist/subdivisions/lk.d.ts +12 -1
  1038. package/dist/subdivisions/lr.d.cts +12 -1
  1039. package/dist/subdivisions/lr.d.ts +12 -1
  1040. package/dist/subdivisions/ls.d.cts +12 -1
  1041. package/dist/subdivisions/ls.d.ts +12 -1
  1042. package/dist/subdivisions/lt.d.cts +12 -1
  1043. package/dist/subdivisions/lt.d.ts +12 -1
  1044. package/dist/subdivisions/lu.d.cts +12 -1
  1045. package/dist/subdivisions/lu.d.ts +12 -1
  1046. package/dist/subdivisions/lv.d.cts +12 -1
  1047. package/dist/subdivisions/lv.d.ts +12 -1
  1048. package/dist/subdivisions/ly.d.cts +12 -1
  1049. package/dist/subdivisions/ly.d.ts +12 -1
  1050. package/dist/subdivisions/ma.cjs +12 -12
  1051. package/dist/subdivisions/ma.d.cts +12 -1
  1052. package/dist/subdivisions/ma.d.ts +12 -1
  1053. package/dist/subdivisions/ma.js +12 -12
  1054. package/dist/subdivisions/mc.d.cts +12 -1
  1055. package/dist/subdivisions/mc.d.ts +12 -1
  1056. package/dist/subdivisions/md.d.cts +12 -1
  1057. package/dist/subdivisions/md.d.ts +12 -1
  1058. package/dist/subdivisions/me.d.cts +12 -1
  1059. package/dist/subdivisions/me.d.ts +12 -1
  1060. package/dist/subdivisions/mg.d.cts +12 -1
  1061. package/dist/subdivisions/mg.d.ts +12 -1
  1062. package/dist/subdivisions/mh.d.cts +12 -1
  1063. package/dist/subdivisions/mh.d.ts +12 -1
  1064. package/dist/subdivisions/mk.d.cts +12 -1
  1065. package/dist/subdivisions/mk.d.ts +12 -1
  1066. package/dist/subdivisions/ml.d.cts +12 -1
  1067. package/dist/subdivisions/ml.d.ts +12 -1
  1068. package/dist/subdivisions/mm.d.cts +12 -1
  1069. package/dist/subdivisions/mm.d.ts +12 -1
  1070. package/dist/subdivisions/mn.d.cts +12 -1
  1071. package/dist/subdivisions/mn.d.ts +12 -1
  1072. package/dist/subdivisions/mr.d.cts +12 -1
  1073. package/dist/subdivisions/mr.d.ts +12 -1
  1074. package/dist/subdivisions/mt.d.cts +12 -1
  1075. package/dist/subdivisions/mt.d.ts +12 -1
  1076. package/dist/subdivisions/mu.d.cts +12 -1
  1077. package/dist/subdivisions/mu.d.ts +12 -1
  1078. package/dist/subdivisions/mv.d.cts +12 -1
  1079. package/dist/subdivisions/mv.d.ts +12 -1
  1080. package/dist/subdivisions/mw.d.cts +12 -1
  1081. package/dist/subdivisions/mw.d.ts +12 -1
  1082. package/dist/subdivisions/mx.d.cts +12 -1
  1083. package/dist/subdivisions/mx.d.ts +12 -1
  1084. package/dist/subdivisions/my.d.cts +12 -1
  1085. package/dist/subdivisions/my.d.ts +12 -1
  1086. package/dist/subdivisions/mz.d.cts +12 -1
  1087. package/dist/subdivisions/mz.d.ts +12 -1
  1088. package/dist/subdivisions/na.d.cts +12 -1
  1089. package/dist/subdivisions/na.d.ts +12 -1
  1090. package/dist/subdivisions/ne.d.cts +12 -1
  1091. package/dist/subdivisions/ne.d.ts +12 -1
  1092. package/dist/subdivisions/ng.d.cts +12 -1
  1093. package/dist/subdivisions/ng.d.ts +12 -1
  1094. package/dist/subdivisions/ni.cjs +2 -2
  1095. package/dist/subdivisions/ni.d.cts +12 -1
  1096. package/dist/subdivisions/ni.d.ts +12 -1
  1097. package/dist/subdivisions/ni.js +2 -2
  1098. package/dist/subdivisions/nl.d.cts +12 -1
  1099. package/dist/subdivisions/nl.d.ts +12 -1
  1100. package/dist/subdivisions/no.cjs +7 -3
  1101. package/dist/subdivisions/no.d.cts +12 -1
  1102. package/dist/subdivisions/no.d.ts +12 -1
  1103. package/dist/subdivisions/no.js +7 -3
  1104. package/dist/subdivisions/np.d.cts +12 -1
  1105. package/dist/subdivisions/np.d.ts +12 -1
  1106. package/dist/subdivisions/nr.d.cts +12 -1
  1107. package/dist/subdivisions/nr.d.ts +12 -1
  1108. package/dist/subdivisions/nz.cjs +1 -1
  1109. package/dist/subdivisions/nz.d.cts +12 -1
  1110. package/dist/subdivisions/nz.d.ts +12 -1
  1111. package/dist/subdivisions/nz.js +1 -1
  1112. package/dist/subdivisions/om.d.cts +12 -1
  1113. package/dist/subdivisions/om.d.ts +12 -1
  1114. package/dist/subdivisions/pa.d.cts +12 -1
  1115. package/dist/subdivisions/pa.d.ts +12 -1
  1116. package/dist/subdivisions/pe.d.cts +12 -1
  1117. package/dist/subdivisions/pe.d.ts +12 -1
  1118. package/dist/subdivisions/pg.d.cts +12 -1
  1119. package/dist/subdivisions/pg.d.ts +12 -1
  1120. package/dist/subdivisions/ph.cjs +1 -1
  1121. package/dist/subdivisions/ph.d.cts +12 -1
  1122. package/dist/subdivisions/ph.d.ts +12 -1
  1123. package/dist/subdivisions/ph.js +1 -1
  1124. package/dist/subdivisions/pk.d.cts +12 -1
  1125. package/dist/subdivisions/pk.d.ts +12 -1
  1126. package/dist/subdivisions/pl.d.cts +12 -1
  1127. package/dist/subdivisions/pl.d.ts +12 -1
  1128. package/dist/subdivisions/ps.d.cts +12 -1
  1129. package/dist/subdivisions/ps.d.ts +12 -1
  1130. package/dist/subdivisions/pt.d.cts +12 -1
  1131. package/dist/subdivisions/pt.d.ts +12 -1
  1132. package/dist/subdivisions/pw.d.cts +12 -1
  1133. package/dist/subdivisions/pw.d.ts +12 -1
  1134. package/dist/subdivisions/py.d.cts +12 -1
  1135. package/dist/subdivisions/py.d.ts +12 -1
  1136. package/dist/subdivisions/qa.d.cts +12 -1
  1137. package/dist/subdivisions/qa.d.ts +12 -1
  1138. package/dist/subdivisions/ro.d.cts +12 -1
  1139. package/dist/subdivisions/ro.d.ts +12 -1
  1140. package/dist/subdivisions/rs.d.cts +12 -1
  1141. package/dist/subdivisions/rs.d.ts +12 -1
  1142. package/dist/subdivisions/ru.cjs +8 -8
  1143. package/dist/subdivisions/ru.d.cts +12 -1
  1144. package/dist/subdivisions/ru.d.ts +12 -1
  1145. package/dist/subdivisions/ru.js +8 -8
  1146. package/dist/subdivisions/rw.d.cts +12 -1
  1147. package/dist/subdivisions/rw.d.ts +12 -1
  1148. package/dist/subdivisions/sa.d.cts +12 -1
  1149. package/dist/subdivisions/sa.d.ts +12 -1
  1150. package/dist/subdivisions/sb.d.cts +12 -1
  1151. package/dist/subdivisions/sb.d.ts +12 -1
  1152. package/dist/subdivisions/sc.d.cts +12 -1
  1153. package/dist/subdivisions/sc.d.ts +12 -1
  1154. package/dist/subdivisions/sd.d.cts +12 -1
  1155. package/dist/subdivisions/sd.d.ts +12 -1
  1156. package/dist/subdivisions/se.d.cts +12 -1
  1157. package/dist/subdivisions/se.d.ts +12 -1
  1158. package/dist/subdivisions/sg.d.cts +12 -1
  1159. package/dist/subdivisions/sg.d.ts +12 -1
  1160. package/dist/subdivisions/sh.d.cts +12 -1
  1161. package/dist/subdivisions/sh.d.ts +12 -1
  1162. package/dist/subdivisions/si.d.cts +12 -1
  1163. package/dist/subdivisions/si.d.ts +12 -1
  1164. package/dist/subdivisions/sk.d.cts +12 -1
  1165. package/dist/subdivisions/sk.d.ts +12 -1
  1166. package/dist/subdivisions/sl.d.cts +12 -1
  1167. package/dist/subdivisions/sl.d.ts +12 -1
  1168. package/dist/subdivisions/sm.d.cts +12 -1
  1169. package/dist/subdivisions/sm.d.ts +12 -1
  1170. package/dist/subdivisions/sn.d.cts +12 -1
  1171. package/dist/subdivisions/sn.d.ts +12 -1
  1172. package/dist/subdivisions/so.d.cts +12 -1
  1173. package/dist/subdivisions/so.d.ts +12 -1
  1174. package/dist/subdivisions/sr.d.cts +12 -1
  1175. package/dist/subdivisions/sr.d.ts +12 -1
  1176. package/dist/subdivisions/ss.d.cts +12 -1
  1177. package/dist/subdivisions/ss.d.ts +12 -1
  1178. package/dist/subdivisions/st.d.cts +12 -1
  1179. package/dist/subdivisions/st.d.ts +12 -1
  1180. package/dist/subdivisions/sv.d.cts +12 -1
  1181. package/dist/subdivisions/sv.d.ts +12 -1
  1182. package/dist/subdivisions/sy.d.cts +12 -1
  1183. package/dist/subdivisions/sy.d.ts +12 -1
  1184. package/dist/subdivisions/sz.d.cts +12 -1
  1185. package/dist/subdivisions/sz.d.ts +12 -1
  1186. package/dist/subdivisions/td.d.cts +12 -1
  1187. package/dist/subdivisions/td.d.ts +12 -1
  1188. package/dist/subdivisions/tg.d.cts +12 -1
  1189. package/dist/subdivisions/tg.d.ts +12 -1
  1190. package/dist/subdivisions/th.d.cts +12 -1
  1191. package/dist/subdivisions/th.d.ts +12 -1
  1192. package/dist/subdivisions/tj.d.cts +12 -1
  1193. package/dist/subdivisions/tj.d.ts +12 -1
  1194. package/dist/subdivisions/tl.d.cts +12 -1
  1195. package/dist/subdivisions/tl.d.ts +12 -1
  1196. package/dist/subdivisions/tm.d.cts +12 -1
  1197. package/dist/subdivisions/tm.d.ts +12 -1
  1198. package/dist/subdivisions/tn.d.cts +12 -1
  1199. package/dist/subdivisions/tn.d.ts +12 -1
  1200. package/dist/subdivisions/to.d.cts +12 -1
  1201. package/dist/subdivisions/to.d.ts +12 -1
  1202. package/dist/subdivisions/tr.d.cts +12 -1
  1203. package/dist/subdivisions/tr.d.ts +12 -1
  1204. package/dist/subdivisions/tt.d.cts +12 -1
  1205. package/dist/subdivisions/tt.d.ts +12 -1
  1206. package/dist/subdivisions/tv.d.cts +12 -1
  1207. package/dist/subdivisions/tv.d.ts +12 -1
  1208. package/dist/subdivisions/tw.cjs +3 -3
  1209. package/dist/subdivisions/tw.d.cts +12 -1
  1210. package/dist/subdivisions/tw.d.ts +12 -1
  1211. package/dist/subdivisions/tw.js +3 -3
  1212. package/dist/subdivisions/tz.d.cts +12 -1
  1213. package/dist/subdivisions/tz.d.ts +12 -1
  1214. package/dist/subdivisions/ua.d.cts +12 -1
  1215. package/dist/subdivisions/ua.d.ts +12 -1
  1216. package/dist/subdivisions/ug.d.cts +12 -1
  1217. package/dist/subdivisions/ug.d.ts +12 -1
  1218. package/dist/subdivisions/um.d.cts +12 -1
  1219. package/dist/subdivisions/um.d.ts +12 -1
  1220. package/dist/subdivisions/us.d.cts +12 -1
  1221. package/dist/subdivisions/us.d.ts +12 -1
  1222. package/dist/subdivisions/uy.d.cts +12 -1
  1223. package/dist/subdivisions/uy.d.ts +12 -1
  1224. package/dist/subdivisions/uz.d.cts +12 -1
  1225. package/dist/subdivisions/uz.d.ts +12 -1
  1226. package/dist/subdivisions/vc.d.cts +12 -1
  1227. package/dist/subdivisions/vc.d.ts +12 -1
  1228. package/dist/subdivisions/ve.d.cts +12 -1
  1229. package/dist/subdivisions/ve.d.ts +12 -1
  1230. package/dist/subdivisions/vn.cjs +1 -1
  1231. package/dist/subdivisions/vn.d.cts +12 -1
  1232. package/dist/subdivisions/vn.d.ts +12 -1
  1233. package/dist/subdivisions/vn.js +1 -1
  1234. package/dist/subdivisions/vu.d.cts +12 -1
  1235. package/dist/subdivisions/vu.d.ts +12 -1
  1236. package/dist/subdivisions/wf.d.cts +12 -1
  1237. package/dist/subdivisions/wf.d.ts +12 -1
  1238. package/dist/subdivisions/ws.d.cts +12 -1
  1239. package/dist/subdivisions/ws.d.ts +12 -1
  1240. package/dist/subdivisions/ye.d.cts +12 -1
  1241. package/dist/subdivisions/ye.d.ts +12 -1
  1242. package/dist/subdivisions/za.d.cts +12 -1
  1243. package/dist/subdivisions/za.d.ts +12 -1
  1244. package/dist/subdivisions/zm.d.cts +12 -1
  1245. package/dist/subdivisions/zm.d.ts +12 -1
  1246. package/dist/subdivisions/zw.d.cts +12 -1
  1247. package/dist/subdivisions/zw.d.ts +12 -1
  1248. package/dist/subdivisions.cjs +41 -37
  1249. package/dist/subdivisions.d.cts +117 -2
  1250. package/dist/subdivisions.d.ts +117 -2
  1251. package/dist/subdivisions.js +41 -37
  1252. package/dist/types-ChquRAZM.d.cts +201 -0
  1253. package/dist/types-ChquRAZM.d.ts +201 -0
  1254. package/dist/types-DYHGRkCK.d.cts +68 -0
  1255. package/dist/types-DYHGRkCK.d.ts +68 -0
  1256. package/package.json +43 -1
  1257. package/dist/types-8MxnNg63.d.cts +0 -50
  1258. package/dist/types-8MxnNg63.d.ts +0 -50
  1259. package/dist/types-C9xWMvFc.d.cts +0 -17
  1260. package/dist/types-C9xWMvFc.d.ts +0 -17
package/CHANGELOG.md CHANGED
@@ -6,6 +6,31 @@ All notable changes to this project are written here. The format follows
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [1.1.0] - 2026-10-09
10
+
11
+ ### Added
12
+
13
+ - **Each country's capital in Japanese**: `country(code).capital` is now `{ en, ja }` (東京, キーウ), from Wikidata, for all 245 countries that have a capital.
14
+ - **`@johnmorrisdotca/kuni/facts`**, a new entry so the main one stays small: for every country its population and area with the year each is for, the coordinates of the country and of its capital, the countries it shares a land border with (`[]` for an island), the side of the road it drives on, and CLDR's first day of the week, measurement system, paper size and clock. `facts(code)`, `allFacts()`, `distanceKm(from, to)` and `FACTS_READ`, the day Wikidata was read. Plain numbers and codes, for a build script to read as they are.
15
+ - **`@johnmorrisdotca/kuni/subdivision-facts`** and **`/subdivision-facts/<code>`**: each subdivision's capital (in English and Japanese, with a reading in kana for Japan's prefectural capitals), population, area and coordinates, one country at a time, with `loadSubdivisionFacts(code)`. Complete for Japan's 47 prefectures.
16
+ - **`@johnmorrisdotca/kuni/groupings`**: 107 groupings, each named in English and Japanese with its members, definition, source, licence and the day it was true. The seven continents; the 30 UN M49 areas; 23 international bodies (the UN, the EU with its candidates, the euro area, Schengen, the EEA, NATO, the G7 and G20, the OECD, ASEAN, the African Union, the Arab League, the GCC, the Commonwealth, OPEC, BRICS, Mercosur, the USMCA, APEC, CARICOM, the Pacific Islands Forum, the Nordic Council and Benelux) with the days members joined and left; 16 informal groupings (the Middle East, Latin America, the Caribbean, the Balkans, the Western Balkans, Scandinavia, the Nordic countries, the Baltic states, Central and Southeast Asia, the Maghreb, the Horn of Africa, the Sahel, the British Isles, Iberia, Asia-Pacific); and regions inside a country (Japan's eight 地方 and the nine-region variant, the US Census regions and divisions, Canada's five regions, the UK's four nations, Australia's states and territories). `groupings`, `grouping`, `groupingsOf` and `membersOf`, with `on` for a body's members on a past day.
17
+ - Every public export has a doc comment, kept in the built `.d.ts` so an editor shows it, with `@param`, `@returns` and an example; the tests run every example. The API page shows each function's parameters, what it returns and its example, and each interface's fields.
18
+ - Japan's Kinki region carries Kansai (関西地方) as its other name: `Grouping.otherNames`.
19
+ - `docs/facts.md`, `docs/subdivision-facts.md` and `docs/groupings.md` say what was decided, how much is known, and why the rest is `null`.
20
+ - The demo has views of its own, each at its own address: a page for each country (its outline from Chizu with the capital marked, its facts with their years, neighbours and groupings as links, furigana, the time now in each of its zones), two countries compared, every country in a table to filter, sort and narrow by grouping, a groupings explorer with a body's members on any day, three seeded quizzes (capitals, which country a region is in, calling codes) whose link gives the same questions, a country and region form widget in English or Japanese with its code to copy, search by calling code, currency or domain, and the data's quality in the open. Tables and lists download as CSV, JSON or text. Chizu is a development dependency for the demo's outlines only.
21
+
22
+ ### Changed
23
+
24
+ - Equatorial Guinea's capital is Ciudad de la Paz (シウダ・デ・ラ・パス), where it moved in January 2026; it was Malabo.
25
+ - **Continents follow UN M49** (from CLDR): Russia is in Europe, Cyprus in Asia, Timor-Leste in Asia, Christmas Island and the Cocos Islands in Oceania, the British Indian Ocean Territory in Africa, and the sub-Antarctic islands where M49 puts them (Bouvet Island and South Georgia in South America, Heard and McDonald in Oceania, the French Southern Lands in Africa). Antarctica is the one continent named by hand. 1.0.0 took the continent from countries-list.
26
+ - **Norway's counties are those of 2024**, when Viken, Vestfold og Telemark and Troms og Finnmark were divided again: NO-31 Østfold, NO-32 Akershus, NO-33 Buskerud, NO-39 Vestfold, NO-40 Telemark, NO-55 Troms and NO-56 Finnmark are added and NO-30, NO-38 and NO-54 are gone, as in ISO 3166-2, which CLDR 48.2 has not caught up with. There are now 5,050 subdivisions.
27
+ - Short names where CLDR's full name reads badly in a narrow space: DR Congo (コンゴ民主共和国) and Congo (コンゴ共和国) for "Congo - Kinshasa" and "Congo - Brazzaville", ミャンマー for ミャンマー (ビルマ), ココス諸島. Hong Kong, Macao and Myanmar already had CLDR's.
28
+ - Each capital's Japanese name is the usual one (東京, 北京, ソウル), not a municipality's formal name, after a review.
29
+
30
+ ### Fixed
31
+
32
+ - English subdivision names that were wrong in 1.0.0: Peterborough and Marlborough were cut short ("Peter", "Marl"); Chiayi City and Chiayi County were swapped, in Japanese too (嘉義市, 嘉義県); Bogotá was "Capital District"; Davao de Oro (ダバオ・デ・オロ州), Csongrád-Csanád and Nicaragua's two Caribbean Coast regions had their old names; Russia's republics Buryatia, Chechnya, Chuvashia, Kabardino-Balkaria, Karachay-Cherkessia and Udmurtia were adjectives, and Altai Republic and Komi Republic are told from their neighbours; Cần Thơ had lost its marks; Barisal Division and Barisal District had each other's names; and Morocco's twelve regions carried the names of the regions that held their codes before 2019 (MA-04 is Rabat-Salé-Kénitra, not Oriental), in Japanese too, where MA-11's came from a Wikidata label that was not a name. Every English name is now checked for each of these faults against Wikidata's English label, and the build stops on one nobody has decided (`docs/disagreements.md`).
33
+
9
34
  ## [1.0.0] - 2026-10-09
10
35
 
11
36
  The first version: every country and its subdivisions, with ISO 3166 codes and names in English and Japanese.
package/NOTICE.md CHANGED
@@ -10,7 +10,11 @@ address, the day it was read and its SHA-256.
10
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
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
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 |
13
+ | Each country's own name, capital and languages, and the calling code where Wikidata has none | countries-list 3.4.1 by Annexare Studio | MIT, below |
14
+ | Each country's capital in Japanese and its coordinates, population, area (with the year each is for), coordinates, driving side and the countries it shares a border with; each subdivision's capital, population, area and coordinates; the days members joined and left international bodies | Wikidata, the snapshot `data-sources/wikidata-facts-2026-10-09.json` | CC0, below |
15
+ | Which land borders are real (two outlines touch) | Natural Earth 5.1.2 admin-0 countries at 1:50m, as drawn by `@johnmorrisdotca/chizu` 1.0.2 (a development dependency of the build; the package does not depend on it) | Public domain (Natural Earth); MIT (Chizu), below |
16
+ | The first day of the week, the measurement system, the paper size and the clock; the UN M49 areas and their members; the members of the United Nations | Unicode CLDR 48.2 (`cldr-core` 48.2.0: weekData, measurementData, timeData, territoryContainment) | Unicode-3.0, below |
17
+ | The members of each international body as the body lists them, the informal groupings with their definitions, the regions inside a country, the readings of the groupings' Japanese names, and the choices in `scripts/facts-config.ts` and `scripts/groupings-config.ts` | Written for this package, from the sources named beside each, read on 2026-10-09 | MIT; lists of facts |
14
18
  | Time zones | IANA time zone database 2026e, `zone.tab` | Public domain |
15
19
  | Country-code top-level domains | IANA's list of top-level domains (version 2026100900) | A list of facts, published by IANA |
16
20
  | 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 |
@@ -80,6 +84,22 @@ is used only when CLDR has no Japanese name, when every current item for the cod
80
84
  written in Japanese with no bracketed explanation; a reading only when Wikidata gives exactly one for the same
81
85
  name. Kinds of place are read from the English labels of the classes an item is an instance of.
82
86
 
87
+ The facts snapshot (`data-sources/wikidata-facts-2026-10-09.json`) holds the answers to the queries written in it:
88
+ for every country and every subdivision, its capital with the capital's English and Japanese labels, kana name and
89
+ coordinates; its best-ranked population and area with the day each is for; its coordinates; and, for countries, the
90
+ side of the road it drives on, the countries it shares a border with and the international bodies it is a member
91
+ of. `scripts/facts.ts`, `scripts/subdivision-facts.ts` and `scripts/groupings.ts` say how each is chosen. Figures are
92
+ kept as Wikidata gives them, rounded only for coordinates (two decimal places).
93
+
94
+ ## Natural Earth, through Chizu
95
+
96
+ Natural Earth (https://www.naturalearthdata.com/) is in the public domain: "No permission is needed to use Natural
97
+ Earth. Crediting the authors is unnecessary." It is credited here anyway. Kuni ships no geometry. The build reads
98
+ which countries' outlines touch from the country maps of `@johnmorrisdotca/chizu` 1.0.2 (MIT, © John Morris), drawn
99
+ from Natural Earth 5.1.2 admin-0 countries at 1:50m, and keeps a border Wikidata states only where the outlines touch
100
+ (or where `BORDERS_ADDED` in `scripts/facts-config.ts` says why it is a border on land). Chizu is a development
101
+ dependency of the build and the demo; the published package depends on nothing.
102
+
83
103
  ## countries-list
84
104
 
85
105
  ```text
@@ -105,8 +125,8 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
105
125
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
106
126
  SOFTWARE.```
107
127
 
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.
128
+ From https://github.com/annexare/Countries, version 3.4.1 on npm. Its own name (`native`), capital and languages
129
+ are used as they are (from 1.1.0 the continent is UN M49's, from CLDR); its calling code only where Wikidata has none.
110
130
 
111
131
  ## IANA
112
132
 
@@ -116,12 +136,14 @@ read from it.
116
136
 
117
137
  ## Not carried
118
138
 
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
139
+ No geometry, and no database with a share-alike condition: the richer country datasets under ODbL
140
+ (mledoze/countries, REST Countries) and the GPL `country-state-city` were looked at and deliberately not used; the
141
+ figures in `/facts` and `/subdivision-facts` are Wikidata's (CC0), and the land borders are checked against Natural
142
+ Earth (public domain). GeoNames was not used either: its codes are not ISO 3166-2, and its licence
122
143
  asks for attribution on every use.
123
144
 
124
145
  ## Made with
125
146
 
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.
147
+ `scripts/build-data.ts` reads the inputs with Node alone. `cldr-core`, `cldr-localenames-full`, `countries-list`
148
+ and `@johnmorrisdotca/chizu` are development dependencies of the build (and Chizu of the demo) only: the package
149
+ depends on nothing at run time.
package/README.md CHANGED
@@ -20,21 +20,21 @@ A typed, zero-dependency dataset from Unicode CLDR and Wikidata, loaded one coun
20
20
  <td align="center" valign="top">
21
21
  <picture>
22
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">
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 a row of views (Look up, Country, Compare, All countries, Groupings, Quiz, Form widget, Data quality) and the Look up view's 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
24
  </picture>
25
25
  <br><em>The demo on a desk: a country found by its Japanese name, and Japan's prefectures loaded on demand.</em>
26
26
  </td>
27
27
  <td align="center" valign="top">
28
28
  <picture>
29
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">
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, under the row of views" width="190">
31
31
  </picture>
32
32
  <br><em>On a phone, in Japanese, in the device's light or dark.</em>
33
33
  </td>
34
34
  </tr>
35
35
  </table>
36
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.
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,050 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. Beside the names, in entries of their own so a page that only names countries does not carry them: each country's capital, population and area with the year each is for, coordinates, land borders, driving side and calendar conventions; each subdivision's capital, population and area; and 107 groupings, from the continents and the EU to Japan's eight regions. 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
38
 
39
39
  ## In 30 seconds
40
40
 
@@ -45,12 +45,23 @@ npm install @johnmorrisdotca/kuni
45
45
  ```ts
46
46
  import { country, countryByName, countryName } from "@johnmorrisdotca/kuni";
47
47
 
48
- countryByName("ドイツ")?.alpha2; // "DE"; "Germany", "どいつ" and "Deutschland" find it too
48
+ countryByName("ドイツ")?.alpha2; // "DE"; "Germany" and "Deutschland" find it too
49
49
  countryByName("Holland")?.name.ja; // "オランダ"
50
50
  countryName("US", "ja", { short: true }); // "アメリカ"
51
51
  country("JP")?.callingCode; // "+81"
52
52
  ```
53
53
 
54
+ The figures and the groupings are entries of their own:
55
+
56
+ ```ts
57
+ import { facts } from "@johnmorrisdotca/kuni/facts";
58
+ import { membersOf } from "@johnmorrisdotca/kuni/groupings";
59
+
60
+ facts("JP")?.population; // 123802000, for 2024
61
+ facts("FR")?.borders; // ["AD", "BE", "BR", "CH", "DE", "ES", "IT", "LU", "MC", "SR"]
62
+ membersOf("eu", { on: "2019-06-30" }); // the 28, the United Kingdom among them
63
+ ```
64
+
54
65
  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
66
 
56
67
  ```ts
@@ -67,17 +78,24 @@ Install the scoped name: the unscoped `kuni` on npm is somebody else's package.
67
78
  - **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
79
  - **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
80
  - **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.
81
+ - **Maps, quizzes and data pipelines** that join their own figures to a country or a region by its ISO code, or want the capital, the population, the neighbours and the groupings a quiz asks about.
82
+ - **Build scripts** in sister packages (a map that draws any grouping, a site with a page per prefecture) that read plain numbers, stable codes and as-of dates.
71
83
 
72
84
  ## Features
73
85
 
74
86
  - **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.
87
+ - **Every subdivision.** 5,050 ISO 3166-2 codes in 200 countries: 3,594 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.
88
+ - **English and Japanese names** from Unicode CLDR 48.2, with CLDR's short forms (UK, アメリカ) and variants (Ivory Coast, 象牙海岸). Japanese names for 3,527 of the 3,594 first-level subdivisions, and `null` for the rest, never a guess.
77
89
  - **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
90
  - **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.
91
+ - **Capitals in both languages.** Every country's capital in English and Japanese (東京, キーウ), and every subdivision's capital Wikidata names (3,968 of 5,050), with readings in kana for Japan's prefectural capitals (さっぽろし).
92
+ - **Facts with their dates** (`/facts`): population and area with the year each is for, coordinates of the country and its capital, land borders (confirmed by Natural Earth's outlines, so islands have none), the side of the road it drives on, and CLDR's first day of the week, measurement system, paper size and clock. `distanceKm` between two points.
93
+ - **Facts about subdivisions** (`/subdivision-facts`): each one's capital, population, area and coordinates, one country at a time; complete for Japan's 47 prefectures.
94
+ - **Groupings** (`/groupings`): the seven continents, the 30 UN M49 areas, 23 international bodies (the UN, the EU, the euro area, Schengen, NATO, the G7 and G20, ASEAN and more) with the days members joined and left, 16 informal groupings (the Middle East, the Balkans, Scandinavia, the Sahel) each with the definition it follows, and regions inside a country (Japan's 地方, the US Census regions, Canada's regions).
79
95
  - **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`.
96
+ - **Typed, frozen, pure and the same everywhere.** ESM and CommonJS, types for both, no dependencies, no network and no `Intl`. Every export carries a doc comment with a runnable example, which an editor shows on hover and the tests run.
97
+ - **A demo to use, not just to read.** A page for each country, two countries compared, every country in a sortable table, the groupings explorer, three seeded quizzes, a country and region form widget with its code to copy, and the data's quality in the open, each at an address of its own and downloadable as CSV, JSON or text: [the demo](https://johnmorrisdotca.github.io/kuni/).
98
+ - **Never a guess.** A value no source gives is `null`, with the reason written down (`docs/facts.md`, `docs/subdivision-facts.md`, `docs/ja-gaps.md`), never a plausible filler.
81
99
 
82
100
  ## Use it in your project
83
101
 
@@ -99,7 +117,11 @@ It ships ES modules and CommonJS, with types for both and `sideEffects: false`.
99
117
  | `@johnmorrisdotca/kuni/codes` | The 250 codes and `isCountryCode`, nothing else | 2 KB |
100
118
  | `@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
119
  | `@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 |
120
+ | `@johnmorrisdotca/kuni/subdivisions` | All 5,050 subdivisions and the subdivision lookups | 216 KB, 85 KB gzipped |
121
+ | `@johnmorrisdotca/kuni/facts` | Every country's population, area, coordinates, borders, driving side and conventions | 25 KB, 9 KB gzipped |
122
+ | `@johnmorrisdotca/kuni/subdivision-facts` | `loadSubdivisionFacts(code)`, one dynamic import per country | 12 KB, then the country's own file |
123
+ | `@johnmorrisdotca/kuni/subdivision-facts/<code>` | One country's subdivision facts (`/subdivision-facts/jp`) | 1 to 16 KB; Japan 4.9 KB |
124
+ | `@johnmorrisdotca/kuni/groupings` | The 107 groupings and their lookups | 84 KB, 16 KB gzipped |
103
125
 
104
126
  ### 1. The countries
105
127
 
@@ -139,6 +161,51 @@ subdivisions("FR", { level: "all" })?.length; // 124, with the de
139
161
  subdivisionTypeLabel("JP-13", "ja"); // "都"
140
162
  ```
141
163
 
164
+ ### 5. The facts about a country
165
+
166
+ ```ts
167
+ import { allFacts, distanceKm, facts, FACTS_READ } from "@johnmorrisdotca/kuni/facts";
168
+
169
+ const japan = facts("JP")!;
170
+ japan.population; // 123802000
171
+ japan.populationYear; // 2024
172
+ japan.areaKm2; // 377973.68
173
+ japan.capitalPoint; // { lat: 35.69, lon: 139.69 }
174
+ japan.borders; // [], an island
175
+ japan.drivingSide; // "left"
176
+ japan.weekStart; // "sun"
177
+ Math.round(distanceKm(japan.capitalPoint!, facts("GB")!.capitalPoint!)); // 9558
178
+ FACTS_READ; // "2026-10-09", the day Wikidata was read
179
+ ```
180
+
181
+ Every figure is Wikidata's, as it stood on the day in `FACTS_READ`. A country with no permanent population (Antarctica) has `population: null`, and an island `borders: []`; `docs/facts.md` lists every gap with its reason.
182
+
183
+ ### 6. The facts about subdivisions
184
+
185
+ ```ts
186
+ import { loadSubdivisionFacts } from "@johnmorrisdotca/kuni/subdivision-facts";
187
+ import prefectures from "@johnmorrisdotca/kuni/subdivision-facts/jp";
188
+
189
+ prefectures[0].capital; // { en: "Sapporo", ja: "札幌市", reading: "さっぽろし" }
190
+ prefectures[12].population; // 14264798, for 2022
191
+ (await loadSubdivisionFacts("US"))?.find((one) => one.code === "US-CA")?.capital?.en; // "Sacramento"
192
+ ```
193
+
194
+ ### 7. Groupings
195
+
196
+ ```ts
197
+ import { grouping, groupings, groupingsOf, membersOf } from "@johnmorrisdotca/kuni/groupings";
198
+
199
+ grouping("eu")?.name.ja; // "欧州連合"
200
+ grouping("eu")?.others?.filter((one) => one.status === "candidate").length; // 9
201
+ membersOf("eu", { on: "2019-06-30" })?.includes("GB"); // true
202
+ groupingsOf("NO", { kind: "membership" }).map((one) => one.id); // ["un", "schengen", "eea", "nato", "oecd", "nordic-council"]
203
+ membersOf("jp-kanto"); // ["JP-08", ..., "JP-14"]
204
+ groupings({ kind: "informal" }).map((one) => one.id); // ["middle-east", "latin-america", ...]
205
+ ```
206
+
207
+ Each grouping has `definition`, `source` (name, address and licence) and `asOf`; an informal one has `informal: true` and, where definitions disagree, a `note`. `docs/groupings.md` cross-checks the bodies' lists against Wikidata and says what each grouping follows.
208
+
142
209
  ### In a page, with no bundler
143
210
 
144
211
  ```html
@@ -177,10 +244,10 @@ The Japanese name is `null` where no source has one, so the fallback to English
177
244
  ```ts
178
245
  import { countryByName } from "@johnmorrisdotca/kuni";
179
246
 
180
- for (const typed of ["UK", "the Netherlands", "USA", "どいつ", "Burma", "Narnia"]) {
247
+ for (const typed of ["UK", "the Netherlands", "USA", "にほん", "Burma", "Narnia"]) {
181
248
  console.log(typed, countryByName(typed)?.alpha2 ?? "(keep their words, no flag)");
182
249
  }
183
- // UK GB · the Netherlands NL · USA US · どいつ DE · Burma MM · Narnia (keep their words, no flag)
250
+ // UK GB · the Netherlands NL · USA US · にほん JP · Burma MM · Narnia (keep their words, no flag)
184
251
  ```
185
252
 
186
253
  ### A name that is two places
@@ -204,6 +271,10 @@ The [API reference](https://johnmorrisdotca.github.io/kuni/api.html) lists every
204
271
  | `@johnmorrisdotca/kuni/subdivisions` | `subdivisions`, `allSubdivisions`, `subdivision`, `subdivisionByShortCode`, `subdivisionByName`, `subdivisionsByName`, `subdivisionTypeLabel`, `SUBDIVISION_TYPES`, and the types `Subdivision`, `SubdivisionType`, `Level`, `SubdivisionsOptions` and `SubdivisionByNameOptions` |
205
272
  | `@johnmorrisdotca/kuni/subdivisions/<code>` | the country's list as the default export and as `SUBDIVISIONS` |
206
273
  | `@johnmorrisdotca/kuni/load` | `loadSubdivisions` and the type `Subdivision` |
274
+ | `@johnmorrisdotca/kuni/facts` | `facts`, `allFacts`, `distanceKm`, `FACTS_READ`, and the types `CountryFacts`, `LatLon`, `DrivingSide`, `WeekStart`, `MeasurementSystem`, `PaperSize` and `HourCycle` |
275
+ | `@johnmorrisdotca/kuni/subdivision-facts` | `loadSubdivisionFacts`, and the types `SubdivisionFacts` and `LatLon` |
276
+ | `@johnmorrisdotca/kuni/subdivision-facts/<code>` | the country's subdivision facts as the default export and as `SUBDIVISION_FACTS` |
277
+ | `@johnmorrisdotca/kuni/groupings` | `groupings`, `grouping`, `groupingsOf`, `membersOf`, `GROUPING_KINDS`, and the types `Grouping`, `GroupingKind`, `GroupingMember`, `GroupingName`, `GroupingOther`, `GroupingSource`, `GroupingStatus`, `GroupingsOptions` and `GroupingDateOptions` |
207
278
 
208
279
  A country:
209
280
 
@@ -217,12 +288,12 @@ interface Country {
217
288
  shortName?: { en?: string; ja?: string }; // "UK", アメリカ
218
289
  reading?: string; // hiragana, where the Japanese name is in kanji: "にほん"
219
290
  flag: string; // the flag emoji
220
- continent: "AF" | "AN" | "AS" | "EU" | "NA" | "OC" | "SA";
291
+ continent: "AF" | "AN" | "AS" | "EU" | "NA" | "OC" | "SA"; // from UN M49; Antarctica by hand
221
292
  subregion?: string; // UN M49: "030", Eastern Asia
222
293
  callingCode?: string; // "+81"; "+1" for every member of the North American plan
223
294
  currency?: string[]; // ["JPY"]
224
295
  tld?: string; // "jp"; "uk" for GB
225
- capital?: { en: string };
296
+ capital?: { en: string; ja: string }; // "Tokyo", 東京
226
297
  zones?: string[]; // ["Asia/Tokyo"]
227
298
  languages?: string[]; // ["ja"]
228
299
  subdivisionType?: SubdivisionType; // "prefecture"
@@ -245,6 +316,51 @@ interface Subdivision {
245
316
  }
246
317
  ```
247
318
 
319
+ The facts about a country:
320
+
321
+ ```ts
322
+ interface CountryFacts {
323
+ alpha2: string; // "JP"
324
+ population: number | null; // 123802000; null with no permanent population
325
+ populationYear: number | null; // 2024
326
+ areaKm2: number | null; // 377973.68
327
+ areaYear: number | null; // where Wikidata gives one
328
+ areaOf: "whole" | "land" | null;
329
+ point: { lat: number; lon: number } | null; // Wikidata's point for the country, not a computed centroid
330
+ capitalPoint: { lat: number; lon: number } | null;
331
+ borders: readonly string[]; // land borders, alpha-2; [] for an island
332
+ drivingSide: "left" | "right" | null;
333
+ weekStart: "mon" | "sun" | "sat" | "fri";
334
+ measurement: "metric" | "US" | "UK";
335
+ paper: "A4" | "US-Letter";
336
+ hourCycle: "h12" | "h23";
337
+ }
338
+ ```
339
+
340
+ A grouping:
341
+
342
+ ```ts
343
+ interface Grouping {
344
+ id: string; // "eu", "m49-030", "continent-as", "middle-east", "jp-kanto"
345
+ kind: "continent" | "m49" | "membership" | "informal" | "subdivision";
346
+ name: { en: string; ja: string };
347
+ shortName?: { en?: string; ja?: string }; // "EU"
348
+ reading?: string; // "おうしゅうれんごう"
349
+ otherNames?: readonly { en: string; ja: string; reading?: string }[]; // Kansai (関西地方) for the Kinki region
350
+ informal: boolean;
351
+ country?: string; // for regions inside a country: "JP"
352
+ parent?: string; // for UN M49: "m49-142"
353
+ sets?: readonly string[]; // for regions inside a country: the divisions it is part of
354
+ members: readonly string[]; // alpha-2 codes, or ISO 3166-2 inside a country
355
+ periods?: readonly { code: string; since: string | null; until: string | null }[]; // bodies only
356
+ others?: readonly { code: string; status: "candidate" | "associate" | "observer" | "suspended" }[];
357
+ definition: string;
358
+ note?: string;
359
+ source: { name: string; url: string; licence: string };
360
+ asOf: string; // "2026-10-09"
361
+ }
362
+ ```
363
+
248
364
  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
365
 
250
366
  ## Theming
@@ -256,13 +372,19 @@ None, on purpose: Kuni is data and lookups, with no colours, markup or styles, s
256
372
  | Limit | Value | Where |
257
373
  | --- | --- | --- |
258
374
  | 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` |
375
+ | Subdivisions | 5,050 in 200 countries; 3,594 at level 1, 1,456 at level 2, none at level 3 | `allSubdivisions` |
376
+ | Japanese names of subdivisions | 3,527 of 3,594 at level 1 (3,376 from CLDR, 50 written by hand, 101 from Wikidata); 4,751 of all 5,050 | `name.ja`, [docs/ja-gaps.md](./docs/ja-gaps.md) |
377
+ | Kinds of place | known for 4,745 of 5,050; the rest are `null` | `type` |
262
378
  | Readings in kana | Japan's 47 prefectures, and the 53 country names written with kanji | `reading` |
379
+ | Capitals | 245 of 250 countries, each in English and Japanese; 3,968 of 5,050 subdivisions (2,856 of 3,594 at the first level), Japan's 47 with readings | `capital`, `SubdivisionFacts.capital` |
380
+ | Population | 249 of 250 countries, with the year; 4,244 of 5,050 subdivisions | `/facts`, `/subdivision-facts` |
381
+ | Area | 250 of 250 countries; 4,371 of 5,050 subdivisions | `areaKm2` |
382
+ | Coordinates | 250 of 250 countries, 245 capitals; 4,780 of 5,050 subdivisions | `point`, `capitalPoint` |
383
+ | Land borders | 327 pairs; 166 countries have one or more, 84 (islands, and Antarctica) none | `borders` |
384
+ | Groupings | 7 continents, 30 UN M49 areas, 23 bodies, 16 informal, 31 inside a country | `/groupings` |
263
385
  | Languages | English and Japanese | `LANGUAGES` |
264
386
 
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).
387
+ Not here: cities, postal codes, outlines, 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) (226 of 4,313 compared) for review. CLDR's trailing brackets (セント・ポール (ドミニカ国), バリンゴ (カウンティ)) are taken off by a rule listed in [docs/name-rules.md](./docs/name-rules.md), and 56 Japanese names a reviewer found wrong or out of date are written by hand, with their reasons, in [docs/disagreements.md](./docs/disagreements.md). Every English name is checked against Wikidata's English label for the patterns that were found wrong in 1.0.0 (a name cut short, an adjective for a name, marks stripped, a name swapped with a neighbour's, an old place's name on a reused code); 32 are corrected by hand, with their reasons, in the same file. Where ISO 3166-2 has changed since CLDR's release (Norway's counties of 2024), the codes follow ISO.
266
388
 
267
389
  ## Accessibility
268
390
 
@@ -271,6 +393,7 @@ Kuni draws nothing: it gives a page names, codes and readings, so what it can do
271
393
  - **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
394
  - **Forgiving search.** A person who types in kana, in full-width letters or without accents still finds the place.
273
395
  - **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.
396
+ - **In the demo's views**, the country page's outline has a label naming the country, every table has column headers (the table of every country sorts from its headers, which are buttons and say which way they sort), a quiz's answer is said in words as well as colour, and the time in each zone is text, not a moving picture.
274
397
  - **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
398
  - **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
399
 
@@ -290,7 +413,10 @@ Not here yet, and each welcome as an [issue](https://github.com/johnmorrisdotca/
290
413
  - Each subdivision's name in its own language and script (Wikidata P1705).
291
414
  - The Japanese names CLDR and Wikidata both lack (listed in [docs/ja-gaps.md](./docs/ja-gaps.md)), when a source has them.
292
415
 
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.
416
+ - Flags as pictures. `flag` is an emoji, which Windows draws as two letters; a flags package of the family (Hata, 旗) is being made, and a page can swap the emoji for its picture by the same alpha-2 code.
417
+ - La Francophonie among the groupings, once its tiers and its 2025 withdrawals can be checked against its own list.
418
+
419
+ Left out on purpose: geometry (see [Chizu](https://github.com/johnmorrisdotca/chizu), which draws the outlines), and any data under a share-alike or GPL licence.
294
420
 
295
421
  ## Architecture
296
422
 
@@ -300,25 +426,33 @@ src/
300
426
  ├── codes.ts the "/codes" entry: the codes alone
301
427
  ├── subdivisions.ts the "/subdivisions" entry: every subdivision and its lookups
302
428
  ├── load.ts the "/load" entry: one country's subdivisions by dynamic import
429
+ ├── facts.ts the "/facts" entry: population, area, coordinates, borders and conventions
430
+ ├── subdivision-facts.ts the "/subdivision-facts" entry: one country's subdivision facts by dynamic import
431
+ ├── groupings.ts the "/groupings" entry: continents, UN M49, bodies, informal groupings, regions
303
432
  ├── fold.ts folding what somebody typed: case, accents, width, kana
304
433
  ├── rows.ts turning the data's compact rows into objects
305
434
  ├── types.ts the shapes of a country and a subdivision, and the kinds of place
306
435
  ├── 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
436
+ ├── data/ written by scripts/build-data.ts: countries, codes, facts, groupings, and files per country
437
+ ├── subdivisions/ written by scripts/build-data.ts: the "/subdivisions/<code>" entries
438
+ └── subdivision-facts/ written by scripts/build-data.ts: the "/subdivision-facts/<code>" entries
309
439
  ```
310
440
 
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.
441
+ `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`, `scripts/facts-config.ts` and `scripts/groupings-config.ts` hold the few things written by hand, each with its reason; `scripts/facts.ts`, `scripts/subdivision-facts.ts` and `scripts/groupings.ts` apply the rules written at their tops. 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
442
 
313
443
  ## Data and licences
314
444
 
315
445
  | What | From | Licence |
316
446
  | --- | --- | --- |
317
- | Country names, short and variant forms, codes, currencies, continents and subregions | Unicode CLDR 48.2 (`cldr-core`, `cldr-localenames-full`) | Unicode-3.0 |
447
+ | Country names, short and variant forms, codes, currencies, continents (UN M49) and subregions | Unicode CLDR 48.2 (`cldr-core`, `cldr-localenames-full`) | Unicode-3.0 |
318
448
  | Subdivision codes, names, levels and parents | Unicode CLDR 48.2 (`common/subdivisions`, validity and containment) | Unicode-3.0 |
319
449
  | 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 |
450
+ | Own names, capitals, languages | countries-list 3.4.1 | MIT |
321
451
  | Time zones and top-level domains | IANA tzdb 2026e `zone.tab`, IANA's TLD list | Public domain; a list of facts |
452
+ | Capitals in Japanese, coordinates, population, area, driving side, borders, subdivisions' capitals and figures, and the dates members joined bodies | Wikidata, a snapshot of 2026-10-09 (`data-sources/wikidata-facts-2026-10-09.json`) | CC0 |
453
+ | Land borders, confirmed | Natural Earth 5.1.2 admin-0 at 1:50m, as drawn by Chizu 1.0.2 (a development dependency of the build, never of the package) | Public domain (Natural Earth); MIT (Chizu) |
454
+ | First day of the week, measurement system, paper size, clock; UN M49; the UN's members | Unicode CLDR 48.2 (`cldr-core`) | Unicode-3.0 |
455
+ | The bodies' members, the informal groupings and the regions inside a country | written for this package from each body's own list, on 2026-10-09 (`scripts/groupings-config.ts`) | MIT; lists of facts |
322
456
  | Aliases, a few readings and 46 corrected Japanese subdivision names | written for this package | MIT |
323
457
 
324
458
  [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.
@@ -380,6 +514,7 @@ pnpm test:demo # build the demo and play it in a real browser, at a p
380
514
  pnpm site # build the demo into site/, as the Pages workflow publishes it
381
515
  pnpm screenshots:readme # take the README's pictures from the built demo, in light and dark
382
516
  pnpm data # rebuild src/data/ from data-sources/ (no network)
517
+ pnpm data:facts # a new Wikidata snapshot of the facts and the dates (network)
383
518
  pnpm data:report # the coverage, and docs/ja-gaps.md
384
519
  pnpm docs:make # rewrite docs/strings-ja.md after changing a word of the demo
385
520
  ```
@@ -390,8 +525,8 @@ See [CONTRIBUTING.md](./CONTRIBUTING.md); the commands are under [Development](#
390
525
 
391
526
  ## Changes
392
527
 
393
- See [CHANGELOG.md](./CHANGELOG.md). The first version is 1.0.0.
528
+ See [CHANGELOG.md](./CHANGELOG.md). The latest release, 1.1.0, adds country and subdivision facts, 107 groupings, corrected names and continents, documentation on every export, and a demo with a country page, compare, a table, quizzes and a form widget.
394
529
 
395
530
  ## Licence
396
531
 
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.
532
+ MIT, © John Morris. The data is made from Unicode CLDR (Unicode-3.0), Wikidata (CC0), countries-list (MIT), IANA (public domain) and, for confirming land borders, Natural Earth (public domain), credited with their terms in [NOTICE.md](./NOTICE.md), which ships with the package.
package/dist/codes.d.cts CHANGED
@@ -1,6 +1,33 @@
1
+ /**
2
+ * The 250 country codes: the 249 ISO 3166-1 alpha-2 codes and XK for Kosovo, in alphabetical order.
3
+ *
4
+ * @example
5
+ * ```ts
6
+ * import { COUNTRY_CODES } from "@johnmorrisdotca/kuni/codes";
7
+ *
8
+ * COUNTRY_CODES.length; // 250
9
+ * COUNTRY_CODES[0]; // "AD"
10
+ * ```
11
+ */
1
12
  declare const COUNTRY_CODES: readonly ["AD", "AE", "AF", "AG", "AI", "AL", "AM", "AO", "AQ", "AR", "AS", "AT", "AU", "AW", "AX", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BL", "BM", "BN", "BO", "BQ", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA", "CC", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CU", "CV", "CW", "CX", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "EH", "ER", "ES", "ET", "FI", "FJ", "FK", "FM", "FO", "FR", "GA", "GB", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", "GU", "GW", "GY", "HK", "HM", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IM", "IN", "IO", "IQ", "IR", "IS", "IT", "JE", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KP", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MF", "MG", "MH", "MK", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", "PW", "PY", "QA", "RE", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", "SR", "SS", "ST", "SV", "SX", "SY", "SZ", "TC", "TD", "TF", "TG", "TH", "TJ", "TK", "TL", "TM", "TN", "TO", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "UM", "US", "UY", "UZ", "VA", "VC", "VE", "VG", "VI", "VN", "VU", "WF", "WS", "XK", "YE", "YT", "ZA", "ZM", "ZW"];
13
+ /** One of the 250 country codes, as a type: "JP" | "US" | ... */
2
14
  type CountryCode = (typeof COUNTRY_CODES)[number];
3
15
 
16
+ /**
17
+ * Whether a value is one of the 250 codes exactly as ISO writes it: two capital letters ("JP", and "XK" for
18
+ * Kosovo). Lower case is not a code here; `country()` in the main entry is the forgiving one.
19
+ *
20
+ * @param value - Anything.
21
+ * @returns True for one of the 250 codes; false for anything else, a lower-case code included.
22
+ * @example
23
+ * ```ts
24
+ * import { isCountryCode } from "@johnmorrisdotca/kuni/codes";
25
+ *
26
+ * isCountryCode("JP"); // true
27
+ * isCountryCode("jp"); // false
28
+ * isCountryCode("XX"); // false
29
+ * ```
30
+ */
4
31
  declare const isCountryCode: (value: unknown) => value is CountryCode;
5
32
 
6
33
  export { COUNTRY_CODES, type CountryCode, isCountryCode };
package/dist/codes.d.ts CHANGED
@@ -1,6 +1,33 @@
1
+ /**
2
+ * The 250 country codes: the 249 ISO 3166-1 alpha-2 codes and XK for Kosovo, in alphabetical order.
3
+ *
4
+ * @example
5
+ * ```ts
6
+ * import { COUNTRY_CODES } from "@johnmorrisdotca/kuni/codes";
7
+ *
8
+ * COUNTRY_CODES.length; // 250
9
+ * COUNTRY_CODES[0]; // "AD"
10
+ * ```
11
+ */
1
12
  declare const COUNTRY_CODES: readonly ["AD", "AE", "AF", "AG", "AI", "AL", "AM", "AO", "AQ", "AR", "AS", "AT", "AU", "AW", "AX", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BL", "BM", "BN", "BO", "BQ", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA", "CC", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CU", "CV", "CW", "CX", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "EH", "ER", "ES", "ET", "FI", "FJ", "FK", "FM", "FO", "FR", "GA", "GB", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", "GU", "GW", "GY", "HK", "HM", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IM", "IN", "IO", "IQ", "IR", "IS", "IT", "JE", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KP", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MF", "MG", "MH", "MK", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", "PW", "PY", "QA", "RE", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", "SR", "SS", "ST", "SV", "SX", "SY", "SZ", "TC", "TD", "TF", "TG", "TH", "TJ", "TK", "TL", "TM", "TN", "TO", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "UM", "US", "UY", "UZ", "VA", "VC", "VE", "VG", "VI", "VN", "VU", "WF", "WS", "XK", "YE", "YT", "ZA", "ZM", "ZW"];
13
+ /** One of the 250 country codes, as a type: "JP" | "US" | ... */
2
14
  type CountryCode = (typeof COUNTRY_CODES)[number];
3
15
 
16
+ /**
17
+ * Whether a value is one of the 250 codes exactly as ISO writes it: two capital letters ("JP", and "XK" for
18
+ * Kosovo). Lower case is not a code here; `country()` in the main entry is the forgiving one.
19
+ *
20
+ * @param value - Anything.
21
+ * @returns True for one of the 250 codes; false for anything else, a lower-case code included.
22
+ * @example
23
+ * ```ts
24
+ * import { isCountryCode } from "@johnmorrisdotca/kuni/codes";
25
+ *
26
+ * isCountryCode("JP"); // true
27
+ * isCountryCode("jp"); // false
28
+ * isCountryCode("XX"); // false
29
+ * ```
30
+ */
4
31
  declare const isCountryCode: (value: unknown) => value is CountryCode;
5
32
 
6
33
  export { COUNTRY_CODES, type CountryCode, isCountryCode };