@fgv/ts-bcp47 0.5.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 (271) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +141 -0
  3. package/bcp47/bcp47Subtags/converters.d.ts +9 -0
  4. package/bcp47/bcp47Subtags/converters.d.ts.map +1 -0
  5. package/bcp47/bcp47Subtags/converters.js +57 -0
  6. package/bcp47/bcp47Subtags/index.d.ts +5 -0
  7. package/bcp47/bcp47Subtags/index.d.ts.map +1 -0
  8. package/bcp47/bcp47Subtags/index.js +54 -0
  9. package/bcp47/bcp47Subtags/model.d.ts +18 -0
  10. package/bcp47/bcp47Subtags/model.d.ts.map +1 -0
  11. package/bcp47/bcp47Subtags/model.js +24 -0
  12. package/bcp47/bcp47Subtags/validate.d.ts +16 -0
  13. package/bcp47/bcp47Subtags/validate.d.ts.map +1 -0
  14. package/bcp47/bcp47Subtags/validate.js +74 -0
  15. package/bcp47/common.d.ts +38 -0
  16. package/bcp47/common.d.ts.map +1 -0
  17. package/bcp47/common.js +59 -0
  18. package/bcp47/helpers.d.ts +66 -0
  19. package/bcp47/helpers.d.ts.map +1 -0
  20. package/bcp47/helpers.js +103 -0
  21. package/bcp47/index.d.ts +7 -0
  22. package/bcp47/index.d.ts.map +1 -0
  23. package/bcp47/index.js +27 -0
  24. package/bcp47/languageTag.d.ts +208 -0
  25. package/bcp47/languageTag.d.ts.map +1 -0
  26. package/bcp47/languageTag.js +342 -0
  27. package/bcp47/languageTagParser.d.ts +123 -0
  28. package/bcp47/languageTagParser.d.ts.map +1 -0
  29. package/bcp47/languageTagParser.js +310 -0
  30. package/bcp47/match/chooser.d.ts +70 -0
  31. package/bcp47/match/chooser.d.ts.map +1 -0
  32. package/bcp47/match/chooser.js +92 -0
  33. package/bcp47/match/common.d.ts +24 -0
  34. package/bcp47/match/common.d.ts.map +1 -0
  35. package/bcp47/match/common.js +42 -0
  36. package/bcp47/match/index.d.ts +4 -0
  37. package/bcp47/match/index.d.ts.map +1 -0
  38. package/bcp47/match/index.js +45 -0
  39. package/bcp47/match/similarity.d.ts +24 -0
  40. package/bcp47/match/similarity.d.ts.map +1 -0
  41. package/bcp47/match/similarity.js +230 -0
  42. package/bcp47/normalization/baseNormalizer.d.ts +36 -0
  43. package/bcp47/normalization/baseNormalizer.d.ts.map +1 -0
  44. package/bcp47/normalization/baseNormalizer.js +114 -0
  45. package/bcp47/normalization/canonicalNormalizer.d.ts +22 -0
  46. package/bcp47/normalization/canonicalNormalizer.d.ts.map +1 -0
  47. package/bcp47/normalization/canonicalNormalizer.js +110 -0
  48. package/bcp47/normalization/common.d.ts +23 -0
  49. package/bcp47/normalization/common.d.ts.map +1 -0
  50. package/bcp47/normalization/common.js +82 -0
  51. package/bcp47/normalization/index.d.ts +5 -0
  52. package/bcp47/normalization/index.d.ts.map +1 -0
  53. package/bcp47/normalization/index.js +47 -0
  54. package/bcp47/normalization/normalizeTag.d.ts +59 -0
  55. package/bcp47/normalization/normalizeTag.d.ts.map +1 -0
  56. package/bcp47/normalization/normalizeTag.js +105 -0
  57. package/bcp47/normalization/preferredTagNormalizer.d.ts +26 -0
  58. package/bcp47/normalization/preferredTagNormalizer.d.ts.map +1 -0
  59. package/bcp47/normalization/preferredTagNormalizer.js +178 -0
  60. package/bcp47/overrides/converters.d.ts +19 -0
  61. package/bcp47/overrides/converters.d.ts.map +1 -0
  62. package/bcp47/overrides/converters.js +75 -0
  63. package/bcp47/overrides/defaultRegistries.d.ts +12 -0
  64. package/bcp47/overrides/defaultRegistries.d.ts.map +1 -0
  65. package/bcp47/overrides/defaultRegistries.js +42 -0
  66. package/bcp47/overrides/index.d.ts +3 -0
  67. package/bcp47/overrides/index.d.ts.map +1 -0
  68. package/bcp47/overrides/index.js +30 -0
  69. package/bcp47/overrides/model.d.ts +11 -0
  70. package/bcp47/overrides/model.d.ts.map +1 -0
  71. package/bcp47/overrides/model.js +24 -0
  72. package/bcp47/overrides/overridesRegistry.d.ts +32 -0
  73. package/bcp47/overrides/overridesRegistry.d.ts.map +1 -0
  74. package/bcp47/overrides/overridesRegistry.js +101 -0
  75. package/bcp47/validation/baseValidator.d.ts +35 -0
  76. package/bcp47/validation/baseValidator.d.ts.map +1 -0
  77. package/bcp47/validation/baseValidator.js +111 -0
  78. package/bcp47/validation/common.d.ts +23 -0
  79. package/bcp47/validation/common.d.ts.map +1 -0
  80. package/bcp47/validation/common.js +84 -0
  81. package/bcp47/validation/index.d.ts +7 -0
  82. package/bcp47/validation/index.d.ts.map +1 -0
  83. package/bcp47/validation/index.js +51 -0
  84. package/bcp47/validation/isCanonical.d.ts +22 -0
  85. package/bcp47/validation/isCanonical.d.ts.map +1 -0
  86. package/bcp47/validation/isCanonical.js +101 -0
  87. package/bcp47/validation/isInPreferredForm.d.ts +15 -0
  88. package/bcp47/validation/isInPreferredForm.d.ts.map +1 -0
  89. package/bcp47/validation/isInPreferredForm.js +73 -0
  90. package/bcp47/validation/isStrictlyValid.d.ts +18 -0
  91. package/bcp47/validation/isStrictlyValid.d.ts.map +1 -0
  92. package/bcp47/validation/isStrictlyValid.js +98 -0
  93. package/bcp47/validation/isValid.d.ts +24 -0
  94. package/bcp47/validation/isValid.d.ts.map +1 -0
  95. package/bcp47/validation/isValid.js +115 -0
  96. package/bcp47/validation/isWellFormed.d.ts +22 -0
  97. package/bcp47/validation/isWellFormed.d.ts.map +1 -0
  98. package/bcp47/validation/isWellFormed.js +98 -0
  99. package/bcp47/validation/validateTag.d.ts +97 -0
  100. package/bcp47/validation/validateTag.d.ts.map +1 -0
  101. package/bcp47/validation/validateTag.js +159 -0
  102. package/data/bcp/overrides.json +21 -0
  103. package/data/iana/language-subtags.json +77295 -0
  104. package/data/iana/language-tag-extensions.json +42 -0
  105. package/data/unsd/m49.csv +250 -0
  106. package/iana/common/converters.d.ts +31 -0
  107. package/iana/common/converters.d.ts.map +1 -0
  108. package/iana/common/converters.js +84 -0
  109. package/iana/common/model.d.ts +30 -0
  110. package/iana/common/model.d.ts.map +1 -0
  111. package/iana/common/model.js +24 -0
  112. package/iana/common/registeredItems.d.ts +30 -0
  113. package/iana/common/registeredItems.d.ts.map +1 -0
  114. package/iana/common/registeredItems.js +124 -0
  115. package/iana/common/utils.d.ts +7 -0
  116. package/iana/common/utils.d.ts.map +1 -0
  117. package/iana/common/utils.js +34 -0
  118. package/iana/common/validate.d.ts +19 -0
  119. package/iana/common/validate.d.ts.map +1 -0
  120. package/iana/common/validate.js +61 -0
  121. package/iana/converters.d.ts +4 -0
  122. package/iana/converters.d.ts.map +1 -0
  123. package/iana/converters.js +54 -0
  124. package/iana/defaultRegistries.d.ts +12 -0
  125. package/iana/defaultRegistries.d.ts.map +1 -0
  126. package/iana/defaultRegistries.js +42 -0
  127. package/iana/index.d.ts +9 -0
  128. package/iana/index.d.ts.map +1 -0
  129. package/iana/index.js +64 -0
  130. package/iana/jar/converters.d.ts +4 -0
  131. package/iana/jar/converters.d.ts.map +1 -0
  132. package/iana/jar/converters.js +54 -0
  133. package/iana/jar/index.d.ts +4 -0
  134. package/iana/jar/index.d.ts.map +1 -0
  135. package/iana/jar/index.js +52 -0
  136. package/iana/jar/jarConverters.d.ts +17 -0
  137. package/iana/jar/jarConverters.d.ts.map +1 -0
  138. package/iana/jar/jarConverters.js +85 -0
  139. package/iana/jar/jarModel.d.ts +11 -0
  140. package/iana/jar/jarModel.d.ts.map +1 -0
  141. package/iana/jar/jarModel.js +24 -0
  142. package/iana/jar/language-subtags/converters.d.ts +4 -0
  143. package/iana/jar/language-subtags/converters.d.ts.map +1 -0
  144. package/iana/jar/language-subtags/converters.js +52 -0
  145. package/iana/jar/language-subtags/index.d.ts +4 -0
  146. package/iana/jar/language-subtags/index.d.ts.map +1 -0
  147. package/iana/jar/language-subtags/index.js +54 -0
  148. package/iana/jar/language-subtags/model.d.ts +4 -0
  149. package/iana/jar/language-subtags/model.d.ts.map +1 -0
  150. package/iana/jar/language-subtags/model.js +52 -0
  151. package/iana/jar/language-subtags/registry/converters.d.ts +10 -0
  152. package/iana/jar/language-subtags/registry/converters.d.ts.map +1 -0
  153. package/iana/jar/language-subtags/registry/converters.js +58 -0
  154. package/iana/jar/language-subtags/registry/index.d.ts +4 -0
  155. package/iana/jar/language-subtags/registry/index.d.ts.map +1 -0
  156. package/iana/jar/language-subtags/registry/index.js +55 -0
  157. package/iana/jar/language-subtags/registry/model.d.ts +88 -0
  158. package/iana/jar/language-subtags/registry/model.d.ts.map +1 -0
  159. package/iana/jar/language-subtags/registry/model.js +41 -0
  160. package/iana/jar/language-subtags/tags/converters.d.ts +55 -0
  161. package/iana/jar/language-subtags/tags/converters.d.ts.map +1 -0
  162. package/iana/jar/language-subtags/tags/converters.js +128 -0
  163. package/iana/jar/language-subtags/tags/index.d.ts +5 -0
  164. package/iana/jar/language-subtags/tags/index.d.ts.map +1 -0
  165. package/iana/jar/language-subtags/tags/index.js +56 -0
  166. package/iana/jar/language-subtags/tags/model.d.ts +42 -0
  167. package/iana/jar/language-subtags/tags/model.d.ts.map +1 -0
  168. package/iana/jar/language-subtags/tags/model.js +24 -0
  169. package/iana/jar/language-subtags/tags/tagValidation.d.ts +11 -0
  170. package/iana/jar/language-subtags/tags/tagValidation.d.ts.map +1 -0
  171. package/iana/jar/language-subtags/tags/tagValidation.js +70 -0
  172. package/iana/jar/language-subtags/tags/validate.d.ts +36 -0
  173. package/iana/jar/language-subtags/tags/validate.d.ts.map +1 -0
  174. package/iana/jar/language-subtags/tags/validate.js +87 -0
  175. package/iana/jar/model.d.ts +4 -0
  176. package/iana/jar/model.d.ts.map +1 -0
  177. package/iana/jar/model.js +54 -0
  178. package/iana/language-subtags/common.d.ts +5 -0
  179. package/iana/language-subtags/common.d.ts.map +1 -0
  180. package/iana/language-subtags/common.js +24 -0
  181. package/iana/language-subtags/converters.d.ts +52 -0
  182. package/iana/language-subtags/converters.d.ts.map +1 -0
  183. package/iana/language-subtags/converters.js +200 -0
  184. package/iana/language-subtags/index.d.ts +7 -0
  185. package/iana/language-subtags/index.d.ts.map +1 -0
  186. package/iana/language-subtags/index.js +60 -0
  187. package/iana/language-subtags/jarConverters.d.ts +55 -0
  188. package/iana/language-subtags/jarConverters.d.ts.map +1 -0
  189. package/iana/language-subtags/jarConverters.js +213 -0
  190. package/iana/language-subtags/model.d.ts +144 -0
  191. package/iana/language-subtags/model.d.ts.map +1 -0
  192. package/iana/language-subtags/model.js +24 -0
  193. package/iana/language-subtags/scope.d.ts +77 -0
  194. package/iana/language-subtags/scope.d.ts.map +1 -0
  195. package/iana/language-subtags/scope.js +179 -0
  196. package/iana/language-subtags/subtagRegistry.d.ts +36 -0
  197. package/iana/language-subtags/subtagRegistry.d.ts.map +1 -0
  198. package/iana/language-subtags/subtagRegistry.js +139 -0
  199. package/iana/language-subtags/validate.d.ts +2 -0
  200. package/iana/language-subtags/validate.d.ts.map +1 -0
  201. package/iana/language-subtags/validate.js +39 -0
  202. package/iana/language-tag-extensions/converters.d.ts +23 -0
  203. package/iana/language-tag-extensions/converters.d.ts.map +1 -0
  204. package/iana/language-tag-extensions/converters.js +87 -0
  205. package/iana/language-tag-extensions/extensionsRegistry.d.ts +26 -0
  206. package/iana/language-tag-extensions/extensionsRegistry.d.ts.map +1 -0
  207. package/iana/language-tag-extensions/extensionsRegistry.js +94 -0
  208. package/iana/language-tag-extensions/extensionsScope.d.ts +20 -0
  209. package/iana/language-tag-extensions/extensionsScope.d.ts.map +1 -0
  210. package/iana/language-tag-extensions/extensionsScope.js +77 -0
  211. package/iana/language-tag-extensions/index.d.ts +6 -0
  212. package/iana/language-tag-extensions/index.d.ts.map +1 -0
  213. package/iana/language-tag-extensions/index.js +56 -0
  214. package/iana/language-tag-extensions/jarConverters.d.ts +28 -0
  215. package/iana/language-tag-extensions/jarConverters.d.ts.map +1 -0
  216. package/iana/language-tag-extensions/jarConverters.js +102 -0
  217. package/iana/language-tag-extensions/model.d.ts +40 -0
  218. package/iana/language-tag-extensions/model.d.ts.map +1 -0
  219. package/iana/language-tag-extensions/model.js +24 -0
  220. package/iana/language-tag-extensions/validate.d.ts +7 -0
  221. package/iana/language-tag-extensions/validate.d.ts.map +1 -0
  222. package/iana/language-tag-extensions/validate.js +36 -0
  223. package/iana/languageRegistries.d.ts +13 -0
  224. package/iana/languageRegistries.d.ts.map +1 -0
  225. package/iana/languageRegistries.js +49 -0
  226. package/iana/model.d.ts +4 -0
  227. package/iana/model.d.ts.map +1 -0
  228. package/iana/model.js +54 -0
  229. package/iana/validate.d.ts +2 -0
  230. package/iana/validate.d.ts.map +1 -0
  231. package/iana/validate.js +39 -0
  232. package/index.d.ts +5 -0
  233. package/index.d.ts.map +1 -0
  234. package/index.js +54 -0
  235. package/package.json +64 -0
  236. package/unsd/areas.d.ts +29 -0
  237. package/unsd/areas.d.ts.map +1 -0
  238. package/unsd/areas.js +96 -0
  239. package/unsd/common.d.ts +49 -0
  240. package/unsd/common.d.ts.map +1 -0
  241. package/unsd/common.js +24 -0
  242. package/unsd/csv/converters.d.ts +21 -0
  243. package/unsd/csv/converters.d.ts.map +1 -0
  244. package/unsd/csv/converters.js +70 -0
  245. package/unsd/csv/index.d.ts +4 -0
  246. package/unsd/csv/index.d.ts.map +1 -0
  247. package/unsd/csv/index.js +52 -0
  248. package/unsd/csv/model.d.ts +22 -0
  249. package/unsd/csv/model.d.ts.map +1 -0
  250. package/unsd/csv/model.js +24 -0
  251. package/unsd/defaultRegistries.d.ts +12 -0
  252. package/unsd/defaultRegistries.d.ts.map +1 -0
  253. package/unsd/defaultRegistries.js +42 -0
  254. package/unsd/index.d.ts +4 -0
  255. package/unsd/index.d.ts.map +1 -0
  256. package/unsd/index.js +44 -0
  257. package/unsd/regionCodes.d.ts +38 -0
  258. package/unsd/regionCodes.d.ts.map +1 -0
  259. package/unsd/regionCodes.js +111 -0
  260. package/unsd/regions.d.ts +21 -0
  261. package/unsd/regions.d.ts.map +1 -0
  262. package/unsd/regions.js +77 -0
  263. package/utils/index.d.ts +3 -0
  264. package/utils/index.d.ts.map +1 -0
  265. package/utils/index.js +40 -0
  266. package/utils/jsonHelpers.d.ts +2 -0
  267. package/utils/jsonHelpers.d.ts.map +1 -0
  268. package/utils/jsonHelpers.js +29 -0
  269. package/utils/validationHelpers.d.ts +47 -0
  270. package/utils/validationHelpers.d.ts.map +1 -0
  271. package/utils/validationHelpers.js +88 -0
@@ -0,0 +1,87 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.extendedLanguageRange = exports.redundantTag = exports.grandfatheredTag = exports.variantSubtag = exports.regionSubtag = exports.scriptSubtag = exports.extlangSubtag = exports.languageSubtag = void 0;
25
+ const utils_1 = require("../../../../utils");
26
+ const tagValidation_1 = require("./tagValidation");
27
+ const ts_utils_1 = require("@fgv/ts-utils");
28
+ /**
29
+ * @public
30
+ */
31
+ exports.languageSubtag = new utils_1.RegExpValidationHelpers({
32
+ description: 'language subtag',
33
+ wellFormed: /^[A-Za-z]{2,3}$/,
34
+ canonical: /^[a-z]{2,3}$/,
35
+ toCanonical: (from) => (0, ts_utils_1.succeed)(from.toLowerCase()),
36
+ });
37
+ /**
38
+ * @public
39
+ */
40
+ exports.extlangSubtag = new utils_1.RegExpValidationHelpers({
41
+ description: 'extlang subtag',
42
+ wellFormed: /^[A-Za-z]{3}$/,
43
+ canonical: /^[a-z]{3}$/,
44
+ toCanonical: (from) => (0, ts_utils_1.succeed)(from.toLowerCase()),
45
+ });
46
+ /**
47
+ * @public
48
+ */
49
+ exports.scriptSubtag = new utils_1.RegExpValidationHelpers({
50
+ description: 'script subtag',
51
+ wellFormed: /^[A-Za-z]{4}$/,
52
+ canonical: /^[A-Z][a-z]{3}$/,
53
+ toCanonical: (from) => {
54
+ return (0, ts_utils_1.succeed)(`${from[0].toUpperCase()}${from.slice(1).toLowerCase()}`);
55
+ },
56
+ });
57
+ /**
58
+ * @public
59
+ */
60
+ exports.regionSubtag = new utils_1.RegExpValidationHelpers({
61
+ description: 'region subtag',
62
+ wellFormed: /^([A-Za-z]{2,3})$|^([0-9]{3})$/,
63
+ canonical: /^([A-Z]{2,3})$|^([0-9]{3})$/,
64
+ toCanonical: (from) => (0, ts_utils_1.succeed)(from.toUpperCase()),
65
+ });
66
+ /**
67
+ * @public
68
+ */
69
+ exports.variantSubtag = new utils_1.RegExpValidationHelpers({
70
+ description: 'variant subtag',
71
+ wellFormed: /^([A-Za-z0-9]{5,8})$|^([0-9][A-Za-z0-9]{3})$/,
72
+ canonical: /^([a-z0-9]{5,8})$|^([0-9][a-z0-9]{3})$/,
73
+ toCanonical: (from) => (0, ts_utils_1.succeed)(from.toLowerCase()),
74
+ });
75
+ /**
76
+ * @public
77
+ */
78
+ exports.grandfatheredTag = new tagValidation_1.TagValidationHelpers('grandfathered tag');
79
+ /**
80
+ * @public
81
+ */
82
+ exports.redundantTag = new tagValidation_1.TagValidationHelpers('redundant tag');
83
+ /**
84
+ * @public
85
+ */
86
+ exports.extendedLanguageRange = new tagValidation_1.TagValidationHelpers('extended language range');
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvaWFuYS9qYXIvbGFuZ3VhZ2Utc3VidGFncy90YWdzL3ZhbGlkYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7OztBQWFILDZDQUE0RDtBQUM1RCxtREFBdUQ7QUFDdkQsNENBQXdDO0FBRXhDOztHQUVHO0FBQ1UsUUFBQSxjQUFjLEdBQUcsSUFBSSwrQkFBdUIsQ0FBaUI7SUFDdEUsV0FBVyxFQUFFLGlCQUFpQjtJQUM5QixVQUFVLEVBQUUsaUJBQWlCO0lBQzdCLFNBQVMsRUFBRSxjQUFjO0lBQ3pCLFdBQVcsRUFBRSxDQUFDLElBQW9CLEVBQUUsRUFBRSxDQUFDLElBQUEsa0JBQU8sRUFBQyxJQUFJLENBQUMsV0FBVyxFQUFvQixDQUFDO0NBQ3ZGLENBQUMsQ0FBQztBQUVIOztHQUVHO0FBQ1UsUUFBQSxhQUFhLEdBQUcsSUFBSSwrQkFBdUIsQ0FBZ0I7SUFDcEUsV0FBVyxFQUFFLGdCQUFnQjtJQUM3QixVQUFVLEVBQUUsZUFBZTtJQUMzQixTQUFTLEVBQUUsWUFBWTtJQUN2QixXQUFXLEVBQUUsQ0FBQyxJQUFtQixFQUFFLEVBQUUsQ0FBQyxJQUFBLGtCQUFPLEVBQUMsSUFBSSxDQUFDLFdBQVcsRUFBbUIsQ0FBQztDQUNyRixDQUFDLENBQUM7QUFFSDs7R0FFRztBQUNVLFFBQUEsWUFBWSxHQUFHLElBQUksK0JBQXVCLENBQWU7SUFDbEUsV0FBVyxFQUFFLGVBQWU7SUFDNUIsVUFBVSxFQUFFLGVBQWU7SUFDM0IsU0FBUyxFQUFFLGlCQUFpQjtJQUM1QixXQUFXLEVBQUUsQ0FBQyxJQUFrQixFQUFFLEVBQUU7UUFDaEMsT0FBTyxJQUFBLGtCQUFPLEVBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBa0IsQ0FBQyxDQUFDO0lBQzdGLENBQUM7Q0FDSixDQUFDLENBQUM7QUFFSDs7R0FFRztBQUNVLFFBQUEsWUFBWSxHQUFHLElBQUksK0JBQXVCLENBQWU7SUFDbEUsV0FBVyxFQUFFLGVBQWU7SUFDNUIsVUFBVSxFQUFFLGdDQUFnQztJQUM1QyxTQUFTLEVBQUUsNkJBQTZCO0lBQ3hDLFdBQVcsRUFBRSxDQUFDLElBQWtCLEVBQUUsRUFBRSxDQUFDLElBQUEsa0JBQU8sRUFBQyxJQUFJLENBQUMsV0FBVyxFQUFrQixDQUFDO0NBQ25GLENBQUMsQ0FBQztBQUVIOztHQUVHO0FBQ1UsUUFBQSxhQUFhLEdBQUcsSUFBSSwrQkFBdUIsQ0FBZ0I7SUFDcEUsV0FBVyxFQUFFLGdCQUFnQjtJQUM3QixVQUFVLEVBQUUsOENBQThDO0lBQzFELFNBQVMsRUFBRSx3Q0FBd0M7SUFDbkQsV0FBVyxFQUFFLENBQUMsSUFBbUIsRUFBRSxFQUFFLENBQUMsSUFBQSxrQkFBTyxFQUFDLElBQUksQ0FBQyxXQUFXLEVBQW1CLENBQUM7Q0FDckYsQ0FBQyxDQUFDO0FBRUg7O0dBRUc7QUFDVSxRQUFBLGdCQUFnQixHQUFHLElBQUksb0NBQW9CLENBQW1CLG1CQUFtQixDQUFDLENBQUM7QUFFaEc7O0dBRUc7QUFDVSxRQUFBLFlBQVksR0FBRyxJQUFJLG9DQUFvQixDQUFlLGVBQWUsQ0FBQyxDQUFDO0FBRXBGOztHQUVHO0FBQ1UsUUFBQSxxQkFBcUIsR0FBRyxJQUFJLG9DQUFvQixDQUF3Qix5QkFBeUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyMSBFcmlrIEZvcnR1bmVcbiAqXG4gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4gKlxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4gKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuICpcbiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbiAqIFNPRlRXQVJFLlxuICovXG5cbmltcG9ydCB7XG4gICAgRXh0TGFuZ1N1YnRhZyxcbiAgICBFeHRlbmRlZExhbmd1YWdlUmFuZ2UsXG4gICAgR3JhbmRmYXRoZXJlZFRhZyxcbiAgICBMYW5ndWFnZVN1YnRhZyxcbiAgICBSZWR1bmRhbnRUYWcsXG4gICAgUmVnaW9uU3VidGFnLFxuICAgIFNjcmlwdFN1YnRhZyxcbiAgICBWYXJpYW50U3VidGFnLFxufSBmcm9tICcuL21vZGVsJztcblxuaW1wb3J0IHsgUmVnRXhwVmFsaWRhdGlvbkhlbHBlcnMgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscyc7XG5pbXBvcnQgeyBUYWdWYWxpZGF0aW9uSGVscGVycyB9IGZyb20gJy4vdGFnVmFsaWRhdGlvbic7XG5pbXBvcnQgeyBzdWNjZWVkIH0gZnJvbSAnQGZndi90cy11dGlscyc7XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgbGFuZ3VhZ2VTdWJ0YWcgPSBuZXcgUmVnRXhwVmFsaWRhdGlvbkhlbHBlcnM8TGFuZ3VhZ2VTdWJ0YWc+KHtcbiAgICBkZXNjcmlwdGlvbjogJ2xhbmd1YWdlIHN1YnRhZycsXG4gICAgd2VsbEZvcm1lZDogL15bQS1aYS16XXsyLDN9JC8sXG4gICAgY2Fub25pY2FsOiAvXlthLXpdezIsM30kLyxcbiAgICB0b0Nhbm9uaWNhbDogKGZyb206IExhbmd1YWdlU3VidGFnKSA9PiBzdWNjZWVkKGZyb20udG9Mb3dlckNhc2UoKSBhcyBMYW5ndWFnZVN1YnRhZyksXG59KTtcblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBleHRsYW5nU3VidGFnID0gbmV3IFJlZ0V4cFZhbGlkYXRpb25IZWxwZXJzPEV4dExhbmdTdWJ0YWc+KHtcbiAgICBkZXNjcmlwdGlvbjogJ2V4dGxhbmcgc3VidGFnJyxcbiAgICB3ZWxsRm9ybWVkOiAvXltBLVphLXpdezN9JC8sXG4gICAgY2Fub25pY2FsOiAvXlthLXpdezN9JC8sXG4gICAgdG9DYW5vbmljYWw6IChmcm9tOiBFeHRMYW5nU3VidGFnKSA9PiBzdWNjZWVkKGZyb20udG9Mb3dlckNhc2UoKSBhcyBFeHRMYW5nU3VidGFnKSxcbn0pO1xuXG4vKipcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IHNjcmlwdFN1YnRhZyA9IG5ldyBSZWdFeHBWYWxpZGF0aW9uSGVscGVyczxTY3JpcHRTdWJ0YWc+KHtcbiAgICBkZXNjcmlwdGlvbjogJ3NjcmlwdCBzdWJ0YWcnLFxuICAgIHdlbGxGb3JtZWQ6IC9eW0EtWmEtel17NH0kLyxcbiAgICBjYW5vbmljYWw6IC9eW0EtWl1bYS16XXszfSQvLFxuICAgIHRvQ2Fub25pY2FsOiAoZnJvbTogU2NyaXB0U3VidGFnKSA9PiB7XG4gICAgICAgIHJldHVybiBzdWNjZWVkKGAke2Zyb21bMF0udG9VcHBlckNhc2UoKX0ke2Zyb20uc2xpY2UoMSkudG9Mb3dlckNhc2UoKX1gIGFzIFNjcmlwdFN1YnRhZyk7XG4gICAgfSxcbn0pO1xuXG4vKipcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IHJlZ2lvblN1YnRhZyA9IG5ldyBSZWdFeHBWYWxpZGF0aW9uSGVscGVyczxSZWdpb25TdWJ0YWc+KHtcbiAgICBkZXNjcmlwdGlvbjogJ3JlZ2lvbiBzdWJ0YWcnLFxuICAgIHdlbGxGb3JtZWQ6IC9eKFtBLVphLXpdezIsM30pJHxeKFswLTldezN9KSQvLFxuICAgIGNhbm9uaWNhbDogL14oW0EtWl17MiwzfSkkfF4oWzAtOV17M30pJC8sXG4gICAgdG9DYW5vbmljYWw6IChmcm9tOiBSZWdpb25TdWJ0YWcpID0+IHN1Y2NlZWQoZnJvbS50b1VwcGVyQ2FzZSgpIGFzIFJlZ2lvblN1YnRhZyksXG59KTtcblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCB2YXJpYW50U3VidGFnID0gbmV3IFJlZ0V4cFZhbGlkYXRpb25IZWxwZXJzPFZhcmlhbnRTdWJ0YWc+KHtcbiAgICBkZXNjcmlwdGlvbjogJ3ZhcmlhbnQgc3VidGFnJyxcbiAgICB3ZWxsRm9ybWVkOiAvXihbQS1aYS16MC05XXs1LDh9KSR8XihbMC05XVtBLVphLXowLTldezN9KSQvLFxuICAgIGNhbm9uaWNhbDogL14oW2EtejAtOV17NSw4fSkkfF4oWzAtOV1bYS16MC05XXszfSkkLyxcbiAgICB0b0Nhbm9uaWNhbDogKGZyb206IFZhcmlhbnRTdWJ0YWcpID0+IHN1Y2NlZWQoZnJvbS50b0xvd2VyQ2FzZSgpIGFzIFZhcmlhbnRTdWJ0YWcpLFxufSk7XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgZ3JhbmRmYXRoZXJlZFRhZyA9IG5ldyBUYWdWYWxpZGF0aW9uSGVscGVyczxHcmFuZGZhdGhlcmVkVGFnPignZ3JhbmRmYXRoZXJlZCB0YWcnKTtcblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCByZWR1bmRhbnRUYWcgPSBuZXcgVGFnVmFsaWRhdGlvbkhlbHBlcnM8UmVkdW5kYW50VGFnPigncmVkdW5kYW50IHRhZycpO1xuXG4vKipcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IGV4dGVuZGVkTGFuZ3VhZ2VSYW5nZSA9IG5ldyBUYWdWYWxpZGF0aW9uSGVscGVyczxFeHRlbmRlZExhbmd1YWdlUmFuZ2U+KCdleHRlbmRlZCBsYW5ndWFnZSByYW5nZScpO1xuIl19
@@ -0,0 +1,4 @@
1
+ export * from './jarModel';
2
+ import * as LanguageSubtags from './language-subtags/model';
3
+ export { LanguageSubtags };
4
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/iana/jar/model.ts"],"names":[],"mappings":"AAsBA,cAAc,YAAY,CAAC;AAE3B,OAAO,KAAK,eAAe,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1,54 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
40
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
41
+ };
42
+ var __importStar = (this && this.__importStar) || function (mod) {
43
+ if (mod && mod.__esModule) return mod;
44
+ var result = {};
45
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
46
+ __setModuleDefault(result, mod);
47
+ return result;
48
+ };
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ exports.LanguageSubtags = void 0;
51
+ __exportStar(require("./jarModel"), exports);
52
+ const LanguageSubtags = __importStar(require("./language-subtags/model"));
53
+ exports.LanguageSubtags = LanguageSubtags;
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWFuYS9qYXIvbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCw2Q0FBMkI7QUFFM0IsMEVBQTREO0FBQ25ELDBDQUFlIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyMiBFcmlrIEZvcnR1bmVcbiAqXG4gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4gKlxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4gKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuICpcbiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbiAqIFNPRlRXQVJFLlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vamFyTW9kZWwnO1xuXG5pbXBvcnQgKiBhcyBMYW5ndWFnZVN1YnRhZ3MgZnJvbSAnLi9sYW5ndWFnZS1zdWJ0YWdzL21vZGVsJztcbmV4cG9ydCB7IExhbmd1YWdlU3VidGFncyB9O1xuIl19
@@ -0,0 +1,5 @@
1
+ import { ExtLangSubtag, ExtendedLanguageRange, GrandfatheredTag, LanguageSubtag, RedundantTag, RegionSubtag, ScriptSubtag, VariantSubtag } from '../jar/language-subtags/tags';
2
+ import { RegistryEntryScope, RegistryEntryType } from '../jar/language-subtags/registry/model';
3
+ export { ExtLangSubtag, ExtendedLanguageRange, GrandfatheredTag, LanguageSubtag, RedundantTag, RegionSubtag, ScriptSubtag, VariantSubtag };
4
+ export { RegistryEntryScope, RegistryEntryType };
5
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/iana/language-subtags/common.ts"],"names":[],"mappings":"AAsBA,OAAO,EACH,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,aAAa,EAChB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAE/F,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;AAC3I,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,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=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lhbmEvbGFuZ3VhZ2Utc3VidGFncy9jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjIgRXJpayBGb3J0dW5lXG4gKlxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuICpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gKiBTT0ZUV0FSRS5cbiAqL1xuXG5pbXBvcnQge1xuICAgIEV4dExhbmdTdWJ0YWcsXG4gICAgRXh0ZW5kZWRMYW5ndWFnZVJhbmdlLFxuICAgIEdyYW5kZmF0aGVyZWRUYWcsXG4gICAgTGFuZ3VhZ2VTdWJ0YWcsXG4gICAgUmVkdW5kYW50VGFnLFxuICAgIFJlZ2lvblN1YnRhZyxcbiAgICBTY3JpcHRTdWJ0YWcsXG4gICAgVmFyaWFudFN1YnRhZyxcbn0gZnJvbSAnLi4vamFyL2xhbmd1YWdlLXN1YnRhZ3MvdGFncyc7XG5cbmltcG9ydCB7IFJlZ2lzdHJ5RW50cnlTY29wZSwgUmVnaXN0cnlFbnRyeVR5cGUgfSBmcm9tICcuLi9qYXIvbGFuZ3VhZ2Utc3VidGFncy9yZWdpc3RyeS9tb2RlbCc7XG5cbmV4cG9ydCB7IEV4dExhbmdTdWJ0YWcsIEV4dGVuZGVkTGFuZ3VhZ2VSYW5nZSwgR3JhbmRmYXRoZXJlZFRhZywgTGFuZ3VhZ2VTdWJ0YWcsIFJlZHVuZGFudFRhZywgUmVnaW9uU3VidGFnLCBTY3JpcHRTdWJ0YWcsIFZhcmlhbnRTdWJ0YWcgfTtcbmV4cG9ydCB7IFJlZ2lzdHJ5RW50cnlTY29wZSwgUmVnaXN0cnlFbnRyeVR5cGUgfTtcbiJdfQ==
@@ -0,0 +1,52 @@
1
+ import * as Model from './model';
2
+ import * as TagConverters from '../jar/language-subtags/tags/converters';
3
+ import { Converters, Result } from '@fgv/ts-utils';
4
+ export { TagConverters as Tags };
5
+ /**
6
+ * @public
7
+ */
8
+ export declare const extendedLanguageRange: import("@fgv/ts-utils").Converter<import("./common").ExtendedLanguageRange, unknown>;
9
+ /**
10
+ * @internal
11
+ */
12
+ export declare const registeredLanguage: Converters.ObjectConverter<Model.RegisteredLanguage, unknown>;
13
+ /**
14
+ * @internal
15
+ */
16
+ export declare const registeredExtLang: Converters.ObjectConverter<Model.RegisteredExtLang, unknown>;
17
+ /**
18
+ * @internal
19
+ */
20
+ export declare const registeredScript: Converters.ObjectConverter<Model.RegisteredScript, unknown>;
21
+ /**
22
+ * @internal
23
+ */
24
+ export declare const registeredRegion: Converters.ObjectConverter<Model.RegisteredRegion, unknown>;
25
+ /**
26
+ * @internal
27
+ */
28
+ export declare const registeredVariant: Converters.ObjectConverter<Model.RegisteredVariant, unknown>;
29
+ /**
30
+ * @internal
31
+ */
32
+ export declare const registeredGrandfatheredTag: Converters.ObjectConverter<Model.RegisteredGrandfatheredTag, unknown>;
33
+ /**
34
+ * @internal
35
+ */
36
+ export declare const registeredRedundantTag: Converters.ObjectConverter<Model.RegisteredRedundantTag, unknown>;
37
+ /**
38
+ * @internal
39
+ */
40
+ export declare const registeredItem: import("@fgv/ts-utils").Converter<Model.RegisteredItem, unknown>;
41
+ /**
42
+ * @internal
43
+ */
44
+ export declare const registryFile: import("@fgv/ts-utils").Converter<import("../model").DatedRegistry<Model.RegisteredItem>, unknown>;
45
+ /**
46
+ * @public
47
+ * @param path - String path from which file is to be loaded.
48
+ * @returns `Success` with the resulting {@link Iana.LanguageSubtags.Model.RegistryFile | registry file}
49
+ * or `Failure` with details if an error occurs.
50
+ */
51
+ export declare function loadLanguageSubtagsJsonFileSync(path: string): Result<Model.RegistryFile>;
52
+ //# sourceMappingURL=converters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"converters.d.ts","sourceRoot":"","sources":["../../../src/iana/language-subtags/converters.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,aAAa,MAAM,yCAAyC,CAAC;AAEzE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAMnD,OAAO,EAAE,aAAa,IAAI,IAAI,EAAE,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,qBAAqB,sFAAsC,CAAC;AAEzE;;GAEG;AACH,eAAO,MAAM,kBAAkB,+DAkB9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,8DAkB7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,6DAe5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,6DAe5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,8DAe7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,uEActC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,mEAclC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,kEAQzB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,YAAY,oGAAgC,CAAC;AAE1D;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAExF"}
@@ -0,0 +1,200 @@
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.loadLanguageSubtagsJsonFileSync = exports.registryFile = exports.registeredItem = exports.registeredRedundantTag = exports.registeredGrandfatheredTag = exports.registeredVariant = exports.registeredRegion = exports.registeredScript = exports.registeredExtLang = exports.registeredLanguage = exports.extendedLanguageRange = exports.Tags = void 0;
48
+ const TagConverters = __importStar(require("../jar/language-subtags/tags/converters"));
49
+ exports.Tags = TagConverters;
50
+ const ts_utils_1 = require("@fgv/ts-utils");
51
+ const converters_1 = require("../common/converters");
52
+ const file_1 = require("@fgv/ts-json/file");
53
+ const converters_2 = require("../jar/language-subtags/registry/converters");
54
+ /**
55
+ * @public
56
+ */
57
+ exports.extendedLanguageRange = TagConverters.extendedLanguageRange;
58
+ /**
59
+ * @internal
60
+ */
61
+ exports.registeredLanguage = ts_utils_1.Converters.strictObject({
62
+ type: ts_utils_1.Converters.enumeratedValue(['language']),
63
+ subtag: TagConverters.languageSubtag,
64
+ description: ts_utils_1.Converters.stringArray,
65
+ added: converters_1.yearMonthDaySpec,
66
+ comments: ts_utils_1.Converters.stringArray,
67
+ deprecated: converters_1.yearMonthDaySpec,
68
+ macrolanguage: TagConverters.languageSubtag,
69
+ preferredValue: TagConverters.languageSubtag,
70
+ scope: converters_2.registryScopeType,
71
+ suppressScript: TagConverters.scriptSubtag,
72
+ subtagRangeEnd: TagConverters.languageSubtag,
73
+ }, {
74
+ description: 'language subtag registry entry',
75
+ optionalFields: ['comments', 'deprecated', 'macrolanguage', 'preferredValue', 'scope', 'suppressScript', 'subtagRangeEnd'],
76
+ });
77
+ /**
78
+ * @internal
79
+ */
80
+ exports.registeredExtLang = ts_utils_1.Converters.strictObject({
81
+ type: ts_utils_1.Converters.enumeratedValue(['extlang']),
82
+ subtag: TagConverters.tagOrStartOfTagRange(TagConverters.extlangSubtag),
83
+ preferredValue: TagConverters.extendedLanguageRange,
84
+ prefix: TagConverters.extlangPrefix,
85
+ description: ts_utils_1.Converters.stringArray,
86
+ added: converters_1.yearMonthDaySpec,
87
+ comments: ts_utils_1.Converters.stringArray,
88
+ deprecated: converters_1.yearMonthDaySpec,
89
+ macrolanguage: TagConverters.languageSubtag,
90
+ scope: converters_2.registryScopeType,
91
+ suppressScript: TagConverters.scriptSubtag,
92
+ }, {
93
+ description: 'extlang subtag registry entry',
94
+ optionalFields: ['comments', 'deprecated', 'macrolanguage', 'scope', 'suppressScript'],
95
+ });
96
+ /**
97
+ * @internal
98
+ */
99
+ exports.registeredScript = ts_utils_1.Converters.strictObject({
100
+ type: ts_utils_1.Converters.enumeratedValue(['script']),
101
+ subtag: TagConverters.scriptSubtag,
102
+ description: ts_utils_1.Converters.stringArray,
103
+ added: converters_1.yearMonthDaySpec,
104
+ comments: ts_utils_1.Converters.stringArray,
105
+ deprecated: converters_1.yearMonthDaySpec,
106
+ preferredValue: TagConverters.scriptSubtag,
107
+ subtagRangeEnd: TagConverters.scriptSubtag,
108
+ }, {
109
+ description: 'script subtag registry entry',
110
+ optionalFields: ['comments', 'deprecated', 'preferredValue', 'subtagRangeEnd'],
111
+ });
112
+ /**
113
+ * @internal
114
+ */
115
+ exports.registeredRegion = ts_utils_1.Converters.strictObject({
116
+ type: ts_utils_1.Converters.enumeratedValue(['region']),
117
+ subtag: TagConverters.regionSubtag,
118
+ description: ts_utils_1.Converters.stringArray,
119
+ added: converters_1.yearMonthDaySpec,
120
+ comments: ts_utils_1.Converters.stringArray,
121
+ deprecated: converters_1.yearMonthDaySpec,
122
+ preferredValue: TagConverters.regionSubtag,
123
+ subtagRangeEnd: TagConverters.regionSubtag,
124
+ }, {
125
+ description: 'region subtag registry entry',
126
+ optionalFields: ['comments', 'deprecated', 'preferredValue', 'subtagRangeEnd'],
127
+ });
128
+ /**
129
+ * @internal
130
+ */
131
+ exports.registeredVariant = ts_utils_1.Converters.strictObject({
132
+ type: ts_utils_1.Converters.enumeratedValue(['variant']),
133
+ subtag: TagConverters.variantSubtag,
134
+ description: ts_utils_1.Converters.stringArray,
135
+ added: converters_1.yearMonthDaySpec,
136
+ comments: ts_utils_1.Converters.stringArray,
137
+ deprecated: converters_1.yearMonthDaySpec,
138
+ preferredValue: TagConverters.variantSubtag,
139
+ prefix: ts_utils_1.Converters.arrayOf(TagConverters.extendedLanguageRange),
140
+ }, {
141
+ description: 'variant subtag registry entry',
142
+ optionalFields: ['comments', 'deprecated', 'preferredValue', 'prefix'],
143
+ });
144
+ /**
145
+ * @internal
146
+ */
147
+ exports.registeredGrandfatheredTag = ts_utils_1.Converters.strictObject({
148
+ type: ts_utils_1.Converters.enumeratedValue(['grandfathered']),
149
+ tag: TagConverters.grandfatheredTag,
150
+ description: ts_utils_1.Converters.stringArray,
151
+ added: converters_1.yearMonthDaySpec,
152
+ comments: ts_utils_1.Converters.stringArray,
153
+ deprecated: converters_1.yearMonthDaySpec,
154
+ preferredValue: TagConverters.extendedLanguageRange,
155
+ }, {
156
+ description: 'grandfathered tag registry entry',
157
+ optionalFields: ['comments', 'deprecated', 'preferredValue'],
158
+ });
159
+ /**
160
+ * @internal
161
+ */
162
+ exports.registeredRedundantTag = ts_utils_1.Converters.strictObject({
163
+ type: ts_utils_1.Converters.enumeratedValue(['redundant']),
164
+ tag: TagConverters.redundantTag,
165
+ description: ts_utils_1.Converters.stringArray,
166
+ added: converters_1.yearMonthDaySpec,
167
+ comments: ts_utils_1.Converters.stringArray,
168
+ deprecated: converters_1.yearMonthDaySpec,
169
+ preferredValue: TagConverters.extendedLanguageRange,
170
+ }, {
171
+ description: 'redundant tag registry entry',
172
+ optionalFields: ['comments', 'deprecated', 'preferredValue'],
173
+ });
174
+ /**
175
+ * @internal
176
+ */
177
+ exports.registeredItem = ts_utils_1.Converters.discriminatedObject('type', {
178
+ language: exports.registeredLanguage,
179
+ extlang: exports.registeredExtLang,
180
+ script: exports.registeredScript,
181
+ region: exports.registeredRegion,
182
+ variant: exports.registeredVariant,
183
+ grandfathered: exports.registeredGrandfatheredTag,
184
+ redundant: exports.registeredRedundantTag,
185
+ });
186
+ /**
187
+ * @internal
188
+ */
189
+ exports.registryFile = (0, converters_1.datedRegistry)(exports.registeredItem);
190
+ /**
191
+ * @public
192
+ * @param path - String path from which file is to be loaded.
193
+ * @returns `Success` with the resulting {@link Iana.LanguageSubtags.Model.RegistryFile | registry file}
194
+ * or `Failure` with details if an error occurs.
195
+ */
196
+ function loadLanguageSubtagsJsonFileSync(path) {
197
+ return (0, file_1.convertJsonFileSync)(path, exports.registryFile);
198
+ }
199
+ exports.loadLanguageSubtagsJsonFileSync = loadLanguageSubtagsJsonFileSync;
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pYW5hL2xhbmd1YWdlLXN1YnRhZ3MvY29udmVydGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdILHVGQUF5RTtBQVEvQyw2QkFBSTtBQU45Qiw0Q0FBbUQ7QUFDbkQscURBQXVFO0FBRXZFLDRDQUF3RDtBQUN4RCw0RUFBZ0Y7QUFJaEY7O0dBRUc7QUFDVSxRQUFBLHFCQUFxQixHQUFHLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQztBQUV6RTs7R0FFRztBQUNVLFFBQUEsa0JBQWtCLEdBQUcscUJBQVUsQ0FBQyxZQUFZLENBQ3JEO0lBQ0ksSUFBSSxFQUFFLHFCQUFVLENBQUMsZUFBZSxDQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDMUQsTUFBTSxFQUFFLGFBQWEsQ0FBQyxjQUFjO0lBQ3BDLFdBQVcsRUFBRSxxQkFBVSxDQUFDLFdBQVc7SUFDbkMsS0FBSyxFQUFFLDZCQUFnQjtJQUN2QixRQUFRLEVBQUUscUJBQVUsQ0FBQyxXQUFXO0lBQ2hDLFVBQVUsRUFBRSw2QkFBZ0I7SUFDNUIsYUFBYSxFQUFFLGFBQWEsQ0FBQyxjQUFjO0lBQzNDLGNBQWMsRUFBRSxhQUFhLENBQUMsY0FBYztJQUM1QyxLQUFLLEVBQUUsOEJBQWlCO0lBQ3hCLGNBQWMsRUFBRSxhQUFhLENBQUMsWUFBWTtJQUMxQyxjQUFjLEVBQUUsYUFBYSxDQUFDLGNBQWM7Q0FDL0MsRUFDRDtJQUNJLFdBQVcsRUFBRSxnQ0FBZ0M7SUFDN0MsY0FBYyxFQUFFLENBQUMsVUFBVSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDO0NBQzdILENBQ0osQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSxpQkFBaUIs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NUIsT0FBTyxFQUFFLHlCQUFpQjtJQUMxQixNQUFNLEVBQUUsd0JBQWdCO0lBQ3hCLE1BQU0sRUFBRSx3QkFBZ0I7SUFDeEIsT0FBTyxFQUFFLHlCQUFpQjtJQUMxQixhQUFhLEVBQUUsa0NBQTBCO0lBQ3pDLFNBQVMsRUFBRSw4QkFBc0I7Q0FDcEMsQ0FBQyxDQUFDO0FBRUg7O0dBRUc7QUFDVSxRQUFBLFlBQVksR0FBRyxJQUFBLDBCQUFhLEVBQUMsc0JBQWMsQ0FBQyxDQUFDO0FBRTFEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsK0JBQStCLENBQUMsSUFBWTtJQUN4RCxPQUFPLElBQUEsMEJBQW1CLEVBQUMsSUFBSSxFQUFFLG9CQUFZLENBQUMsQ0FBQztBQUNuRCxDQUFDO0FBRkQsMEVBRUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIyIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuaW1wb3J0ICogYXMgTW9kZWwgZnJvbSAnLi9tb2RlbCc7XG5pbXBvcnQgKiBhcyBUYWdDb252ZXJ0ZXJzIGZyb20gJy4uL2phci9sYW5ndWFnZS1zdWJ0YWdzL3RhZ3MvY29udmVydGVycyc7XG5cbmltcG9ydCB7IENvbnZlcnRlcnMsIFJlc3VsdCB9IGZyb20gJ0BmZ3YvdHMtdXRpbHMnO1xuaW1wb3J0IHsgZGF0ZWRSZWdpc3RyeSwgeWVhck1vbnRoRGF5U3BlYyB9IGZyb20gJy4uL2NvbW1vbi9jb252ZXJ0ZXJzJztcblxuaW1wb3J0IHsgY29udmVydEpzb25GaWxlU3luYyB9IGZyb20gJ0BmZ3YvdHMtanNvbi9maWxlJztcbmltcG9ydCB7IHJlZ2lzdHJ5U2NvcGVUeXBlIH0gZnJvbSAnLi4vamFyL2xhbmd1YWdlLXN1YnRhZ3MvcmVnaXN0cnkvY29udmVydGVycyc7XG5cbmV4cG9ydCB7IFRhZ0NvbnZlcnRlcnMgYXMgVGFncyB9O1xuXG4vKipcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IGV4dGVuZGVkTGFuZ3VhZ2VSYW5nZSA9IFRhZ0NvbnZlcnRlcnMuZXh0ZW5kZWRMYW5ndWFnZVJhbmdlO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJlZExhbmd1YWdlID0gQ29udmVydGVycy5zdHJpY3RPYmplY3Q8TW9kZWwuUmVnaXN0ZXJlZExhbmd1YWdlPihcbiAgICB7XG4gICAgICAgIHR5cGU6IENvbnZlcnRlcnMuZW51bWVyYXRlZFZhbHVlPCdsYW5ndWFnZSc+KFsnbGFuZ3VhZ2UnXSksXG4gICAgICAgIHN1YnRhZzogVGFnQ29udmVydGVycy5sYW5ndWFnZVN1YnRhZyxcbiAgICAgICAgZGVzY3JpcHRpb246IENvbnZlcnRlcnMuc3RyaW5nQXJyYXksXG4gICAgICAgIGFkZGVkOiB5ZWFyTW9udGhEYXlTcGVjLFxuICAgICAgICBjb21tZW50czogQ29udmVydGVycy5zdHJpbmdBcnJheSxcbiAgICAgICAgZGVwcmVjYXRlZDogeWVhck1vbnRoRGF5U3BlYyxcbiAgICAgICAgbWFjcm9sYW5ndWFnZTogVGFnQ29udmVydGVycy5sYW5ndWFnZVN1YnRhZyxcbiAgICAgICAgcHJlZmVycmVkVmFsdWU6IFRhZ0NvbnZlcnRlcnMubGFuZ3VhZ2VTdWJ0YWcsXG4gICAgICAgIHNjb3BlOiByZWdpc3RyeVNjb3BlVHlwZSxcbiAgICAgICAgc3VwcHJlc3NTY3JpcHQ6IFRhZ0NvbnZlcnRlcnMuc2NyaXB0U3VidGFnLFxuICAgICAgICBzdWJ0YWdSYW5nZUVuZDogVGFnQ29udmVydGVycy5sYW5ndWFnZVN1YnRhZyxcbiAgICB9LFxuICAgIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdsYW5ndWFnZSBzdWJ0YWcgcmVnaXN0cnkgZW50cnknLFxuICAgICAgICBvcHRpb25hbEZpZWxkczogWydjb21tZW50cycsICdkZXByZWNhdGVkJywgJ21hY3JvbGFuZ3VhZ2UnLCAncHJlZmVycmVkVmFsdWUnLCAnc2NvcGUnLCAnc3VwcHJlc3NTY3JpcHQnLCAnc3VidGFnUmFuZ2VFbmQnXSxcbiAgICB9XG4pO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJlZEV4dExhbmcgPSBDb252ZXJ0ZXJzLnN0cmljdE9iamVjdDxNb2RlbC5SZWdpc3RlcmVkRXh0TGFuZz4oXG4gICAge1xuICAgICAgICB0eXBlOiBDb252ZXJ0ZXJzLmVudW1lcmF0ZWRWYWx1ZTwnZXh0bGFuZyc+KFsnZXh0bGFuZyddKSxcbiAgICAgICAgc3VidGFnOiBUYWdDb252ZXJ0ZXJzLnRhZ09yU3RhcnRPZlRhZ1JhbmdlKFRhZ0NvbnZlcnRlcnMuZXh0bGFuZ1N1YnRhZyksXG4gICAgICAgIHByZWZlcnJlZFZhbHVlOiBUYWdDb252ZXJ0ZXJzLmV4dGVuZGVkTGFuZ3VhZ2VSYW5nZSxcbiAgICAgICAgcHJlZml4OiBUYWdDb252ZXJ0ZXJzLmV4dGxhbmdQcmVmaXgsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBDb252ZXJ0ZXJzLnN0cmluZ0FycmF5LFxuICAgICAgICBhZGRlZDogeWVhck1vbnRoRGF5U3BlYyxcbiAgICAgICAgY29tbWVudHM6IENvbnZlcnRlcnMuc3RyaW5nQXJyYXksXG4gICAgICAgIGRlcHJlY2F0ZWQ6IHllYXJNb250aERheVNwZWMsXG4gICAgICAgIG1hY3JvbGFuZ3VhZ2U6IFRhZ0NvbnZlcnRlcnMubGFuZ3VhZ2VTdWJ0YWcsXG4gICAgICAgIHNjb3BlOiByZWdpc3RyeVNjb3BlVHlwZSxcbiAgICAgICAgc3VwcHJlc3NTY3JpcHQ6IFRhZ0NvbnZlcnRlcnMuc2NyaXB0U3VidGFnLFxuICAgIH0sXG4gICAge1xuICAgICAgICBkZXNjcmlwdGlvbjogJ2V4dGxhbmcgc3VidGFnIHJlZ2lzdHJ5IGVudHJ5JyxcbiAgICAgICAgb3B0aW9uYWxGaWVsZHM6IFsnY29tbWVudHMnLCAnZGVwcmVjYXRlZCcsICdtYWNyb2xhbmd1YWdlJywgJ3Njb3BlJywgJ3N1cHByZXNzU2NyaXB0J10sXG4gICAgfVxuKTtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IHJlZ2lzdGVyZWRTY3JpcHQgPSBDb252ZXJ0ZXJzLnN0cmljdE9iamVjdDxNb2RlbC5SZWdpc3RlcmVkU2NyaXB0PihcbiAgICB7XG4gICAgICAgIHR5cGU6IENvbnZlcnRlcnMuZW51bWVyYXRlZFZhbHVlPCdzY3JpcHQnPihbJ3NjcmlwdCddKSxcbiAgICAgICAgc3VidGFnOiBUYWdDb252ZXJ0ZXJzLnNjcmlwdFN1YnRhZyxcbiAgICAgICAgZGVzY3JpcHRpb246IENvbnZlcnRlcnMuc3RyaW5nQXJyYXksXG4gICAgICAgIGFkZGVkOiB5ZWFyTW9udGhEYXlTcGVjLFxuICAgICAgICBjb21tZW50czogQ29udmVydGVycy5zdHJpbmdBcnJheSxcbiAgICAgICAgZGVwcmVjYXRlZDogeWVhck1vbnRoRGF5U3BlYyxcbiAgICAgICAgcHJlZmVycmVkVmFsdWU6IFRhZ0NvbnZlcnRlcnMuc2NyaXB0U3VidGFnLFxuICAgICAgICBzdWJ0YWdSYW5nZUVuZDogVGFnQ29udmVydGVycy5zY3JpcHRTdWJ0YWcsXG4gICAgfSxcbiAgICB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnc2NyaXB0IHN1YnRhZyByZWdpc3RyeSBlbnRyeScsXG4gICAgICAgIG9wdGlvbmFsRmllbGRzOiBbJ2NvbW1lbnRzJywgJ2RlcHJlY2F0ZWQnLCAncHJlZmVycmVkVmFsdWUnLCAnc3VidGFnUmFuZ2VFbmQnXSxcbiAgICB9XG4pO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJlZFJlZ2lvbiA9IENvbnZlcnRlcnMuc3RyaWN0T2JqZWN0PE1vZGVsLlJlZ2lzdGVyZWRSZWdpb24+KFxuICAgIHtcbiAgICAgICAgdHlwZTogQ29udmVydGVycy5lbnVtZXJhdGVkVmFsdWU8J3JlZ2lvbic+KFsncmVnaW9uJ10pLFxuICAgICAgICBzdWJ0YWc6IFRhZ0NvbnZlcnRlcnMucmVnaW9uU3VidGFnLFxuICAgICAgICBkZXNjcmlwdGlvbjogQ29udmVydGVycy5zdHJpbmdBcnJheSxcbiAgICAgICAgYWRkZWQ6IHllYXJNb250aERheVNwZWMsXG4gICAgICAgIGNvbW1lbnRzOiBDb252ZXJ0ZXJzLnN0cmluZ0FycmF5LFxuICAgICAgICBkZXByZWNhdGVkOiB5ZWFyTW9udGhEYXlTcGVjLFxuICAgICAgICBwcmVmZXJyZWRWYWx1ZTogVGFnQ29udmVydGVycy5yZWdpb25TdWJ0YWcsXG4gICAgICAgIHN1YnRhZ1JhbmdlRW5kOiBUYWdDb252ZXJ0ZXJzLnJlZ2lvblN1YnRhZyxcbiAgICB9LFxuICAgIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdyZWdpb24gc3VidGFnIHJlZ2lzdHJ5IGVudHJ5JyxcbiAgICAgICAgb3B0aW9uYWxGaWVsZHM6IFsnY29tbWVudHMnLCAnZGVwcmVjYXRlZCcsICdwcmVmZXJyZWRWYWx1ZScsICdzdWJ0YWdSYW5nZUVuZCddLFxuICAgIH1cbik7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCByZWdpc3RlcmVkVmFyaWFudCA9IENvbnZlcnRlcnMuc3RyaWN0T2JqZWN0PE1vZGVsLlJlZ2lzdGVyZWRWYXJpYW50PihcbiAgICB7XG4gICAgICAgIHR5cGU6IENvbnZlcnRlcnMuZW51bWVyYXRlZFZhbHVlPCd2YXJpYW50Jz4oWyd2YXJpYW50J10pLFxuICAgICAgICBzdWJ0YWc6IFRhZ0NvbnZlcnRlcnMudmFyaWFudFN1YnRhZyxcbiAgICAgICAgZGVzY3JpcHRpb246IENvbnZlcnRlcnMuc3RyaW5nQXJyYXksXG4gICAgICAgIGFkZGVkOiB5ZWFyTW9udGhEYXlTcGVjLFxuICAgICAgICBjb21tZW50czogQ29udmVydGVycy5zdHJpbmdBcnJheSxcbiAgICAgICAgZGVwcmVjYXRlZDogeWVhck1vbnRoRGF5U3BlYyxcbiAgICAgICAgcHJlZmVycmVkVmFsdWU6IFRhZ0NvbnZlcnRlcnMudmFyaWFudFN1YnRhZyxcbiAgICAgICAgcHJlZml4OiBDb252ZXJ0ZXJzLmFycmF5T2YoVGFnQ29udmVydGVycy5leHRlbmRlZExhbmd1YWdlUmFuZ2UpLFxuICAgIH0sXG4gICAge1xuICAgICAgICBkZXNjcmlwdGlvbjogJ3ZhcmlhbnQgc3VidGFnIHJlZ2lzdHJ5IGVudHJ5JyxcbiAgICAgICAgb3B0aW9uYWxGaWVsZHM6IFsnY29tbWVudHMnLCAnZGVwcmVjYXRlZCcsICdwcmVmZXJyZWRWYWx1ZScsICdwcmVmaXgnXSxcbiAgICB9XG4pO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJlZEdyYW5kZmF0aGVyZWRUYWcgPSBDb252ZXJ0ZXJzLnN0cmljdE9iamVjdDxNb2RlbC5SZWdpc3RlcmVkR3JhbmRmYXRoZXJlZFRhZz4oXG4gICAge1xuICAgICAgICB0eXBlOiBDb252ZXJ0ZXJzLmVudW1lcmF0ZWRWYWx1ZTwnZ3JhbmRmYXRoZXJlZCc+KFsnZ3JhbmRmYXRoZXJlZCddKSxcbiAgICAgICAgdGFnOiBUYWdDb252ZXJ0ZXJzLmdyYW5kZmF0aGVyZWRUYWcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBDb252ZXJ0ZXJzLnN0cmluZ0FycmF5LFxuICAgICAgICBhZGRlZDogeWVhck1vbnRoRGF5U3BlYyxcbiAgICAgICAgY29tbWVudHM6IENvbnZlcnRlcnMuc3RyaW5nQXJyYXksXG4gICAgICAgIGRlcHJlY2F0ZWQ6IHllYXJNb250aERheVNwZWMsXG4gICAgICAgIHByZWZlcnJlZFZhbHVlOiBUYWdDb252ZXJ0ZXJzLmV4dGVuZGVkTGFuZ3VhZ2VSYW5nZSxcbiAgICB9LFxuICAgIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdncmFuZGZhdGhlcmVkIHRhZyByZWdpc3RyeSBlbnRyeScsXG4gICAgICAgIG9wdGlvbmFsRmllbGRzOiBbJ2NvbW1lbnRzJywgJ2RlcHJlY2F0ZWQnLCAncHJlZmVycmVkVmFsdWUnXSxcbiAgICB9XG4pO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJlZFJlZHVuZGFudFRhZyA9IENvbnZlcnRlcnMuc3RyaWN0T2JqZWN0PE1vZGVsLlJlZ2lzdGVyZWRSZWR1bmRhbnRUYWc+KFxuICAgIHtcbiAgICAgICAgdHlwZTogQ29udmVydGVycy5lbnVtZXJhdGVkVmFsdWU8J3JlZHVuZGFudCc+KFsncmVkdW5kYW50J10pLFxuICAgICAgICB0YWc6IFRhZ0NvbnZlcnRlcnMucmVkdW5kYW50VGFnLFxuICAgICAgICBkZXNjcmlwdGlvbjogQ29udmVydGVycy5zdHJpbmdBcnJheSxcbiAgICAgICAgYWRkZWQ6IHllYXJNb250aERheVNwZWMsXG4gICAgICAgIGNvbW1lbnRzOiBDb252ZXJ0ZXJzLnN0cmluZ0FycmF5LFxuICAgICAgICBkZXByZWNhdGVkOiB5ZWFyTW9udGhEYXlTcGVjLFxuICAgICAgICBwcmVmZXJyZWRWYWx1ZTogVGFnQ29udmVydGVycy5leHRlbmRlZExhbmd1YWdlUmFuZ2UsXG4gICAgfSxcbiAgICB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAncmVkdW5kYW50IHRhZyByZWdpc3RyeSBlbnRyeScsXG4gICAgICAgIG9wdGlvbmFsRmllbGRzOiBbJ2NvbW1lbnRzJywgJ2RlcHJlY2F0ZWQnLCAncHJlZmVycmVkVmFsdWUnXSxcbiAgICB9XG4pO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJlZEl0ZW0gPSBDb252ZXJ0ZXJzLmRpc2NyaW1pbmF0ZWRPYmplY3Q8TW9kZWwuUmVnaXN0ZXJlZEl0ZW0+KCd0eXBlJywge1xuICAgIGxhbmd1YWdlOiByZWdpc3RlcmVkTGFuZ3VhZ2UsXG4gICAgZXh0bGFuZzogcmVnaXN0ZXJlZEV4dExhbmcsXG4gICAgc2NyaXB0OiByZWdpc3RlcmVkU2NyaXB0LFxuICAgIHJlZ2lvbjogcmVnaXN0ZXJlZFJlZ2lvbixcbiAgICB2YXJpYW50OiByZWdpc3RlcmVkVmFyaWFudCxcbiAgICBncmFuZGZhdGhlcmVkOiByZWdpc3RlcmVkR3JhbmRmYXRoZXJlZFRhZyxcbiAgICByZWR1bmRhbnQ6IHJlZ2lzdGVyZWRSZWR1bmRhbnRUYWcsXG59KTtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IHJlZ2lzdHJ5RmlsZSA9IGRhdGVkUmVnaXN0cnkocmVnaXN0ZXJlZEl0ZW0pO1xuXG4vKipcbiAqIEBwdWJsaWNcbiAqIEBwYXJhbSBwYXRoIC0gU3RyaW5nIHBhdGggZnJvbSB3aGljaCBmaWxlIGlzIHRvIGJlIGxvYWRlZC5cbiAqIEByZXR1cm5zIGBTdWNjZXNzYCB3aXRoIHRoZSByZXN1bHRpbmcge0BsaW5rIElhbmEuTGFuZ3VhZ2VTdWJ0YWdzLk1vZGVsLlJlZ2lzdHJ5RmlsZSB8IHJlZ2lzdHJ5IGZpbGV9XG4gKiBvciBgRmFpbHVyZWAgd2l0aCBkZXRhaWxzIGlmIGFuIGVycm9yIG9jY3Vycy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvYWRMYW5ndWFnZVN1YnRhZ3NKc29uRmlsZVN5bmMocGF0aDogc3RyaW5nKTogUmVzdWx0PE1vZGVsLlJlZ2lzdHJ5RmlsZT4ge1xuICAgIHJldHVybiBjb252ZXJ0SnNvbkZpbGVTeW5jKHBhdGgsIHJlZ2lzdHJ5RmlsZSk7XG59XG4iXX0=
@@ -0,0 +1,7 @@
1
+ export * from './common';
2
+ export { LanguageSubtagRegistry } from './subtagRegistry';
3
+ import * as Converters from './converters';
4
+ import * as Model from './model';
5
+ import * as Validate from './validate';
6
+ export { Converters, Model, Validate };
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/iana/language-subtags/index.ts"],"names":[],"mappings":"AAsBA,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,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"}
@@ -0,0 +1,60 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
40
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
41
+ };
42
+ var __importStar = (this && this.__importStar) || function (mod) {
43
+ if (mod && mod.__esModule) return mod;
44
+ var result = {};
45
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
46
+ __setModuleDefault(result, mod);
47
+ return result;
48
+ };
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ exports.Validate = exports.Model = exports.Converters = exports.LanguageSubtagRegistry = void 0;
51
+ __exportStar(require("./common"), exports);
52
+ var subtagRegistry_1 = require("./subtagRegistry");
53
+ Object.defineProperty(exports, "LanguageSubtagRegistry", { enumerable: true, get: function () { return subtagRegistry_1.LanguageSubtagRegistry; } });
54
+ const Converters = __importStar(require("./converters"));
55
+ exports.Converters = Converters;
56
+ const Model = __importStar(require("./model"));
57
+ exports.Model = Model;
58
+ const Validate = __importStar(require("./validate"));
59
+ exports.Validate = Validate;
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWFuYS9sYW5ndWFnZS1zdWJ0YWdzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUgsMkNBQXlCO0FBQ3pCLG1EQUEwRDtBQUFqRCx3SEFBQSxzQkFBc0IsT0FBQTtBQUUvQix5REFBMkM7QUFJbEMsZ0NBQVU7QUFIbkIsK0NBQWlDO0FBR1osc0JBQUs7QUFGMUIscURBQXVDO0FBRVgsNEJBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIyIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9jb21tb24nO1xuZXhwb3J0IHsgTGFuZ3VhZ2VTdWJ0YWdSZWdpc3RyeSB9IGZyb20gJy4vc3VidGFnUmVnaXN0cnknO1xuXG5pbXBvcnQgKiBhcyBDb252ZXJ0ZXJzIGZyb20gJy4vY29udmVydGVycyc7XG5pbXBvcnQgKiBhcyBNb2RlbCBmcm9tICcuL21vZGVsJztcbmltcG9ydCAqIGFzIFZhbGlkYXRlIGZyb20gJy4vdmFsaWRhdGUnO1xuXG5leHBvcnQgeyBDb252ZXJ0ZXJzLCBNb2RlbCwgVmFsaWRhdGUgfTtcbiJdfQ==
@@ -0,0 +1,55 @@
1
+ import * as Items from './model';
2
+ import { Result } from '@fgv/ts-utils';
3
+ /**
4
+ * @internal
5
+ */
6
+ export declare const registeredLanguage: import("@fgv/ts-utils").Converter<Items.RegisteredLanguage, unknown>;
7
+ /**
8
+ * @internal
9
+ */
10
+ export declare const registeredExtLang: import("@fgv/ts-utils").Converter<Items.RegisteredExtLang, unknown>;
11
+ /**
12
+ * @internal
13
+ */
14
+ export declare const registeredScript: import("@fgv/ts-utils").Converter<Items.RegisteredScript, unknown>;
15
+ /**
16
+ * @internal
17
+ */
18
+ export declare const registeredRegion: import("@fgv/ts-utils").Converter<Items.RegisteredRegion, unknown>;
19
+ /**
20
+ * @internal
21
+ */
22
+ export declare const registeredVariant: import("@fgv/ts-utils").Converter<Items.RegisteredVariant, unknown>;
23
+ /**
24
+ * @internal
25
+ */
26
+ export declare const registeredGrandfatheredTag: import("@fgv/ts-utils").Converter<Items.RegisteredGrandfatheredTag, unknown>;
27
+ /**
28
+ * @internal
29
+ */
30
+ export declare const registeredRedundantTag: import("@fgv/ts-utils").Converter<Items.RegisteredRedundantTag, unknown>;
31
+ /**
32
+ * @internal
33
+ */
34
+ export declare const registeredItem: import("@fgv/ts-utils").Converter<Items.RegisteredItem, unknown>;
35
+ /**
36
+ * @internal
37
+ */
38
+ export declare const registryFile: import("@fgv/ts-utils").Converter<import("../model").DatedRegistry<Items.RegisteredItem>, unknown>;
39
+ /**
40
+ * Loads a JSON-format language subtag registry file.
41
+ * @param path - The string path from which the registry is to be loaded.
42
+ * @returns `Success` with the resulting {@link Iana.LanguageSubtags.Model.RegistryFile | registry file}
43
+ * or `Failure` with details if an error occurs.
44
+ * @internal
45
+ */
46
+ export declare function loadJsonSubtagRegistryFileSync(path: string): Result<Items.RegistryFile>;
47
+ /**
48
+ * Loads a text (JAR) format language subtag registry file.
49
+ * @param path - The string path from which the registry is to be loaded.
50
+ * @returns `Success` with the resulting {@link Iana.LanguageSubtags.Model.RegistryFile | registry file}
51
+ * or `Failure` with details if an error occurs.
52
+ * @internal
53
+ */
54
+ export declare function loadTxtSubtagRegistryFileSync(path: string): Result<Items.RegistryFile>;
55
+ //# sourceMappingURL=jarConverters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jarConverters.d.ts","sourceRoot":"","sources":["../../../src/iana/language-subtags/jarConverters.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAIjC,OAAO,EAAyB,MAAM,EAAE,MAAM,eAAe,CAAC;AAO9D;;GAEG;AACH,eAAO,MAAM,kBAAkB,sEAkB9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,qEAkB7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,oEAe5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,oEAe5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,qEAe7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,8EActC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,0EAclC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,kEAQzB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,YAAY,oGAAgC,CAAC;AAE1D;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAEvF;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAOtF"}