@fgv/ts-bcp47 0.9.6 → 2.0.2-alpha.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 (554) hide show
  1. package/dist/ts-bcp47.d.ts +2554 -0
  2. package/dist/tsdoc-metadata.json +11 -0
  3. package/lib/data/bcp/overrides.json +20 -0
  4. package/lib/data/iana/language-subtags.json +57439 -0
  5. package/{data → lib/data}/iana/language-tag-extensions.json +2 -6
  6. package/lib/data/unsd/m49.json +3723 -0
  7. package/lib/index.d.ts +6 -0
  8. package/lib/index.d.ts.map +1 -0
  9. package/lib/index.js +57 -0
  10. package/lib/index.js.map +1 -0
  11. package/lib/packlets/bcp47/bcp47Subtags/converters.d.ts.map +1 -0
  12. package/{bcp47 → lib/packlets/bcp47}/bcp47Subtags/converters.js +2 -1
  13. package/lib/packlets/bcp47/bcp47Subtags/converters.js.map +1 -0
  14. package/lib/packlets/bcp47/bcp47Subtags/index.d.ts.map +1 -0
  15. package/{bcp47 → lib/packlets/bcp47}/bcp47Subtags/index.js +1 -1
  16. package/lib/packlets/bcp47/bcp47Subtags/index.js.map +1 -0
  17. package/{bcp47 → lib/packlets/bcp47}/bcp47Subtags/model.d.ts +3 -1
  18. package/lib/packlets/bcp47/bcp47Subtags/model.d.ts.map +1 -0
  19. package/lib/packlets/bcp47/bcp47Subtags/model.js +24 -0
  20. package/lib/packlets/bcp47/bcp47Subtags/model.js.map +1 -0
  21. package/{bcp47 → lib/packlets/bcp47}/bcp47Subtags/validate.d.ts +2 -2
  22. package/lib/packlets/bcp47/bcp47Subtags/validate.d.ts.map +1 -0
  23. package/lib/packlets/bcp47/bcp47Subtags/validate.js +74 -0
  24. package/lib/packlets/bcp47/bcp47Subtags/validate.js.map +1 -0
  25. package/{bcp47 → lib/packlets/bcp47}/common.d.ts +4 -4
  26. package/lib/packlets/bcp47/common.d.ts.map +1 -0
  27. package/lib/packlets/bcp47/common.js +59 -0
  28. package/lib/packlets/bcp47/common.js.map +1 -0
  29. package/{bcp47 → lib/packlets/bcp47}/helpers.d.ts +8 -8
  30. package/lib/packlets/bcp47/helpers.d.ts.map +1 -0
  31. package/lib/packlets/bcp47/helpers.js +103 -0
  32. package/lib/packlets/bcp47/helpers.js.map +1 -0
  33. package/lib/packlets/bcp47/index.d.ts +10 -0
  34. package/lib/packlets/bcp47/index.d.ts.map +1 -0
  35. package/lib/packlets/bcp47/index.js +68 -0
  36. package/lib/packlets/bcp47/index.js.map +1 -0
  37. package/{bcp47 → lib/packlets/bcp47}/languageRegistryData.d.ts +26 -27
  38. package/lib/packlets/bcp47/languageRegistryData.d.ts.map +1 -0
  39. package/lib/packlets/bcp47/languageRegistryData.js +206 -0
  40. package/lib/packlets/bcp47/languageRegistryData.js.map +1 -0
  41. package/{bcp47 → lib/packlets/bcp47}/languageTag.d.ts +12 -13
  42. package/lib/packlets/bcp47/languageTag.d.ts.map +1 -0
  43. package/lib/packlets/bcp47/languageTag.js +390 -0
  44. package/lib/packlets/bcp47/languageTag.js.map +1 -0
  45. package/{bcp47 → lib/packlets/bcp47}/languageTagParser.d.ts +13 -14
  46. package/lib/packlets/bcp47/languageTagParser.d.ts.map +1 -0
  47. package/lib/packlets/bcp47/languageTagParser.js +303 -0
  48. package/lib/packlets/bcp47/languageTagParser.js.map +1 -0
  49. package/{bcp47 → lib/packlets/bcp47}/match/chooser.d.ts +8 -8
  50. package/lib/packlets/bcp47/match/chooser.d.ts.map +1 -0
  51. package/lib/packlets/bcp47/match/chooser.js +92 -0
  52. package/lib/packlets/bcp47/match/chooser.js.map +1 -0
  53. package/lib/packlets/bcp47/match/common.d.ts.map +1 -0
  54. package/lib/packlets/bcp47/match/common.js +52 -0
  55. package/lib/packlets/bcp47/match/common.js.map +1 -0
  56. package/lib/packlets/bcp47/match/index.d.ts +4 -0
  57. package/lib/packlets/bcp47/match/index.d.ts.map +1 -0
  58. package/lib/packlets/bcp47/match/index.js +45 -0
  59. package/lib/packlets/bcp47/match/index.js.map +1 -0
  60. package/lib/packlets/bcp47/match/similarity.d.ts.map +1 -0
  61. package/lib/packlets/bcp47/match/similarity.js +230 -0
  62. package/lib/packlets/bcp47/match/similarity.js.map +1 -0
  63. package/lib/packlets/bcp47/normalization/baseNormalizer.d.ts +35 -0
  64. package/lib/packlets/bcp47/normalization/baseNormalizer.d.ts.map +1 -0
  65. package/lib/packlets/bcp47/normalization/baseNormalizer.js +116 -0
  66. package/lib/packlets/bcp47/normalization/baseNormalizer.js.map +1 -0
  67. package/lib/packlets/bcp47/normalization/canonicalNormalizer.d.ts +22 -0
  68. package/lib/packlets/bcp47/normalization/canonicalNormalizer.d.ts.map +1 -0
  69. package/lib/packlets/bcp47/normalization/canonicalNormalizer.js +113 -0
  70. package/lib/packlets/bcp47/normalization/canonicalNormalizer.js.map +1 -0
  71. package/{bcp47 → lib/packlets/bcp47}/normalization/common.d.ts +1 -1
  72. package/lib/packlets/bcp47/normalization/common.d.ts.map +1 -0
  73. package/lib/packlets/bcp47/normalization/common.js +82 -0
  74. package/lib/packlets/bcp47/normalization/common.js.map +1 -0
  75. package/lib/packlets/bcp47/normalization/index.d.ts.map +1 -0
  76. package/{bcp47 → lib/packlets/bcp47}/normalization/index.js +1 -1
  77. package/lib/packlets/bcp47/normalization/index.js.map +1 -0
  78. package/{bcp47 → lib/packlets/bcp47}/normalization/normalizeTag.d.ts +6 -6
  79. package/lib/packlets/bcp47/normalization/normalizeTag.d.ts.map +1 -0
  80. package/lib/packlets/bcp47/normalization/normalizeTag.js +105 -0
  81. package/lib/packlets/bcp47/normalization/normalizeTag.js.map +1 -0
  82. package/lib/packlets/bcp47/normalization/preferredTagNormalizer.d.ts +27 -0
  83. package/lib/packlets/bcp47/normalization/preferredTagNormalizer.d.ts.map +1 -0
  84. package/lib/packlets/bcp47/normalization/preferredTagNormalizer.js +204 -0
  85. package/lib/packlets/bcp47/normalization/preferredTagNormalizer.js.map +1 -0
  86. package/lib/packlets/bcp47/overrides/converters.d.ts +19 -0
  87. package/lib/packlets/bcp47/overrides/converters.d.ts.map +1 -0
  88. package/lib/packlets/bcp47/overrides/converters.js +76 -0
  89. package/lib/packlets/bcp47/overrides/converters.js.map +1 -0
  90. package/lib/packlets/bcp47/overrides/defaultRegistries.d.ts.map +1 -0
  91. package/lib/packlets/bcp47/overrides/defaultRegistries.js +42 -0
  92. package/lib/packlets/bcp47/overrides/defaultRegistries.js.map +1 -0
  93. package/lib/packlets/bcp47/overrides/index.d.ts.map +1 -0
  94. package/lib/packlets/bcp47/overrides/index.js +30 -0
  95. package/lib/packlets/bcp47/overrides/index.js.map +1 -0
  96. package/lib/packlets/bcp47/overrides/model.d.ts +11 -0
  97. package/lib/packlets/bcp47/overrides/model.d.ts.map +1 -0
  98. package/lib/packlets/bcp47/overrides/model.js +24 -0
  99. package/lib/packlets/bcp47/overrides/model.js.map +1 -0
  100. package/{bcp47 → lib/packlets/bcp47}/overrides/overridesRegistry.d.ts +8 -8
  101. package/lib/packlets/bcp47/overrides/overridesRegistry.d.ts.map +1 -0
  102. package/lib/packlets/bcp47/overrides/overridesRegistry.js +113 -0
  103. package/lib/packlets/bcp47/overrides/overridesRegistry.js.map +1 -0
  104. package/lib/packlets/bcp47/validation/baseValidator.d.ts +35 -0
  105. package/lib/packlets/bcp47/validation/baseValidator.d.ts.map +1 -0
  106. package/lib/packlets/bcp47/validation/baseValidator.js +113 -0
  107. package/lib/packlets/bcp47/validation/baseValidator.js.map +1 -0
  108. package/{bcp47 → lib/packlets/bcp47}/validation/common.d.ts +1 -1
  109. package/lib/packlets/bcp47/validation/common.d.ts.map +1 -0
  110. package/lib/packlets/bcp47/validation/common.js +84 -0
  111. package/lib/packlets/bcp47/validation/common.js.map +1 -0
  112. package/lib/packlets/bcp47/validation/index.d.ts.map +1 -0
  113. package/{bcp47 → lib/packlets/bcp47}/validation/index.js +1 -1
  114. package/lib/packlets/bcp47/validation/index.js.map +1 -0
  115. package/lib/packlets/bcp47/validation/isCanonical.d.ts +22 -0
  116. package/lib/packlets/bcp47/validation/isCanonical.d.ts.map +1 -0
  117. package/lib/packlets/bcp47/validation/isCanonical.js +106 -0
  118. package/lib/packlets/bcp47/validation/isCanonical.js.map +1 -0
  119. package/{bcp47 → lib/packlets/bcp47}/validation/isInPreferredForm.d.ts +4 -4
  120. package/lib/packlets/bcp47/validation/isInPreferredForm.d.ts.map +1 -0
  121. package/lib/packlets/bcp47/validation/isInPreferredForm.js +73 -0
  122. package/lib/packlets/bcp47/validation/isInPreferredForm.js.map +1 -0
  123. package/lib/packlets/bcp47/validation/isStrictlyValid.d.ts +18 -0
  124. package/lib/packlets/bcp47/validation/isStrictlyValid.d.ts.map +1 -0
  125. package/lib/packlets/bcp47/validation/isStrictlyValid.js +98 -0
  126. package/lib/packlets/bcp47/validation/isStrictlyValid.js.map +1 -0
  127. package/lib/packlets/bcp47/validation/isValid.d.ts +24 -0
  128. package/lib/packlets/bcp47/validation/isValid.d.ts.map +1 -0
  129. package/lib/packlets/bcp47/validation/isValid.js +119 -0
  130. package/lib/packlets/bcp47/validation/isValid.js.map +1 -0
  131. package/lib/packlets/bcp47/validation/isWellFormed.d.ts +22 -0
  132. package/lib/packlets/bcp47/validation/isWellFormed.d.ts.map +1 -0
  133. package/lib/packlets/bcp47/validation/isWellFormed.js +102 -0
  134. package/lib/packlets/bcp47/validation/isWellFormed.js.map +1 -0
  135. package/{bcp47 → lib/packlets/bcp47}/validation/validateTag.d.ts +9 -9
  136. package/lib/packlets/bcp47/validation/validateTag.d.ts.map +1 -0
  137. package/lib/packlets/bcp47/validation/validateTag.js +159 -0
  138. package/lib/packlets/bcp47/validation/validateTag.js.map +1 -0
  139. package/{iana → lib/packlets/iana}/common/converters.d.ts +2 -2
  140. package/lib/packlets/iana/common/converters.d.ts.map +1 -0
  141. package/lib/packlets/iana/common/converters.js +85 -0
  142. package/lib/packlets/iana/common/converters.js.map +1 -0
  143. package/{iana → lib/packlets/iana}/common/model.d.ts +1 -1
  144. package/lib/packlets/iana/common/model.d.ts.map +1 -0
  145. package/lib/packlets/iana/common/model.js +24 -0
  146. package/lib/packlets/iana/common/model.js.map +1 -0
  147. package/lib/packlets/iana/common/registeredItems.d.ts.map +1 -0
  148. package/lib/packlets/iana/common/registeredItems.js +124 -0
  149. package/lib/packlets/iana/common/registeredItems.js.map +1 -0
  150. package/lib/packlets/iana/common/utils.d.ts.map +1 -0
  151. package/lib/packlets/iana/common/utils.js +34 -0
  152. package/lib/packlets/iana/common/utils.js.map +1 -0
  153. package/{iana → lib/packlets/iana}/common/validate.d.ts +1 -1
  154. package/lib/packlets/iana/common/validate.d.ts.map +1 -0
  155. package/lib/packlets/iana/common/validate.js +62 -0
  156. package/lib/packlets/iana/common/validate.js.map +1 -0
  157. package/lib/packlets/iana/converters.d.ts.map +1 -0
  158. package/{iana → lib/packlets/iana}/converters.js +1 -1
  159. package/lib/packlets/iana/converters.js.map +1 -0
  160. package/lib/packlets/iana/defaultRegistries.d.ts.map +1 -0
  161. package/lib/packlets/iana/defaultRegistries.js +42 -0
  162. package/lib/packlets/iana/defaultRegistries.js.map +1 -0
  163. package/{iana → lib/packlets/iana}/index.d.ts +4 -2
  164. package/lib/packlets/iana/index.d.ts.map +1 -0
  165. package/{iana/jar/language-subtags/tags → lib/packlets/iana}/index.js +18 -6
  166. package/lib/packlets/iana/index.js.map +1 -0
  167. package/lib/packlets/iana/jar/converters.d.ts.map +1 -0
  168. package/{iana → lib/packlets/iana}/jar/converters.js +1 -1
  169. package/lib/packlets/iana/jar/converters.js.map +1 -0
  170. package/lib/packlets/iana/jar/index.d.ts +5 -0
  171. package/lib/packlets/iana/jar/index.d.ts.map +1 -0
  172. package/{unsd/csv → lib/packlets/iana/jar}/index.js +4 -2
  173. package/lib/packlets/iana/jar/index.js.map +1 -0
  174. package/{iana → lib/packlets/iana}/jar/jarConverters.d.ts +5 -5
  175. package/lib/packlets/iana/jar/jarConverters.d.ts.map +1 -0
  176. package/lib/packlets/iana/jar/jarConverters.js +86 -0
  177. package/lib/packlets/iana/jar/jarConverters.js.map +1 -0
  178. package/{iana → lib/packlets/iana}/jar/jarModel.d.ts +1 -1
  179. package/lib/packlets/iana/jar/jarModel.d.ts.map +1 -0
  180. package/lib/packlets/iana/jar/jarModel.js +24 -0
  181. package/lib/packlets/iana/jar/jarModel.js.map +1 -0
  182. package/lib/packlets/iana/jar/language-subtags/converters.d.ts.map +1 -0
  183. package/{iana → lib/packlets/iana}/jar/language-subtags/converters.js +1 -1
  184. package/lib/packlets/iana/jar/language-subtags/converters.js.map +1 -0
  185. package/lib/packlets/iana/jar/language-subtags/index.d.ts +5 -0
  186. package/lib/packlets/iana/jar/language-subtags/index.d.ts.map +1 -0
  187. package/{iana/jar/language-subtags/registry → lib/packlets/iana/jar/language-subtags}/index.js +29 -28
  188. package/lib/packlets/iana/jar/language-subtags/index.js.map +1 -0
  189. package/lib/packlets/iana/jar/language-subtags/model.d.ts.map +1 -0
  190. package/{iana → lib/packlets/iana}/jar/language-subtags/model.js +1 -1
  191. package/lib/packlets/iana/jar/language-subtags/model.js.map +1 -0
  192. package/lib/packlets/iana/jar/language-subtags/registry/converters.d.ts.map +1 -0
  193. package/lib/packlets/iana/jar/language-subtags/registry/converters.js +59 -0
  194. package/lib/packlets/iana/jar/language-subtags/registry/converters.js.map +1 -0
  195. package/lib/packlets/iana/jar/language-subtags/registry/index.d.ts.map +1 -0
  196. package/{iana/jar/language-subtags → lib/packlets/iana/jar/language-subtags/registry}/index.js +23 -22
  197. package/lib/packlets/iana/jar/language-subtags/registry/index.js.map +1 -0
  198. package/{iana → lib/packlets/iana}/jar/language-subtags/registry/model.d.ts +12 -12
  199. package/lib/packlets/iana/jar/language-subtags/registry/model.d.ts.map +1 -0
  200. package/lib/packlets/iana/jar/language-subtags/registry/model.js +46 -0
  201. package/lib/packlets/iana/jar/language-subtags/registry/model.js.map +1 -0
  202. package/lib/packlets/iana/jar/language-subtags/tags/converters.d.ts +55 -0
  203. package/lib/packlets/iana/jar/language-subtags/tags/converters.d.ts.map +1 -0
  204. package/lib/packlets/iana/jar/language-subtags/tags/converters.js +129 -0
  205. package/lib/packlets/iana/jar/language-subtags/tags/converters.js.map +1 -0
  206. package/lib/packlets/iana/jar/language-subtags/tags/index.d.ts +6 -0
  207. package/lib/packlets/iana/jar/language-subtags/tags/index.d.ts.map +1 -0
  208. package/lib/packlets/iana/jar/language-subtags/tags/index.js +58 -0
  209. package/lib/packlets/iana/jar/language-subtags/tags/index.js.map +1 -0
  210. package/lib/packlets/iana/jar/language-subtags/tags/model.d.ts.map +1 -0
  211. package/lib/packlets/iana/jar/language-subtags/tags/model.js +24 -0
  212. package/lib/packlets/iana/jar/language-subtags/tags/model.js.map +1 -0
  213. package/lib/packlets/iana/jar/language-subtags/tags/tagValidation.d.ts.map +1 -0
  214. package/lib/packlets/iana/jar/language-subtags/tags/tagValidation.js +70 -0
  215. package/lib/packlets/iana/jar/language-subtags/tags/tagValidation.js.map +1 -0
  216. package/lib/packlets/iana/jar/language-subtags/tags/validate.d.ts.map +1 -0
  217. package/lib/packlets/iana/jar/language-subtags/tags/validate.js +88 -0
  218. package/lib/packlets/iana/jar/language-subtags/tags/validate.js.map +1 -0
  219. package/lib/packlets/iana/jar/model.d.ts.map +1 -0
  220. package/{iana → lib/packlets/iana}/jar/model.js +1 -1
  221. package/lib/packlets/iana/jar/model.js.map +1 -0
  222. package/lib/packlets/iana/language-subtags/common.d.ts.map +1 -0
  223. package/lib/packlets/iana/language-subtags/common.js +24 -0
  224. package/lib/packlets/iana/language-subtags/common.js.map +1 -0
  225. package/lib/packlets/iana/language-subtags/converters.d.ts +52 -0
  226. package/lib/packlets/iana/language-subtags/converters.d.ts.map +1 -0
  227. package/lib/packlets/iana/language-subtags/converters.js +209 -0
  228. package/lib/packlets/iana/language-subtags/converters.js.map +1 -0
  229. package/{iana → lib/packlets/iana}/language-subtags/index.d.ts +4 -3
  230. package/lib/packlets/iana/language-subtags/index.d.ts.map +1 -0
  231. package/{iana → lib/packlets/iana}/language-subtags/index.js +10 -8
  232. package/lib/packlets/iana/language-subtags/index.js.map +1 -0
  233. package/{iana → lib/packlets/iana}/language-subtags/jarConverters.d.ts +8 -8
  234. package/lib/packlets/iana/language-subtags/jarConverters.d.ts.map +1 -0
  235. package/lib/packlets/iana/language-subtags/jarConverters.js +237 -0
  236. package/lib/packlets/iana/language-subtags/jarConverters.js.map +1 -0
  237. package/{iana → lib/packlets/iana}/language-subtags/model.d.ts +15 -15
  238. package/lib/packlets/iana/language-subtags/model.d.ts.map +1 -0
  239. package/lib/packlets/iana/language-subtags/model.js +24 -0
  240. package/lib/packlets/iana/language-subtags/model.js.map +1 -0
  241. package/{iana → lib/packlets/iana}/language-subtags/scope.d.ts +12 -12
  242. package/lib/packlets/iana/language-subtags/scope.d.ts.map +1 -0
  243. package/lib/packlets/iana/language-subtags/scope.js +179 -0
  244. package/lib/packlets/iana/language-subtags/scope.js.map +1 -0
  245. package/{iana → lib/packlets/iana}/language-subtags/subtagRegistry.d.ts +1 -1
  246. package/lib/packlets/iana/language-subtags/subtagRegistry.d.ts.map +1 -0
  247. package/lib/packlets/iana/language-subtags/subtagRegistry.js +150 -0
  248. package/lib/packlets/iana/language-subtags/subtagRegistry.js.map +1 -0
  249. package/lib/packlets/iana/language-subtags/validate.d.ts.map +1 -0
  250. package/{iana → lib/packlets/iana}/language-subtags/validate.js +1 -1
  251. package/lib/packlets/iana/language-subtags/validate.js.map +1 -0
  252. package/lib/packlets/iana/language-tag-extensions/converters.d.ts +22 -0
  253. package/lib/packlets/iana/language-tag-extensions/converters.d.ts.map +1 -0
  254. package/lib/packlets/iana/language-tag-extensions/converters.js +86 -0
  255. package/lib/packlets/iana/language-tag-extensions/converters.js.map +1 -0
  256. package/{iana → lib/packlets/iana}/language-tag-extensions/extensionsRegistry.d.ts +2 -2
  257. package/lib/packlets/iana/language-tag-extensions/extensionsRegistry.d.ts.map +1 -0
  258. package/lib/packlets/iana/language-tag-extensions/extensionsRegistry.js +105 -0
  259. package/lib/packlets/iana/language-tag-extensions/extensionsRegistry.js.map +1 -0
  260. package/{iana → lib/packlets/iana}/language-tag-extensions/extensionsScope.d.ts +3 -3
  261. package/lib/packlets/iana/language-tag-extensions/extensionsScope.d.ts.map +1 -0
  262. package/lib/packlets/iana/language-tag-extensions/extensionsScope.js +77 -0
  263. package/lib/packlets/iana/language-tag-extensions/extensionsScope.js.map +1 -0
  264. package/{iana → lib/packlets/iana}/language-tag-extensions/index.d.ts +3 -2
  265. package/lib/packlets/iana/language-tag-extensions/index.d.ts.map +1 -0
  266. package/{iana → lib/packlets/iana}/language-tag-extensions/index.js +6 -4
  267. package/lib/packlets/iana/language-tag-extensions/index.js.map +1 -0
  268. package/{iana → lib/packlets/iana}/language-tag-extensions/jarConverters.d.ts +2 -3
  269. package/lib/packlets/iana/language-tag-extensions/jarConverters.d.ts.map +1 -0
  270. package/lib/packlets/iana/language-tag-extensions/jarConverters.js +79 -0
  271. package/lib/packlets/iana/language-tag-extensions/jarConverters.js.map +1 -0
  272. package/{iana → lib/packlets/iana}/language-tag-extensions/model.d.ts +5 -6
  273. package/lib/packlets/iana/language-tag-extensions/model.d.ts.map +1 -0
  274. package/lib/packlets/iana/language-tag-extensions/model.js +25 -0
  275. package/lib/packlets/iana/language-tag-extensions/model.js.map +1 -0
  276. package/{iana → lib/packlets/iana}/language-tag-extensions/validate.d.ts +2 -2
  277. package/lib/packlets/iana/language-tag-extensions/validate.d.ts.map +1 -0
  278. package/lib/packlets/iana/language-tag-extensions/validate.js +36 -0
  279. package/lib/packlets/iana/language-tag-extensions/validate.js.map +1 -0
  280. package/lib/packlets/iana/languageRegistries.d.ts.map +1 -0
  281. package/lib/packlets/iana/languageRegistries.js +56 -0
  282. package/lib/packlets/iana/languageRegistries.js.map +1 -0
  283. package/lib/packlets/iana/model.d.ts.map +1 -0
  284. package/{iana → lib/packlets/iana}/model.js +1 -1
  285. package/lib/packlets/iana/model.js.map +1 -0
  286. package/lib/packlets/iana/validate.d.ts.map +1 -0
  287. package/{iana → lib/packlets/iana}/validate.js +1 -1
  288. package/lib/packlets/iana/validate.js.map +1 -0
  289. package/lib/packlets/unsd/areas.d.ts +29 -0
  290. package/lib/packlets/unsd/areas.d.ts.map +1 -0
  291. package/lib/packlets/unsd/areas.js +96 -0
  292. package/lib/packlets/unsd/areas.js.map +1 -0
  293. package/lib/packlets/unsd/common.d.ts +49 -0
  294. package/lib/packlets/unsd/common.d.ts.map +1 -0
  295. package/lib/packlets/unsd/common.js +24 -0
  296. package/lib/packlets/unsd/common.js.map +1 -0
  297. package/{unsd → lib/packlets/unsd}/csv/converters.d.ts +7 -4
  298. package/lib/packlets/unsd/csv/converters.d.ts.map +1 -0
  299. package/lib/packlets/unsd/csv/converters.js +78 -0
  300. package/lib/packlets/unsd/csv/converters.js.map +1 -0
  301. package/lib/packlets/unsd/csv/index.d.ts.map +1 -0
  302. package/{iana/jar → lib/packlets/unsd/csv}/index.js +1 -1
  303. package/lib/packlets/unsd/csv/index.js.map +1 -0
  304. package/lib/packlets/unsd/csv/model.d.ts +22 -0
  305. package/lib/packlets/unsd/csv/model.d.ts.map +1 -0
  306. package/lib/packlets/unsd/csv/model.js +24 -0
  307. package/lib/packlets/unsd/csv/model.js.map +1 -0
  308. package/lib/packlets/unsd/defaultRegistries.d.ts.map +1 -0
  309. package/lib/packlets/unsd/defaultRegistries.js +42 -0
  310. package/lib/packlets/unsd/defaultRegistries.js.map +1 -0
  311. package/{unsd → lib/packlets/unsd}/index.d.ts +2 -0
  312. package/lib/packlets/unsd/index.d.ts.map +1 -0
  313. package/lib/packlets/unsd/index.js +58 -0
  314. package/lib/packlets/unsd/index.js.map +1 -0
  315. package/{unsd → lib/packlets/unsd}/regionCodes.d.ts +7 -7
  316. package/lib/packlets/unsd/regionCodes.d.ts.map +1 -0
  317. package/lib/packlets/unsd/regionCodes.js +122 -0
  318. package/lib/packlets/unsd/regionCodes.js.map +1 -0
  319. package/lib/packlets/unsd/regions.d.ts +21 -0
  320. package/lib/packlets/unsd/regions.d.ts.map +1 -0
  321. package/lib/packlets/unsd/regions.js +77 -0
  322. package/lib/packlets/unsd/regions.js.map +1 -0
  323. package/lib/packlets/utils/index.d.ts.map +1 -0
  324. package/{utils → lib/packlets/utils}/index.js +1 -1
  325. package/lib/packlets/utils/index.js.map +1 -0
  326. package/lib/packlets/utils/jsonHelpers.d.ts.map +1 -0
  327. package/lib/packlets/utils/jsonHelpers.js +29 -0
  328. package/lib/packlets/utils/jsonHelpers.js.map +1 -0
  329. package/lib/packlets/utils/public.d.ts +2 -0
  330. package/lib/packlets/utils/public.d.ts.map +1 -0
  331. package/lib/packlets/utils/public.js +28 -0
  332. package/lib/packlets/utils/public.js.map +1 -0
  333. package/{utils → lib/packlets/utils}/validationHelpers.d.ts +9 -10
  334. package/lib/packlets/utils/validationHelpers.d.ts.map +1 -0
  335. package/lib/packlets/utils/validationHelpers.js +120 -0
  336. package/lib/packlets/utils/validationHelpers.js.map +1 -0
  337. package/package.json +73 -67
  338. package/bcp47/bcp47Subtags/converters.d.ts.map +0 -1
  339. package/bcp47/bcp47Subtags/index.d.ts.map +0 -1
  340. package/bcp47/bcp47Subtags/model.d.ts.map +0 -1
  341. package/bcp47/bcp47Subtags/model.js +0 -24
  342. package/bcp47/bcp47Subtags/validate.d.ts.map +0 -1
  343. package/bcp47/bcp47Subtags/validate.js +0 -74
  344. package/bcp47/common.d.ts.map +0 -1
  345. package/bcp47/common.js +0 -59
  346. package/bcp47/helpers.d.ts.map +0 -1
  347. package/bcp47/helpers.js +0 -103
  348. package/bcp47/index.d.ts +0 -7
  349. package/bcp47/index.d.ts.map +0 -1
  350. package/bcp47/index.js +0 -27
  351. package/bcp47/languageRegistryData.d.ts.map +0 -1
  352. package/bcp47/languageRegistryData.js +0 -209
  353. package/bcp47/languageTag.d.ts.map +0 -1
  354. package/bcp47/languageTag.js +0 -390
  355. package/bcp47/languageTagParser.d.ts.map +0 -1
  356. package/bcp47/languageTagParser.js +0 -302
  357. package/bcp47/match/chooser.d.ts.map +0 -1
  358. package/bcp47/match/chooser.js +0 -92
  359. package/bcp47/match/common.d.ts.map +0 -1
  360. package/bcp47/match/common.js +0 -51
  361. package/bcp47/match/index.d.ts +0 -4
  362. package/bcp47/match/index.d.ts.map +0 -1
  363. package/bcp47/match/index.js +0 -45
  364. package/bcp47/match/similarity.d.ts.map +0 -1
  365. package/bcp47/match/similarity.js +0 -230
  366. package/bcp47/normalization/baseNormalizer.d.ts +0 -36
  367. package/bcp47/normalization/baseNormalizer.d.ts.map +0 -1
  368. package/bcp47/normalization/baseNormalizer.js +0 -114
  369. package/bcp47/normalization/canonicalNormalizer.d.ts +0 -22
  370. package/bcp47/normalization/canonicalNormalizer.d.ts.map +0 -1
  371. package/bcp47/normalization/canonicalNormalizer.js +0 -113
  372. package/bcp47/normalization/common.d.ts.map +0 -1
  373. package/bcp47/normalization/common.js +0 -82
  374. package/bcp47/normalization/index.d.ts.map +0 -1
  375. package/bcp47/normalization/normalizeTag.d.ts.map +0 -1
  376. package/bcp47/normalization/normalizeTag.js +0 -105
  377. package/bcp47/normalization/preferredTagNormalizer.d.ts +0 -27
  378. package/bcp47/normalization/preferredTagNormalizer.d.ts.map +0 -1
  379. package/bcp47/normalization/preferredTagNormalizer.js +0 -209
  380. package/bcp47/overrides/converters.d.ts +0 -19
  381. package/bcp47/overrides/converters.d.ts.map +0 -1
  382. package/bcp47/overrides/converters.js +0 -75
  383. package/bcp47/overrides/defaultRegistries.d.ts.map +0 -1
  384. package/bcp47/overrides/defaultRegistries.js +0 -42
  385. package/bcp47/overrides/index.d.ts.map +0 -1
  386. package/bcp47/overrides/index.js +0 -30
  387. package/bcp47/overrides/model.d.ts +0 -11
  388. package/bcp47/overrides/model.d.ts.map +0 -1
  389. package/bcp47/overrides/model.js +0 -24
  390. package/bcp47/overrides/overridesRegistry.d.ts.map +0 -1
  391. package/bcp47/overrides/overridesRegistry.js +0 -112
  392. package/bcp47/validation/baseValidator.d.ts +0 -35
  393. package/bcp47/validation/baseValidator.d.ts.map +0 -1
  394. package/bcp47/validation/baseValidator.js +0 -111
  395. package/bcp47/validation/common.d.ts.map +0 -1
  396. package/bcp47/validation/common.js +0 -84
  397. package/bcp47/validation/index.d.ts.map +0 -1
  398. package/bcp47/validation/isCanonical.d.ts +0 -22
  399. package/bcp47/validation/isCanonical.d.ts.map +0 -1
  400. package/bcp47/validation/isCanonical.js +0 -104
  401. package/bcp47/validation/isInPreferredForm.d.ts.map +0 -1
  402. package/bcp47/validation/isInPreferredForm.js +0 -73
  403. package/bcp47/validation/isStrictlyValid.d.ts +0 -18
  404. package/bcp47/validation/isStrictlyValid.d.ts.map +0 -1
  405. package/bcp47/validation/isStrictlyValid.js +0 -98
  406. package/bcp47/validation/isValid.d.ts +0 -24
  407. package/bcp47/validation/isValid.d.ts.map +0 -1
  408. package/bcp47/validation/isValid.js +0 -115
  409. package/bcp47/validation/isWellFormed.d.ts +0 -22
  410. package/bcp47/validation/isWellFormed.d.ts.map +0 -1
  411. package/bcp47/validation/isWellFormed.js +0 -98
  412. package/bcp47/validation/validateTag.d.ts.map +0 -1
  413. package/bcp47/validation/validateTag.js +0 -159
  414. package/data/bcp/overrides.json +0 -21
  415. package/data/iana/language-subtags.json +0 -77295
  416. package/data/unsd/m49.json +0 -251
  417. package/iana/common/converters.d.ts.map +0 -1
  418. package/iana/common/converters.js +0 -84
  419. package/iana/common/model.d.ts.map +0 -1
  420. package/iana/common/model.js +0 -24
  421. package/iana/common/registeredItems.d.ts.map +0 -1
  422. package/iana/common/registeredItems.js +0 -124
  423. package/iana/common/utils.d.ts.map +0 -1
  424. package/iana/common/utils.js +0 -34
  425. package/iana/common/validate.d.ts.map +0 -1
  426. package/iana/common/validate.js +0 -61
  427. package/iana/converters.d.ts.map +0 -1
  428. package/iana/defaultRegistries.d.ts.map +0 -1
  429. package/iana/defaultRegistries.js +0 -42
  430. package/iana/index.d.ts.map +0 -1
  431. package/iana/index.js +0 -64
  432. package/iana/jar/converters.d.ts.map +0 -1
  433. package/iana/jar/index.d.ts.map +0 -1
  434. package/iana/jar/jarConverters.d.ts.map +0 -1
  435. package/iana/jar/jarConverters.js +0 -85
  436. package/iana/jar/jarModel.d.ts.map +0 -1
  437. package/iana/jar/jarModel.js +0 -24
  438. package/iana/jar/language-subtags/converters.d.ts.map +0 -1
  439. package/iana/jar/language-subtags/index.d.ts.map +0 -1
  440. package/iana/jar/language-subtags/model.d.ts.map +0 -1
  441. package/iana/jar/language-subtags/registry/converters.d.ts.map +0 -1
  442. package/iana/jar/language-subtags/registry/converters.js +0 -58
  443. package/iana/jar/language-subtags/registry/index.d.ts +0 -4
  444. package/iana/jar/language-subtags/registry/index.d.ts.map +0 -1
  445. package/iana/jar/language-subtags/registry/model.d.ts.map +0 -1
  446. package/iana/jar/language-subtags/registry/model.js +0 -41
  447. package/iana/jar/language-subtags/tags/converters.d.ts +0 -55
  448. package/iana/jar/language-subtags/tags/converters.d.ts.map +0 -1
  449. package/iana/jar/language-subtags/tags/converters.js +0 -128
  450. package/iana/jar/language-subtags/tags/index.d.ts +0 -5
  451. package/iana/jar/language-subtags/tags/index.d.ts.map +0 -1
  452. package/iana/jar/language-subtags/tags/model.d.ts.map +0 -1
  453. package/iana/jar/language-subtags/tags/model.js +0 -24
  454. package/iana/jar/language-subtags/tags/tagValidation.d.ts.map +0 -1
  455. package/iana/jar/language-subtags/tags/tagValidation.js +0 -70
  456. package/iana/jar/language-subtags/tags/validate.d.ts.map +0 -1
  457. package/iana/jar/language-subtags/tags/validate.js +0 -87
  458. package/iana/jar/model.d.ts.map +0 -1
  459. package/iana/language-subtags/common.d.ts.map +0 -1
  460. package/iana/language-subtags/common.js +0 -24
  461. package/iana/language-subtags/converters.d.ts +0 -52
  462. package/iana/language-subtags/converters.d.ts.map +0 -1
  463. package/iana/language-subtags/converters.js +0 -200
  464. package/iana/language-subtags/index.d.ts.map +0 -1
  465. package/iana/language-subtags/jarConverters.d.ts.map +0 -1
  466. package/iana/language-subtags/jarConverters.js +0 -213
  467. package/iana/language-subtags/model.d.ts.map +0 -1
  468. package/iana/language-subtags/model.js +0 -24
  469. package/iana/language-subtags/scope.d.ts.map +0 -1
  470. package/iana/language-subtags/scope.js +0 -179
  471. package/iana/language-subtags/subtagRegistry.d.ts.map +0 -1
  472. package/iana/language-subtags/subtagRegistry.js +0 -149
  473. package/iana/language-subtags/validate.d.ts.map +0 -1
  474. package/iana/language-tag-extensions/converters.d.ts +0 -23
  475. package/iana/language-tag-extensions/converters.d.ts.map +0 -1
  476. package/iana/language-tag-extensions/converters.js +0 -87
  477. package/iana/language-tag-extensions/extensionsRegistry.d.ts.map +0 -1
  478. package/iana/language-tag-extensions/extensionsRegistry.js +0 -104
  479. package/iana/language-tag-extensions/extensionsScope.d.ts.map +0 -1
  480. package/iana/language-tag-extensions/extensionsScope.js +0 -77
  481. package/iana/language-tag-extensions/index.d.ts.map +0 -1
  482. package/iana/language-tag-extensions/jarConverters.d.ts.map +0 -1
  483. package/iana/language-tag-extensions/jarConverters.js +0 -102
  484. package/iana/language-tag-extensions/model.d.ts.map +0 -1
  485. package/iana/language-tag-extensions/model.js +0 -24
  486. package/iana/language-tag-extensions/validate.d.ts.map +0 -1
  487. package/iana/language-tag-extensions/validate.js +0 -36
  488. package/iana/languageRegistries.d.ts.map +0 -1
  489. package/iana/languageRegistries.js +0 -56
  490. package/iana/model.d.ts.map +0 -1
  491. package/iana/validate.d.ts.map +0 -1
  492. package/index.d.ts +0 -6
  493. package/index.d.ts.map +0 -1
  494. package/index.js +0 -56
  495. package/unsd/areas.d.ts +0 -29
  496. package/unsd/areas.d.ts.map +0 -1
  497. package/unsd/areas.js +0 -96
  498. package/unsd/common.d.ts +0 -49
  499. package/unsd/common.d.ts.map +0 -1
  500. package/unsd/common.js +0 -24
  501. package/unsd/csv/converters.d.ts.map +0 -1
  502. package/unsd/csv/converters.js +0 -70
  503. package/unsd/csv/index.d.ts +0 -4
  504. package/unsd/csv/index.d.ts.map +0 -1
  505. package/unsd/csv/model.d.ts +0 -22
  506. package/unsd/csv/model.d.ts.map +0 -1
  507. package/unsd/csv/model.js +0 -24
  508. package/unsd/defaultRegistries.d.ts.map +0 -1
  509. package/unsd/defaultRegistries.js +0 -42
  510. package/unsd/index.d.ts.map +0 -1
  511. package/unsd/index.js +0 -44
  512. package/unsd/regionCodes.d.ts.map +0 -1
  513. package/unsd/regionCodes.js +0 -121
  514. package/unsd/regions.d.ts +0 -21
  515. package/unsd/regions.d.ts.map +0 -1
  516. package/unsd/regions.js +0 -77
  517. package/utils/index.d.ts.map +0 -1
  518. package/utils/jsonHelpers.d.ts.map +0 -1
  519. package/utils/jsonHelpers.js +0 -29
  520. package/utils/public.d.ts +0 -2
  521. package/utils/public.d.ts.map +0 -1
  522. package/utils/public.js +0 -28
  523. package/utils/validationHelpers.d.ts.map +0 -1
  524. package/utils/validationHelpers.js +0 -120
  525. /package/{bcp47 → lib/packlets/bcp47}/bcp47Subtags/converters.d.ts +0 -0
  526. /package/{bcp47 → lib/packlets/bcp47}/bcp47Subtags/index.d.ts +0 -0
  527. /package/{bcp47 → lib/packlets/bcp47}/match/common.d.ts +0 -0
  528. /package/{bcp47 → lib/packlets/bcp47}/match/similarity.d.ts +0 -0
  529. /package/{bcp47 → lib/packlets/bcp47}/normalization/index.d.ts +0 -0
  530. /package/{bcp47 → lib/packlets/bcp47}/overrides/defaultRegistries.d.ts +0 -0
  531. /package/{bcp47 → lib/packlets/bcp47}/overrides/index.d.ts +0 -0
  532. /package/{bcp47 → lib/packlets/bcp47}/validation/index.d.ts +0 -0
  533. /package/{iana → lib/packlets/iana}/common/registeredItems.d.ts +0 -0
  534. /package/{iana → lib/packlets/iana}/common/utils.d.ts +0 -0
  535. /package/{iana → lib/packlets/iana}/converters.d.ts +0 -0
  536. /package/{iana → lib/packlets/iana}/defaultRegistries.d.ts +0 -0
  537. /package/{iana → lib/packlets/iana}/jar/converters.d.ts +0 -0
  538. /package/{iana → lib/packlets/iana}/jar/language-subtags/converters.d.ts +0 -0
  539. /package/{iana → lib/packlets/iana}/jar/language-subtags/model.d.ts +0 -0
  540. /package/{iana → lib/packlets/iana}/jar/language-subtags/registry/converters.d.ts +0 -0
  541. /package/{iana/jar/language-subtags → lib/packlets/iana/jar/language-subtags/registry}/index.d.ts +0 -0
  542. /package/{iana → lib/packlets/iana}/jar/language-subtags/tags/model.d.ts +0 -0
  543. /package/{iana → lib/packlets/iana}/jar/language-subtags/tags/tagValidation.d.ts +0 -0
  544. /package/{iana → lib/packlets/iana}/jar/language-subtags/tags/validate.d.ts +0 -0
  545. /package/{iana → lib/packlets/iana}/jar/model.d.ts +0 -0
  546. /package/{iana → lib/packlets/iana}/language-subtags/common.d.ts +0 -0
  547. /package/{iana → lib/packlets/iana}/language-subtags/validate.d.ts +0 -0
  548. /package/{iana → lib/packlets/iana}/languageRegistries.d.ts +0 -0
  549. /package/{iana → lib/packlets/iana}/model.d.ts +0 -0
  550. /package/{iana → lib/packlets/iana}/validate.d.ts +0 -0
  551. /package/{iana/jar → lib/packlets/unsd/csv}/index.d.ts +0 -0
  552. /package/{unsd → lib/packlets/unsd}/defaultRegistries.d.ts +0 -0
  553. /package/{utils → lib/packlets/utils}/index.d.ts +0 -0
  554. /package/{utils → lib/packlets/utils}/jsonHelpers.d.ts +0 -0
package/lib/index.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ import * as Bcp47 from './packlets/bcp47';
2
+ import * as Iana from './packlets/iana';
3
+ import * as Unsd from './packlets/unsd';
4
+ import * as Utils from './packlets/utils/public';
5
+ export { Bcp47, Iana, Unsd, Utils };
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AAExC,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAC;AAEjD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC"}
package/lib/index.js ADDED
@@ -0,0 +1,57 @@
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.Utils = exports.Unsd = exports.Iana = exports.Bcp47 = void 0;
48
+ const Bcp47 = __importStar(require("./packlets/bcp47"));
49
+ exports.Bcp47 = Bcp47;
50
+ const Iana = __importStar(require("./packlets/iana"));
51
+ exports.Iana = Iana;
52
+ const Unsd = __importStar(require("./packlets/unsd"));
53
+ exports.Unsd = Unsd;
54
+ // eslint-disable-next-line @rushstack/packlets/mechanics
55
+ const Utils = __importStar(require("./packlets/utils/public"));
56
+ exports.Utils = Utils;
57
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,wDAA0C;AAMjC,sBAAK;AALd,sDAAwC;AAKxB,oBAAI;AAJpB,sDAAwC;AAIlB,oBAAI;AAH1B,yDAAyD;AACzD,+DAAiD;AAErB,sBAAK","sourcesContent":["/*\n * Copyright (c) 2022 Erik Fortune\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\nimport * as Bcp47 from './packlets/bcp47';\nimport * as Iana from './packlets/iana';\nimport * as Unsd from './packlets/unsd';\n// eslint-disable-next-line @rushstack/packlets/mechanics\nimport * as Utils from './packlets/utils/public';\n\nexport { Bcp47, Iana, Unsd, Utils };\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"converters.d.ts","sourceRoot":"","sources":["../../../../src/packlets/bcp47/bcp47Subtags/converters.ts"],"names":[],"mappings":"AAyBA;;GAEG;AACH,eAAO,MAAM,eAAe,+EAAqC,CAAC;AAClE;;GAEG;AACH,eAAO,MAAM,gBAAgB,gFAAsC,CAAC"}
@@ -20,6 +20,7 @@
20
20
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
  * SOFTWARE.
22
22
  */
23
+ /* eslint-disable @rushstack/typedef-var */
23
24
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
24
25
  if (k2 === undefined) k2 = k;
25
26
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -54,4 +55,4 @@ exports.extensionSubtag = Validate.extensionSubtag.converter;
54
55
  * @internal
55
56
  */
56
57
  exports.privateUsePrefix = Validate.privateUsePrefix.converter;
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iY3A0Ny9iY3A0N1N1YnRhZ3MvY29udmVydGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVILHFEQUF1QztBQUV2Qzs7R0FFRztBQUNVLFFBQUEsZUFBZSxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDO0FBQ2xFOztHQUVHO0FBQ1UsUUFBQSxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyMiBFcmlrIEZvcnR1bmVcbiAqXG4gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4gKlxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4gKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuICpcbiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbiAqIFNPRlRXQVJFLlxuICovXG5cbmltcG9ydCAqIGFzIFZhbGlkYXRlIGZyb20gJy4vdmFsaWRhdGUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgZXh0ZW5zaW9uU3VidGFnID0gVmFsaWRhdGUuZXh0ZW5zaW9uU3VidGFnLmNvbnZlcnRlcjtcbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCBwcml2YXRlVXNlUHJlZml4ID0gVmFsaWRhdGUucHJpdmF0ZVVzZVByZWZpeC5jb252ZXJ0ZXI7XG4iXX0=
58
+ //# sourceMappingURL=converters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"converters.js","sourceRoot":"","sources":["../../../../src/packlets/bcp47/bcp47Subtags/converters.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,2CAA2C;;;;;;;;;;;;;;;;;;;;;;;;;;AAE3C,qDAAuC;AAEvC;;GAEG;AACU,QAAA,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC;AAClE;;GAEG;AACU,QAAA,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC","sourcesContent":["/*\n * Copyright (c) 2022 Erik Fortune\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n/* eslint-disable @rushstack/typedef-var */\n\nimport * as Validate from './validate';\n\n/**\n * @internal\n */\nexport const extensionSubtag = Validate.extensionSubtag.converter;\n/**\n * @internal\n */\nexport const privateUsePrefix = Validate.privateUsePrefix.converter;\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/packlets/bcp47/bcp47Subtags/index.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC"}
@@ -51,4 +51,4 @@ const Model = __importStar(require("./model"));
51
51
  exports.Model = Model;
52
52
  const Validate = __importStar(require("./validate"));
53
53
  exports.Validate = Validate;
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmNwNDcvYmNwNDdTdWJ0YWdzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUgseURBQTJDO0FBSWxDLGdDQUFVO0FBSG5CLCtDQUFpQztBQUdaLHNCQUFLO0FBRjFCLHFEQUF1QztBQUVYLDRCQUFRIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyMiBFcmlrIEZvcnR1bmVcbiAqXG4gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4gKlxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4gKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuICpcbiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbiAqIFNPRlRXQVJFLlxuICovXG5cbmltcG9ydCAqIGFzIENvbnZlcnRlcnMgZnJvbSAnLi9jb252ZXJ0ZXJzJztcbmltcG9ydCAqIGFzIE1vZGVsIGZyb20gJy4vbW9kZWwnO1xuaW1wb3J0ICogYXMgVmFsaWRhdGUgZnJvbSAnLi92YWxpZGF0ZSc7XG5cbmV4cG9ydCB7IENvbnZlcnRlcnMsIE1vZGVsLCBWYWxpZGF0ZSB9O1xuIl19
54
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/packlets/bcp47/bcp47Subtags/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,yDAA2C;AAIlC,gCAAU;AAHnB,+CAAiC;AAGZ,sBAAK;AAF1B,qDAAuC;AAEX,4BAAQ","sourcesContent":["/*\n * Copyright (c) 2022 Erik Fortune\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\nimport * as Converters from './converters';\nimport * as Model from './model';\nimport * as Validate from './validate';\n\nexport { Converters, Model, Validate };\n"]}
@@ -11,8 +11,10 @@ export type PrivateUseSubtag = Brand<string, 'PrivateUseSubtag'>;
11
11
  * @internal
12
12
  */
13
13
  export type PrivateUsePrefix = Brand<string, 'PrivateUsePrefix'>;
14
+ import * as Iana from '../../iana';
14
15
  /**
15
16
  * @public
16
17
  */
17
- export { ExtensionSingleton } from '../../iana/language-tag-extensions/model';
18
+ type ExtensionSingleton = Iana.LanguageTagExtensions.Model.ExtensionSingleton;
19
+ export { ExtensionSingleton };
18
20
  //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../src/packlets/bcp47/bcp47Subtags/model.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAE/D;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AAEjE;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AAEjE,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AAEnC;;GAEG;AACH,KAAK,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,kBAAkB,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -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=model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../src/packlets/bcp47/bcp47Subtags/model.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG","sourcesContent":["/*\n * Copyright (c) 2022 Erik Fortune\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\nimport { Brand } from '@fgv/ts-utils';\n\n/**\n * @public\n */\nexport type ExtensionSubtag = Brand<string, 'ExtensionSubtag'>;\n\n/**\n * @internal\n */\nexport type PrivateUseSubtag = Brand<string, 'PrivateUseSubtag'>;\n\n/**\n * @internal\n */\nexport type PrivateUsePrefix = Brand<string, 'PrivateUsePrefix'>;\n\nimport * as Iana from '../../iana';\n\n/**\n * @public\n */\ntype ExtensionSingleton = Iana.LanguageTagExtensions.Model.ExtensionSingleton;\nexport { ExtensionSingleton };\n"]}
@@ -1,10 +1,10 @@
1
- import * as ExtensionRegistry from '../../iana/language-tag-extensions';
1
+ import * as Iana from '../../iana';
2
2
  import * as Subtags from './model';
3
3
  import { RegExpValidationHelpers } from '../../utils';
4
4
  /**
5
5
  * @public
6
6
  */
7
- export declare const extensionSingleton: RegExpValidationHelpers<ExtensionRegistry.Model.ExtensionSingleton, unknown>;
7
+ export declare const extensionSingleton: RegExpValidationHelpers<Iana.LanguageTagExtensions.Model.ExtensionSingleton, unknown>;
8
8
  /**
9
9
  * @public
10
10
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../../src/packlets/bcp47/bcp47Subtags/validate.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAItD;;GAEG;AACH,eAAO,MAAM,kBAAkB,uFAAyD,CAAC;AAEzF;;GAEG;AACH,eAAO,MAAM,eAAe,2DAM1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB,4DAK3B,CAAC"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2021 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
+ /* eslint-disable @rushstack/typedef-var */
24
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
25
+ if (k2 === undefined) k2 = k;
26
+ var desc = Object.getOwnPropertyDescriptor(m, k);
27
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
28
+ desc = { enumerable: true, get: function() { return m[k]; } };
29
+ }
30
+ Object.defineProperty(o, k2, desc);
31
+ }) : (function(o, m, k, k2) {
32
+ if (k2 === undefined) k2 = k;
33
+ o[k2] = m[k];
34
+ }));
35
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
36
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
37
+ }) : function(o, v) {
38
+ o["default"] = v;
39
+ });
40
+ var __importStar = (this && this.__importStar) || function (mod) {
41
+ if (mod && mod.__esModule) return mod;
42
+ var result = {};
43
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
44
+ __setModuleDefault(result, mod);
45
+ return result;
46
+ };
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.privateUsePrefix = exports.extensionSubtag = exports.extensionSingleton = void 0;
49
+ const Iana = __importStar(require("../../iana"));
50
+ const utils_1 = require("../../utils");
51
+ const ts_utils_1 = require("@fgv/ts-utils");
52
+ /**
53
+ * @public
54
+ */
55
+ exports.extensionSingleton = Iana.LanguageTagExtensions.Validate.extensionSingleton;
56
+ /**
57
+ * @public
58
+ */
59
+ exports.extensionSubtag = new utils_1.RegExpValidationHelpers({
60
+ description: 'language tag extension subtag',
61
+ wellFormed: /^([a-zA-Z0-9]{2,8})(-[a-zA-Z0-9]{2,8})*$/,
62
+ canonical: /^([a-z0-9]{2,8})(-[a-z0-9]{2,8})*$/,
63
+ toCanonical: (from) => Iana.Jar.LanguageSubtags.Tags.Helpers.TagValidationHelpers.toCanonicalTag(from)
64
+ });
65
+ /**
66
+ * @public
67
+ */
68
+ exports.privateUsePrefix = new utils_1.RegExpValidationHelpers({
69
+ description: 'language tag private-use prefix',
70
+ wellFormed: /^[xX]$/,
71
+ canonical: /^x$/,
72
+ toCanonical: (from) => (0, ts_utils_1.succeed)(from.toLowerCase())
73
+ });
74
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../../src/packlets/bcp47/bcp47Subtags/validate.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,2CAA2C;;;;;;;;;;;;;;;;;;;;;;;;;;AAE3C,iDAAmC;AAGnC,uCAAsD;AAEtD,4CAAwC;AAExC;;GAEG;AACU,QAAA,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,kBAAkB,CAAC;AAEzF;;GAEG;AACU,QAAA,eAAe,GAAG,IAAI,+BAAuB,CAA0B;IAClF,WAAW,EAAE,+BAA+B;IAC5C,UAAU,EAAE,0CAA0C;IACtD,SAAS,EAAE,oCAAoC;IAC/C,WAAW,EAAE,CAAC,IAA6B,EAAE,EAAE,CAC7C,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,cAAc,CAAC,IAAI,CAAC;CAClF,CAAC,CAAC;AAEH;;GAEG;AACU,QAAA,gBAAgB,GAAG,IAAI,+BAAuB,CAA2B;IACpF,WAAW,EAAE,iCAAiC;IAC9C,UAAU,EAAE,QAAQ;IACpB,SAAS,EAAE,KAAK;IAChB,WAAW,EAAE,CAAC,IAA8B,EAAE,EAAE,CAAC,IAAA,kBAAO,EAAC,IAAI,CAAC,WAAW,EAA8B,CAAC;CACzG,CAAC,CAAC","sourcesContent":["/*\n * Copyright (c) 2021 Erik Fortune\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n/* eslint-disable @rushstack/typedef-var */\n\nimport * as Iana from '../../iana';\nimport * as Subtags from './model';\n\nimport { RegExpValidationHelpers } from '../../utils';\n\nimport { succeed } from '@fgv/ts-utils';\n\n/**\n * @public\n */\nexport const extensionSingleton = Iana.LanguageTagExtensions.Validate.extensionSingleton;\n\n/**\n * @public\n */\nexport const extensionSubtag = new RegExpValidationHelpers<Subtags.ExtensionSubtag>({\n description: 'language tag extension subtag',\n wellFormed: /^([a-zA-Z0-9]{2,8})(-[a-zA-Z0-9]{2,8})*$/,\n canonical: /^([a-z0-9]{2,8})(-[a-z0-9]{2,8})*$/,\n toCanonical: (from: Subtags.ExtensionSubtag) =>\n Iana.Jar.LanguageSubtags.Tags.Helpers.TagValidationHelpers.toCanonicalTag(from)\n});\n\n/**\n * @public\n */\nexport const privateUsePrefix = new RegExpValidationHelpers<Subtags.PrivateUsePrefix>({\n description: 'language tag private-use prefix',\n wellFormed: /^[xX]$/,\n canonical: /^x$/,\n toCanonical: (from: Subtags.PrivateUsePrefix) => succeed(from.toLowerCase() as Subtags.PrivateUsePrefix)\n});\n"]}
@@ -4,20 +4,20 @@ export { ExtensionSingleton, ExtensionSubtag };
4
4
  /**
5
5
  * @public
6
6
  */
7
- export interface ExtensionSubtagValue {
7
+ export interface IExtensionSubtagValue {
8
8
  readonly singleton: ExtensionSingleton;
9
9
  readonly value: ExtensionSubtag;
10
10
  }
11
11
  /**
12
12
  * @public
13
13
  */
14
- export interface Subtags {
14
+ export interface ISubtags {
15
15
  primaryLanguage?: Iana.LanguageSubtags.LanguageSubtag;
16
16
  extlangs?: Iana.LanguageSubtags.ExtLangSubtag[];
17
17
  script?: Iana.LanguageSubtags.ScriptSubtag;
18
18
  region?: Iana.LanguageSubtags.RegionSubtag;
19
19
  variants?: Iana.LanguageSubtags.VariantSubtag[];
20
- extensions?: ExtensionSubtagValue[];
20
+ extensions?: IExtensionSubtagValue[];
21
21
  privateUse?: Iana.LanguageSubtags.ExtendedLanguageRange[];
22
22
  grandfathered?: Iana.LanguageSubtags.GrandfatheredTag;
23
23
  }
@@ -27,7 +27,7 @@ export interface Subtags {
27
27
  * @returns A string representing the supplied {@link Bcp47.Subtags | subtags}.
28
28
  * @public
29
29
  */
30
- export declare function subtagsToString(subtags: Subtags): string;
30
+ export declare function subtagsToString(subtags: ISubtags): string;
31
31
  /**
32
32
  * @public
33
33
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/packlets/bcp47/common.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,eAAe,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC;IACtD,QAAQ,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;IAChD,MAAM,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;IAC3C,MAAM,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;IAC3C,QAAQ,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;IAChD,UAAU,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACrC,UAAU,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,qBAAqB,EAAE,CAAC;IAE1D,aAAa,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC;CACvD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,QAAQ,GAAG,MAAM,CAezD;AAED;;GAEG;AAEH,eAAO,MAAM,oBAAoB,EAAE,IAAI,CAAC,eAAe,CAAC,cACV,CAAC;AAE/C;;GAEG;AAEH,eAAO,MAAM,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,YAAyD,CAAC"}
@@ -0,0 +1,59 @@
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.GlobalRegion = exports.UndeterminedLanguage = exports.subtagsToString = void 0;
25
+ /**
26
+ * Converts {@link Bcp47.Subtags | subtags} to a string.
27
+ * @param subtags - The {@link Bcp47.Subtags | subtags} to be converted.
28
+ * @returns A string representing the supplied {@link Bcp47.Subtags | subtags}.
29
+ * @public
30
+ */
31
+ function subtagsToString(subtags) {
32
+ var _a, _b, _c;
33
+ if (subtags.grandfathered) {
34
+ return subtags.grandfathered;
35
+ }
36
+ return [
37
+ subtags.primaryLanguage,
38
+ ...((_a = subtags.extlangs) !== null && _a !== void 0 ? _a : []),
39
+ subtags.script,
40
+ subtags.region,
41
+ ...((_b = subtags.variants) !== null && _b !== void 0 ? _b : []),
42
+ ...((_c = subtags.extensions) !== null && _c !== void 0 ? _c : []).map((e) => `${e.singleton}-${e.value}`),
43
+ ...(subtags.privateUse && subtags.privateUse.length > 0 ? [`x-${subtags.privateUse.join('-')}`] : [])
44
+ ]
45
+ .filter((s) => s !== undefined)
46
+ .join('-');
47
+ }
48
+ exports.subtagsToString = subtagsToString;
49
+ /**
50
+ * @public
51
+ */
52
+ // eslint-disable-next-line @typescript-eslint/naming-convention
53
+ exports.UndeterminedLanguage = 'und';
54
+ /**
55
+ * @public
56
+ */
57
+ // eslint-disable-next-line @typescript-eslint/naming-convention
58
+ exports.GlobalRegion = '001';
59
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/packlets/bcp47/common.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;;AA8BH;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,OAAiB;;IAC/C,IAAI,OAAO,CAAC,aAAa,EAAE;QACzB,OAAO,OAAO,CAAC,aAAa,CAAC;KAC9B;IACD,OAAO;QACL,OAAO,CAAC,eAAe;QACvB,GAAG,CAAC,MAAA,OAAO,CAAC,QAAQ,mCAAI,EAAE,CAAC;QAC3B,OAAO,CAAC,MAAM;QACd,OAAO,CAAC,MAAM;QACd,GAAG,CAAC,MAAA,OAAO,CAAC,QAAQ,mCAAI,EAAE,CAAC;QAC3B,GAAG,CAAC,MAAA,OAAO,CAAC,UAAU,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACrE,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACtG;SACE,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;SAC3C,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAfD,0CAeC;AAED;;GAEG;AACH,gEAAgE;AACnD,QAAA,oBAAoB,GAC/B,KAA4C,CAAC;AAE/C;;GAEG;AACH,gEAAgE;AACnD,QAAA,YAAY,GAAsC,KAA0C,CAAC","sourcesContent":["/*\n * Copyright (c) 2022 Erik Fortune\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\nimport * as Iana from '../iana';\n\nimport { ExtensionSingleton, ExtensionSubtag } from './bcp47Subtags/model';\nexport { ExtensionSingleton, ExtensionSubtag };\n\n/**\n * @public\n */\nexport interface IExtensionSubtagValue {\n readonly singleton: ExtensionSingleton;\n readonly value: ExtensionSubtag;\n}\n\n/**\n * @public\n */\nexport interface ISubtags {\n primaryLanguage?: Iana.LanguageSubtags.LanguageSubtag;\n extlangs?: Iana.LanguageSubtags.ExtLangSubtag[];\n script?: Iana.LanguageSubtags.ScriptSubtag;\n region?: Iana.LanguageSubtags.RegionSubtag;\n variants?: Iana.LanguageSubtags.VariantSubtag[];\n extensions?: IExtensionSubtagValue[];\n privateUse?: Iana.LanguageSubtags.ExtendedLanguageRange[];\n\n grandfathered?: Iana.LanguageSubtags.GrandfatheredTag;\n}\n\n/**\n * Converts {@link Bcp47.Subtags | subtags} to a string.\n * @param subtags - The {@link Bcp47.Subtags | subtags} to be converted.\n * @returns A string representing the supplied {@link Bcp47.Subtags | subtags}.\n * @public\n */\nexport function subtagsToString(subtags: ISubtags): string {\n if (subtags.grandfathered) {\n return subtags.grandfathered;\n }\n return [\n subtags.primaryLanguage,\n ...(subtags.extlangs ?? []),\n subtags.script,\n subtags.region,\n ...(subtags.variants ?? []),\n ...(subtags.extensions ?? []).map((e) => `${e.singleton}-${e.value}`),\n ...(subtags.privateUse && subtags.privateUse.length > 0 ? [`x-${subtags.privateUse.join('-')}`] : [])\n ]\n .filter((s): s is string => s !== undefined)\n .join('-');\n}\n\n/**\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const UndeterminedLanguage: Iana.LanguageSubtags.LanguageSubtag =\n 'und' as Iana.LanguageSubtags.LanguageSubtag;\n\n/**\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const GlobalRegion: Iana.LanguageSubtags.RegionSubtag = '001' as Iana.LanguageSubtags.RegionSubtag;\n"]}
@@ -1,14 +1,14 @@
1
- import { LanguageChooserOptions } from './match/chooser';
2
- import { LanguageTag, LanguageTagInitOptions } from './languageTag';
3
1
  import { Result } from '@fgv/ts-utils';
4
- import { Subtags } from './common';
2
+ import { ISubtags } from './common';
3
+ import { ILanguageTagInitOptions, LanguageTag } from './languageTag';
4
+ import { ILanguageChooserOptions } from './match/chooser';
5
5
  /**
6
6
  * Any of the possible ways to represent a language - as a `string`,
7
7
  * parsed {@link Bcp47.Subtags | subtags} or an instantiated
8
8
  * {@link Bcp47.LanguageTag | language tag}.
9
9
  * @public
10
10
  */
11
- export type LanguageSpec = string | Subtags | LanguageTag;
11
+ export type LanguageSpec = string | ISubtags | LanguageTag;
12
12
  /**
13
13
  * Creates a new {@link Bcp47.LanguageTag | language tag} from a {@link Bcp47.LanguageSpec | language specifier}
14
14
  *
@@ -24,7 +24,7 @@ export type LanguageSpec = string | Subtags | LanguageTag;
24
24
  * if an error occurs.
25
25
  * @public
26
26
  */
27
- export declare function tag(from: LanguageSpec, options?: LanguageTagInitOptions): Result<LanguageTag>;
27
+ export declare function tag(from: LanguageSpec, options?: ILanguageTagInitOptions): Result<LanguageTag>;
28
28
  /**
29
29
  * Creates an array of {@link Bcp47.LanguageTag | language tags} from an incoming array of
30
30
  * {@link Bcp47.LanguageSpec | language specifiers}.
@@ -35,7 +35,7 @@ export declare function tag(from: LanguageSpec, options?: LanguageTagInitOptions
35
35
  * with details if an error occurs.
36
36
  * @public
37
37
  */
38
- export declare function tags(from: LanguageSpec[], options?: LanguageTagInitOptions): Result<LanguageTag[]>;
38
+ export declare function tags(from: LanguageSpec[], options?: ILanguageTagInitOptions): Result<LanguageTag[]>;
39
39
  /**
40
40
  * Determine how similar two language tags are to each other.
41
41
  *
@@ -51,7 +51,7 @@ export declare function tags(from: LanguageSpec[], options?: LanguageTagInitOpti
51
51
  * @see For a set of common levels of similarity, see {@link Bcp47.tagSimilarity | similarity}.
52
52
  * @public
53
53
  */
54
- export declare function similarity(t1: LanguageSpec, t2: LanguageSpec, options?: LanguageTagInitOptions): Result<number>;
54
+ export declare function similarity(t1: LanguageSpec, t2: LanguageSpec, options?: ILanguageTagInitOptions): Result<number>;
55
55
  /**
56
56
  * Matches a list of desired {@link Bcp47.LanguageSpec | languages} to a list of available {@link Bcp47.LanguageSpec | languages},
57
57
  * return a list of matching languages ordered from best to worst.
@@ -62,5 +62,5 @@ export declare function similarity(t1: LanguageSpec, t2: LanguageSpec, options?:
62
62
  * an error occurs.
63
63
  * @public
64
64
  */
65
- export declare function choose(desired: LanguageSpec[], available: LanguageSpec[], options?: LanguageTagInitOptions & LanguageChooserOptions): Result<LanguageTag[]>;
65
+ export declare function choose(desired: LanguageSpec[], available: LanguageSpec[], options?: ILanguageTagInitOptions & ILanguageChooserOptions): Result<LanguageTag[]>;
66
66
  //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/packlets/bcp47/helpers.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,MAAM,EAAuB,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAErE,OAAO,EAAE,uBAAuB,EAAmB,MAAM,iBAAiB,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE3D;;;;;;;;;;;;;;GAcG;AAEH,wBAAgB,GAAG,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,MAAM,CAAC,WAAW,CAAC,CAE9F;AAED;;;;;;;;;GASG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,CAEnG;AAED;;;;;;;;;;;;;;GAcG;AAEH,wBAAgB,UAAU,CACxB,EAAE,EAAE,YAAY,EAChB,EAAE,EAAE,YAAY,EAChB,OAAO,CAAC,EAAE,uBAAuB,GAChC,MAAM,CAAC,MAAM,CAAC,CAIhB;AAED;;;;;;;;;GASG;AACH,wBAAgB,MAAM,CACpB,OAAO,EAAE,YAAY,EAAE,EACvB,SAAS,EAAE,YAAY,EAAE,EACzB,OAAO,CAAC,EAAE,uBAAuB,GAAG,uBAAuB,GAC1D,MAAM,CAAC,WAAW,EAAE,CAAC,CAMvB"}
@@ -0,0 +1,103 @@
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.choose = exports.similarity = exports.tags = exports.tag = void 0;
25
+ const ts_utils_1 = require("@fgv/ts-utils");
26
+ const languageTag_1 = require("./languageTag");
27
+ const match_1 = require("./match");
28
+ const chooser_1 = require("./match/chooser");
29
+ /**
30
+ * Creates a new {@link Bcp47.LanguageTag | language tag} from a {@link Bcp47.LanguageSpec | language specifier}
31
+ *
32
+ * The supplied initializer must be at least
33
+ * {@link https://www.rfc-editor.org/rfc/rfc5646.html#section-2.2.9 | well-formed according to RFC 5646}.
34
+ * Higher degrees of validation along with any normalizations may be optionally specified.
35
+ *
36
+ * @param from - The {@link Bcp47.LanguageSpec | language specifier} from which the tag is to
37
+ * be created.
38
+ * @param options - (optional) The {@link Bcp47.LanguageTagInitOptions | options} used to construct
39
+ * and validate the tag.
40
+ * @returns `Success` with a valid {@link Bcp47.LanguageTag | language tag} or `Failure` with details
41
+ * if an error occurs.
42
+ * @public
43
+ */
44
+ /* c8 ignore next 3 - tests applied for wrapped function */
45
+ function tag(from, options) {
46
+ return from instanceof languageTag_1.LanguageTag ? (0, ts_utils_1.succeed)(from) : languageTag_1.LanguageTag.create(from, options);
47
+ }
48
+ exports.tag = tag;
49
+ /**
50
+ * Creates an array of {@link Bcp47.LanguageTag | language tags} from an incoming array of
51
+ * {@link Bcp47.LanguageSpec | language specifiers}.
52
+ * @param from - The array of {@link Bcp47.LanguageSpec} to be converted.
53
+ * @param options - (optional) The {@link Bcp47.LanguageTagInitOptions | options} used to construct
54
+ * and validate any created tags.
55
+ * @returns `Success` with an array of {@link Bcp47.LanguageTag | language tags}, or `Failure`
56
+ * with details if an error occurs.
57
+ * @public
58
+ */
59
+ function tags(from, options) {
60
+ return (0, ts_utils_1.mapResults)(from.map((f) => tag(f, options)));
61
+ }
62
+ exports.tags = tags;
63
+ /**
64
+ * Determine how similar two language tags are to each other.
65
+ *
66
+ * @param t1 - First tag to match, supplied as one of `string`, individual
67
+ * {@link Bcp47.Subtags | subtags}, or constructed
68
+ * {@link Bcp47.LanguageTag | language tag}.
69
+ * @param t2 - Second tag to match, supplied as one of `string`, individual
70
+ * {@link Bcp47.Subtags | subtags}, or constructed
71
+ * {@link Bcp47.LanguageTag | language tag}.
72
+ * @param options - (optional) A set of {@link Bcp47.LanguageTagInitOptions | language tag options}
73
+ * which control any necessary conversion or parsing.
74
+ * @returns A numeric value in the range 1.0 (exact match) to 0.0 (no match).
75
+ * @see For a set of common levels of similarity, see {@link Bcp47.tagSimilarity | similarity}.
76
+ * @public
77
+ */
78
+ /* c8 ignore next - tests applied for wrapped function */
79
+ function similarity(t1, t2, options) {
80
+ return tags([t1, t2], options).onSuccess((tags) => {
81
+ return (0, ts_utils_1.succeed)(new match_1.LanguageSimilarityMatcher().matchLanguageTags(tags[0], tags[1]));
82
+ });
83
+ }
84
+ exports.similarity = similarity;
85
+ /**
86
+ * Matches a list of desired {@link Bcp47.LanguageSpec | languages} to a list of available {@link Bcp47.LanguageSpec | languages},
87
+ * return a list of matching languages ordered from best to worst.
88
+ * @param desired - An array of {@link Bcp47.LanguageSpec | language specifications} containing an ordered list of preferred languages.
89
+ * @param available - An array of {@link Bcp47.LanguageSpec | language specifications} containing an unordered list of available languages.
90
+ * @param options - (optional) Parameters to control language tag conversion or comparison
91
+ * @returns `Success` with an ordered list of matching {@link Bcp47.LanguageTag | languages}, or `Failure` with details if
92
+ * an error occurs.
93
+ * @public
94
+ */
95
+ function choose(desired, available, options) {
96
+ return tags(desired, options).onSuccess((w) => {
97
+ return tags(available, options).onSuccess((h) => {
98
+ return (0, ts_utils_1.succeed)(new chooser_1.LanguageChooser().filterLanguageTags(w, h, options));
99
+ });
100
+ });
101
+ }
102
+ exports.choose = choose;
103
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/packlets/bcp47/helpers.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;;AAEH,4CAA4D;AAE5D,+CAAqE;AACrE,mCAAoD;AACpD,6CAA2E;AAU3E;;;;;;;;;;;;;;GAcG;AACH,2DAA2D;AAC3D,SAAgB,GAAG,CAAC,IAAkB,EAAE,OAAiC;IACvE,OAAO,IAAI,YAAY,yBAAW,CAAC,CAAC,CAAC,IAAA,kBAAO,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,yBAAW,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACzF,CAAC;AAFD,kBAEC;AAED;;;;;;;;;GASG;AACH,SAAgB,IAAI,CAAC,IAAoB,EAAE,OAAiC;IAC1E,OAAO,IAAA,qBAAU,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAFD,oBAEC;AAED;;;;;;;;;;;;;;GAcG;AACH,yDAAyD;AACzD,SAAgB,UAAU,CACxB,EAAgB,EAChB,EAAgB,EAChB,OAAiC;IAEjC,OAAO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;QAChD,OAAO,IAAA,kBAAO,EAAC,IAAI,iCAAyB,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;AACL,CAAC;AARD,gCAQC;AAED;;;;;;;;;GASG;AACH,SAAgB,MAAM,CACpB,OAAuB,EACvB,SAAyB,EACzB,OAA2D;IAE3D,OAAO,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5C,OAAO,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9C,OAAO,IAAA,kBAAO,EAAC,IAAI,yBAAe,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAVD,wBAUC","sourcesContent":["/*\n * Copyright (c) 2022 Erik Fortune\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\nimport { Result, mapResults, succeed } from '@fgv/ts-utils';\nimport { ISubtags } from './common';\nimport { ILanguageTagInitOptions, LanguageTag } from './languageTag';\nimport { LanguageSimilarityMatcher } from './match';\nimport { ILanguageChooserOptions, LanguageChooser } from './match/chooser';\n\n/**\n * Any of the possible ways to represent a language - as a `string`,\n * parsed {@link Bcp47.Subtags | subtags} or an instantiated\n * {@link Bcp47.LanguageTag | language tag}.\n * @public\n */\nexport type LanguageSpec = string | ISubtags | LanguageTag;\n\n/**\n * Creates a new {@link Bcp47.LanguageTag | language tag} from a {@link Bcp47.LanguageSpec | language specifier}\n *\n * The supplied initializer must be at least\n * {@link https://www.rfc-editor.org/rfc/rfc5646.html#section-2.2.9 | well-formed according to RFC 5646}.\n * Higher degrees of validation along with any normalizations may be optionally specified.\n *\n * @param from - The {@link Bcp47.LanguageSpec | language specifier} from which the tag is to\n * be created.\n * @param options - (optional) The {@link Bcp47.LanguageTagInitOptions | options} used to construct\n * and validate the tag.\n * @returns `Success` with a valid {@link Bcp47.LanguageTag | language tag} or `Failure` with details\n * if an error occurs.\n * @public\n */\n/* c8 ignore next 3 - tests applied for wrapped function */\nexport function tag(from: LanguageSpec, options?: ILanguageTagInitOptions): Result<LanguageTag> {\n return from instanceof LanguageTag ? succeed(from) : LanguageTag.create(from, options);\n}\n\n/**\n * Creates an array of {@link Bcp47.LanguageTag | language tags} from an incoming array of\n * {@link Bcp47.LanguageSpec | language specifiers}.\n * @param from - The array of {@link Bcp47.LanguageSpec} to be converted.\n * @param options - (optional) The {@link Bcp47.LanguageTagInitOptions | options} used to construct\n * and validate any created tags.\n * @returns `Success` with an array of {@link Bcp47.LanguageTag | language tags}, or `Failure`\n * with details if an error occurs.\n * @public\n */\nexport function tags(from: LanguageSpec[], options?: ILanguageTagInitOptions): Result<LanguageTag[]> {\n return mapResults(from.map((f) => tag(f, options)));\n}\n\n/**\n * Determine how similar two language tags are to each other.\n *\n * @param t1 - First tag to match, supplied as one of `string`, individual\n * {@link Bcp47.Subtags | subtags}, or constructed\n * {@link Bcp47.LanguageTag | language tag}.\n * @param t2 - Second tag to match, supplied as one of `string`, individual\n * {@link Bcp47.Subtags | subtags}, or constructed\n * {@link Bcp47.LanguageTag | language tag}.\n * @param options - (optional) A set of {@link Bcp47.LanguageTagInitOptions | language tag options}\n * which control any necessary conversion or parsing.\n * @returns A numeric value in the range 1.0 (exact match) to 0.0 (no match).\n * @see For a set of common levels of similarity, see {@link Bcp47.tagSimilarity | similarity}.\n * @public\n */\n/* c8 ignore next - tests applied for wrapped function */\nexport function similarity(\n t1: LanguageSpec,\n t2: LanguageSpec,\n options?: ILanguageTagInitOptions\n): Result<number> {\n return tags([t1, t2], options).onSuccess((tags) => {\n return succeed(new LanguageSimilarityMatcher().matchLanguageTags(tags[0], tags[1]));\n });\n}\n\n/**\n * Matches a list of desired {@link Bcp47.LanguageSpec | languages} to a list of available {@link Bcp47.LanguageSpec | languages},\n * return a list of matching languages ordered from best to worst.\n * @param desired - An array of {@link Bcp47.LanguageSpec | language specifications} containing an ordered list of preferred languages.\n * @param available - An array of {@link Bcp47.LanguageSpec | language specifications} containing an unordered list of available languages.\n * @param options - (optional) Parameters to control language tag conversion or comparison\n * @returns `Success` with an ordered list of matching {@link Bcp47.LanguageTag | languages}, or `Failure` with details if\n * an error occurs.\n * @public\n */\nexport function choose(\n desired: LanguageSpec[],\n available: LanguageSpec[],\n options?: ILanguageTagInitOptions & ILanguageChooserOptions\n): Result<LanguageTag[]> {\n return tags(desired, options).onSuccess((w) => {\n return tags(available, options).onSuccess((h) => {\n return succeed(new LanguageChooser().filterLanguageTags(w, h, options));\n });\n });\n}\n"]}
@@ -0,0 +1,10 @@
1
+ import * as Subtags from './bcp47Subtags';
2
+ import * as Overrides from './overrides';
3
+ export { ExtensionSingleton, ExtensionSubtag, IExtensionSubtagValue, ISubtags, subtagsToString } from './common';
4
+ export * from './helpers';
5
+ export { ILanguageTagInitOptions, LanguageTag } from './languageTag';
6
+ export { ILanguageChooserOptions, LanguageSimilarityMatcher, TagSimilarity, tagSimilarity } from './match';
7
+ export { NormalizeTag, TagNormalization } from './normalization';
8
+ export { TagValidity, ValidateTag } from './validation';
9
+ export { Overrides, Subtags };
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/packlets/bcp47/index.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AAEzC,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACrB,QAAQ,EACR,eAAe,EAChB,MAAM,UAAU,CAAC;AAClB,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC3G,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC"}