@fgv/ts-bcp47 0.5.1 → 0.5.3

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 (413) hide show
  1. package/{src/bcp47 → bcp47}/bcp47Subtags/converters.d.ts +0 -0
  2. package/bcp47/bcp47Subtags/converters.d.ts.map +1 -0
  3. package/{src/bcp47 → bcp47}/bcp47Subtags/converters.js +1 -1
  4. package/{src/bcp47 → bcp47}/bcp47Subtags/index.d.ts +0 -0
  5. package/bcp47/bcp47Subtags/index.d.ts.map +1 -0
  6. package/{src/iana/jar/language-subtags/converters.js → bcp47/bcp47Subtags/index.js} +8 -6
  7. package/{src/bcp47 → bcp47}/bcp47Subtags/model.d.ts +0 -0
  8. package/bcp47/bcp47Subtags/model.d.ts.map +1 -0
  9. package/{src/bcp47/overrides → bcp47/bcp47Subtags}/model.js +1 -1
  10. package/{src/bcp47 → bcp47}/bcp47Subtags/validate.d.ts +0 -0
  11. package/bcp47/bcp47Subtags/validate.d.ts.map +1 -0
  12. package/bcp47/bcp47Subtags/validate.js +74 -0
  13. package/{src/bcp47 → bcp47}/common.d.ts +0 -0
  14. package/bcp47/common.d.ts.map +1 -0
  15. package/bcp47/common.js +59 -0
  16. package/{src/bcp47 → bcp47}/helpers.d.ts +0 -0
  17. package/bcp47/helpers.d.ts.map +1 -0
  18. package/bcp47/helpers.js +103 -0
  19. package/{src/bcp47 → bcp47}/index.d.ts +0 -0
  20. package/bcp47/index.d.ts.map +1 -0
  21. package/bcp47/index.js +27 -0
  22. package/bcp47/languageRegistryData.d.ts +88 -0
  23. package/bcp47/languageRegistryData.d.ts.map +1 -0
  24. package/bcp47/languageRegistryData.js +144 -0
  25. package/{src/bcp47 → bcp47}/languageTag.d.ts +6 -0
  26. package/bcp47/languageTag.d.ts.map +1 -0
  27. package/bcp47/languageTag.js +344 -0
  28. package/{src/bcp47 → bcp47}/languageTagParser.d.ts +0 -0
  29. package/bcp47/languageTagParser.d.ts.map +1 -0
  30. package/bcp47/languageTagParser.js +310 -0
  31. package/{src/bcp47 → bcp47}/match/chooser.d.ts +1 -1
  32. package/bcp47/match/chooser.d.ts.map +1 -0
  33. package/bcp47/match/chooser.js +92 -0
  34. package/{src/bcp47 → bcp47}/match/common.d.ts +0 -0
  35. package/bcp47/match/common.d.ts.map +1 -0
  36. package/bcp47/match/common.js +42 -0
  37. package/{src/bcp47 → bcp47}/match/index.d.ts +0 -0
  38. package/bcp47/match/index.d.ts.map +1 -0
  39. package/{src/iana/jar/language-subtags/registry/converters.js → bcp47/match/index.js} +10 -23
  40. package/{src/bcp47 → bcp47}/match/similarity.d.ts +0 -0
  41. package/bcp47/match/similarity.d.ts.map +1 -0
  42. package/bcp47/match/similarity.js +230 -0
  43. package/{src/bcp47 → bcp47}/normalization/baseNormalizer.d.ts +0 -0
  44. package/bcp47/normalization/baseNormalizer.d.ts.map +1 -0
  45. package/bcp47/normalization/baseNormalizer.js +114 -0
  46. package/{src/bcp47 → bcp47}/normalization/canonicalNormalizer.d.ts +0 -0
  47. package/bcp47/normalization/canonicalNormalizer.d.ts.map +1 -0
  48. package/bcp47/normalization/canonicalNormalizer.js +110 -0
  49. package/{src/bcp47 → bcp47}/normalization/common.d.ts +0 -0
  50. package/bcp47/normalization/common.d.ts.map +1 -0
  51. package/bcp47/normalization/common.js +82 -0
  52. package/{src/bcp47 → bcp47}/normalization/index.d.ts +0 -0
  53. package/bcp47/normalization/index.d.ts.map +1 -0
  54. package/{src/bcp47 → bcp47}/normalization/index.js +1 -1
  55. package/{src/bcp47 → bcp47}/normalization/normalizeTag.d.ts +0 -0
  56. package/bcp47/normalization/normalizeTag.d.ts.map +1 -0
  57. package/bcp47/normalization/normalizeTag.js +105 -0
  58. package/{src/bcp47 → bcp47}/normalization/preferredTagNormalizer.d.ts +0 -0
  59. package/bcp47/normalization/preferredTagNormalizer.d.ts.map +1 -0
  60. package/bcp47/normalization/preferredTagNormalizer.js +178 -0
  61. package/{src/bcp47 → bcp47}/overrides/converters.d.ts +0 -0
  62. package/bcp47/overrides/converters.d.ts.map +1 -0
  63. package/bcp47/overrides/converters.js +75 -0
  64. package/{src/bcp47 → bcp47}/overrides/defaultRegistries.d.ts +0 -0
  65. package/bcp47/overrides/defaultRegistries.d.ts.map +1 -0
  66. package/bcp47/overrides/defaultRegistries.js +42 -0
  67. package/{src/bcp47 → bcp47}/overrides/index.d.ts +0 -0
  68. package/bcp47/overrides/index.d.ts.map +1 -0
  69. package/bcp47/overrides/index.js +30 -0
  70. package/{src/bcp47 → bcp47}/overrides/model.d.ts +0 -0
  71. package/bcp47/overrides/model.d.ts.map +1 -0
  72. package/bcp47/overrides/model.js +24 -0
  73. package/{src/bcp47 → bcp47}/overrides/overridesRegistry.d.ts +0 -0
  74. package/bcp47/overrides/overridesRegistry.d.ts.map +1 -0
  75. package/bcp47/overrides/overridesRegistry.js +112 -0
  76. package/{src/bcp47 → bcp47}/validation/baseValidator.d.ts +0 -0
  77. package/bcp47/validation/baseValidator.d.ts.map +1 -0
  78. package/bcp47/validation/baseValidator.js +111 -0
  79. package/{src/bcp47 → bcp47}/validation/common.d.ts +0 -0
  80. package/bcp47/validation/common.d.ts.map +1 -0
  81. package/bcp47/validation/common.js +84 -0
  82. package/{src/bcp47 → bcp47}/validation/index.d.ts +0 -0
  83. package/bcp47/validation/index.d.ts.map +1 -0
  84. package/{src/iana/jar/language-subtags → bcp47/validation}/index.js +14 -17
  85. package/{src/bcp47 → bcp47}/validation/isCanonical.d.ts +0 -0
  86. package/bcp47/validation/isCanonical.d.ts.map +1 -0
  87. package/bcp47/validation/isCanonical.js +101 -0
  88. package/{src/bcp47 → bcp47}/validation/isInPreferredForm.d.ts +0 -0
  89. package/bcp47/validation/isInPreferredForm.d.ts.map +1 -0
  90. package/bcp47/validation/isInPreferredForm.js +73 -0
  91. package/{src/bcp47 → bcp47}/validation/isStrictlyValid.d.ts +0 -0
  92. package/bcp47/validation/isStrictlyValid.d.ts.map +1 -0
  93. package/bcp47/validation/isStrictlyValid.js +98 -0
  94. package/{src/bcp47 → bcp47}/validation/isValid.d.ts +0 -0
  95. package/bcp47/validation/isValid.d.ts.map +1 -0
  96. package/bcp47/validation/isValid.js +115 -0
  97. package/{src/bcp47 → bcp47}/validation/isWellFormed.d.ts +0 -0
  98. package/bcp47/validation/isWellFormed.d.ts.map +1 -0
  99. package/bcp47/validation/isWellFormed.js +98 -0
  100. package/{src/bcp47 → bcp47}/validation/validateTag.d.ts +0 -0
  101. package/bcp47/validation/validateTag.d.ts.map +1 -0
  102. package/bcp47/validation/validateTag.js +159 -0
  103. package/{src/iana → iana}/common/converters.d.ts +0 -0
  104. package/iana/common/converters.d.ts.map +1 -0
  105. package/iana/common/converters.js +84 -0
  106. package/{src/iana → iana}/common/model.d.ts +0 -0
  107. package/iana/common/model.d.ts.map +1 -0
  108. package/{src/unsd/csv → iana/common}/model.js +1 -1
  109. package/{src/iana → iana}/common/registeredItems.d.ts +0 -0
  110. package/iana/common/registeredItems.d.ts.map +1 -0
  111. package/iana/common/registeredItems.js +124 -0
  112. package/{src/iana → iana}/common/utils.d.ts +0 -0
  113. package/iana/common/utils.d.ts.map +1 -0
  114. package/iana/common/utils.js +34 -0
  115. package/{src/iana → iana}/common/validate.d.ts +0 -0
  116. package/iana/common/validate.d.ts.map +1 -0
  117. package/iana/common/validate.js +61 -0
  118. package/{src/iana → iana}/converters.d.ts +0 -0
  119. package/iana/converters.d.ts.map +1 -0
  120. package/{src/iana/jar/model.js → iana/converters.js} +8 -8
  121. package/{src/iana → iana}/defaultRegistries.d.ts +0 -0
  122. package/iana/defaultRegistries.d.ts.map +1 -0
  123. package/iana/defaultRegistries.js +42 -0
  124. package/{src/iana → iana}/index.d.ts +0 -0
  125. package/iana/index.d.ts.map +1 -0
  126. package/{src/iana → iana}/index.js +1 -1
  127. package/{src/iana → iana}/jar/converters.d.ts +0 -0
  128. package/iana/jar/converters.d.ts.map +1 -0
  129. package/{src/iana → iana}/jar/converters.js +1 -1
  130. package/{src/iana → iana}/jar/index.d.ts +0 -0
  131. package/iana/jar/index.d.ts.map +1 -0
  132. package/{src/iana/jar/language-subtags/tags → iana/jar}/index.js +4 -8
  133. package/{src/iana → iana}/jar/jarConverters.d.ts +0 -0
  134. package/iana/jar/jarConverters.d.ts.map +1 -0
  135. package/iana/jar/jarConverters.js +85 -0
  136. package/{src/iana → iana}/jar/jarModel.d.ts +0 -0
  137. package/iana/jar/jarModel.d.ts.map +1 -0
  138. package/{src/iana/common/model.js → iana/jar/jarModel.js} +1 -1
  139. package/{src/iana → iana}/jar/language-subtags/converters.d.ts +0 -0
  140. package/iana/jar/language-subtags/converters.d.ts.map +1 -0
  141. package/{src/iana/jar/language-subtags/model.js → iana/jar/language-subtags/converters.js} +3 -3
  142. package/{src/iana → iana}/jar/language-subtags/index.d.ts +0 -0
  143. package/iana/jar/language-subtags/index.d.ts.map +1 -0
  144. package/{src/utils → iana/jar/language-subtags}/index.js +18 -4
  145. package/{src/iana → iana}/jar/language-subtags/model.d.ts +0 -0
  146. package/iana/jar/language-subtags/model.d.ts.map +1 -0
  147. package/{src/unsd/common.js → iana/jar/language-subtags/model.js} +29 -1
  148. package/{src/iana → iana}/jar/language-subtags/registry/converters.d.ts +0 -0
  149. package/iana/jar/language-subtags/registry/converters.d.ts.map +1 -0
  150. package/{src/iana/language-subtags/common.js → iana/jar/language-subtags/registry/converters.js} +35 -1
  151. package/{src/iana → iana}/jar/language-subtags/registry/index.d.ts +0 -0
  152. package/iana/jar/language-subtags/registry/index.d.ts.map +1 -0
  153. package/{src/bcp47/bcp47Subtags → iana/jar/language-subtags/registry}/index.js +28 -27
  154. package/{src/iana → iana}/jar/language-subtags/registry/model.d.ts +0 -0
  155. package/iana/jar/language-subtags/registry/model.d.ts.map +1 -0
  156. package/iana/jar/language-subtags/registry/model.js +41 -0
  157. package/{src/iana → iana}/jar/language-subtags/tags/converters.d.ts +0 -0
  158. package/iana/jar/language-subtags/tags/converters.d.ts.map +1 -0
  159. package/iana/jar/language-subtags/tags/converters.js +128 -0
  160. package/{src/iana → iana}/jar/language-subtags/tags/index.d.ts +0 -0
  161. package/iana/jar/language-subtags/tags/index.d.ts.map +1 -0
  162. package/{src/iana/converters.js → iana/jar/language-subtags/tags/index.js} +10 -8
  163. package/{src/iana → iana}/jar/language-subtags/tags/model.d.ts +0 -0
  164. package/iana/jar/language-subtags/tags/model.d.ts.map +1 -0
  165. package/{src/unsd/csv/index.js → iana/jar/language-subtags/tags/model.js} +1 -29
  166. package/{src/iana → iana}/jar/language-subtags/tags/tagValidation.d.ts +0 -0
  167. package/iana/jar/language-subtags/tags/tagValidation.d.ts.map +1 -0
  168. package/iana/jar/language-subtags/tags/tagValidation.js +70 -0
  169. package/{src/iana → iana}/jar/language-subtags/tags/validate.d.ts +0 -0
  170. package/iana/jar/language-subtags/tags/validate.d.ts.map +1 -0
  171. package/iana/jar/language-subtags/tags/validate.js +87 -0
  172. package/{src/iana → iana}/jar/model.d.ts +0 -0
  173. package/iana/jar/model.d.ts.map +1 -0
  174. package/{src/iana/jar/language-subtags/registry/index.js → iana/jar/model.js} +26 -27
  175. package/{src/iana → iana}/language-subtags/common.d.ts +0 -0
  176. package/iana/language-subtags/common.d.ts.map +1 -0
  177. package/iana/language-subtags/common.js +24 -0
  178. package/{src/iana → iana}/language-subtags/converters.d.ts +0 -0
  179. package/iana/language-subtags/converters.d.ts.map +1 -0
  180. package/iana/language-subtags/converters.js +200 -0
  181. package/{src/iana → iana}/language-subtags/index.d.ts +0 -0
  182. package/iana/language-subtags/index.d.ts.map +1 -0
  183. package/{src/iana → iana}/language-subtags/index.js +1 -1
  184. package/{src/iana → iana}/language-subtags/jarConverters.d.ts +12 -12
  185. package/iana/language-subtags/jarConverters.d.ts.map +1 -0
  186. package/iana/language-subtags/jarConverters.js +213 -0
  187. package/{src/iana → iana}/language-subtags/model.d.ts +0 -0
  188. package/iana/language-subtags/model.d.ts.map +1 -0
  189. package/iana/language-subtags/model.js +24 -0
  190. package/{src/iana → iana}/language-subtags/scope.d.ts +0 -0
  191. package/iana/language-subtags/scope.d.ts.map +1 -0
  192. package/iana/language-subtags/scope.js +179 -0
  193. package/{src/iana → iana}/language-subtags/subtagRegistry.d.ts +0 -0
  194. package/iana/language-subtags/subtagRegistry.d.ts.map +1 -0
  195. package/iana/language-subtags/subtagRegistry.js +149 -0
  196. package/{src/iana → iana}/language-subtags/validate.d.ts +0 -0
  197. package/iana/language-subtags/validate.d.ts.map +1 -0
  198. package/{src/iana → iana}/language-subtags/validate.js +1 -1
  199. package/{src/iana → iana}/language-tag-extensions/converters.d.ts +0 -0
  200. package/iana/language-tag-extensions/converters.d.ts.map +1 -0
  201. package/iana/language-tag-extensions/converters.js +87 -0
  202. package/{src/iana → iana}/language-tag-extensions/extensionsRegistry.d.ts +0 -0
  203. package/iana/language-tag-extensions/extensionsRegistry.d.ts.map +1 -0
  204. package/iana/language-tag-extensions/extensionsRegistry.js +104 -0
  205. package/{src/iana → iana}/language-tag-extensions/extensionsScope.d.ts +0 -0
  206. package/iana/language-tag-extensions/extensionsScope.d.ts.map +1 -0
  207. package/iana/language-tag-extensions/extensionsScope.js +77 -0
  208. package/{src/iana → iana}/language-tag-extensions/index.d.ts +0 -0
  209. package/iana/language-tag-extensions/index.d.ts.map +1 -0
  210. package/{src/iana → iana}/language-tag-extensions/index.js +1 -1
  211. package/{src/iana → iana}/language-tag-extensions/jarConverters.d.ts +0 -0
  212. package/iana/language-tag-extensions/jarConverters.d.ts.map +1 -0
  213. package/iana/language-tag-extensions/jarConverters.js +102 -0
  214. package/{src/iana → iana}/language-tag-extensions/model.d.ts +0 -0
  215. package/iana/language-tag-extensions/model.d.ts.map +1 -0
  216. package/{src/bcp47/overrides/defaultRegistries.js → iana/language-tag-extensions/model.js} +1 -19
  217. package/{src/iana → iana}/language-tag-extensions/validate.d.ts +0 -0
  218. package/iana/language-tag-extensions/validate.d.ts.map +1 -0
  219. package/iana/language-tag-extensions/validate.js +36 -0
  220. package/{src/iana → iana}/languageRegistries.d.ts +0 -0
  221. package/iana/languageRegistries.d.ts.map +1 -0
  222. package/iana/languageRegistries.js +56 -0
  223. package/{src/iana → iana}/model.d.ts +0 -0
  224. package/iana/model.d.ts.map +1 -0
  225. package/{src/iana → iana}/model.js +1 -1
  226. package/{src/iana → iana}/validate.d.ts +0 -0
  227. package/iana/validate.d.ts.map +1 -0
  228. package/{src/iana → iana}/validate.js +1 -1
  229. package/{src/index.d.ts → index.d.ts} +0 -0
  230. package/index.d.ts.map +1 -0
  231. package/{src/index.js → index.js} +1 -1
  232. package/package.json +1 -1
  233. package/{src/unsd → unsd}/areas.d.ts +0 -0
  234. package/unsd/areas.d.ts.map +1 -0
  235. package/unsd/areas.js +96 -0
  236. package/{src/unsd → unsd}/common.d.ts +0 -0
  237. package/unsd/common.d.ts.map +1 -0
  238. package/unsd/common.js +24 -0
  239. package/{src/unsd → unsd}/csv/converters.d.ts +0 -0
  240. package/unsd/csv/converters.d.ts.map +1 -0
  241. package/unsd/csv/converters.js +70 -0
  242. package/{src/unsd → unsd}/csv/index.d.ts +0 -0
  243. package/unsd/csv/index.d.ts.map +1 -0
  244. package/{src/iana/jar → unsd/csv}/index.js +1 -1
  245. package/{src/unsd → unsd}/csv/model.d.ts +0 -0
  246. package/unsd/csv/model.d.ts.map +1 -0
  247. package/{src/unsd/index.js → unsd/csv/model.js} +1 -21
  248. package/{src/unsd → unsd}/defaultRegistries.d.ts +0 -0
  249. package/unsd/defaultRegistries.d.ts.map +1 -0
  250. package/unsd/defaultRegistries.js +42 -0
  251. package/{src/unsd → unsd}/index.d.ts +0 -0
  252. package/unsd/index.d.ts.map +1 -0
  253. package/unsd/index.js +44 -0
  254. package/{src/unsd → unsd}/regionCodes.d.ts +0 -0
  255. package/unsd/regionCodes.d.ts.map +1 -0
  256. package/unsd/regionCodes.js +121 -0
  257. package/{src/unsd → unsd}/regions.d.ts +0 -0
  258. package/unsd/regions.d.ts.map +1 -0
  259. package/unsd/regions.js +77 -0
  260. package/{src/utils → utils}/index.d.ts +0 -0
  261. package/utils/index.d.ts.map +1 -0
  262. package/{src/utils/jsonHelpers.js → utils/index.js} +17 -6
  263. package/{src/utils → utils}/jsonHelpers.d.ts +0 -0
  264. package/utils/jsonHelpers.d.ts.map +1 -0
  265. package/{src/iana/jar/language-subtags/tags/model.js → utils/jsonHelpers.js} +7 -2
  266. package/{src/utils → utils}/validationHelpers.d.ts +0 -0
  267. package/utils/validationHelpers.d.ts.map +1 -0
  268. package/utils/validationHelpers.js +88 -0
  269. package/src/bcp47/bcp47Subtags/converters.d.ts.map +0 -1
  270. package/src/bcp47/bcp47Subtags/index.d.ts.map +0 -1
  271. package/src/bcp47/bcp47Subtags/model.d.ts.map +0 -1
  272. package/src/bcp47/bcp47Subtags/model.js +0 -24
  273. package/src/bcp47/bcp47Subtags/validate.d.ts.map +0 -1
  274. package/src/bcp47/bcp47Subtags/validate.js +0 -74
  275. package/src/bcp47/common.d.ts.map +0 -1
  276. package/src/bcp47/common.js +0 -59
  277. package/src/bcp47/helpers.d.ts.map +0 -1
  278. package/src/bcp47/helpers.js +0 -103
  279. package/src/bcp47/index.d.ts.map +0 -1
  280. package/src/bcp47/index.js +0 -27
  281. package/src/bcp47/languageTag.d.ts.map +0 -1
  282. package/src/bcp47/languageTag.js +0 -342
  283. package/src/bcp47/languageTagParser.d.ts.map +0 -1
  284. package/src/bcp47/languageTagParser.js +0 -310
  285. package/src/bcp47/match/chooser.d.ts.map +0 -1
  286. package/src/bcp47/match/chooser.js +0 -92
  287. package/src/bcp47/match/common.d.ts.map +0 -1
  288. package/src/bcp47/match/common.js +0 -42
  289. package/src/bcp47/match/index.d.ts.map +0 -1
  290. package/src/bcp47/match/index.js +0 -45
  291. package/src/bcp47/match/similarity.d.ts.map +0 -1
  292. package/src/bcp47/match/similarity.js +0 -230
  293. package/src/bcp47/normalization/baseNormalizer.d.ts.map +0 -1
  294. package/src/bcp47/normalization/baseNormalizer.js +0 -114
  295. package/src/bcp47/normalization/canonicalNormalizer.d.ts.map +0 -1
  296. package/src/bcp47/normalization/canonicalNormalizer.js +0 -110
  297. package/src/bcp47/normalization/common.d.ts.map +0 -1
  298. package/src/bcp47/normalization/common.js +0 -82
  299. package/src/bcp47/normalization/index.d.ts.map +0 -1
  300. package/src/bcp47/normalization/normalizeTag.d.ts.map +0 -1
  301. package/src/bcp47/normalization/normalizeTag.js +0 -105
  302. package/src/bcp47/normalization/preferredTagNormalizer.d.ts.map +0 -1
  303. package/src/bcp47/normalization/preferredTagNormalizer.js +0 -178
  304. package/src/bcp47/overrides/converters.d.ts.map +0 -1
  305. package/src/bcp47/overrides/converters.js +0 -75
  306. package/src/bcp47/overrides/defaultRegistries.d.ts.map +0 -1
  307. package/src/bcp47/overrides/index.d.ts.map +0 -1
  308. package/src/bcp47/overrides/index.js +0 -30
  309. package/src/bcp47/overrides/model.d.ts.map +0 -1
  310. package/src/bcp47/overrides/overridesRegistry.d.ts.map +0 -1
  311. package/src/bcp47/overrides/overridesRegistry.js +0 -112
  312. package/src/bcp47/validation/baseValidator.d.ts.map +0 -1
  313. package/src/bcp47/validation/baseValidator.js +0 -111
  314. package/src/bcp47/validation/common.d.ts.map +0 -1
  315. package/src/bcp47/validation/common.js +0 -84
  316. package/src/bcp47/validation/index.d.ts.map +0 -1
  317. package/src/bcp47/validation/index.js +0 -51
  318. package/src/bcp47/validation/isCanonical.d.ts.map +0 -1
  319. package/src/bcp47/validation/isCanonical.js +0 -101
  320. package/src/bcp47/validation/isInPreferredForm.d.ts.map +0 -1
  321. package/src/bcp47/validation/isInPreferredForm.js +0 -73
  322. package/src/bcp47/validation/isStrictlyValid.d.ts.map +0 -1
  323. package/src/bcp47/validation/isStrictlyValid.js +0 -98
  324. package/src/bcp47/validation/isValid.d.ts.map +0 -1
  325. package/src/bcp47/validation/isValid.js +0 -115
  326. package/src/bcp47/validation/isWellFormed.d.ts.map +0 -1
  327. package/src/bcp47/validation/isWellFormed.js +0 -98
  328. package/src/bcp47/validation/validateTag.d.ts.map +0 -1
  329. package/src/bcp47/validation/validateTag.js +0 -159
  330. package/src/iana/common/converters.d.ts.map +0 -1
  331. package/src/iana/common/converters.js +0 -84
  332. package/src/iana/common/model.d.ts.map +0 -1
  333. package/src/iana/common/registeredItems.d.ts.map +0 -1
  334. package/src/iana/common/registeredItems.js +0 -124
  335. package/src/iana/common/utils.d.ts.map +0 -1
  336. package/src/iana/common/utils.js +0 -34
  337. package/src/iana/common/validate.d.ts.map +0 -1
  338. package/src/iana/common/validate.js +0 -61
  339. package/src/iana/converters.d.ts.map +0 -1
  340. package/src/iana/defaultRegistries.d.ts.map +0 -1
  341. package/src/iana/defaultRegistries.js +0 -42
  342. package/src/iana/index.d.ts.map +0 -1
  343. package/src/iana/jar/converters.d.ts.map +0 -1
  344. package/src/iana/jar/index.d.ts.map +0 -1
  345. package/src/iana/jar/jarConverters.d.ts.map +0 -1
  346. package/src/iana/jar/jarConverters.js +0 -85
  347. package/src/iana/jar/jarModel.d.ts.map +0 -1
  348. package/src/iana/jar/jarModel.js +0 -24
  349. package/src/iana/jar/language-subtags/converters.d.ts.map +0 -1
  350. package/src/iana/jar/language-subtags/index.d.ts.map +0 -1
  351. package/src/iana/jar/language-subtags/model.d.ts.map +0 -1
  352. package/src/iana/jar/language-subtags/registry/converters.d.ts.map +0 -1
  353. package/src/iana/jar/language-subtags/registry/index.d.ts.map +0 -1
  354. package/src/iana/jar/language-subtags/registry/model.d.ts.map +0 -1
  355. package/src/iana/jar/language-subtags/registry/model.js +0 -41
  356. package/src/iana/jar/language-subtags/tags/converters.d.ts.map +0 -1
  357. package/src/iana/jar/language-subtags/tags/converters.js +0 -128
  358. package/src/iana/jar/language-subtags/tags/index.d.ts.map +0 -1
  359. package/src/iana/jar/language-subtags/tags/model.d.ts.map +0 -1
  360. package/src/iana/jar/language-subtags/tags/tagValidation.d.ts.map +0 -1
  361. package/src/iana/jar/language-subtags/tags/tagValidation.js +0 -70
  362. package/src/iana/jar/language-subtags/tags/validate.d.ts.map +0 -1
  363. package/src/iana/jar/language-subtags/tags/validate.js +0 -87
  364. package/src/iana/jar/model.d.ts.map +0 -1
  365. package/src/iana/language-subtags/common.d.ts.map +0 -1
  366. package/src/iana/language-subtags/converters.d.ts.map +0 -1
  367. package/src/iana/language-subtags/converters.js +0 -200
  368. package/src/iana/language-subtags/index.d.ts.map +0 -1
  369. package/src/iana/language-subtags/jarConverters.d.ts.map +0 -1
  370. package/src/iana/language-subtags/jarConverters.js +0 -213
  371. package/src/iana/language-subtags/model.d.ts.map +0 -1
  372. package/src/iana/language-subtags/model.js +0 -24
  373. package/src/iana/language-subtags/scope.d.ts.map +0 -1
  374. package/src/iana/language-subtags/scope.js +0 -179
  375. package/src/iana/language-subtags/subtagRegistry.d.ts.map +0 -1
  376. package/src/iana/language-subtags/subtagRegistry.js +0 -149
  377. package/src/iana/language-subtags/validate.d.ts.map +0 -1
  378. package/src/iana/language-tag-extensions/converters.d.ts.map +0 -1
  379. package/src/iana/language-tag-extensions/converters.js +0 -87
  380. package/src/iana/language-tag-extensions/extensionsRegistry.d.ts.map +0 -1
  381. package/src/iana/language-tag-extensions/extensionsRegistry.js +0 -104
  382. package/src/iana/language-tag-extensions/extensionsScope.d.ts.map +0 -1
  383. package/src/iana/language-tag-extensions/extensionsScope.js +0 -77
  384. package/src/iana/language-tag-extensions/index.d.ts.map +0 -1
  385. package/src/iana/language-tag-extensions/jarConverters.d.ts.map +0 -1
  386. package/src/iana/language-tag-extensions/jarConverters.js +0 -102
  387. package/src/iana/language-tag-extensions/model.d.ts.map +0 -1
  388. package/src/iana/language-tag-extensions/model.js +0 -24
  389. package/src/iana/language-tag-extensions/validate.d.ts.map +0 -1
  390. package/src/iana/language-tag-extensions/validate.js +0 -36
  391. package/src/iana/languageRegistries.d.ts.map +0 -1
  392. package/src/iana/languageRegistries.js +0 -56
  393. package/src/iana/model.d.ts.map +0 -1
  394. package/src/iana/validate.d.ts.map +0 -1
  395. package/src/index.d.ts.map +0 -1
  396. package/src/unsd/areas.d.ts.map +0 -1
  397. package/src/unsd/areas.js +0 -96
  398. package/src/unsd/common.d.ts.map +0 -1
  399. package/src/unsd/csv/converters.d.ts.map +0 -1
  400. package/src/unsd/csv/converters.js +0 -70
  401. package/src/unsd/csv/index.d.ts.map +0 -1
  402. package/src/unsd/csv/model.d.ts.map +0 -1
  403. package/src/unsd/defaultRegistries.d.ts.map +0 -1
  404. package/src/unsd/defaultRegistries.js +0 -42
  405. package/src/unsd/index.d.ts.map +0 -1
  406. package/src/unsd/regionCodes.d.ts.map +0 -1
  407. package/src/unsd/regionCodes.js +0 -121
  408. package/src/unsd/regions.d.ts.map +0 -1
  409. package/src/unsd/regions.js +0 -77
  410. package/src/utils/index.d.ts.map +0 -1
  411. package/src/utils/jsonHelpers.d.ts.map +0 -1
  412. package/src/utils/validationHelpers.d.ts.map +0 -1
  413. package/src/utils/validationHelpers.js +0 -88
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2022 Erik Fortune
4
+ *
5
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ * of this software and associated documentation files (the "Software"), to deal
7
+ * in the Software without restriction, including without limitation the rights
8
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ * copies of the Software, and to permit persons to whom the Software is
10
+ * furnished to do so, subject to the following conditions:
11
+ *
12
+ * The above copyright notice and this permission notice shall be included in all
13
+ * copies or substantial portions of the Software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ * SOFTWARE.
22
+ */
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWFuYS9sYW5ndWFnZS1zdWJ0YWdzL21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkciLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIyIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuaW1wb3J0ICogYXMgTW9kZWwgZnJvbSAnLi4vamFyL2xhbmd1YWdlLXN1YnRhZ3MvcmVnaXN0cnkvbW9kZWwnO1xuXG5pbXBvcnQge1xuICAgIEV4dExhbmdTdWJ0YWcsXG4gICAgRXh0ZW5kZWRMYW5ndWFnZVJhbmdlLFxuICAgIEdyYW5kZmF0aGVyZWRUYWcsXG4gICAgTGFuZ3VhZ2VTdWJ0YWcsXG4gICAgUmVkdW5kYW50VGFnLFxuICAgIFJlZ2lvblN1YnRhZyxcbiAgICBTY3JpcHRTdWJ0YWcsXG4gICAgVmFyaWFudFN1YnRhZyxcbn0gZnJvbSAnLi9jb21tb24nO1xuXG5pbXBvcnQgeyBEYXRlZFJlZ2lzdHJ5IH0gZnJvbSAnLi4vY29tbW9uL21vZGVsJztcblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0ZXJlZFN1YnRhZzxUVFlQRSBleHRlbmRzIE1vZGVsLlJlZ2lzdHJ5RW50cnlUeXBlLCBUVEFHIGV4dGVuZHMgc3RyaW5nPiB7XG4gICAgcmVhZG9ubHkgdHlwZTogVFRZUEU7XG4gICAgcmVhZG9ubHkgc3VidGFnOiBUVEFHO1xuICAgIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0ZXJlZFN1YnRhZ1dpdGhSYW5nZTxUVFlQRSBleHRlbmRzIE1vZGVsLlJlZ2lzdHJ5RW50cnlUeXBlLCBUVEFHIGV4dGVuZHMgc3RyaW5nPlxuICAgIGV4dGVuZHMgUmVnaXN0ZXJlZFN1YnRhZzxUVFlQRSwgVFRBRz4ge1xuICAgIHJlYWRvbmx5IHR5cGU6IFRUWVBFO1xuICAgIHJlYWRvbmx5IHN1YnRhZzogVFRBRztcbiAgICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nW107XG5cbiAgICByZWFkb25seSBzdWJ0YWdSYW5nZUVuZD86IFRUQUc7XG59XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdGVyZWRUYWc8VFRZUEUgZXh0ZW5kcyBNb2RlbC5SZWdpc3RyeUVudHJ5VHlwZSwgVFRBRyBleHRlbmRzIHN0cmluZz4ge1xuICAgIHJlYWRvbmx5IHR5cGU6IFRUWVBFO1xuICAgIHJlYWRvbmx5IHRhZzogVFRBRztcbiAgICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nW107XG59XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBSZWdpc3RlcmVkVGFnT3JTdWJ0YWc8VFRZUEUgZXh0ZW5kcyBNb2RlbC5SZWdpc3RyeUVudHJ5VHlwZSwgVFRBRyBleHRlbmRzIHN0cmluZz4gPVxuICAgIHwgUmVnaXN0ZXJlZFN1YnRhZzxUVFlQRSwgVFRBRz5cbiAgICB8IFJlZ2lzdGVyZWRTdWJ0YWdXaXRoUmFuZ2U8VFRZUEUsIFRUQUc+XG4gICAgfCBSZWdpc3RlcmVkVGFnPFRUWVBFLCBUVEFHPjtcblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0ZXJlZExhbmd1YWdlIGV4dGVuZHMgUmVnaXN0ZXJlZFN1YnRhZ1dpdGhSYW5nZTwnbGFuZ3VhZ2UnLCBMYW5ndWFnZVN1YnRhZz4ge1xuICAgIHJlYWRvbmx5IHR5cGU6ICdsYW5ndWFnZSc7XG4gICAgcmVhZG9ubHkgc3VidGFnOiBMYW5ndWFnZVN1YnRhZztcbiAgICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nW107XG4gICAgcmVhZG9ubHkgYWRkZWQ6IE1vZGVsLlllYXJNb250aERheVNwZWM7XG5cbiAgICByZWFkb25seSBjb21tZW50cz86IHN0cmluZ1tdO1xuICAgIHJlYWRvbmx5IGRlcHJlY2F0ZWQ/OiBNb2RlbC5ZZWFyTW9udGhEYXlTcGVjO1xuXG4gICAgcmVhZG9ubHkgbWFjcm9sYW5ndWFnZT86IExhbmd1YWdlU3VidGFnO1xuICAgIHJlYWRvbmx5IHByZWZlcnJlZFZhbHVlPzogTGFuZ3VhZ2VTdWJ0YWc7XG4gICAgcmVhZG9ubHkgc2NvcGU/OiBNb2RlbC5SZWdpc3RyeUVudHJ5U2NvcGU7XG4gICAgcmVhZG9ubHkgc3VwcHJlc3NTY3JpcHQ/OiBTY3JpcHRTdWJ0YWc7XG5cbiAgICByZWFkb25seSBzdWJ0YWdSYW5nZUVuZD86IExhbmd1YWdlU3VidGFnO1xufVxuXG4vKipcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RlcmVkRXh0TGFuZyBleHRlbmRzIFJlZ2lzdGVyZWRTdWJ0YWc8J2V4dGxhbmcnLCBFeHRMYW5nU3VidGFnPiB7XG4gICAgcmVhZG9ubHkgdHlwZTogJ2V4dGxhbmcnO1xuICAgIHJlYWRvbmx5IHN1YnRhZzogRXh0TGFuZ1N1YnRhZztcbiAgICByZWFkb25seSBwcmVmZXJyZWRWYWx1ZTogRXh0ZW5kZWRMYW5ndWFnZVJhbmdlO1xuICAgIHJlYWRvbmx5IHByZWZpeDogTGFuZ3VhZ2VTdWJ0YWc7XG4gICAgcmVhZG9ubHkgZGVzY3JpcHRpb246IHN0cmluZ1tdO1xuICAgIHJlYWRvbmx5IGFkZGVkOiBNb2RlbC5ZZWFyTW9udGhEYXlTcGVjO1xuXG4gICAgcmVhZG9ubHkgY29tbWVudHM/OiBzdHJpbmdbXTtcbiAgICByZWFkb25seSBkZXByZWNhdGVkPzogTW9kZWwuWWVhck1vbnRoRGF5U3BlYztcblxuICAgIHJlYWRvbmx5IG1hY3JvbGFuZ3VhZ2U/OiBMYW5ndWFnZVN1YnRhZztcbiAgICByZWFkb25seSBzY29wZT86IE1vZGVsLlJlZ2lzdHJ5RW50cnlTY29wZTtcbiAgICByZWFkb25seSBzdXBwcmVzc1NjcmlwdD86IFNjcmlwdFN1YnRhZztcbn1cblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0ZXJlZFNjcmlwdCBleHRlbmRzIFJlZ2lzdGVyZWRTdWJ0YWdXaXRoUmFuZ2U8J3NjcmlwdCcsIFNjcmlwdFN1YnRhZz4ge1xuICAgIHJlYWRvbmx5IHR5cGU6ICdzY3JpcHQnO1xuICAgIHJlYWRvbmx5IHN1YnRhZzogU2NyaXB0U3VidGFnO1xuICAgIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmdbXTtcbiAgICByZWFkb25seSBhZGRlZDogTW9kZWwuWWVhck1vbnRoRGF5U3BlYztcblxuICAgIHJlYWRvbmx5IGNvbW1lbnRzPzogc3RyaW5nW107XG4gICAgcmVhZG9ubHkgZGVwcmVjYXRlZD86IE1vZGVsLlllYXJNb250aERheVNwZWM7XG4gICAgcmVhZG9ubHkgcHJlZmVycmVkVmFsdWU/OiBTY3JpcHRTdWJ0YWc7XG5cbiAgICByZWFkb25seSBzdWJ0YWdSYW5nZUVuZD86IFNjcmlwdFN1YnRhZztcbn1cblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0ZXJlZFJlZ2lvbiBleHRlbmRzIFJlZ2lzdGVyZWRTdWJ0YWdXaXRoUmFuZ2U8J3JlZ2lvbicsIFJlZ2lvblN1YnRhZz4ge1xuICAgIHJlYWRvbmx5IHR5cGU6ICdyZWdpb24nO1xuICAgIHJlYWRvbmx5IHN1YnRhZzogUmVnaW9uU3VidGFnO1xuICAgIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmdbXTtcbiAgICByZWFkb25seSBhZGRlZDogTW9kZWwuWWVhck1vbnRoRGF5U3BlYztcblxuICAgIHJlYWRvbmx5IGNvbW1lbnRzPzogc3RyaW5nW107XG4gICAgcmVhZG9ubHkgZGVwcmVjYXRlZD86IE1vZGVsLlllYXJNb250aERheVNwZWM7XG4gICAgcmVhZG9ubHkgcHJlZmVycmVkVmFsdWU/OiBSZWdpb25TdWJ0YWc7XG5cbiAgICByZWFkb25seSBzdWJ0YWdSYW5nZUVuZD86IFJlZ2lvblN1YnRhZztcbn1cblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0ZXJlZFZhcmlhbnQgZXh0ZW5kcyBSZWdpc3RlcmVkU3VidGFnPCd2YXJpYW50JywgVmFyaWFudFN1YnRhZz4ge1xuICAgIHJlYWRvbmx5IHR5cGU6ICd2YXJpYW50JztcbiAgICByZWFkb25seSBzdWJ0YWc6IFZhcmlhbnRTdWJ0YWc7XG4gICAgcmVhZG9ubHkgZGVzY3JpcHRpb246IHN0cmluZ1tdO1xuICAgIHJlYWRvbmx5IGFkZGVkOiBNb2RlbC5ZZWFyTW9udGhEYXlTcGVjO1xuXG4gICAgcmVhZG9ubHkgY29tbWVudHM/OiBzdHJpbmdbXTtcbiAgICByZWFkb25seSBkZXByZWNhdGVkPzogTW9kZWwuWWVhck1vbnRoRGF5U3BlYztcbiAgICByZWFkb25seSBwcmVmZXJyZWRWYWx1ZT86IFZhcmlhbnRTdWJ0YWc7XG4gICAgcmVhZG9ubHkgcHJlZml4PzogRXh0ZW5kZWRMYW5ndWFnZVJhbmdlW107XG59XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdGVyZWRHcmFuZGZhdGhlcmVkVGFnIGV4dGVuZHMgUmVnaXN0ZXJlZFRhZzwnZ3JhbmRmYXRoZXJlZCcsIEdyYW5kZmF0aGVyZWRUYWc+IHtcbiAgICByZWFkb25seSB0eXBlOiAnZ3JhbmRmYXRoZXJlZCc7XG4gICAgcmVhZG9ubHkgdGFnOiBHcmFuZGZhdGhlcmVkVGFnO1xuICAgIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmdbXTtcbiAgICByZWFkb25seSBhZGRlZDogTW9kZWwuWWVhck1vbnRoRGF5U3BlYztcblxuICAgIHJlYWRvbmx5IGNvbW1lbnRzPzogc3RyaW5nW107XG4gICAgcmVhZG9ubHkgZGVwcmVjYXRlZD86IE1vZGVsLlllYXJNb250aERheVNwZWM7XG4gICAgcmVhZG9ubHkgcHJlZmVycmVkVmFsdWU/OiBFeHRlbmRlZExhbmd1YWdlUmFuZ2U7XG59XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdGVyZWRSZWR1bmRhbnRUYWcgZXh0ZW5kcyBSZWdpc3RlcmVkVGFnPCdyZWR1bmRhbnQnLCBSZWR1bmRhbnRUYWc+IHtcbiAgICByZWFkb25seSB0eXBlOiAncmVkdW5kYW50JztcbiAgICByZWFkb25seSB0YWc6IFJlZHVuZGFudFRhZztcbiAgICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nW107XG4gICAgcmVhZG9ubHkgYWRkZWQ6IE1vZGVsLlllYXJNb250aERheVNwZWM7XG5cbiAgICByZWFkb25seSBjb21tZW50cz86IHN0cmluZ1tdO1xuICAgIHJlYWRvbmx5IGRlcHJlY2F0ZWQ/OiBNb2RlbC5ZZWFyTW9udGhEYXlTcGVjO1xuICAgIHJlYWRvbmx5IHByZWZlcnJlZFZhbHVlPzogRXh0ZW5kZWRMYW5ndWFnZVJhbmdlO1xufVxuXG4vKipcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgUmVnaXN0ZXJlZFN1YnRhZ0l0ZW0gPSBSZWdpc3RlcmVkTGFuZ3VhZ2UgfCBSZWdpc3RlcmVkRXh0TGFuZyB8IFJlZ2lzdGVyZWRTY3JpcHQgfCBSZWdpc3RlcmVkUmVnaW9uIHwgUmVnaXN0ZXJlZFZhcmlhbnQ7XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBSZWdpc3RlcmVkVGFnSXRlbSA9IFJlZ2lzdGVyZWRHcmFuZGZhdGhlcmVkVGFnIHwgUmVnaXN0ZXJlZFJlZHVuZGFudFRhZztcblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIFJlZ2lzdGVyZWRJdGVtID0gUmVnaXN0ZXJlZFN1YnRhZ0l0ZW0gfCBSZWdpc3RlcmVkVGFnSXRlbTtcblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIFJlZ2lzdHJ5RmlsZSA9IERhdGVkUmVnaXN0cnk8UmVnaXN0ZXJlZEl0ZW0+O1xuIl19
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../../src/iana/language-subtags/scope.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,wCAAwC,CAAC;AAEhE,OAAO,EACH,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,YAAY,EAEZ,aAAa,EAChB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,MAAM,EAA6B,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAgB,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;GAEG;AACH,cAAM,WAAW,CACb,KAAK,SAAS,KAAK,CAAC,iBAAiB,EACrC,IAAI,SAAS,MAAM,EACnB,KAAK,SAAS,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CACnD,SAAQ,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IAC7C,SAAS,aAAa,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,iBAAiB,CAAC,IAAI,CAAC;IAI7D,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;IAOtC,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;CAGvD;AAED;;GAEG;AACH,cAAM,oBAAoB,CACtB,KAAK,SAAS,KAAK,CAAC,iBAAiB,EACrC,IAAI,SAAS,MAAM,EACnB,KAAK,SAAS,KAAK,CAAC,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,CAC5D,SAAQ,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IACrC,SAAS,aAAa,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,iBAAiB,CAAC,IAAI,CAAC;IAI7D,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;IAMtC,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;IASpD,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IAI9D,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;IAa/C,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS;CAerE;AAED;;GAEG;AACH,cAAM,QAAQ,CACV,KAAK,SAAS,KAAK,CAAC,iBAAiB,EACrC,IAAI,SAAS,MAAM,EACnB,KAAK,SAAS,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAChD,SAAQ,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IAC7C,SAAS,aAAa,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,iBAAiB,CAAC,IAAI,CAAC;IAI7D,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;IAOtC,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;CAGvD;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,oBAAoB,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,CAAC,kBAAkB,CAAC;;CAIlH;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,CAAC,iBAAiB,CAAC;;CAIrG;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,gBAAgB,CAAC;;CAI1G;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,gBAAgB,CAAC;;CAI1G;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,CAAC,iBAAiB,CAAC;;CAIrG;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,QAAQ,CAAC,eAAe,EAAE,gBAAgB,EAAE,KAAK,CAAC,0BAA0B,CAAC;;CAIvH;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,QAAQ,CAAC,WAAW,EAAE,YAAY,EAAE,KAAK,CAAC,sBAAsB,CAAC;;CAIvG"}
@@ -0,0 +1,179 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2022 Erik Fortune
4
+ *
5
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ * of this software and associated documentation files (the "Software"), to deal
7
+ * in the Software without restriction, including without limitation the rights
8
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ * copies of the Software, and to permit persons to whom the Software is
10
+ * furnished to do so, subject to the following conditions:
11
+ *
12
+ * The above copyright notice and this permission notice shall be included in all
13
+ * copies or substantial portions of the Software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ * SOFTWARE.
22
+ */
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.RedundantTagScope = exports.GrandfatheredTagScope = exports.VariantSubtagScope = exports.RegionSubtagScope = exports.ScriptSubtagScope = exports.ExtLangSubtagScope = exports.LanguageSubtagScope = void 0;
25
+ const tags_1 = require("../jar/language-subtags/tags");
26
+ const ts_utils_1 = require("@fgv/ts-utils");
27
+ const utils_1 = require("../../utils");
28
+ const registeredItems_1 = require("../common/registeredItems");
29
+ /**
30
+ * @internal
31
+ */
32
+ class SubtagScope extends registeredItems_1.RegisteredItemScope {
33
+ constructor(type, validate) {
34
+ super(type, validate);
35
+ }
36
+ add(entry) {
37
+ return this._validateEntry(entry).onSuccess(() => {
38
+ this._items.set(entry.subtag, entry);
39
+ return (0, ts_utils_1.succeed)(true);
40
+ });
41
+ }
42
+ _validateEntry(entry) {
43
+ return this._validateKey(entry.subtag);
44
+ }
45
+ }
46
+ /**
47
+ * @internal
48
+ */
49
+ class SubtagScopeWithRange extends SubtagScope {
50
+ constructor(type, validate) {
51
+ super(type, validate);
52
+ }
53
+ add(entry) {
54
+ return this._validateEntry(entry).onSuccess(() => {
55
+ return this._addRange(entry);
56
+ });
57
+ }
58
+ _validateEntry(entry) {
59
+ var _a;
60
+ const start = entry.subtag;
61
+ const end = (_a = entry.subtagRangeEnd) !== null && _a !== void 0 ? _a : '';
62
+ if (end) {
63
+ return (0, ts_utils_1.allSucceed)([this._validateKey(start), this._validateKey(end), this._validateRange(start, end)], true);
64
+ }
65
+ return this._validateKey(start);
66
+ }
67
+ _validateRange(start, end) {
68
+ return start < end ? (0, ts_utils_1.succeed)(true) : (0, ts_utils_1.fail)(`${start}..${end}: invalid range`);
69
+ }
70
+ _addRange(entry) {
71
+ this._items.set(entry.subtag, entry);
72
+ if (entry.subtagRangeEnd) {
73
+ let next = this._nextInRange(entry.subtag, entry.subtagRangeEnd);
74
+ while (next) {
75
+ const e = (0, utils_1.sanitizeJson)({ ...entry, subtag: next, subtagRangeEnd: undefined });
76
+ this._items.set(next, e);
77
+ next = this._nextInRange(next, entry.subtagRangeEnd);
78
+ }
79
+ }
80
+ return (0, ts_utils_1.succeed)(true);
81
+ }
82
+ _nextInRange(current, end) {
83
+ if (current >= end) {
84
+ return undefined;
85
+ }
86
+ const next = Array.from(current);
87
+ for (let i = next.length - 1; i >= 0; i--) {
88
+ if (next[i].toLowerCase() < 'z') {
89
+ next[i] = String.fromCharCode(next[i].charCodeAt(0) + 1);
90
+ break;
91
+ }
92
+ else {
93
+ next[i] = 'a';
94
+ }
95
+ }
96
+ return this._validate.toCanonical(next.join('')).getValueOrThrow();
97
+ }
98
+ }
99
+ /**
100
+ * @internal
101
+ */
102
+ class TagScope extends registeredItems_1.RegisteredItemScope {
103
+ constructor(type, validate) {
104
+ super(type, validate);
105
+ }
106
+ add(entry) {
107
+ return this._validateEntry(entry).onSuccess(() => {
108
+ this._items.set(entry.tag, entry);
109
+ return (0, ts_utils_1.succeed)(true);
110
+ });
111
+ }
112
+ _validateEntry(entry) {
113
+ return this._validateKey(entry.tag);
114
+ }
115
+ }
116
+ /**
117
+ * @public
118
+ */
119
+ class LanguageSubtagScope extends SubtagScopeWithRange {
120
+ constructor() {
121
+ super('language', tags_1.Validate.languageSubtag);
122
+ }
123
+ }
124
+ exports.LanguageSubtagScope = LanguageSubtagScope;
125
+ /**
126
+ * @public
127
+ */
128
+ class ExtLangSubtagScope extends SubtagScope {
129
+ constructor() {
130
+ super('extlang', tags_1.Validate.extlangSubtag);
131
+ }
132
+ }
133
+ exports.ExtLangSubtagScope = ExtLangSubtagScope;
134
+ /**
135
+ * @public
136
+ */
137
+ class ScriptSubtagScope extends SubtagScopeWithRange {
138
+ constructor() {
139
+ super('script', tags_1.Validate.scriptSubtag);
140
+ }
141
+ }
142
+ exports.ScriptSubtagScope = ScriptSubtagScope;
143
+ /**
144
+ * @public
145
+ */
146
+ class RegionSubtagScope extends SubtagScopeWithRange {
147
+ constructor() {
148
+ super('region', tags_1.Validate.regionSubtag);
149
+ }
150
+ }
151
+ exports.RegionSubtagScope = RegionSubtagScope;
152
+ /**
153
+ * @public
154
+ */
155
+ class VariantSubtagScope extends SubtagScope {
156
+ constructor() {
157
+ super('variant', tags_1.Validate.variantSubtag);
158
+ }
159
+ }
160
+ exports.VariantSubtagScope = VariantSubtagScope;
161
+ /**
162
+ * @public
163
+ */
164
+ class GrandfatheredTagScope extends TagScope {
165
+ constructor() {
166
+ super('grandfathered', tags_1.Validate.grandfatheredTag);
167
+ }
168
+ }
169
+ exports.GrandfatheredTagScope = GrandfatheredTagScope;
170
+ /**
171
+ * @public
172
+ */
173
+ class RedundantTagScope extends TagScope {
174
+ constructor() {
175
+ super('redundant', tags_1.Validate.redundantTag);
176
+ }
177
+ }
178
+ exports.RedundantTagScope = RedundantTagScope;
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NvcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWFuYS9sYW5ndWFnZS1zdWJ0YWdzL3Njb3BlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7OztBQUtILHVEQVNzQztBQUN0Qyw0Q0FBa0U7QUFDbEUsdUNBQThEO0FBRTlELCtEQUFnRTtBQUVoRTs7R0FFRztBQUNILE1BQU0sV0FJSixTQUFRLHFDQUF1QztJQUM3QyxZQUFzQixJQUFXLEVBQUUsUUFBaUM7UUFDaEUsS0FBSyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRU0sR0FBRyxDQUFDLEtBQVk7UUFDbkIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDN0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNyQyxPQUFPLElBQUEsa0JBQU8sRUFBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFUyxjQUFjLENBQUMsS0FBWTtRQUNqQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNDLENBQUM7Q0FDSjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxvQkFJSixTQUFRLFdBQStCO0lBQ3JDLFlBQXNCLElBQVcsRUFBRSxRQUFpQztRQUNoRSxLQUFLLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFTSxHQUFHLENBQUMsS0FBWTtRQUNuQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM3QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENB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QUFTLEVBQUUsZUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7Q0FDSjtBQUpELGdEQUlDO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLHFCQUFzQixTQUFRLFFBQTZFO0lBQ3BIO1FBQ0ksS0FBSyxDQUFDLGVBQWUsRUFBRSxlQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN0RCxDQUFDO0NBQ0o7QUFKRCxzREFJQztBQUVEOztHQUVHO0FBQ0gsTUFBYSxpQkFBa0IsU0FBUSxRQUFpRTtJQUNwRztRQUNJLEtBQUssQ0FBQyxXQUFXLEVBQUUsZUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlDLENBQUM7Q0FDSjtBQUpELDhDQUlDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyMiBFcmlrIEZvcnR1bmVcbiAqXG4gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4gKlxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4gKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuICpcbiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbiAqIFNPRlRXQVJFLlxuICovXG5cbmltcG9ydCAqIGFzIEl0ZW1zIGZyb20gJy4vbW9kZWwnO1xuaW1wb3J0ICogYXMgTW9kZWwgZnJvbSAnLi4vamFyL2xhbmd1YWdlLXN1YnRhZ3MvcmVnaXN0cnkvbW9kZWwnO1xuXG5pbXBvcnQge1xuICAgIEV4dExhbmdTdWJ0YWcsXG4gICAgR3JhbmRmYXRoZXJlZFRhZyxcbiAgICBMYW5ndWFnZVN1YnRhZyxcbiAgICBSZWR1bmRhbnRUYWcsXG4gICAgUmVnaW9uU3VidGFnLFxuICAgIFNjcmlwdFN1YnRhZyxcbiAgICBWYWxpZGF0ZSxcbiAgICBWYXJpYW50U3VidGFnLFxufSBmcm9tICcuLi9qYXIvbGFuZ3VhZ2Utc3VidGFncy90YWdzJztcbmltcG9ydCB7IFJlc3VsdCwgYWxsU3VjY2VlZCwgZmFpbCwgc3VjY2VlZCB9IGZyb20gJ0BmZ3YvdHMtdXRpbHMnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkhlbHBlcnMsIHNhbml0aXplSnNvbiB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuaW1wb3J0IHsgUmVnaXN0ZXJlZEl0ZW1TY29wZSB9IGZyb20gJy4uL2NvbW1vbi9yZWdpc3RlcmVkSXRlbXMnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5jbGFzcyBTdWJ0YWdTY29wZTxcbiAgICBUVFlQRSBleHRlbmRzIE1vZGVsLlJlZ2lzdHJ5RW50cnlUeXBlLFxuICAgIFRUQUcgZXh0ZW5kcyBzdHJpbmcsXG4gICAgVElURU0gZXh0ZW5kcyBJdGVtcy5SZWdpc3RlcmVkU3VidGFnPFRUWVBFLCBUVEFHPlxuPiBleHRlbmRzIFJlZ2lzdGVyZWRJdGVtU2NvcGU8VFRZUEUsIFRUQUcsIFRJVEVNPiB7XG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKHR5cGU6IFRUWVBFLCB2YWxpZGF0ZTogVmFsaWRhdGlvbkhlbHBlcnM8VFRBRz4pIHtcbiAgICAgICAgc3VwZXIodHlwZSwgdmFsaWRhdGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhZGQoZW50cnk6IFRJVEVNKTogUmVzdWx0PHRydWU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbGlkYXRlRW50cnkoZW50cnkpLm9uU3VjY2VzcygoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9pdGVtcy5zZXQoZW50cnkuc3VidGFnLCBlbnRyeSk7XG4gICAgICAgICAgICByZXR1cm4gc3VjY2VlZCh0cnVlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF92YWxpZGF0ZUVudHJ5KGVudHJ5OiBUSVRFTSk6IFJlc3VsdDx0cnVlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWxpZGF0ZUtleShlbnRyeS5zdWJ0YWcpO1xuICAgIH1cbn1cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuY2xhc3MgU3VidGFnU2NvcGVXaXRoUmFuZ2U8XG4gICAgVFRZUEUgZXh0ZW5kcyBNb2RlbC5SZWdpc3RyeUVudHJ5VHlwZSxcbiAgICBUVEFHIGV4dGVuZHMgc3RyaW5nLFxuICAgIFRJVEVNIGV4dGVuZHMgSXRlbXMuUmVnaXN0ZXJlZFN1YnRhZ1dpdGhSYW5nZTxUVFlQRSwgVFRBRz5cbj4gZXh0ZW5kcyBTdWJ0YWdTY29wZTxUVFlQRSwgVFRBRywgVElURU0+IHtcbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IodHlwZTogVFRZUEUsIHZhbGlkYXRlOiBWYWxpZGF0aW9uSGVscGVyczxUVEFHPikge1xuICAgICAgICBzdXBlcih0eXBlLCB2YWxpZGF0ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZChlbnRyeTogVElURU0pOiBSZXN1bHQ8dHJ1ZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsaWRhdGVFbnRyeShlbnRyeSkub25TdWNjZXNzKCgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9hZGRSYW5nZShlbnRyeSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfdmFsaWRhdGVFbnRyeShlbnRyeTogVElURU0pOiBSZXN1bHQ8dHJ1ZT4ge1xuICAgICAgICBjb25zdCBzdGFydCA9IGVudHJ5LnN1YnRhZztcbiAgICAgICAgY29uc3QgZW5kID0gZW50cnkuc3VidGFnUmFuZ2VFbmQgPz8gKCcnIGFzIFRUQUcpO1xuICAgICAgICBpZiAoZW5kKSB7XG4gICAgICAgICAgICByZXR1cm4gYWxsU3VjY2VlZChbdGhpcy5fdmFsaWRhdGVLZXkoc3RhcnQpLCB0aGlzLl92YWxpZGF0ZUtleShlbmQpLCB0aGlzLl92YWxpZGF0ZVJhbmdlKHN0YXJ0LCBlbmQpXSwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbGlkYXRlS2V5KHN0YXJ0KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3ZhbGlkYXRlUmFuZ2Uoc3RhcnQ6IFRUQUcsIGVuZDogVFRBRyk6IFJlc3VsdDx0cnVlPiB7XG4gICAgICAgIHJldHVybiBzdGFydCA8IGVuZCA/IHN1Y2NlZWQodHJ1ZSkgOiBmYWlsKGAke3N0YXJ0fS4uJHtlbmR9OiBpbnZhbGlkIHJhbmdlYCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9hZGRSYW5nZShlbnRyeTogVElURU0pOiBSZXN1bHQ8dHJ1ZT4ge1xuICAgICAgICB0aGlzLl9pdGVtcy5zZXQoZW50cnkuc3VidGFnLCBlbnRyeSk7XG4gICAgICAgIGlmIChlbnRyeS5zdWJ0YWdSYW5nZUVuZCkge1xuICAgICAgICAgICAgbGV0IG5leHQgPSB0aGlzLl9uZXh0SW5SYW5nZShlbnRyeS5zdWJ0YWcsIGVudHJ5LnN1YnRhZ1JhbmdlRW5kKTtcbiAgICAgICAgICAgIHdoaWxlIChuZXh0KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZSA9IHNhbml0aXplSnNvbih7IC4uLmVudHJ5LCBzdWJ0YWc6IG5leHQsIHN1YnRhZ1JhbmdlRW5kOiB1bmRlZmluZWQgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5faXRlbXMuc2V0KG5leHQsIGUpO1xuICAgICAgICAgICAgICAgIG5leHQgPSB0aGlzLl9uZXh0SW5SYW5nZShuZXh0LCBlbnRyeS5zdWJ0YWdSYW5nZUVuZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN1Y2NlZWQodHJ1ZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9uZXh0SW5SYW5nZShjdXJyZW50OiBUVEFHLCBlbmQ6IFRUQUcpOiBUVEFHIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKGN1cnJlbnQgPj0gZW5kKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5leHQgPSBBcnJheS5mcm9tKGN1cnJlbnQpO1xuICAgICAgICBmb3IgKGxldCBpID0gbmV4dC5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICAgICAgaWYgKG5leHRbaV0udG9Mb3dlckNhc2UoKSA8ICd6Jykge1xuICAgICAgICAgICAgICAgIG5leHRbaV0gPSBTdHJpbmcuZnJvbUNoYXJDb2RlKG5leHRbaV0uY2hhckNvZGVBdCgwKSArIDEpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBuZXh0W2ldID0gJ2EnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl92YWxpZGF0ZS50b0Nhbm9uaWNhbChuZXh0LmpvaW4oJycpKS5nZXRWYWx1ZU9yVGhyb3coKTtcbiAgICB9XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmNsYXNzIFRhZ1Njb3BlPFxuICAgIFRUWVBFIGV4dGVuZHMgTW9kZWwuUmVnaXN0cnlFbnRyeVR5cGUsXG4gICAgVFRBRyBleHRlbmRzIHN0cmluZyxcbiAgICBUSVRFTSBleHRlbmRzIEl0ZW1zLlJlZ2lzdGVyZWRUYWc8VFRZUEUsIFRUQUc+XG4+IGV4dGVuZHMgUmVnaXN0ZXJlZEl0ZW1TY29wZTxUVFlQRSwgVFRBRywgVElURU0+IHtcbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IodHlwZTogVFRZUEUsIHZhbGlkYXRlOiBWYWxpZGF0aW9uSGVscGVyczxUVEFHPikge1xuICAgICAgICBzdXBlcih0eXBlLCB2YWxpZGF0ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZChlbnRyeTogVElURU0pOiBSZXN1bHQ8dHJ1ZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsaWRhdGVFbnRyeShlbnRyeSkub25TdWNjZXNzKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1zLnNldChlbnRyeS50YWcsIGVudHJ5KTtcbiAgICAgICAgICAgIHJldHVybiBzdWNjZWVkKHRydWUpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3ZhbGlkYXRlRW50cnkoZW50cnk6IFRJVEVNKTogUmVzdWx0PHRydWU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbGlkYXRlS2V5KGVudHJ5LnRhZyk7XG4gICAgfVxufVxuXG4vKipcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNsYXNzIExhbmd1YWdlU3VidGFnU2NvcGUgZXh0ZW5kcyBTdWJ0YWdTY29wZVdpdGhSYW5nZTwnbGFuZ3VhZ2UnLCBMYW5ndWFnZVN1YnRhZywgSXRlbXMuUmVnaXN0ZXJlZExhbmd1YWdlPiB7XG4gICAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcignbGFuZ3VhZ2UnLCBWYWxpZGF0ZS5sYW5ndWFnZVN1YnRhZyk7XG4gICAgfVxufVxuXG4vKipcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNsYXNzIEV4dExhbmdTdWJ0YWdTY29wZSBleHRlbmRzIFN1YnRhZ1Njb3BlPCdleHRsYW5nJywgRXh0TGFuZ1N1YnRhZywgSXRlbXMuUmVnaXN0ZXJlZEV4dExhbmc+IHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCdleHRsYW5nJywgVmFsaWRhdGUuZXh0bGFuZ1N1YnRhZyk7XG4gICAgfVxufVxuXG4vKipcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNsYXNzIFNjcmlwdFN1YnRhZ1Njb3BlIGV4dGVuZHMgU3VidGFnU2NvcGVXaXRoUmFuZ2U8J3NjcmlwdCcsIFNjcmlwdFN1YnRhZywgSXRlbXMuUmVnaXN0ZXJlZFNjcmlwdD4ge1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoJ3NjcmlwdCcsIFZhbGlkYXRlLnNjcmlwdFN1YnRhZyk7XG4gICAgfVxufVxuXG4vKipcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNsYXNzIFJlZ2lvblN1YnRhZ1Njb3BlIGV4dGVuZHMgU3VidGFnU2NvcGVXaXRoUmFuZ2U8J3JlZ2lvbicsIFJlZ2lvblN1YnRhZywgSXRlbXMuUmVnaXN0ZXJlZFJlZ2lvbj4ge1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoJ3JlZ2lvbicsIFZhbGlkYXRlLnJlZ2lvblN1YnRhZyk7XG4gICAgfVxufVxuXG4vKipcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNsYXNzIFZhcmlhbnRTdWJ0YWdTY29wZSBleHRlbmRzIFN1YnRhZ1Njb3BlPCd2YXJpYW50JywgVmFyaWFudFN1YnRhZywgSXRlbXMuUmVnaXN0ZXJlZFZhcmlhbnQ+IHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCd2YXJpYW50JywgVmFsaWRhdGUudmFyaWFudFN1YnRhZyk7XG4gICAgfVxufVxuXG4vKipcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNsYXNzIEdyYW5kZmF0aGVyZWRUYWdTY29wZSBleHRlbmRzIFRhZ1Njb3BlPCdncmFuZGZhdGhlcmVkJywgR3JhbmRmYXRoZXJlZFRhZywgSXRlbXMuUmVnaXN0ZXJlZEdyYW5kZmF0aGVyZWRUYWc+IHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCdncmFuZGZhdGhlcmVkJywgVmFsaWRhdGUuZ3JhbmRmYXRoZXJlZFRhZyk7XG4gICAgfVxufVxuXG4vKipcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNsYXNzIFJlZHVuZGFudFRhZ1Njb3BlIGV4dGVuZHMgVGFnU2NvcGU8J3JlZHVuZGFudCcsIFJlZHVuZGFudFRhZywgSXRlbXMuUmVnaXN0ZXJlZFJlZHVuZGFudFRhZz4ge1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoJ3JlZHVuZGFudCcsIFZhbGlkYXRlLnJlZHVuZGFudFRhZyk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subtagRegistry.d.ts","sourceRoot":"","sources":["../../../src/iana/language-subtags/subtagRegistry.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAGjC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,MAAM,EAAiB,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAG1E;;GAEG;AACH,qBAAa,sBAAsB;IAC/B,SAAgB,QAAQ,EAAE,gBAAgB,CAAC;IAC3C,SAAgB,SAAS,EAAE,KAAK,CAAC,mBAAmB,CAAmC;IACvF,SAAgB,QAAQ,EAAE,KAAK,CAAC,kBAAkB,CAAkC;IACpF,SAAgB,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAiC;IACjF,SAAgB,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAiC;IACjF,SAAgB,QAAQ,EAAE,KAAK,CAAC,kBAAkB,CAAkC;IAEpF,SAAgB,WAAW,EAAE,KAAK,CAAC,mBAAmB,CAAmC;IACzF,SAAgB,cAAc,EAAE,KAAK,CAAC,mBAAmB,CAAmC;IAC5F,SAAgB,UAAU,EAAE,KAAK,CAAC,mBAAmB,CAAmC;IACxF,SAAgB,OAAO,EAAE,KAAK,CAAC,mBAAmB,CAAmC;IAErF,SAAgB,aAAa,EAAE,KAAK,CAAC,qBAAqB,CAAqC;IAC/F,SAAgB,SAAS,EAAE,KAAK,CAAC,iBAAiB,CAAiC;IAEnF;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC;IAE1C;;;;OAIG;IACH,SAAS,aAAa,QAAQ,EAAE,YAAY;WAuC9B,MAAM,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAAC,sBAAsB,CAAC;WAM9D,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,sBAAsB,CAAC;WAI7D,WAAW,IAAI,MAAM,CAAC,sBAAsB,CAAC;WAI7C,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,sBAAsB,CAAC;WAOlD,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,sBAAsB,CAAC;WAOlE,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,sBAAsB,CAAC;CAMlF"}
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2022 Erik Fortune
4
+ *
5
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ * of this software and associated documentation files (the "Software"), to deal
7
+ * in the Software without restriction, including without limitation the rights
8
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ * copies of the Software, and to permit persons to whom the Software is
10
+ * furnished to do so, subject to the following conditions:
11
+ *
12
+ * The above copyright notice and this permission notice shall be included in all
13
+ * copies or substantial portions of the Software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ * SOFTWARE.
22
+ */
23
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
24
+ if (k2 === undefined) k2 = k;
25
+ var desc = Object.getOwnPropertyDescriptor(m, k);
26
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
27
+ desc = { enumerable: true, get: function() { return m[k]; } };
28
+ }
29
+ Object.defineProperty(o, k2, desc);
30
+ }) : (function(o, m, k, k2) {
31
+ if (k2 === undefined) k2 = k;
32
+ o[k2] = m[k];
33
+ }));
34
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
35
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
36
+ }) : function(o, v) {
37
+ o["default"] = v;
38
+ });
39
+ var __importStar = (this && this.__importStar) || function (mod) {
40
+ if (mod && mod.__esModule) return mod;
41
+ var result = {};
42
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
43
+ __setModuleDefault(result, mod);
44
+ return result;
45
+ };
46
+ var __importDefault = (this && this.__importDefault) || function (mod) {
47
+ return (mod && mod.__esModule) ? mod : { "default": mod };
48
+ };
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ exports.LanguageSubtagRegistry = void 0;
51
+ const Converters = __importStar(require("./converters"));
52
+ const JarConverters = __importStar(require("./jarConverters"));
53
+ const Scope = __importStar(require("./scope"));
54
+ const path = __importStar(require("path"));
55
+ const ts_utils_1 = require("@fgv/ts-utils");
56
+ const language_subtags_json_1 = __importDefault(require("../../data/iana/language-subtags.json"));
57
+ /**
58
+ * @public
59
+ */
60
+ class LanguageSubtagRegistry {
61
+ /**
62
+ * @param registry - The contents of the registry file
63
+ * from which the data is loaded.
64
+ * @internal
65
+ */
66
+ constructor(registry) {
67
+ this.languages = new Scope.LanguageSubtagScope();
68
+ this.extlangs = new Scope.ExtLangSubtagScope();
69
+ this.scripts = new Scope.ScriptSubtagScope();
70
+ this.regions = new Scope.RegionSubtagScope();
71
+ this.variants = new Scope.VariantSubtagScope();
72
+ this.collections = new Scope.LanguageSubtagScope();
73
+ this.macrolanguages = new Scope.LanguageSubtagScope();
74
+ this.privateUse = new Scope.LanguageSubtagScope();
75
+ this.special = new Scope.LanguageSubtagScope();
76
+ this.grandfathered = new Scope.GrandfatheredTagScope();
77
+ this.redundant = new Scope.RedundantTagScope();
78
+ this.fileDate = registry.fileDate;
79
+ this._all = registry.entries;
80
+ for (const entry of this._all) {
81
+ switch (entry.type) {
82
+ case 'language':
83
+ this.languages.add(entry);
84
+ if (entry.scope === 'macrolanguage') {
85
+ this.macrolanguages.add(entry);
86
+ }
87
+ else if (entry.scope === 'collection') {
88
+ this.collections.add(entry);
89
+ }
90
+ else if (entry.scope === 'private-use') {
91
+ this.privateUse.add(entry);
92
+ }
93
+ else if (entry.scope === 'special') {
94
+ this.special.add(entry);
95
+ }
96
+ break;
97
+ case 'extlang':
98
+ this.extlangs.add(entry);
99
+ break;
100
+ case 'script':
101
+ this.scripts.add(entry);
102
+ break;
103
+ case 'region':
104
+ this.regions.add(entry);
105
+ break;
106
+ case 'variant':
107
+ this.variants.add(entry);
108
+ break;
109
+ case 'grandfathered':
110
+ this.grandfathered.add(entry);
111
+ break;
112
+ case 'redundant':
113
+ this.redundant.add(entry);
114
+ break;
115
+ }
116
+ }
117
+ }
118
+ static create(registry) {
119
+ return (0, ts_utils_1.captureResult)(() => {
120
+ return new LanguageSubtagRegistry(registry);
121
+ });
122
+ }
123
+ static createFromJson(from) {
124
+ return Converters.registryFile.convert(from).onSuccess(LanguageSubtagRegistry.create);
125
+ }
126
+ static loadDefault() {
127
+ return this.createFromJson(language_subtags_json_1.default);
128
+ }
129
+ static load(root) {
130
+ return (0, ts_utils_1.captureResult)(() => {
131
+ const registry = Converters.loadLanguageSubtagsJsonFileSync(path.join(root)).orThrow();
132
+ return new LanguageSubtagRegistry(registry);
133
+ });
134
+ }
135
+ static loadJsonRegistryFile(root) {
136
+ return (0, ts_utils_1.captureResult)(() => {
137
+ const registry = JarConverters.loadJsonSubtagRegistryFileSync(path.join(root)).orThrow();
138
+ return new LanguageSubtagRegistry(registry);
139
+ });
140
+ }
141
+ static loadTxtRegistryFile(root) {
142
+ return (0, ts_utils_1.captureResult)(() => {
143
+ const registry = JarConverters.loadTxtSubtagRegistryFileSync(path.join(root)).orThrow();
144
+ return new LanguageSubtagRegistry(registry);
145
+ });
146
+ }
147
+ }
148
+ exports.LanguageSubtagRegistry = LanguageSubtagRegistry;
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VidGFnUmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWFuYS9sYW5ndWFnZS1zdWJ0YWdzL3N1YnRhZ1JlZ2lzdHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUgseURBQTJDO0FBQzNDLCtEQUFpRDtBQUNqRCwrQ0FBaUM7QUFDakMsMkNBQTZCO0FBRzdCLDRDQUFzRDtBQUV0RCxrR0FBbUU7QUFFbkU7O0dBRUc7QUFDSCxNQUFhLHNCQUFzQjtJQXFCL0I7Ozs7T0FJRztJQUNILFlBQXNCLFFBQXNCO1FBeEI1QixjQUFTLEdBQThCLElBQUksS0FBSyxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDdkUsYUFBUSxHQUE2QixJQUFJLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3BFLFlBQU8sR0FBNEIsSUFBSSxLQUFLLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUNqRSxZQUFPLEdBQTRCLElBQUksS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDakUsYUFBUSxHQUE2QixJQUFJLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRXBFLGdCQUFXLEdBQThCLElBQUksS0FBSyxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDekUsbUJBQWMsR0FBOEIsSUFBSSxLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUM1RSxlQUFVLEdBQThCLElBQUksS0FBSyxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDeEUsWUFBTyxHQUE4QixJQUFJLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBRXJFLGtCQUFhLEdBQWdDLElBQUksS0FBSyxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDL0UsY0FBUyxHQUE0QixJQUFJLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBYS9FLElBQUksQ0FB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QU0sUUFBUSxHQUFHLGFBQWEsQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDekYsT0FBTyxJQUFJLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFZO1FBQzFDLE9BQU8sSUFBQSx3QkFBYSxFQUFDLEdBQUcsRUFBRTtZQUN0QixNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3hGLE9BQU8sSUFBSSxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSjtBQW5HRCx3REFtR0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIyIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuaW1wb3J0ICogYXMgQ29udmVydGVycyBmcm9tICcuL2NvbnZlcnRlcnMnO1xuaW1wb3J0ICogYXMgSmFyQ29udmVydGVycyBmcm9tICcuL2phckNvbnZlcnRlcnMnO1xuaW1wb3J0ICogYXMgU2NvcGUgZnJvbSAnLi9zY29wZSc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuXG5pbXBvcnQgeyBSZWdpc3RlcmVkSXRlbSwgUmVnaXN0cnlGaWxlIH0gZnJvbSAnLi9tb2RlbCc7XG5pbXBvcnQgeyBSZXN1bHQsIGNhcHR1cmVSZXN1bHQgfSBmcm9tICdAZmd2L3RzLXV0aWxzJztcbmltcG9ydCB7IFllYXJNb250aERheVNwZWMgfSBmcm9tICcuLi9qYXIvbGFuZ3VhZ2Utc3VidGFncy9yZWdpc3RyeS9tb2RlbCc7XG5pbXBvcnQgZGVmYXVsdFN1YnRhZ3MgZnJvbSAnLi4vLi4vZGF0YS9pYW5hL2xhbmd1YWdlLXN1YnRhZ3MuanNvbic7XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY2xhc3MgTGFuZ3VhZ2VTdWJ0YWdSZWdpc3RyeSB7XG4gICAgcHVibGljIHJlYWRvbmx5IGZpbGVEYXRlOiBZZWFyTW9udGhEYXlTcGVjO1xuICAgIHB1YmxpYyByZWFkb25seSBsYW5ndWFnZXM6IFNjb3BlLkxhbmd1YWdlU3VidGFnU2NvcGUgPSBuZXcgU2NvcGUuTGFuZ3VhZ2VTdWJ0YWdTY29wZSgpO1xuICAgIHB1YmxpYyByZWFkb25seSBleHRsYW5nczogU2NvcGUuRXh0TGFuZ1N1YnRhZ1Njb3BlID0gbmV3IFNjb3BlLkV4dExhbmdTdWJ0YWdTY29wZSgpO1xuICAgIHB1YmxpYyByZWFkb25seSBzY3JpcHRzOiBTY29wZS5TY3JpcHRTdWJ0YWdTY29wZSA9IG5ldyBTY29wZS5TY3JpcHRTdWJ0YWdTY29wZSgpO1xuICAgIHB1YmxpYyByZWFkb25seSByZWdpb25zOiBTY29wZS5SZWdpb25TdWJ0YWdTY29wZSA9IG5ldyBTY29wZS5SZWdpb25TdWJ0YWdTY29wZSgpO1xuICAgIHB1YmxpYyByZWFkb25seSB2YXJpYW50czogU2NvcGUuVmFyaWFudFN1YnRhZ1Njb3BlID0gbmV3IFNjb3BlLlZhcmlhbnRTdWJ0YWdTY29wZSgpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbGxlY3Rpb25zOiBTY29wZS5MYW5ndWFnZVN1YnRhZ1Njb3BlID0gbmV3IFNjb3BlLkxhbmd1YWdlU3VidGFnU2NvcGUoKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbWFjcm9sYW5ndWFnZXM6IFNjb3BlLkxhbmd1YWdlU3VidGFnU2NvcGUgPSBuZXcgU2NvcGUuTGFuZ3VhZ2VTdWJ0YWdTY29wZSgpO1xuICAgIHB1YmxpYyByZWFkb25seSBwcml2YXRlVXNlOiBTY29wZS5MYW5ndWFnZVN1YnRhZ1Njb3BlID0gbmV3IFNjb3BlLkxhbmd1YWdlU3VidGFnU2NvcGUoKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgc3BlY2lhbDogU2NvcGUuTGFuZ3VhZ2VTdWJ0YWdTY29wZSA9IG5ldyBTY29wZS5MYW5ndWFnZVN1YnRhZ1Njb3BlKCk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgZ3JhbmRmYXRoZXJlZDogU2NvcGUuR3JhbmRmYXRoZXJlZFRhZ1Njb3BlID0gbmV3IFNjb3BlLkdyYW5kZmF0aGVyZWRUYWdTY29wZSgpO1xuICAgIHB1YmxpYyByZWFkb25seSByZWR1bmRhbnQ6IFNjb3BlLlJlZHVuZGFudFRhZ1Njb3BlID0gbmV3IFNjb3BlLlJlZHVuZGFudFRhZ1Njb3BlKCk7XG5cbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2FsbDogUmVnaXN0ZXJlZEl0ZW1bXTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSByZWdpc3RyeSAtIFRoZSBjb250ZW50cyBvZiB0aGUgcmVnaXN0cnkgZmlsZVxuICAgICAqIGZyb20gd2hpY2ggdGhlIGRhdGEgaXMgbG9hZGVkLlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihyZWdpc3RyeTogUmVnaXN0cnlGaWxlKSB7XG4gICAgICAgIHRoaXMuZmlsZURhdGUgPSByZWdpc3RyeS5maWxlRGF0ZTtcbiAgICAgICAgdGhpcy5fYWxsID0gcmVnaXN0cnkuZW50cmllcztcbiAgICAgICAgZm9yIChjb25zdCBlbnRyeSBvZiB0aGlzLl9hbGwpIHtcbiAgICAgICAgICAgIHN3aXRjaCAoZW50cnkudHlwZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ2xhbmd1YWdlJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sYW5ndWFnZXMuYWRkKGVudHJ5KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVudHJ5LnNjb3BlID09PSAnbWFjcm9sYW5ndWFnZScpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubWFjcm9sYW5ndWFnZXMuYWRkKGVudHJ5KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChlbnRyeS5zY29wZSA9PT0gJ2NvbGxlY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbGxlY3Rpb25zLmFkZChlbnRyeSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZW50cnkuc2NvcGUgPT09ICdwcml2YXRlLXVzZScpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJpdmF0ZVVzZS5hZGQoZW50cnkpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGVudHJ5LnNjb3BlID09PSAnc3BlY2lhbCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3BlY2lhbC5hZGQoZW50cnkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2V4dGxhbmcnOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmV4dGxhbmdzLmFkZChlbnRyeSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3NjcmlwdCc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2NyaXB0cy5hZGQoZW50cnkpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdyZWdpb24nOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlZ2lvbnMuYWRkKGVudHJ5KTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAndmFyaWFudCc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFyaWFudHMuYWRkKGVudHJ5KTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnZ3JhbmRmYXRoZXJlZCc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3JhbmRmYXRoZXJlZC5hZGQoZW50cnkpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdyZWR1bmRhbnQnOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlZHVuZGFudC5hZGQoZW50cnkpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgY3JlYXRlKHJlZ2lzdHJ5OiBSZWdpc3RyeUZpbGUpOiBSZXN1bHQ8TGFuZ3VhZ2VTdWJ0YWdSZWdpc3RyeT4ge1xuICAgICAgICByZXR1cm4gY2FwdHVyZVJlc3VsdCgoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IExhbmd1YWdlU3VidGFnUmVnaXN0cnkocmVnaXN0cnkpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZUZyb21Kc29uKGZyb206IHVua25vd24pOiBSZXN1bHQ8TGFuZ3VhZ2VTdWJ0YWdSZWdpc3RyeT4ge1xuICAgICAgICByZXR1cm4gQ29udmVydGVycy5yZWdpc3RyeUZpbGUuY29udmVydChmcm9tKS5vblN1Y2Nlc3MoTGFuZ3VhZ2VTdWJ0YWdSZWdpc3RyeS5jcmVhdGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgbG9hZERlZmF1bHQoKTogUmVzdWx0PExhbmd1YWdlU3VidGFnUmVnaXN0cnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlRnJvbUpzb24oZGVmYXVsdFN1YnRhZ3MpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgbG9hZChyb290OiBzdHJpbmcpOiBSZXN1bHQ8TGFuZ3VhZ2VTdWJ0YWdSZWdpc3RyeT4ge1xuICAgICAgICByZXR1cm4gY2FwdHVyZVJlc3VsdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZWdpc3RyeSA9IENvbnZlcnRlcnMubG9hZExhbmd1YWdlU3VidGFnc0pzb25GaWxlU3luYyhwYXRoLmpvaW4ocm9vdCkpLm9yVGhyb3coKTtcbiAgICAgICAgICAgIHJldHVybiBuZXcgTGFuZ3VhZ2VTdWJ0YWdSZWdpc3RyeShyZWdpc3RyeSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgbG9hZEpzb25SZWdpc3RyeUZpbGUocm9vdDogc3RyaW5nKTogUmVzdWx0PExhbmd1YWdlU3VidGFnUmVnaXN0cnk+IHtcbiAgICAgICAgcmV0dXJuIGNhcHR1cmVSZXN1bHQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVnaXN0cnkgPSBKYXJDb252ZXJ0ZXJzLmxvYWRKc29uU3VidGFnUmVnaXN0cnlGaWxlU3luYyhwYXRoLmpvaW4ocm9vdCkpLm9yVGhyb3coKTtcbiAgICAgICAgICAgIHJldHVybiBuZXcgTGFuZ3VhZ2VTdWJ0YWdSZWdpc3RyeShyZWdpc3RyeSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgbG9hZFR4dFJlZ2lzdHJ5RmlsZShyb290OiBzdHJpbmcpOiBSZXN1bHQ8TGFuZ3VhZ2VTdWJ0YWdSZWdpc3RyeT4ge1xuICAgICAgICByZXR1cm4gY2FwdHVyZVJlc3VsdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZWdpc3RyeSA9IEphckNvbnZlcnRlcnMubG9hZFR4dFN1YnRhZ1JlZ2lzdHJ5RmlsZVN5bmMocGF0aC5qb2luKHJvb3QpKS5vclRocm93KCk7XG4gICAgICAgICAgICByZXR1cm4gbmV3IExhbmd1YWdlU3VidGFnUmVnaXN0cnkocmVnaXN0cnkpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/iana/language-subtags/validate.ts"],"names":[],"mappings":"AAsBA,cAAc,uCAAuC,CAAC"}
@@ -36,4 +36,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
36
  };
37
37
  Object.defineProperty(exports, "__esModule", { value: true });
38
38
  __exportStar(require("../jar/language-subtags/tags/validate"), exports);
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaWFuYS9sYW5ndWFnZS1zdWJ0YWdzL3ZhbGlkYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCx3RUFBc0QiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIyIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi4vamFyL2xhbmd1YWdlLXN1YnRhZ3MvdGFncy92YWxpZGF0ZSc7XG4iXX0=
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWFuYS9sYW5ndWFnZS1zdWJ0YWdzL3ZhbGlkYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCx3RUFBc0QiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIyIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi4vamFyL2xhbmd1YWdlLXN1YnRhZ3MvdGFncy92YWxpZGF0ZSc7XG4iXX0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"converters.d.ts","sourceRoot":"","sources":["../../../src/iana/language-tag-extensions/converters.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AAEnC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAGjC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAInD;;GAEG;AACH,eAAO,MAAM,kBAAkB,iGAAwC,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,oBAAoB,4FAehC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,6HAAsC,CAAC;AAEzE;;;;;GAKG;AACH,wBAAgB,qCAAqC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAEvG"}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2022 Erik Fortune
4
+ *
5
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ * of this software and associated documentation files (the "Software"), to deal
7
+ * in the Software without restriction, including without limitation the rights
8
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ * copies of the Software, and to permit persons to whom the Software is
10
+ * furnished to do so, subject to the following conditions:
11
+ *
12
+ * The above copyright notice and this permission notice shall be included in all
13
+ * copies or substantial portions of the Software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ * SOFTWARE.
22
+ */
23
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
24
+ if (k2 === undefined) k2 = k;
25
+ var desc = Object.getOwnPropertyDescriptor(m, k);
26
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
27
+ desc = { enumerable: true, get: function() { return m[k]; } };
28
+ }
29
+ Object.defineProperty(o, k2, desc);
30
+ }) : (function(o, m, k, k2) {
31
+ if (k2 === undefined) k2 = k;
32
+ o[k2] = m[k];
33
+ }));
34
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
35
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
36
+ }) : function(o, v) {
37
+ o["default"] = v;
38
+ });
39
+ var __importStar = (this && this.__importStar) || function (mod) {
40
+ if (mod && mod.__esModule) return mod;
41
+ var result = {};
42
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
43
+ __setModuleDefault(result, mod);
44
+ return result;
45
+ };
46
+ Object.defineProperty(exports, "__esModule", { value: true });
47
+ exports.loadLanguageTagExtensionsJsonFileSync = exports.languageTagExtensions = exports.languageTagExtension = exports.extensionSingleton = void 0;
48
+ const Iana = __importStar(require("../../iana"));
49
+ const Validate = __importStar(require("./validate"));
50
+ const ts_utils_1 = require("@fgv/ts-utils");
51
+ const file_1 = require("@fgv/ts-json/file");
52
+ const converters_1 = require("../common/converters");
53
+ /**
54
+ * @public
55
+ */
56
+ exports.extensionSingleton = Validate.extensionSingleton.converter;
57
+ /**
58
+ * @internal
59
+ */
60
+ exports.languageTagExtension = ts_utils_1.Converters.strictObject({
61
+ identifier: exports.extensionSingleton,
62
+ description: ts_utils_1.Converters.stringArray,
63
+ comments: ts_utils_1.Converters.stringArray,
64
+ added: Iana.Converters.yearMonthDaySpec,
65
+ rfc: ts_utils_1.Converters.string,
66
+ authority: ts_utils_1.Converters.string,
67
+ contactEmail: ts_utils_1.Converters.string,
68
+ mailingList: ts_utils_1.Converters.string,
69
+ url: ts_utils_1.Converters.string,
70
+ }, {
71
+ description: 'registered language tag extension',
72
+ });
73
+ /**
74
+ * @internal
75
+ */
76
+ exports.languageTagExtensions = (0, converters_1.datedRegistry)(exports.languageTagExtension);
77
+ /**
78
+ * @internal
79
+ * @param path - path from which the extensions registry is to be loaded.
80
+ * @returns `Success` with the loaded language tag extensions data, o
81
+ * or `Failure` with details if an error occurs.
82
+ */
83
+ function loadLanguageTagExtensionsJsonFileSync(path) {
84
+ return (0, file_1.convertJsonFileSync)(path, exports.languageTagExtensions);
85
+ }
86
+ exports.loadLanguageTagExtensionsJsonFileSync = loadLanguageTagExtensionsJsonFileSync;
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pYW5hL2xhbmd1YWdlLXRhZy1leHRlbnNpb25zL2NvbnZlcnRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCxpREFBbUM7QUFHbkMscURBQXVDO0FBRXZDLDRDQUFtRDtBQUNuRCw0Q0FBd0Q7QUFDeEQscURBQXFEO0FBRXJEOztHQUVHO0FBQ1UsUUFBQSxrQkFBa0IsR0FBRyxRQUFRLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDO0FBRXhFOztHQUVHO0FBQ1UsUUFBQSxvQkFBb0IsR0FBRyxxQkFBVSxDQUFDLFlBQVksQ0FDdkQ7SUFDSSxVQUFVLEVBQUUsMEJBQWtCO0lBQzlCLFdBQVcsRUFBRSxxQkFBVSxDQUFDLFdBQVc7SUFDbkMsUUFBUSxFQUFFLHFCQUFVLENBQUMsV0FBVztJQUNoQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0I7SUFDdkMsR0FBRyxFQUFFLHFCQUFVLENBQUMsTUFBTTtJQUN0QixTQUFTLEVBQUUscUJBQVUsQ0FBQyxNQUFNO0lBQzVCLFlBQVksRUFBRSxxQkFBVSxDQUFDLE1BQU07SUFDL0IsV0FBVyxFQUFFLHFCQUFVLENBQUMsTUFBTTtJQUM5QixHQUFHLEVBQUUscUJBQVUsQ0FBQyxNQUFNO0NBQ3pCLEVBQ0Q7SUFDSSxXQUFXLEVBQUUsbUNBQW1DO0NBQ25ELENBQ0osQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSxxQkFBcUIsR0FBRyxJQUFBLDBCQUFhLEVBQUMsNEJBQW9CLENBQUMsQ0FBQztBQUV6RTs7Ozs7R0FLRztBQUNILFNBQWdCLHFDQUFxQyxDQUFDLElBQVk7SUFDOUQsT0FBTyxJQUFBLDBCQUFtQixFQUFDLElBQUksRUFBRSw2QkFBcUIsQ0FBQyxDQUFDO0FBQzVELENBQUM7QUFGRCxzRkFFQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjIgRXJpayBGb3J0dW5lXG4gKlxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuICpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gKiBTT0ZUV0FSRS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBJYW5hIGZyb20gJy4uLy4uL2lhbmEnO1xuXG5pbXBvcnQgKiBhcyBNb2RlbCBmcm9tICcuL21vZGVsJztcbmltcG9ydCAqIGFzIFZhbGlkYXRlIGZyb20gJy4vdmFsaWRhdGUnO1xuXG5pbXBvcnQgeyBDb252ZXJ0ZXJzLCBSZXN1bHQgfSBmcm9tICdAZmd2L3RzLXV0aWxzJztcbmltcG9ydCB7IGNvbnZlcnRKc29uRmlsZVN5bmMgfSBmcm9tICdAZmd2L3RzLWpzb24vZmlsZSc7XG5pbXBvcnQgeyBkYXRlZFJlZ2lzdHJ5IH0gZnJvbSAnLi4vY29tbW9uL2NvbnZlcnRlcnMnO1xuXG4vKipcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IGV4dGVuc2lvblNpbmdsZXRvbiA9IFZhbGlkYXRlLmV4dGVuc2lvblNpbmdsZXRvbi5jb252ZXJ0ZXI7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCBsYW5ndWFnZVRhZ0V4dGVuc2lvbiA9IENvbnZlcnRlcnMuc3RyaWN0T2JqZWN0PE1vZGVsLkxhbmd1YWdlVGFnRXh0ZW5zaW9uPihcbiAgICB7XG4gICAgICAgIGlkZW50aWZpZXI6IGV4dGVuc2lvblNpbmdsZXRvbixcbiAgICAgICAgZGVzY3JpcHRpb246IENvbnZlcnRlcnMuc3RyaW5nQXJyYXksXG4gICAgICAgIGNvbW1lbnRzOiBDb252ZXJ0ZXJzLnN0cmluZ0FycmF5LFxuICAgICAgICBhZGRlZDogSWFuYS5Db252ZXJ0ZXJzLnllYXJNb250aERheVNwZWMsXG4gICAgICAgIHJmYzogQ29udmVydGVycy5zdHJpbmcsXG4gICAgICAgIGF1dGhvcml0eTogQ29udmVydGVycy5zdHJpbmcsXG4gICAgICAgIGNvbnRhY3RFbWFpbDogQ29udmVydGVycy5zdHJpbmcsXG4gICAgICAgIG1haWxpbmdMaXN0OiBDb252ZXJ0ZXJzLnN0cmluZyxcbiAgICAgICAgdXJsOiBDb252ZXJ0ZXJzLnN0cmluZyxcbiAgICB9LFxuICAgIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdyZWdpc3RlcmVkIGxhbmd1YWdlIHRhZyBleHRlbnNpb24nLFxuICAgIH1cbik7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCBsYW5ndWFnZVRhZ0V4dGVuc2lvbnMgPSBkYXRlZFJlZ2lzdHJ5KGxhbmd1YWdlVGFnRXh0ZW5zaW9uKTtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqIEBwYXJhbSBwYXRoIC0gcGF0aCBmcm9tIHdoaWNoIHRoZSBleHRlbnNpb25zIHJlZ2lzdHJ5IGlzIHRvIGJlIGxvYWRlZC5cbiAqIEByZXR1cm5zIGBTdWNjZXNzYCB3aXRoIHRoZSBsb2FkZWQgbGFuZ3VhZ2UgdGFnIGV4dGVuc2lvbnMgZGF0YSwgb1xuICogb3IgYEZhaWx1cmVgIHdpdGggZGV0YWlscyBpZiBhbiBlcnJvciBvY2N1cnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsb2FkTGFuZ3VhZ2VUYWdFeHRlbnNpb25zSnNvbkZpbGVTeW5jKHBhdGg6IHN0cmluZyk6IFJlc3VsdDxNb2RlbC5MYW5ndWFnZVRhZ0V4dGVuc2lvbnM+IHtcbiAgICByZXR1cm4gY29udmVydEpzb25GaWxlU3luYyhwYXRoLCBsYW5ndWFnZVRhZ0V4dGVuc2lvbnMpO1xufVxuIl19
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extensionsRegistry.d.ts","sourceRoot":"","sources":["../../../src/iana/language-tag-extensions/extensionsRegistry.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,KAAK,MAAM,0CAA0C,CAAC;AAElE,OAAO,EAAE,MAAM,EAAiB,MAAM,eAAe,CAAC;AAEtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C;;GAEG;AACH,qBAAa,4BAA4B;IACrC,SAAgB,QAAQ,EAAE,gBAAgB,CAAC;IAC3C,SAAgB,UAAU,EAAE,kBAAkB,CAA4B;IAE1E;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,oBAAoB,EAAE,CAAC;IAEtD;;;;OAIG;IACH,SAAS,aAAa,QAAQ,EAAE,KAAK,CAAC,qBAAqB;WAQ7C,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,qBAAqB,GAAG,MAAM,CAAC,4BAA4B,CAAC;WAMnF,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,4BAA4B,CAAC;WAInE,WAAW,IAAI,MAAM,CAAC,4BAA4B,CAAC;WAInD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,4BAA4B,CAAC;WAOxD,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,4BAA4B,CAAC;WAOxE,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,4BAA4B,CAAC;CAMxF"}