@fgv/ts-bcp47 0.9.6 → 2.0.1-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 (555) hide show
  1. package/.cache/build.lint/_eslint-R7SFxnrl.json +481 -0
  2. package/dist/ts-bcp47.d.ts +2554 -0
  3. package/dist/tsdoc-metadata.json +11 -0
  4. package/lib/data/bcp/overrides.json +20 -0
  5. package/lib/data/iana/language-subtags.json +57439 -0
  6. package/{data → lib/data}/iana/language-tag-extensions.json +2 -6
  7. package/lib/data/unsd/m49.json +3723 -0
  8. package/lib/index.d.ts +6 -0
  9. package/lib/index.d.ts.map +1 -0
  10. package/lib/index.js +57 -0
  11. package/lib/index.js.map +1 -0
  12. package/lib/packlets/bcp47/bcp47Subtags/converters.d.ts.map +1 -0
  13. package/{bcp47 → lib/packlets/bcp47}/bcp47Subtags/converters.js +2 -1
  14. package/lib/packlets/bcp47/bcp47Subtags/converters.js.map +1 -0
  15. package/lib/packlets/bcp47/bcp47Subtags/index.d.ts.map +1 -0
  16. package/{bcp47 → lib/packlets/bcp47}/bcp47Subtags/index.js +1 -1
  17. package/lib/packlets/bcp47/bcp47Subtags/index.js.map +1 -0
  18. package/{bcp47 → lib/packlets/bcp47}/bcp47Subtags/model.d.ts +3 -1
  19. package/lib/packlets/bcp47/bcp47Subtags/model.d.ts.map +1 -0
  20. package/lib/packlets/bcp47/bcp47Subtags/model.js +24 -0
  21. package/lib/packlets/bcp47/bcp47Subtags/model.js.map +1 -0
  22. package/{bcp47 → lib/packlets/bcp47}/bcp47Subtags/validate.d.ts +2 -2
  23. package/lib/packlets/bcp47/bcp47Subtags/validate.d.ts.map +1 -0
  24. package/lib/packlets/bcp47/bcp47Subtags/validate.js +74 -0
  25. package/lib/packlets/bcp47/bcp47Subtags/validate.js.map +1 -0
  26. package/{bcp47 → lib/packlets/bcp47}/common.d.ts +4 -4
  27. package/lib/packlets/bcp47/common.d.ts.map +1 -0
  28. package/lib/packlets/bcp47/common.js +59 -0
  29. package/lib/packlets/bcp47/common.js.map +1 -0
  30. package/{bcp47 → lib/packlets/bcp47}/helpers.d.ts +8 -8
  31. package/lib/packlets/bcp47/helpers.d.ts.map +1 -0
  32. package/lib/packlets/bcp47/helpers.js +103 -0
  33. package/lib/packlets/bcp47/helpers.js.map +1 -0
  34. package/lib/packlets/bcp47/index.d.ts +10 -0
  35. package/lib/packlets/bcp47/index.d.ts.map +1 -0
  36. package/lib/packlets/bcp47/index.js +68 -0
  37. package/lib/packlets/bcp47/index.js.map +1 -0
  38. package/{bcp47 → lib/packlets/bcp47}/languageRegistryData.d.ts +26 -27
  39. package/lib/packlets/bcp47/languageRegistryData.d.ts.map +1 -0
  40. package/lib/packlets/bcp47/languageRegistryData.js +206 -0
  41. package/lib/packlets/bcp47/languageRegistryData.js.map +1 -0
  42. package/{bcp47 → lib/packlets/bcp47}/languageTag.d.ts +12 -13
  43. package/lib/packlets/bcp47/languageTag.d.ts.map +1 -0
  44. package/lib/packlets/bcp47/languageTag.js +390 -0
  45. package/lib/packlets/bcp47/languageTag.js.map +1 -0
  46. package/{bcp47 → lib/packlets/bcp47}/languageTagParser.d.ts +13 -14
  47. package/lib/packlets/bcp47/languageTagParser.d.ts.map +1 -0
  48. package/lib/packlets/bcp47/languageTagParser.js +303 -0
  49. package/lib/packlets/bcp47/languageTagParser.js.map +1 -0
  50. package/{bcp47 → lib/packlets/bcp47}/match/chooser.d.ts +8 -8
  51. package/lib/packlets/bcp47/match/chooser.d.ts.map +1 -0
  52. package/lib/packlets/bcp47/match/chooser.js +92 -0
  53. package/lib/packlets/bcp47/match/chooser.js.map +1 -0
  54. package/lib/packlets/bcp47/match/common.d.ts.map +1 -0
  55. package/lib/packlets/bcp47/match/common.js +52 -0
  56. package/lib/packlets/bcp47/match/common.js.map +1 -0
  57. package/lib/packlets/bcp47/match/index.d.ts +4 -0
  58. package/lib/packlets/bcp47/match/index.d.ts.map +1 -0
  59. package/lib/packlets/bcp47/match/index.js +45 -0
  60. package/lib/packlets/bcp47/match/index.js.map +1 -0
  61. package/lib/packlets/bcp47/match/similarity.d.ts.map +1 -0
  62. package/lib/packlets/bcp47/match/similarity.js +230 -0
  63. package/lib/packlets/bcp47/match/similarity.js.map +1 -0
  64. package/lib/packlets/bcp47/normalization/baseNormalizer.d.ts +35 -0
  65. package/lib/packlets/bcp47/normalization/baseNormalizer.d.ts.map +1 -0
  66. package/lib/packlets/bcp47/normalization/baseNormalizer.js +116 -0
  67. package/lib/packlets/bcp47/normalization/baseNormalizer.js.map +1 -0
  68. package/lib/packlets/bcp47/normalization/canonicalNormalizer.d.ts +22 -0
  69. package/lib/packlets/bcp47/normalization/canonicalNormalizer.d.ts.map +1 -0
  70. package/lib/packlets/bcp47/normalization/canonicalNormalizer.js +113 -0
  71. package/lib/packlets/bcp47/normalization/canonicalNormalizer.js.map +1 -0
  72. package/{bcp47 → lib/packlets/bcp47}/normalization/common.d.ts +1 -1
  73. package/lib/packlets/bcp47/normalization/common.d.ts.map +1 -0
  74. package/lib/packlets/bcp47/normalization/common.js +82 -0
  75. package/lib/packlets/bcp47/normalization/common.js.map +1 -0
  76. package/lib/packlets/bcp47/normalization/index.d.ts.map +1 -0
  77. package/{bcp47 → lib/packlets/bcp47}/normalization/index.js +1 -1
  78. package/lib/packlets/bcp47/normalization/index.js.map +1 -0
  79. package/{bcp47 → lib/packlets/bcp47}/normalization/normalizeTag.d.ts +6 -6
  80. package/lib/packlets/bcp47/normalization/normalizeTag.d.ts.map +1 -0
  81. package/lib/packlets/bcp47/normalization/normalizeTag.js +105 -0
  82. package/lib/packlets/bcp47/normalization/normalizeTag.js.map +1 -0
  83. package/lib/packlets/bcp47/normalization/preferredTagNormalizer.d.ts +27 -0
  84. package/lib/packlets/bcp47/normalization/preferredTagNormalizer.d.ts.map +1 -0
  85. package/lib/packlets/bcp47/normalization/preferredTagNormalizer.js +204 -0
  86. package/lib/packlets/bcp47/normalization/preferredTagNormalizer.js.map +1 -0
  87. package/lib/packlets/bcp47/overrides/converters.d.ts +19 -0
  88. package/lib/packlets/bcp47/overrides/converters.d.ts.map +1 -0
  89. package/lib/packlets/bcp47/overrides/converters.js +76 -0
  90. package/lib/packlets/bcp47/overrides/converters.js.map +1 -0
  91. package/lib/packlets/bcp47/overrides/defaultRegistries.d.ts.map +1 -0
  92. package/lib/packlets/bcp47/overrides/defaultRegistries.js +42 -0
  93. package/lib/packlets/bcp47/overrides/defaultRegistries.js.map +1 -0
  94. package/lib/packlets/bcp47/overrides/index.d.ts.map +1 -0
  95. package/lib/packlets/bcp47/overrides/index.js +30 -0
  96. package/lib/packlets/bcp47/overrides/index.js.map +1 -0
  97. package/lib/packlets/bcp47/overrides/model.d.ts +11 -0
  98. package/lib/packlets/bcp47/overrides/model.d.ts.map +1 -0
  99. package/lib/packlets/bcp47/overrides/model.js +24 -0
  100. package/lib/packlets/bcp47/overrides/model.js.map +1 -0
  101. package/{bcp47 → lib/packlets/bcp47}/overrides/overridesRegistry.d.ts +8 -8
  102. package/lib/packlets/bcp47/overrides/overridesRegistry.d.ts.map +1 -0
  103. package/lib/packlets/bcp47/overrides/overridesRegistry.js +113 -0
  104. package/lib/packlets/bcp47/overrides/overridesRegistry.js.map +1 -0
  105. package/lib/packlets/bcp47/validation/baseValidator.d.ts +35 -0
  106. package/lib/packlets/bcp47/validation/baseValidator.d.ts.map +1 -0
  107. package/lib/packlets/bcp47/validation/baseValidator.js +113 -0
  108. package/lib/packlets/bcp47/validation/baseValidator.js.map +1 -0
  109. package/{bcp47 → lib/packlets/bcp47}/validation/common.d.ts +1 -1
  110. package/lib/packlets/bcp47/validation/common.d.ts.map +1 -0
  111. package/lib/packlets/bcp47/validation/common.js +84 -0
  112. package/lib/packlets/bcp47/validation/common.js.map +1 -0
  113. package/lib/packlets/bcp47/validation/index.d.ts.map +1 -0
  114. package/{bcp47 → lib/packlets/bcp47}/validation/index.js +1 -1
  115. package/lib/packlets/bcp47/validation/index.js.map +1 -0
  116. package/lib/packlets/bcp47/validation/isCanonical.d.ts +22 -0
  117. package/lib/packlets/bcp47/validation/isCanonical.d.ts.map +1 -0
  118. package/lib/packlets/bcp47/validation/isCanonical.js +106 -0
  119. package/lib/packlets/bcp47/validation/isCanonical.js.map +1 -0
  120. package/{bcp47 → lib/packlets/bcp47}/validation/isInPreferredForm.d.ts +4 -4
  121. package/lib/packlets/bcp47/validation/isInPreferredForm.d.ts.map +1 -0
  122. package/lib/packlets/bcp47/validation/isInPreferredForm.js +73 -0
  123. package/lib/packlets/bcp47/validation/isInPreferredForm.js.map +1 -0
  124. package/lib/packlets/bcp47/validation/isStrictlyValid.d.ts +18 -0
  125. package/lib/packlets/bcp47/validation/isStrictlyValid.d.ts.map +1 -0
  126. package/lib/packlets/bcp47/validation/isStrictlyValid.js +98 -0
  127. package/lib/packlets/bcp47/validation/isStrictlyValid.js.map +1 -0
  128. package/lib/packlets/bcp47/validation/isValid.d.ts +24 -0
  129. package/lib/packlets/bcp47/validation/isValid.d.ts.map +1 -0
  130. package/lib/packlets/bcp47/validation/isValid.js +119 -0
  131. package/lib/packlets/bcp47/validation/isValid.js.map +1 -0
  132. package/lib/packlets/bcp47/validation/isWellFormed.d.ts +22 -0
  133. package/lib/packlets/bcp47/validation/isWellFormed.d.ts.map +1 -0
  134. package/lib/packlets/bcp47/validation/isWellFormed.js +102 -0
  135. package/lib/packlets/bcp47/validation/isWellFormed.js.map +1 -0
  136. package/{bcp47 → lib/packlets/bcp47}/validation/validateTag.d.ts +9 -9
  137. package/lib/packlets/bcp47/validation/validateTag.d.ts.map +1 -0
  138. package/lib/packlets/bcp47/validation/validateTag.js +159 -0
  139. package/lib/packlets/bcp47/validation/validateTag.js.map +1 -0
  140. package/{iana → lib/packlets/iana}/common/converters.d.ts +2 -2
  141. package/lib/packlets/iana/common/converters.d.ts.map +1 -0
  142. package/lib/packlets/iana/common/converters.js +85 -0
  143. package/lib/packlets/iana/common/converters.js.map +1 -0
  144. package/{iana → lib/packlets/iana}/common/model.d.ts +1 -1
  145. package/lib/packlets/iana/common/model.d.ts.map +1 -0
  146. package/lib/packlets/iana/common/model.js +24 -0
  147. package/lib/packlets/iana/common/model.js.map +1 -0
  148. package/lib/packlets/iana/common/registeredItems.d.ts.map +1 -0
  149. package/lib/packlets/iana/common/registeredItems.js +124 -0
  150. package/lib/packlets/iana/common/registeredItems.js.map +1 -0
  151. package/lib/packlets/iana/common/utils.d.ts.map +1 -0
  152. package/lib/packlets/iana/common/utils.js +34 -0
  153. package/lib/packlets/iana/common/utils.js.map +1 -0
  154. package/{iana → lib/packlets/iana}/common/validate.d.ts +1 -1
  155. package/lib/packlets/iana/common/validate.d.ts.map +1 -0
  156. package/lib/packlets/iana/common/validate.js +62 -0
  157. package/lib/packlets/iana/common/validate.js.map +1 -0
  158. package/lib/packlets/iana/converters.d.ts.map +1 -0
  159. package/{iana → lib/packlets/iana}/converters.js +1 -1
  160. package/lib/packlets/iana/converters.js.map +1 -0
  161. package/lib/packlets/iana/defaultRegistries.d.ts.map +1 -0
  162. package/lib/packlets/iana/defaultRegistries.js +42 -0
  163. package/lib/packlets/iana/defaultRegistries.js.map +1 -0
  164. package/{iana → lib/packlets/iana}/index.d.ts +4 -2
  165. package/lib/packlets/iana/index.d.ts.map +1 -0
  166. package/{iana/jar/language-subtags/tags → lib/packlets/iana}/index.js +18 -6
  167. package/lib/packlets/iana/index.js.map +1 -0
  168. package/lib/packlets/iana/jar/converters.d.ts.map +1 -0
  169. package/{iana → lib/packlets/iana}/jar/converters.js +1 -1
  170. package/lib/packlets/iana/jar/converters.js.map +1 -0
  171. package/lib/packlets/iana/jar/index.d.ts +5 -0
  172. package/lib/packlets/iana/jar/index.d.ts.map +1 -0
  173. package/{unsd/csv → lib/packlets/iana/jar}/index.js +4 -2
  174. package/lib/packlets/iana/jar/index.js.map +1 -0
  175. package/{iana → lib/packlets/iana}/jar/jarConverters.d.ts +5 -5
  176. package/lib/packlets/iana/jar/jarConverters.d.ts.map +1 -0
  177. package/lib/packlets/iana/jar/jarConverters.js +86 -0
  178. package/lib/packlets/iana/jar/jarConverters.js.map +1 -0
  179. package/{iana → lib/packlets/iana}/jar/jarModel.d.ts +1 -1
  180. package/lib/packlets/iana/jar/jarModel.d.ts.map +1 -0
  181. package/lib/packlets/iana/jar/jarModel.js +24 -0
  182. package/lib/packlets/iana/jar/jarModel.js.map +1 -0
  183. package/lib/packlets/iana/jar/language-subtags/converters.d.ts.map +1 -0
  184. package/{iana → lib/packlets/iana}/jar/language-subtags/converters.js +1 -1
  185. package/lib/packlets/iana/jar/language-subtags/converters.js.map +1 -0
  186. package/lib/packlets/iana/jar/language-subtags/index.d.ts +5 -0
  187. package/lib/packlets/iana/jar/language-subtags/index.d.ts.map +1 -0
  188. package/{iana/jar/language-subtags/registry → lib/packlets/iana/jar/language-subtags}/index.js +29 -28
  189. package/lib/packlets/iana/jar/language-subtags/index.js.map +1 -0
  190. package/lib/packlets/iana/jar/language-subtags/model.d.ts.map +1 -0
  191. package/{iana → lib/packlets/iana}/jar/language-subtags/model.js +1 -1
  192. package/lib/packlets/iana/jar/language-subtags/model.js.map +1 -0
  193. package/lib/packlets/iana/jar/language-subtags/registry/converters.d.ts.map +1 -0
  194. package/lib/packlets/iana/jar/language-subtags/registry/converters.js +59 -0
  195. package/lib/packlets/iana/jar/language-subtags/registry/converters.js.map +1 -0
  196. package/lib/packlets/iana/jar/language-subtags/registry/index.d.ts.map +1 -0
  197. package/{iana/jar/language-subtags → lib/packlets/iana/jar/language-subtags/registry}/index.js +23 -22
  198. package/lib/packlets/iana/jar/language-subtags/registry/index.js.map +1 -0
  199. package/{iana → lib/packlets/iana}/jar/language-subtags/registry/model.d.ts +12 -12
  200. package/lib/packlets/iana/jar/language-subtags/registry/model.d.ts.map +1 -0
  201. package/lib/packlets/iana/jar/language-subtags/registry/model.js +46 -0
  202. package/lib/packlets/iana/jar/language-subtags/registry/model.js.map +1 -0
  203. package/lib/packlets/iana/jar/language-subtags/tags/converters.d.ts +55 -0
  204. package/lib/packlets/iana/jar/language-subtags/tags/converters.d.ts.map +1 -0
  205. package/lib/packlets/iana/jar/language-subtags/tags/converters.js +129 -0
  206. package/lib/packlets/iana/jar/language-subtags/tags/converters.js.map +1 -0
  207. package/lib/packlets/iana/jar/language-subtags/tags/index.d.ts +6 -0
  208. package/lib/packlets/iana/jar/language-subtags/tags/index.d.ts.map +1 -0
  209. package/lib/packlets/iana/jar/language-subtags/tags/index.js +58 -0
  210. package/lib/packlets/iana/jar/language-subtags/tags/index.js.map +1 -0
  211. package/lib/packlets/iana/jar/language-subtags/tags/model.d.ts.map +1 -0
  212. package/lib/packlets/iana/jar/language-subtags/tags/model.js +24 -0
  213. package/lib/packlets/iana/jar/language-subtags/tags/model.js.map +1 -0
  214. package/lib/packlets/iana/jar/language-subtags/tags/tagValidation.d.ts.map +1 -0
  215. package/lib/packlets/iana/jar/language-subtags/tags/tagValidation.js +70 -0
  216. package/lib/packlets/iana/jar/language-subtags/tags/tagValidation.js.map +1 -0
  217. package/lib/packlets/iana/jar/language-subtags/tags/validate.d.ts.map +1 -0
  218. package/lib/packlets/iana/jar/language-subtags/tags/validate.js +88 -0
  219. package/lib/packlets/iana/jar/language-subtags/tags/validate.js.map +1 -0
  220. package/lib/packlets/iana/jar/model.d.ts.map +1 -0
  221. package/{iana → lib/packlets/iana}/jar/model.js +1 -1
  222. package/lib/packlets/iana/jar/model.js.map +1 -0
  223. package/lib/packlets/iana/language-subtags/common.d.ts.map +1 -0
  224. package/lib/packlets/iana/language-subtags/common.js +24 -0
  225. package/lib/packlets/iana/language-subtags/common.js.map +1 -0
  226. package/lib/packlets/iana/language-subtags/converters.d.ts +52 -0
  227. package/lib/packlets/iana/language-subtags/converters.d.ts.map +1 -0
  228. package/lib/packlets/iana/language-subtags/converters.js +209 -0
  229. package/lib/packlets/iana/language-subtags/converters.js.map +1 -0
  230. package/{iana → lib/packlets/iana}/language-subtags/index.d.ts +4 -3
  231. package/lib/packlets/iana/language-subtags/index.d.ts.map +1 -0
  232. package/{iana → lib/packlets/iana}/language-subtags/index.js +10 -8
  233. package/lib/packlets/iana/language-subtags/index.js.map +1 -0
  234. package/{iana → lib/packlets/iana}/language-subtags/jarConverters.d.ts +8 -8
  235. package/lib/packlets/iana/language-subtags/jarConverters.d.ts.map +1 -0
  236. package/lib/packlets/iana/language-subtags/jarConverters.js +237 -0
  237. package/lib/packlets/iana/language-subtags/jarConverters.js.map +1 -0
  238. package/{iana → lib/packlets/iana}/language-subtags/model.d.ts +15 -15
  239. package/lib/packlets/iana/language-subtags/model.d.ts.map +1 -0
  240. package/lib/packlets/iana/language-subtags/model.js +24 -0
  241. package/lib/packlets/iana/language-subtags/model.js.map +1 -0
  242. package/{iana → lib/packlets/iana}/language-subtags/scope.d.ts +12 -12
  243. package/lib/packlets/iana/language-subtags/scope.d.ts.map +1 -0
  244. package/lib/packlets/iana/language-subtags/scope.js +179 -0
  245. package/lib/packlets/iana/language-subtags/scope.js.map +1 -0
  246. package/{iana → lib/packlets/iana}/language-subtags/subtagRegistry.d.ts +1 -1
  247. package/lib/packlets/iana/language-subtags/subtagRegistry.d.ts.map +1 -0
  248. package/lib/packlets/iana/language-subtags/subtagRegistry.js +150 -0
  249. package/lib/packlets/iana/language-subtags/subtagRegistry.js.map +1 -0
  250. package/lib/packlets/iana/language-subtags/validate.d.ts.map +1 -0
  251. package/{iana → lib/packlets/iana}/language-subtags/validate.js +1 -1
  252. package/lib/packlets/iana/language-subtags/validate.js.map +1 -0
  253. package/lib/packlets/iana/language-tag-extensions/converters.d.ts +22 -0
  254. package/lib/packlets/iana/language-tag-extensions/converters.d.ts.map +1 -0
  255. package/lib/packlets/iana/language-tag-extensions/converters.js +86 -0
  256. package/lib/packlets/iana/language-tag-extensions/converters.js.map +1 -0
  257. package/{iana → lib/packlets/iana}/language-tag-extensions/extensionsRegistry.d.ts +2 -2
  258. package/lib/packlets/iana/language-tag-extensions/extensionsRegistry.d.ts.map +1 -0
  259. package/lib/packlets/iana/language-tag-extensions/extensionsRegistry.js +105 -0
  260. package/lib/packlets/iana/language-tag-extensions/extensionsRegistry.js.map +1 -0
  261. package/{iana → lib/packlets/iana}/language-tag-extensions/extensionsScope.d.ts +3 -3
  262. package/lib/packlets/iana/language-tag-extensions/extensionsScope.d.ts.map +1 -0
  263. package/lib/packlets/iana/language-tag-extensions/extensionsScope.js +77 -0
  264. package/lib/packlets/iana/language-tag-extensions/extensionsScope.js.map +1 -0
  265. package/{iana → lib/packlets/iana}/language-tag-extensions/index.d.ts +3 -2
  266. package/lib/packlets/iana/language-tag-extensions/index.d.ts.map +1 -0
  267. package/{iana → lib/packlets/iana}/language-tag-extensions/index.js +6 -4
  268. package/lib/packlets/iana/language-tag-extensions/index.js.map +1 -0
  269. package/{iana → lib/packlets/iana}/language-tag-extensions/jarConverters.d.ts +2 -3
  270. package/lib/packlets/iana/language-tag-extensions/jarConverters.d.ts.map +1 -0
  271. package/lib/packlets/iana/language-tag-extensions/jarConverters.js +79 -0
  272. package/lib/packlets/iana/language-tag-extensions/jarConverters.js.map +1 -0
  273. package/{iana → lib/packlets/iana}/language-tag-extensions/model.d.ts +5 -6
  274. package/lib/packlets/iana/language-tag-extensions/model.d.ts.map +1 -0
  275. package/lib/packlets/iana/language-tag-extensions/model.js +25 -0
  276. package/lib/packlets/iana/language-tag-extensions/model.js.map +1 -0
  277. package/{iana → lib/packlets/iana}/language-tag-extensions/validate.d.ts +2 -2
  278. package/lib/packlets/iana/language-tag-extensions/validate.d.ts.map +1 -0
  279. package/lib/packlets/iana/language-tag-extensions/validate.js +36 -0
  280. package/lib/packlets/iana/language-tag-extensions/validate.js.map +1 -0
  281. package/lib/packlets/iana/languageRegistries.d.ts.map +1 -0
  282. package/lib/packlets/iana/languageRegistries.js +56 -0
  283. package/lib/packlets/iana/languageRegistries.js.map +1 -0
  284. package/lib/packlets/iana/model.d.ts.map +1 -0
  285. package/{iana → lib/packlets/iana}/model.js +1 -1
  286. package/lib/packlets/iana/model.js.map +1 -0
  287. package/lib/packlets/iana/validate.d.ts.map +1 -0
  288. package/{iana → lib/packlets/iana}/validate.js +1 -1
  289. package/lib/packlets/iana/validate.js.map +1 -0
  290. package/lib/packlets/unsd/areas.d.ts +29 -0
  291. package/lib/packlets/unsd/areas.d.ts.map +1 -0
  292. package/lib/packlets/unsd/areas.js +96 -0
  293. package/lib/packlets/unsd/areas.js.map +1 -0
  294. package/lib/packlets/unsd/common.d.ts +49 -0
  295. package/lib/packlets/unsd/common.d.ts.map +1 -0
  296. package/lib/packlets/unsd/common.js +24 -0
  297. package/lib/packlets/unsd/common.js.map +1 -0
  298. package/{unsd → lib/packlets/unsd}/csv/converters.d.ts +7 -4
  299. package/lib/packlets/unsd/csv/converters.d.ts.map +1 -0
  300. package/lib/packlets/unsd/csv/converters.js +78 -0
  301. package/lib/packlets/unsd/csv/converters.js.map +1 -0
  302. package/lib/packlets/unsd/csv/index.d.ts.map +1 -0
  303. package/{iana/jar → lib/packlets/unsd/csv}/index.js +1 -1
  304. package/lib/packlets/unsd/csv/index.js.map +1 -0
  305. package/lib/packlets/unsd/csv/model.d.ts +22 -0
  306. package/lib/packlets/unsd/csv/model.d.ts.map +1 -0
  307. package/lib/packlets/unsd/csv/model.js +24 -0
  308. package/lib/packlets/unsd/csv/model.js.map +1 -0
  309. package/lib/packlets/unsd/defaultRegistries.d.ts.map +1 -0
  310. package/lib/packlets/unsd/defaultRegistries.js +42 -0
  311. package/lib/packlets/unsd/defaultRegistries.js.map +1 -0
  312. package/{unsd → lib/packlets/unsd}/index.d.ts +2 -0
  313. package/lib/packlets/unsd/index.d.ts.map +1 -0
  314. package/lib/packlets/unsd/index.js +58 -0
  315. package/lib/packlets/unsd/index.js.map +1 -0
  316. package/{unsd → lib/packlets/unsd}/regionCodes.d.ts +7 -7
  317. package/lib/packlets/unsd/regionCodes.d.ts.map +1 -0
  318. package/lib/packlets/unsd/regionCodes.js +122 -0
  319. package/lib/packlets/unsd/regionCodes.js.map +1 -0
  320. package/lib/packlets/unsd/regions.d.ts +21 -0
  321. package/lib/packlets/unsd/regions.d.ts.map +1 -0
  322. package/lib/packlets/unsd/regions.js +77 -0
  323. package/lib/packlets/unsd/regions.js.map +1 -0
  324. package/lib/packlets/utils/index.d.ts.map +1 -0
  325. package/{utils → lib/packlets/utils}/index.js +1 -1
  326. package/lib/packlets/utils/index.js.map +1 -0
  327. package/lib/packlets/utils/jsonHelpers.d.ts.map +1 -0
  328. package/lib/packlets/utils/jsonHelpers.js +29 -0
  329. package/lib/packlets/utils/jsonHelpers.js.map +1 -0
  330. package/lib/packlets/utils/public.d.ts +2 -0
  331. package/lib/packlets/utils/public.d.ts.map +1 -0
  332. package/lib/packlets/utils/public.js +28 -0
  333. package/lib/packlets/utils/public.js.map +1 -0
  334. package/{utils → lib/packlets/utils}/validationHelpers.d.ts +9 -10
  335. package/lib/packlets/utils/validationHelpers.d.ts.map +1 -0
  336. package/lib/packlets/utils/validationHelpers.js +120 -0
  337. package/lib/packlets/utils/validationHelpers.js.map +1 -0
  338. package/package.json +73 -67
  339. package/bcp47/bcp47Subtags/converters.d.ts.map +0 -1
  340. package/bcp47/bcp47Subtags/index.d.ts.map +0 -1
  341. package/bcp47/bcp47Subtags/model.d.ts.map +0 -1
  342. package/bcp47/bcp47Subtags/model.js +0 -24
  343. package/bcp47/bcp47Subtags/validate.d.ts.map +0 -1
  344. package/bcp47/bcp47Subtags/validate.js +0 -74
  345. package/bcp47/common.d.ts.map +0 -1
  346. package/bcp47/common.js +0 -59
  347. package/bcp47/helpers.d.ts.map +0 -1
  348. package/bcp47/helpers.js +0 -103
  349. package/bcp47/index.d.ts +0 -7
  350. package/bcp47/index.d.ts.map +0 -1
  351. package/bcp47/index.js +0 -27
  352. package/bcp47/languageRegistryData.d.ts.map +0 -1
  353. package/bcp47/languageRegistryData.js +0 -209
  354. package/bcp47/languageTag.d.ts.map +0 -1
  355. package/bcp47/languageTag.js +0 -390
  356. package/bcp47/languageTagParser.d.ts.map +0 -1
  357. package/bcp47/languageTagParser.js +0 -302
  358. package/bcp47/match/chooser.d.ts.map +0 -1
  359. package/bcp47/match/chooser.js +0 -92
  360. package/bcp47/match/common.d.ts.map +0 -1
  361. package/bcp47/match/common.js +0 -51
  362. package/bcp47/match/index.d.ts +0 -4
  363. package/bcp47/match/index.d.ts.map +0 -1
  364. package/bcp47/match/index.js +0 -45
  365. package/bcp47/match/similarity.d.ts.map +0 -1
  366. package/bcp47/match/similarity.js +0 -230
  367. package/bcp47/normalization/baseNormalizer.d.ts +0 -36
  368. package/bcp47/normalization/baseNormalizer.d.ts.map +0 -1
  369. package/bcp47/normalization/baseNormalizer.js +0 -114
  370. package/bcp47/normalization/canonicalNormalizer.d.ts +0 -22
  371. package/bcp47/normalization/canonicalNormalizer.d.ts.map +0 -1
  372. package/bcp47/normalization/canonicalNormalizer.js +0 -113
  373. package/bcp47/normalization/common.d.ts.map +0 -1
  374. package/bcp47/normalization/common.js +0 -82
  375. package/bcp47/normalization/index.d.ts.map +0 -1
  376. package/bcp47/normalization/normalizeTag.d.ts.map +0 -1
  377. package/bcp47/normalization/normalizeTag.js +0 -105
  378. package/bcp47/normalization/preferredTagNormalizer.d.ts +0 -27
  379. package/bcp47/normalization/preferredTagNormalizer.d.ts.map +0 -1
  380. package/bcp47/normalization/preferredTagNormalizer.js +0 -209
  381. package/bcp47/overrides/converters.d.ts +0 -19
  382. package/bcp47/overrides/converters.d.ts.map +0 -1
  383. package/bcp47/overrides/converters.js +0 -75
  384. package/bcp47/overrides/defaultRegistries.d.ts.map +0 -1
  385. package/bcp47/overrides/defaultRegistries.js +0 -42
  386. package/bcp47/overrides/index.d.ts.map +0 -1
  387. package/bcp47/overrides/index.js +0 -30
  388. package/bcp47/overrides/model.d.ts +0 -11
  389. package/bcp47/overrides/model.d.ts.map +0 -1
  390. package/bcp47/overrides/model.js +0 -24
  391. package/bcp47/overrides/overridesRegistry.d.ts.map +0 -1
  392. package/bcp47/overrides/overridesRegistry.js +0 -112
  393. package/bcp47/validation/baseValidator.d.ts +0 -35
  394. package/bcp47/validation/baseValidator.d.ts.map +0 -1
  395. package/bcp47/validation/baseValidator.js +0 -111
  396. package/bcp47/validation/common.d.ts.map +0 -1
  397. package/bcp47/validation/common.js +0 -84
  398. package/bcp47/validation/index.d.ts.map +0 -1
  399. package/bcp47/validation/isCanonical.d.ts +0 -22
  400. package/bcp47/validation/isCanonical.d.ts.map +0 -1
  401. package/bcp47/validation/isCanonical.js +0 -104
  402. package/bcp47/validation/isInPreferredForm.d.ts.map +0 -1
  403. package/bcp47/validation/isInPreferredForm.js +0 -73
  404. package/bcp47/validation/isStrictlyValid.d.ts +0 -18
  405. package/bcp47/validation/isStrictlyValid.d.ts.map +0 -1
  406. package/bcp47/validation/isStrictlyValid.js +0 -98
  407. package/bcp47/validation/isValid.d.ts +0 -24
  408. package/bcp47/validation/isValid.d.ts.map +0 -1
  409. package/bcp47/validation/isValid.js +0 -115
  410. package/bcp47/validation/isWellFormed.d.ts +0 -22
  411. package/bcp47/validation/isWellFormed.d.ts.map +0 -1
  412. package/bcp47/validation/isWellFormed.js +0 -98
  413. package/bcp47/validation/validateTag.d.ts.map +0 -1
  414. package/bcp47/validation/validateTag.js +0 -159
  415. package/data/bcp/overrides.json +0 -21
  416. package/data/iana/language-subtags.json +0 -77295
  417. package/data/unsd/m49.json +0 -251
  418. package/iana/common/converters.d.ts.map +0 -1
  419. package/iana/common/converters.js +0 -84
  420. package/iana/common/model.d.ts.map +0 -1
  421. package/iana/common/model.js +0 -24
  422. package/iana/common/registeredItems.d.ts.map +0 -1
  423. package/iana/common/registeredItems.js +0 -124
  424. package/iana/common/utils.d.ts.map +0 -1
  425. package/iana/common/utils.js +0 -34
  426. package/iana/common/validate.d.ts.map +0 -1
  427. package/iana/common/validate.js +0 -61
  428. package/iana/converters.d.ts.map +0 -1
  429. package/iana/defaultRegistries.d.ts.map +0 -1
  430. package/iana/defaultRegistries.js +0 -42
  431. package/iana/index.d.ts.map +0 -1
  432. package/iana/index.js +0 -64
  433. package/iana/jar/converters.d.ts.map +0 -1
  434. package/iana/jar/index.d.ts.map +0 -1
  435. package/iana/jar/jarConverters.d.ts.map +0 -1
  436. package/iana/jar/jarConverters.js +0 -85
  437. package/iana/jar/jarModel.d.ts.map +0 -1
  438. package/iana/jar/jarModel.js +0 -24
  439. package/iana/jar/language-subtags/converters.d.ts.map +0 -1
  440. package/iana/jar/language-subtags/index.d.ts.map +0 -1
  441. package/iana/jar/language-subtags/model.d.ts.map +0 -1
  442. package/iana/jar/language-subtags/registry/converters.d.ts.map +0 -1
  443. package/iana/jar/language-subtags/registry/converters.js +0 -58
  444. package/iana/jar/language-subtags/registry/index.d.ts +0 -4
  445. package/iana/jar/language-subtags/registry/index.d.ts.map +0 -1
  446. package/iana/jar/language-subtags/registry/model.d.ts.map +0 -1
  447. package/iana/jar/language-subtags/registry/model.js +0 -41
  448. package/iana/jar/language-subtags/tags/converters.d.ts +0 -55
  449. package/iana/jar/language-subtags/tags/converters.d.ts.map +0 -1
  450. package/iana/jar/language-subtags/tags/converters.js +0 -128
  451. package/iana/jar/language-subtags/tags/index.d.ts +0 -5
  452. package/iana/jar/language-subtags/tags/index.d.ts.map +0 -1
  453. package/iana/jar/language-subtags/tags/model.d.ts.map +0 -1
  454. package/iana/jar/language-subtags/tags/model.js +0 -24
  455. package/iana/jar/language-subtags/tags/tagValidation.d.ts.map +0 -1
  456. package/iana/jar/language-subtags/tags/tagValidation.js +0 -70
  457. package/iana/jar/language-subtags/tags/validate.d.ts.map +0 -1
  458. package/iana/jar/language-subtags/tags/validate.js +0 -87
  459. package/iana/jar/model.d.ts.map +0 -1
  460. package/iana/language-subtags/common.d.ts.map +0 -1
  461. package/iana/language-subtags/common.js +0 -24
  462. package/iana/language-subtags/converters.d.ts +0 -52
  463. package/iana/language-subtags/converters.d.ts.map +0 -1
  464. package/iana/language-subtags/converters.js +0 -200
  465. package/iana/language-subtags/index.d.ts.map +0 -1
  466. package/iana/language-subtags/jarConverters.d.ts.map +0 -1
  467. package/iana/language-subtags/jarConverters.js +0 -213
  468. package/iana/language-subtags/model.d.ts.map +0 -1
  469. package/iana/language-subtags/model.js +0 -24
  470. package/iana/language-subtags/scope.d.ts.map +0 -1
  471. package/iana/language-subtags/scope.js +0 -179
  472. package/iana/language-subtags/subtagRegistry.d.ts.map +0 -1
  473. package/iana/language-subtags/subtagRegistry.js +0 -149
  474. package/iana/language-subtags/validate.d.ts.map +0 -1
  475. package/iana/language-tag-extensions/converters.d.ts +0 -23
  476. package/iana/language-tag-extensions/converters.d.ts.map +0 -1
  477. package/iana/language-tag-extensions/converters.js +0 -87
  478. package/iana/language-tag-extensions/extensionsRegistry.d.ts.map +0 -1
  479. package/iana/language-tag-extensions/extensionsRegistry.js +0 -104
  480. package/iana/language-tag-extensions/extensionsScope.d.ts.map +0 -1
  481. package/iana/language-tag-extensions/extensionsScope.js +0 -77
  482. package/iana/language-tag-extensions/index.d.ts.map +0 -1
  483. package/iana/language-tag-extensions/jarConverters.d.ts.map +0 -1
  484. package/iana/language-tag-extensions/jarConverters.js +0 -102
  485. package/iana/language-tag-extensions/model.d.ts.map +0 -1
  486. package/iana/language-tag-extensions/model.js +0 -24
  487. package/iana/language-tag-extensions/validate.d.ts.map +0 -1
  488. package/iana/language-tag-extensions/validate.js +0 -36
  489. package/iana/languageRegistries.d.ts.map +0 -1
  490. package/iana/languageRegistries.js +0 -56
  491. package/iana/model.d.ts.map +0 -1
  492. package/iana/validate.d.ts.map +0 -1
  493. package/index.d.ts +0 -6
  494. package/index.d.ts.map +0 -1
  495. package/index.js +0 -56
  496. package/unsd/areas.d.ts +0 -29
  497. package/unsd/areas.d.ts.map +0 -1
  498. package/unsd/areas.js +0 -96
  499. package/unsd/common.d.ts +0 -49
  500. package/unsd/common.d.ts.map +0 -1
  501. package/unsd/common.js +0 -24
  502. package/unsd/csv/converters.d.ts.map +0 -1
  503. package/unsd/csv/converters.js +0 -70
  504. package/unsd/csv/index.d.ts +0 -4
  505. package/unsd/csv/index.d.ts.map +0 -1
  506. package/unsd/csv/model.d.ts +0 -22
  507. package/unsd/csv/model.d.ts.map +0 -1
  508. package/unsd/csv/model.js +0 -24
  509. package/unsd/defaultRegistries.d.ts.map +0 -1
  510. package/unsd/defaultRegistries.js +0 -42
  511. package/unsd/index.d.ts.map +0 -1
  512. package/unsd/index.js +0 -44
  513. package/unsd/regionCodes.d.ts.map +0 -1
  514. package/unsd/regionCodes.js +0 -121
  515. package/unsd/regions.d.ts +0 -21
  516. package/unsd/regions.d.ts.map +0 -1
  517. package/unsd/regions.js +0 -77
  518. package/utils/index.d.ts.map +0 -1
  519. package/utils/jsonHelpers.d.ts.map +0 -1
  520. package/utils/jsonHelpers.js +0 -29
  521. package/utils/public.d.ts +0 -2
  522. package/utils/public.d.ts.map +0 -1
  523. package/utils/public.js +0 -28
  524. package/utils/validationHelpers.d.ts.map +0 -1
  525. package/utils/validationHelpers.js +0 -120
  526. /package/{bcp47 → lib/packlets/bcp47}/bcp47Subtags/converters.d.ts +0 -0
  527. /package/{bcp47 → lib/packlets/bcp47}/bcp47Subtags/index.d.ts +0 -0
  528. /package/{bcp47 → lib/packlets/bcp47}/match/common.d.ts +0 -0
  529. /package/{bcp47 → lib/packlets/bcp47}/match/similarity.d.ts +0 -0
  530. /package/{bcp47 → lib/packlets/bcp47}/normalization/index.d.ts +0 -0
  531. /package/{bcp47 → lib/packlets/bcp47}/overrides/defaultRegistries.d.ts +0 -0
  532. /package/{bcp47 → lib/packlets/bcp47}/overrides/index.d.ts +0 -0
  533. /package/{bcp47 → lib/packlets/bcp47}/validation/index.d.ts +0 -0
  534. /package/{iana → lib/packlets/iana}/common/registeredItems.d.ts +0 -0
  535. /package/{iana → lib/packlets/iana}/common/utils.d.ts +0 -0
  536. /package/{iana → lib/packlets/iana}/converters.d.ts +0 -0
  537. /package/{iana → lib/packlets/iana}/defaultRegistries.d.ts +0 -0
  538. /package/{iana → lib/packlets/iana}/jar/converters.d.ts +0 -0
  539. /package/{iana → lib/packlets/iana}/jar/language-subtags/converters.d.ts +0 -0
  540. /package/{iana → lib/packlets/iana}/jar/language-subtags/model.d.ts +0 -0
  541. /package/{iana → lib/packlets/iana}/jar/language-subtags/registry/converters.d.ts +0 -0
  542. /package/{iana/jar/language-subtags → lib/packlets/iana/jar/language-subtags/registry}/index.d.ts +0 -0
  543. /package/{iana → lib/packlets/iana}/jar/language-subtags/tags/model.d.ts +0 -0
  544. /package/{iana → lib/packlets/iana}/jar/language-subtags/tags/tagValidation.d.ts +0 -0
  545. /package/{iana → lib/packlets/iana}/jar/language-subtags/tags/validate.d.ts +0 -0
  546. /package/{iana → lib/packlets/iana}/jar/model.d.ts +0 -0
  547. /package/{iana → lib/packlets/iana}/language-subtags/common.d.ts +0 -0
  548. /package/{iana → lib/packlets/iana}/language-subtags/validate.d.ts +0 -0
  549. /package/{iana → lib/packlets/iana}/languageRegistries.d.ts +0 -0
  550. /package/{iana → lib/packlets/iana}/model.d.ts +0 -0
  551. /package/{iana → lib/packlets/iana}/validate.d.ts +0 -0
  552. /package/{iana/jar → lib/packlets/unsd/csv}/index.d.ts +0 -0
  553. /package/{unsd → lib/packlets/unsd}/defaultRegistries.d.ts +0 -0
  554. /package/{utils → lib/packlets/utils}/index.d.ts +0 -0
  555. /package/{utils → lib/packlets/utils}/jsonHelpers.d.ts +0 -0
@@ -1,42 +0,0 @@
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.DefaultRegistries = void 0;
25
- const overridesRegistry_1 = require("./overridesRegistry");
26
- /**
27
- * @public
28
- */
29
- class DefaultRegistries {
30
- static get overridesRegistry() {
31
- if (!this._overridesRegistry) {
32
- this._overridesRegistry = overridesRegistry_1.OverridesRegistry.loadDefault().orThrow();
33
- }
34
- return this._overridesRegistry;
35
- }
36
- }
37
- exports.DefaultRegistries = DefaultRegistries;
38
- /**
39
- * @internal
40
- */
41
- DefaultRegistries._overridesRegistry = undefined;
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdFJlZ2lzdHJpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmNwNDcvb3ZlcnJpZGVzL2RlZmF1bHRSZWdpc3RyaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7OztBQUVILDJEQUF3RDtBQUV4RDs7R0FFRztBQUNILE1BQWEsaUJBQWlCO0lBTW5CLE1BQU0sS0FBSyxpQkFBaUI7UUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUMxQixJQUFJLENBQUMsa0JBQWtCLEdBQUcscUNBQWlCLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDdkU7UUFDRCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNuQyxDQUFDOztBQVhMLDhDQVlDO0FBWEc7O0dBRUc7QUFDWSxvQ0FBa0IsR0FBdUIsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyMiBFcmlrIEZvcnR1bmVcbiAqXG4gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4gKlxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4gKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuICpcbiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbiAqIFNPRlRXQVJFLlxuICovXG5cbmltcG9ydCB7IE92ZXJyaWRlc1JlZ2lzdHJ5IH0gZnJvbSAnLi9vdmVycmlkZXNSZWdpc3RyeSc7XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY2xhc3MgRGVmYXVsdFJlZ2lzdHJpZXMge1xuICAgIC8qKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHByaXZhdGUgc3RhdGljIF9vdmVycmlkZXNSZWdpc3RyeT86IE92ZXJyaWRlc1JlZ2lzdHJ5ID0gdW5kZWZpbmVkO1xuXG4gICAgcHVibGljIHN0YXRpYyBnZXQgb3ZlcnJpZGVzUmVnaXN0cnkoKTogT3ZlcnJpZGVzUmVnaXN0cnkge1xuICAgICAgICBpZiAoIXRoaXMuX292ZXJyaWRlc1JlZ2lzdHJ5KSB7XG4gICAgICAgICAgICB0aGlzLl9vdmVycmlkZXNSZWdpc3RyeSA9IE92ZXJyaWRlc1JlZ2lzdHJ5LmxvYWREZWZhdWx0KCkub3JUaHJvdygpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9vdmVycmlkZXNSZWdpc3RyeTtcbiAgICB9XG59XG4iXX0=
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bcp47/overrides/index.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,30 +0,0 @@
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
- // istanbul ignore file
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.DefaultRegistries = exports.OverridesRegistry = void 0;
26
- var overridesRegistry_1 = require("./overridesRegistry");
27
- Object.defineProperty(exports, "OverridesRegistry", { enumerable: true, get: function () { return overridesRegistry_1.OverridesRegistry; } });
28
- var defaultRegistries_1 = require("./defaultRegistries");
29
- Object.defineProperty(exports, "DefaultRegistries", { enumerable: true, get: function () { return defaultRegistries_1.DefaultRegistries; } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmNwNDcvb3ZlcnJpZGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFDSCx1QkFBdUI7OztBQUV2Qix5REFBd0Q7QUFBL0Msc0hBQUEsaUJBQWlCLE9BQUE7QUFDMUIseURBQXdEO0FBQS9DLHNIQUFBLGlCQUFpQixPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyMiBFcmlrIEZvcnR1bmVcbiAqXG4gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4gKlxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4gKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuICpcbiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbiAqIFNPRlRXQVJFLlxuICovXG4vLyBpc3RhbmJ1bCBpZ25vcmUgZmlsZVxuXG5leHBvcnQgeyBPdmVycmlkZXNSZWdpc3RyeSB9IGZyb20gJy4vb3ZlcnJpZGVzUmVnaXN0cnknO1xuZXhwb3J0IHsgRGVmYXVsdFJlZ2lzdHJpZXMgfSBmcm9tICcuL2RlZmF1bHRSZWdpc3RyaWVzJztcbiJdfQ==
@@ -1,11 +0,0 @@
1
- import { LanguageSubtag, RegionSubtag } from '../../iana/language-subtags';
2
- /**
3
- * @internal
4
- */
5
- export interface LanguageOverrideRecord {
6
- language: LanguageSubtag;
7
- preferredRegion?: RegionSubtag;
8
- defaultAffinity?: string;
9
- affinity?: Record<string, RegionSubtag[]>;
10
- }
11
- //# sourceMappingURL=model.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/bcp47/overrides/model.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,QAAQ,EAAE,cAAc,CAAC;IACzB,eAAe,CAAC,EAAE,YAAY,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;CAC7C"}
@@ -1,24 +0,0 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmNwNDcvb3ZlcnJpZGVzL21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkciLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIyIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuaW1wb3J0IHsgTGFuZ3VhZ2VTdWJ0YWcsIFJlZ2lvblN1YnRhZyB9IGZyb20gJy4uLy4uL2lhbmEvbGFuZ3VhZ2Utc3VidGFncyc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGFuZ3VhZ2VPdmVycmlkZVJlY29yZCB7XG4gICAgbGFuZ3VhZ2U6IExhbmd1YWdlU3VidGFnO1xuICAgIHByZWZlcnJlZFJlZ2lvbj86IFJlZ2lvblN1YnRhZztcbiAgICBkZWZhdWx0QWZmaW5pdHk/OiBzdHJpbmc7XG4gICAgYWZmaW5pdHk/OiBSZWNvcmQ8c3RyaW5nLCBSZWdpb25TdWJ0YWdbXT47XG59XG4iXX0=
@@ -1 +0,0 @@
1
- {"version":3,"file":"overridesRegistry.d.ts","sourceRoot":"","sources":["../../../src/bcp47/overrides/overridesRegistry.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAuB,MAAM,eAAe,CAAC;AAG5D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,cAAc,CAAC;IACzB,eAAe,CAAC,EAAE,YAAY,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;CACxC;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAC1B,SAAgB,SAAS,EAAE,GAAG,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;IAEjE,SAAS;WAIK,MAAM,CAAC,SAAS,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC,iBAAiB,CAAC;WAMhE,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,iBAAiB,CAAC;WAWxD,WAAW,IAAI,MAAM,CAAC,iBAAiB,CAAC;WAIxC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAI/D;;;;;;;;OAQG;IACH,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,sBAAsB,GAAG,MAAM,CAAC,gBAAgB,CAAC;CAmBvG"}
@@ -1,112 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2022 Erik Fortune
4
- *
5
- * Permission is hereby granted, free of charge, to any person obtaining a copy
6
- * of this software and associated documentation files (the "Software"), to deal
7
- * in the Software without restriction, including without limitation the rights
8
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- * copies of the Software, and to permit persons to whom the Software is
10
- * furnished to do so, subject to the following conditions:
11
- *
12
- * The above copyright notice and this permission notice shall be included in all
13
- * copies or substantial portions of the Software.
14
- *
15
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- * SOFTWARE.
22
- */
23
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
24
- if (k2 === undefined) k2 = k;
25
- var desc = Object.getOwnPropertyDescriptor(m, k);
26
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
27
- desc = { enumerable: true, get: function() { return m[k]; } };
28
- }
29
- Object.defineProperty(o, k2, desc);
30
- }) : (function(o, m, k, k2) {
31
- if (k2 === undefined) k2 = k;
32
- o[k2] = m[k];
33
- }));
34
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
35
- Object.defineProperty(o, "default", { enumerable: true, value: v });
36
- }) : function(o, v) {
37
- o["default"] = v;
38
- });
39
- var __importStar = (this && this.__importStar) || function (mod) {
40
- if (mod && mod.__esModule) return mod;
41
- var result = {};
42
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
43
- __setModuleDefault(result, mod);
44
- return result;
45
- };
46
- var __importDefault = (this && this.__importDefault) || function (mod) {
47
- return (mod && mod.__esModule) ? mod : { "default": mod };
48
- };
49
- Object.defineProperty(exports, "__esModule", { value: true });
50
- exports.OverridesRegistry = void 0;
51
- const Converters = __importStar(require("./converters"));
52
- const ts_utils_1 = require("@fgv/ts-utils");
53
- const overrides_json_1 = __importDefault(require("../../data/bcp/overrides.json"));
54
- /**
55
- * @public
56
- */
57
- class OverridesRegistry {
58
- constructor() {
59
- this.overrides = new Map();
60
- }
61
- static create(overrides) {
62
- const registry = new OverridesRegistry();
63
- overrides.forEach((o) => registry.overrides.set(o.language, o));
64
- return (0, ts_utils_1.succeed)(registry);
65
- }
66
- static createFromJson(from) {
67
- return Converters.languageOverridesFile
68
- .convert(from)
69
- .onSuccess((records) => {
70
- return (0, ts_utils_1.mapResults)(records.map(OverridesRegistry._overrideFromRecord));
71
- })
72
- .onSuccess((overrides) => {
73
- return OverridesRegistry.create(overrides);
74
- });
75
- }
76
- static loadDefault() {
77
- return this.createFromJson(overrides_json_1.default);
78
- }
79
- static loadJson(path) {
80
- return Converters.loadLanguageOverridesFileSync(path).onSuccess(OverridesRegistry.createFromJson);
81
- }
82
- /**
83
- * Converts a file {@link Bcp47.Overrides.Model.LanguageOverrideRecord | LanguageOverrideRecord }
84
- * to a runtime {@link Bcp47.Overrides.LanguageOverride | LanguageOverride}.
85
- * @param record - The {@link Bcp47.Overrides.Model.LanguageOverrideRecord | LanguageOverrideRecord } to
86
- * be converted.
87
- * @returns `Success` with the resulting {@link Bcp47.Overrides.LanguageOverride | LanguageOverride}
88
- * or `Error` with details if an error occurs.
89
- * @internal
90
- */
91
- static _overrideFromRecord(record) {
92
- const override = { language: record.language };
93
- if (record.preferredRegion) {
94
- override.preferredRegion = record.preferredRegion;
95
- }
96
- if (record.defaultAffinity) {
97
- override.defaultAffinity = record.defaultAffinity;
98
- }
99
- if (record.affinity) {
100
- const affinity = new Map();
101
- for (const kvp of Object.entries(record.affinity)) {
102
- for (const region of kvp[1]) {
103
- affinity.set(region, kvp[0]);
104
- }
105
- }
106
- override.affinity = affinity;
107
- }
108
- return (0, ts_utils_1.succeed)(override);
109
- }
110
- }
111
- exports.OverridesRegistry = OverridesRegistry;
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcnJpZGVzUmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmNwNDcvb3ZlcnJpZGVzL292ZXJyaWRlc1JlZ2lzdHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUgseURBQTJDO0FBSTNDLDRDQUE0RDtBQUM1RCxtRkFBNkQ7QUFZN0Q7O0dBRUc7QUFDSCxNQUFhLGlCQUFpQjtJQUcxQjtRQUNJLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUE2QjtRQUM5QyxNQUFNLFFBQVEsR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDekMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLE9BQU8sSUFBQSxrQkFBTyxFQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFTSxNQUFNLENBQUMsY0FBYyxDQUFDLElBQWE7UUFDdEMsT0FBTyxVQUFVLENBQUMscUJBQXFCO2FBQ2xDLE9BQU8sQ0FBQyxJQUFJLENBQUM7YUFDYixTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNuQixPQUFPLElBQUEscUJBQVUsRUFBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztRQUMxRSxDQUFDLENBQUM7YUFDRCxTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNyQixPQUFPLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvQyxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFTSxNQUFNLENBQUMsV0FBVztRQUNyQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsd0JBQWdCLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFZO1FBQy9CLE9BQU8sVUFBVSxDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0RyxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDTyxNQUFNLENBQUMsbUJBQW1CLENBQUMsTUFBb0M7UUFDckUsTUFBTSxRQUFRLEdBQXFCLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqRSxJQUFJLE1BQU0sQ0FBQyxlQUFlLEVBQUU7WUFDeEIsUUFBUSxDQUFDLGVBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDO1NBQ3JEO1FBQ0QsSUFBSSxNQUFNLENBQUMsZUFBZSxFQUFFO1lBQ3hCLFFBQVEsQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQztTQUNyRDtRQUNELElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUNqQixNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBd0IsQ0FBQztZQUNqRCxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUMvQyxLQUFLLE1BQU0sTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDekIsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ2hDO2FBQ0o7WUFDRCxRQUFRLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztTQUNoQztRQUNELE9BQU8sSUFBQSxrQkFBTyxFQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdCLENBQUM7Q0FDSjtBQTVERCw4Q0E0REMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIyIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuaW1wb3J0ICogYXMgQ29udmVydGVycyBmcm9tICcuL2NvbnZlcnRlcnMnO1xuaW1wb3J0ICogYXMgTW9kZWwgZnJvbSAnLi9tb2RlbCc7XG5cbmltcG9ydCB7IExhbmd1YWdlU3VidGFnLCBSZWdpb25TdWJ0YWcgfSBmcm9tICcuLi8uLi9pYW5hL2xhbmd1YWdlLXN1YnRhZ3MnO1xuaW1wb3J0IHsgUmVzdWx0LCBtYXBSZXN1bHRzLCBzdWNjZWVkIH0gZnJvbSAnQGZndi90cy11dGlscyc7XG5pbXBvcnQgZGVmYXVsdE92ZXJyaWRlcyBmcm9tICcuLi8uLi9kYXRhL2JjcC9vdmVycmlkZXMuanNvbic7XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgaW50ZXJmYWNlIExhbmd1YWdlT3ZlcnJpZGUge1xuICAgIGxhbmd1YWdlOiBMYW5ndWFnZVN1YnRhZztcbiAgICBwcmVmZXJyZWRSZWdpb24/OiBSZWdpb25TdWJ0YWc7XG4gICAgZGVmYXVsdEFmZmluaXR5Pzogc3RyaW5nO1xuICAgIGFmZmluaXR5PzogTWFwPFJlZ2lvblN1YnRhZywgc3RyaW5nPjtcbn1cblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjbGFzcyBPdmVycmlkZXNSZWdpc3RyeSB7XG4gICAgcHVibGljIHJlYWRvbmx5IG92ZXJyaWRlczogTWFwPExhbmd1YWdlU3VidGFnLCBMYW5ndWFnZU92ZXJyaWRlPjtcblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5vdmVycmlkZXMgPSBuZXcgTWFwKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGUob3ZlcnJpZGVzOiBMYW5ndWFnZU92ZXJyaWRlW10pOiBSZXN1bHQ8T3ZlcnJpZGVzUmVnaXN0cnk+IHtcbiAgICAgICAgY29uc3QgcmVnaXN0cnkgPSBuZXcgT3ZlcnJpZGVzUmVnaXN0cnkoKTtcbiAgICAgICAgb3ZlcnJpZGVzLmZvckVhY2goKG8pID0+IHJlZ2lzdHJ5Lm92ZXJyaWRlcy5zZXQoby5sYW5ndWFnZSwgbykpO1xuICAgICAgICByZXR1cm4gc3VjY2VlZChyZWdpc3RyeSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGVGcm9tSnNvbihmcm9tOiB1bmtub3duKTogUmVzdWx0PE92ZXJyaWRlc1JlZ2lzdHJ5PiB7XG4gICAgICAgIHJldHVybiBDb252ZXJ0ZXJzLmxhbmd1YWdlT3ZlcnJpZGVzRmlsZVxuICAgICAgICAgICAgLmNvbnZlcnQoZnJvbSlcbiAgICAgICAgICAgIC5vblN1Y2Nlc3MoKHJlY29yZHMpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbWFwUmVzdWx0cyhyZWNvcmRzLm1hcChPdmVycmlkZXNSZWdpc3RyeS5fb3ZlcnJpZGVGcm9tUmVjb3JkKSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLm9uU3VjY2Vzcygob3ZlcnJpZGVzKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIE92ZXJyaWRlc1JlZ2lzdHJ5LmNyZWF0ZShvdmVycmlkZXMpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBsb2FkRGVmYXVsdCgpOiBSZXN1bHQ8T3ZlcnJpZGVzUmVnaXN0cnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlRnJvbUpzb24oZGVmYXVsdE92ZXJyaWRlcyk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBsb2FkSnNvbihwYXRoOiBzdHJpbmcpOiBSZXN1bHQ8T3ZlcnJpZGVzUmVnaXN0cnk+IHtcbiAgICAgICAgcmV0dXJuIENvbnZlcnRlcnMubG9hZExhbmd1YWdlT3ZlcnJpZGVzRmlsZVN5bmMocGF0aCkub25TdWNjZXNzKE92ZXJyaWRlc1JlZ2lzdHJ5LmNyZWF0ZUZyb21Kc29uKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBhIGZpbGUge0BsaW5rIEJjcDQ3Lk92ZXJyaWRlcy5Nb2RlbC5MYW5ndWFnZU92ZXJyaWRlUmVjb3JkIHwgTGFuZ3VhZ2VPdmVycmlkZVJlY29yZCB9XG4gICAgICogdG8gYSBydW50aW1lIHtAbGluayBCY3A0Ny5PdmVycmlkZXMuTGFuZ3VhZ2VPdmVycmlkZSB8IExhbmd1YWdlT3ZlcnJpZGV9LlxuICAgICAqIEBwYXJhbSByZWNvcmQgLSBUaGUge0BsaW5rIEJjcDQ3Lk92ZXJyaWRlcy5Nb2RlbC5MYW5ndWFnZU92ZXJyaWRlUmVjb3JkIHwgTGFuZ3VhZ2VPdmVycmlkZVJlY29yZCB9IHRvXG4gICAgICogYmUgY29udmVydGVkLlxuICAgICAqIEByZXR1cm5zIGBTdWNjZXNzYCB3aXRoIHRoZSByZXN1bHRpbmcge0BsaW5rIEJjcDQ3Lk92ZXJyaWRlcy5MYW5ndWFnZU92ZXJyaWRlIHwgTGFuZ3VhZ2VPdmVycmlkZX1cbiAgICAgKiBvciBgRXJyb3JgIHdpdGggZGV0YWlscyBpZiBhbiBlcnJvciBvY2N1cnMuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHN0YXRpYyBfb3ZlcnJpZGVGcm9tUmVjb3JkKHJlY29yZDogTW9kZWwuTGFuZ3VhZ2VPdmVycmlkZVJlY29yZCk6IFJlc3VsdDxMYW5ndWFnZU92ZXJyaWRlPiB7XG4gICAgICAgIGNvbnN0IG92ZXJyaWRlOiBMYW5ndWFnZU92ZXJyaWRlID0geyBsYW5ndWFnZTogcmVjb3JkLmxhbmd1YWdlIH07XG4gICAgICAgIGlmIChyZWNvcmQucHJlZmVycmVkUmVnaW9uKSB7XG4gICAgICAgICAgICBvdmVycmlkZS5wcmVmZXJyZWRSZWdpb24gPSByZWNvcmQucHJlZmVycmVkUmVnaW9uO1xuICAgICAgICB9XG4gICAgICAgIGlmIChyZWNvcmQuZGVmYXVsdEFmZmluaXR5KSB7XG4gICAgICAgICAgICBvdmVycmlkZS5kZWZhdWx0QWZmaW5pdHkgPSByZWNvcmQuZGVmYXVsdEFmZmluaXR5O1xuICAgICAgICB9XG4gICAgICAgIGlmIChyZWNvcmQuYWZmaW5pdHkpIHtcbiAgICAgICAgICAgIGNvbnN0IGFmZmluaXR5ID0gbmV3IE1hcDxSZWdpb25TdWJ0YWcsIHN0cmluZz4oKTtcbiAgICAgICAgICAgIGZvciAoY29uc3Qga3ZwIG9mIE9iamVjdC5lbnRyaWVzKHJlY29yZC5hZmZpbml0eSkpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHJlZ2lvbiBvZiBrdnBbMV0pIHtcbiAgICAgICAgICAgICAgICAgICAgYWZmaW5pdHkuc2V0KHJlZ2lvbiwga3ZwWzBdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvdmVycmlkZS5hZmZpbml0eSA9IGFmZmluaXR5O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdWNjZWVkKG92ZXJyaWRlKTtcbiAgICB9XG59XG4iXX0=
@@ -1,35 +0,0 @@
1
- import * as Iana from '../../iana';
2
- import { ExtensionSingleton, ExtensionSubtag } from '../bcp47Subtags/model';
3
- import { ExtensionSubtagValue, Subtags } from '../common';
4
- import { Result } from '@fgv/ts-utils';
5
- import { TagValidity } from './common';
6
- /**
7
- * @public
8
- */
9
- export interface TagValidator {
10
- readonly validity: TagValidity;
11
- validateSubtags(subtags: Subtags): Result<true>;
12
- }
13
- /**
14
- * @internal
15
- */
16
- export declare abstract class TagValidatorBase implements TagValidator {
17
- readonly iana: Iana.LanguageRegistries;
18
- abstract readonly validity: TagValidity;
19
- constructor(iana?: Iana.LanguageRegistries);
20
- validateSubtags(subtags: Subtags): Result<true>;
21
- protected _basicPostValidation(subtags: Subtags): Result<Subtags>;
22
- protected _postValidate(subtags: Subtags): Result<Subtags>;
23
- protected _checkExtensions(subtags: Subtags): Result<ExtensionSubtagValue[] | undefined>;
24
- protected _verifyUnique<T, TK extends string>(description: string, items: T[] | undefined, getKey: (item: T) => TK): Result<T[] | undefined>;
25
- protected abstract _checkLanguage(subtags: Subtags): Result<unknown>;
26
- protected abstract _checkExtlangs(subtags: Subtags): Result<unknown>;
27
- protected abstract _checkScript(subtags: Subtags): Result<unknown>;
28
- protected abstract _checkRegion(subtags: Subtags): Result<unknown>;
29
- protected abstract _checkVariants(subtags: Subtags): Result<unknown>;
30
- protected abstract _checkExtensionSingleton(singleton: ExtensionSingleton): Result<unknown>;
31
- protected abstract _checkExtensionSubtagValue(value: ExtensionSubtag): Result<unknown>;
32
- protected abstract _checkPrivateUseTags(subtags: Subtags): Result<unknown>;
33
- protected abstract _checkGrandfatheredTags(subtags: Subtags): Result<unknown>;
34
- }
35
- //# sourceMappingURL=baseValidator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"baseValidator.d.ts","sourceRoot":"","sources":["../../../src/bcp47/validation/baseValidator.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAmB,MAAM,WAAW,CAAC;AAC3E,OAAO,EAAE,MAAM,EAA6B,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAE/B,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;CACnD;AAED;;GAEG;AACH,8BAAsB,gBAAiB,YAAW,YAAY;IAC1D,SAAgB,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC;IAC9C,kBAAyB,QAAQ,EAAE,WAAW,CAAC;gBAE5B,IAAI,CAAC,EAAE,IAAI,CAAC,kBAAkB;IAK1C,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;IAkBtD,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAUjE,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAI1D,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,oBAAoB,EAAE,GAAG,SAAS,CAAC;IAcxF,SAAS,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,SAAS,MAAM,EACxC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,CAAC,EAAE,GAAG,SAAS,EACtB,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,GACxB,MAAM,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC;IAkB1B,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IACpE,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IACpE,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAClE,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAClE,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IACpE,SAAS,CAAC,QAAQ,CAAC,wBAAwB,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,CAAC,OAAO,CAAC;IAC3F,SAAS,CAAC,QAAQ,CAAC,0BAA0B,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC;IACtF,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC1E,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;CAChF"}
@@ -1,111 +0,0 @@
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.TagValidatorBase = void 0;
48
- const Iana = __importStar(require("../../iana"));
49
- const common_1 = require("../common");
50
- const ts_utils_1 = require("@fgv/ts-utils");
51
- /**
52
- * @internal
53
- */
54
- class TagValidatorBase {
55
- constructor(iana) {
56
- // istanbul ignore next
57
- this.iana = iana !== null && iana !== void 0 ? iana : Iana.DefaultRegistries.languageRegistries;
58
- }
59
- validateSubtags(subtags) {
60
- return (0, ts_utils_1.allSucceed)([
61
- this._checkLanguage(subtags),
62
- this._checkExtlangs(subtags),
63
- this._checkScript(subtags),
64
- this._checkRegion(subtags),
65
- this._checkVariants(subtags),
66
- this._checkExtensions(subtags),
67
- this._checkPrivateUseTags(subtags),
68
- this._checkGrandfatheredTags(subtags),
69
- ], true).onSuccess(() => {
70
- return this._postValidate(subtags).onSuccess(() => (0, ts_utils_1.succeed)(true));
71
- });
72
- }
73
- _basicPostValidation(subtags) {
74
- if (subtags.primaryLanguage === undefined && subtags.grandfathered === undefined && subtags.privateUse === undefined) {
75
- return (0, ts_utils_1.fail)(`${(0, common_1.subtagsToString)(subtags)}: missing primary language subtag.`);
76
- }
77
- if (subtags.extlangs && subtags.extlangs.length > 3) {
78
- return (0, ts_utils_1.fail)(`${(0, common_1.subtagsToString)(subtags)}: too many extlang subtags`);
79
- }
80
- return (0, ts_utils_1.succeed)(subtags);
81
- }
82
- _postValidate(subtags) {
83
- return this._basicPostValidation(subtags);
84
- }
85
- _checkExtensions(subtags) {
86
- if (subtags.extensions) {
87
- return (0, ts_utils_1.allSucceed)(subtags.extensions.map((ext) => {
88
- return this._checkExtensionSingleton(ext.singleton).onSuccess(() => {
89
- return this._checkExtensionSubtagValue(ext.value);
90
- });
91
- }), subtags.extensions);
92
- }
93
- return (0, ts_utils_1.succeed)(undefined);
94
- }
95
- _verifyUnique(description, items, getKey) {
96
- if (items) {
97
- const present = new Set();
98
- return (0, ts_utils_1.allSucceed)(items.map((i) => {
99
- const key = getKey(i);
100
- if (present.has(key)) {
101
- return (0, ts_utils_1.fail)(`${key}: duplicate ${description}`);
102
- }
103
- present.add(key);
104
- return (0, ts_utils_1.succeed)(key);
105
- }), items);
106
- }
107
- return (0, ts_utils_1.succeed)(items);
108
- }
109
- }
110
- exports.TagValidatorBase = TagValidatorBase;
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZVZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iY3A0Ny92YWxpZGF0aW9uL2Jhc2VWYWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCxpREFBbUM7QUFHbkMsc0NBQTJFO0FBQzNFLDRDQUFrRTtBQVlsRTs7R0FFRztBQUNILE1BQXNCLGdCQUFnQjtJQUlsQyxZQUFtQixJQUE4QjtRQUM3Qyx1QkFBdUI7UUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLGFBQUosSUFBSSxjQUFKLElBQUksR0FBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUM7SUFDbEUsQ0FBQztJQUVNLGVBQWUsQ0FBQyxPQUFnQjtRQUNuQyxPQUFPLElBQUEscUJBQVUsRUFDYjtZQUNJLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDO1lBQzVCLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDO1lBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDO1lBQzFCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDO1lBQzFCLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDO1lBQzVCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7WUFDOUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQztZQUNsQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsT0FBTyxDQUFDO1NBQ3hDLEVBQ0QsSUFBSSxDQUNQLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNiLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBQSxrQkFBTyxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdEUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRVMsb0JBQW9CLENBQUMsT0FBZ0I7UUFDM0MsSUFBSSxPQUFPLENBQUMsZUFBZSxLQUFLLFNBQVMsSUFBSSxPQUFPLENBQUMsYUFBYSxLQUFLLFNBQVMsSUFBSSxPQUFPLENBQUMsVUFBVSxLQUFLLFNBQVMsRUFBRTtZQUNsSCxPQUFPLElBQUEsZUFBSSxFQUFDLEdBQUcsSUFBQSx3QkFBZSxFQUFDLE9BQU8sQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1NBQ2hGO1FBQ0QsSUFBSSxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNqRCxPQUFPLElBQUEsZUFBSSxFQUFDLEdBQUcsSUFBQSx3QkFBZSxFQUFDLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1NBQ3hFO1FBQ0QsT0FBTyxJQUFBLGtCQUFPLEVBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVTLGFBQWEsQ0FBQyxPQUFnQjtRQUNwQyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRVMsZ0JBQWdCLENBQUMsT0FBZ0I7UUFDdkMsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFO1lBQ3BCLE9BQU8sSUFBQSxxQkFBVSxFQUNiLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQzNCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO29CQUMvRCxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3RELENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLEVBQ0YsT0FBTyxDQUFDLFVBQVUsQ0FDckIsQ0FBQztTQUNMO1FBQ0QsT0FBTyxJQUFBLGtCQUFPLEVBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVTLGFBQWEsQ0FDbkIsV0FBbUIsRUFDbkIsS0FBc0IsRUFDdEIsTUFBdUI7UUFFdkIsSUFBSSxLQUFLLEVBQUU7WUFDUCxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsRUFBTSxDQUFDO1lBQzlCLE9BQU8sSUFBQSxxQkFBVSxFQUNiLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDWixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RCLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDbEIsT0FBTyxJQUFBLGVBQUksRUFBQyxHQUFHLEdBQUcsZUFBZSxXQUFXLEVBQUUsQ0FBQyxDQUFDO2lCQUNuRDtnQkFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNqQixPQUFPLElBQUEsa0JBQU8sRUFBQyxHQUFHLENBQUMsQ0FBQztZQUN4QixDQUFDLENBQUMsRUFDRixLQUFLLENBQ1IsQ0FBQztTQUNMO1FBQ0QsT0FBTyxJQUFBLGtCQUFPLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztDQVdKO0FBdEZELDRDQXNGQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjIgRXJpayBGb3J0dW5lXG4gKlxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuICpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gKiBTT0ZUV0FSRS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBJYW5hIGZyb20gJy4uLy4uL2lhbmEnO1xuXG5pbXBvcnQgeyBFeHRlbnNpb25TaW5nbGV0b24sIEV4dGVuc2lvblN1YnRhZyB9IGZyb20gJy4uL2JjcDQ3U3VidGFncy9tb2RlbCc7XG5pbXBvcnQgeyBFeHRlbnNpb25TdWJ0YWdWYWx1ZSwgU3VidGFncywgc3VidGFnc1RvU3RyaW5nIH0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7IFJlc3VsdCwgYWxsU3VjY2VlZCwgZmFpbCwgc3VjY2VlZCB9IGZyb20gJ0BmZ3YvdHMtdXRpbHMnO1xuaW1wb3J0IHsgVGFnVmFsaWRpdHkgfSBmcm9tICcuL2NvbW1vbic7XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhZ1ZhbGlkYXRvciB7XG4gICAgcmVhZG9ubHkgdmFsaWRpdHk6IFRhZ1ZhbGlkaXR5O1xuXG4gICAgdmFsaWRhdGVTdWJ0YWdzKHN1YnRhZ3M6IFN1YnRhZ3MpOiBSZXN1bHQ8dHJ1ZT47XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUYWdWYWxpZGF0b3JCYXNlIGltcGxlbWVudHMgVGFnVmFsaWRhdG9yIHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgaWFuYTogSWFuYS5MYW5ndWFnZVJlZ2lzdHJpZXM7XG4gICAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHZhbGlkaXR5OiBUYWdWYWxpZGl0eTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihpYW5hPzogSWFuYS5MYW5ndWFnZVJlZ2lzdHJpZXMpIHtcbiAgICAgICAgLy8gaXN0YW5idWwgaWdub3JlIG5leHRcbiAgICAgICAgdGhpcy5pYW5hID0gaWFuYSA/PyBJYW5hLkRlZmF1bHRSZWdpc3RyaWVzLmxhbmd1YWdlUmVnaXN0cmllcztcbiAgICB9XG5cbiAgICBwdWJsaWMgdmFsaWRhdGVTdWJ0YWdzKHN1YnRhZ3M6IFN1YnRhZ3MpOiBSZXN1bHQ8dHJ1ZT4ge1xuICAgICAgICByZXR1cm4gYWxsU3VjY2VlZChcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICB0aGlzLl9jaGVja0xhbmd1YWdlKHN1YnRhZ3MpLFxuICAgICAgICAgICAgICAgIHRoaXMuX2NoZWNrRXh0bGFuZ3Moc3VidGFncyksXG4gICAgICAgICAgICAgICAgdGhpcy5fY2hlY2tTY3JpcHQoc3VidGFncyksXG4gICAgICAgICAgICAgICAgdGhpcy5fY2hlY2tSZWdpb24oc3VidGFncyksXG4gICAgICAgICAgICAgICAgdGhpcy5fY2hlY2tWYXJpYW50cyhzdWJ0YWdzKSxcbiAgICAgICAgICAgICAgICB0aGlzLl9jaGVja0V4dGVuc2lvbnMoc3VidGFncyksXG4gICAgICAgICAgICAgICAgdGhpcy5fY2hlY2tQcml2YXRlVXNlVGFncyhzdWJ0YWdzKSxcbiAgICAgICAgICAgICAgICB0aGlzLl9jaGVja0dyYW5kZmF0aGVyZWRUYWdzKHN1YnRhZ3MpLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHRydWVcbiAgICAgICAgKS5vblN1Y2Nlc3MoKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3Bvc3RWYWxpZGF0ZShzdWJ0YWdzKS5vblN1Y2Nlc3MoKCkgPT4gc3VjY2VlZCh0cnVlKSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfYmFzaWNQb3N0VmFsaWRhdGlvbihzdWJ0YWdzOiBTdWJ0YWdzKTogUmVzdWx0PFN1YnRhZ3M+IHtcbiAgICAgICAgaWYgKHN1YnRhZ3MucHJpbWFyeUxhbmd1YWdlID09PSB1bmRlZmluZWQgJiYgc3VidGFncy5ncmFuZGZhdGhlcmVkID09PSB1bmRlZmluZWQgJiYgc3VidGFncy5wcml2YXRlVXNlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWlsKGAke3N1YnRhZ3NUb1N0cmluZyhzdWJ0YWdzKX06IG1pc3NpbmcgcHJpbWFyeSBsYW5ndWFnZSBzdWJ0YWcuYCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN1YnRhZ3MuZXh0bGFuZ3MgJiYgc3VidGFncy5leHRsYW5ncy5sZW5ndGggPiAzKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFpbChgJHtzdWJ0YWdzVG9TdHJpbmcoc3VidGFncyl9OiB0b28gbWFueSBleHRsYW5nIHN1YnRhZ3NgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3VjY2VlZChzdWJ0YWdzKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3Bvc3RWYWxpZGF0ZShzdWJ0YWdzOiBTdWJ0YWdzKTogUmVzdWx0PFN1YnRhZ3M+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Jhc2ljUG9zdFZhbGlkYXRpb24oc3VidGFncyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9jaGVja0V4dGVuc2lvbnMoc3VidGFnczogU3VidGFncyk6IFJlc3VsdDxFeHRlbnNpb25TdWJ0YWdWYWx1ZVtdIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIGlmIChzdWJ0YWdzLmV4dGVuc2lvbnMpIHtcbiAgICAgICAgICAgIHJldHVybiBhbGxTdWNjZWVkKFxuICAgICAgICAgICAgICAgIHN1YnRhZ3MuZXh0ZW5zaW9ucy5tYXAoKGV4dCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fY2hlY2tFeHRlbnNpb25TaW5nbGV0b24oZXh0LnNpbmdsZXRvbikub25TdWNjZXNzKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9jaGVja0V4dGVuc2lvblN1YnRhZ1ZhbHVlKGV4dC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHN1YnRhZ3MuZXh0ZW5zaW9uc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3VjY2VlZCh1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfdmVyaWZ5VW5pcXVlPFQsIFRLIGV4dGVuZHMgc3RyaW5nPihcbiAgICAgICAgZGVzY3JpcHRpb246IHN0cmluZyxcbiAgICAgICAgaXRlbXM6IFRbXSB8IHVuZGVmaW5lZCxcbiAgICAgICAgZ2V0S2V5OiAoaXRlbTogVCkgPT4gVEtcbiAgICApOiBSZXN1bHQ8VFtdIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIGlmIChpdGVtcykge1xuICAgICAgICAgICAgY29uc3QgcHJlc2VudCA9IG5ldyBTZXQ8VEs+KCk7XG4gICAgICAgICAgICByZXR1cm4gYWxsU3VjY2VlZChcbiAgICAgICAgICAgICAgICBpdGVtcy5tYXAoKGkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qga2V5ID0gZ2V0S2V5KGkpO1xuICAgICAgICAgICAgICAgICAgICBpZiAocHJlc2VudC5oYXMoa2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhaWwoYCR7a2V5fTogZHVwbGljYXRlICR7ZGVzY3JpcHRpb259YCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcHJlc2VudC5hZGQoa2V5KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN1Y2NlZWQoa2V5KTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBpdGVtc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3VjY2VlZChpdGVtcyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IF9jaGVja0xhbmd1YWdlKHN1YnRhZ3M6IFN1YnRhZ3MpOiBSZXN1bHQ8dW5rbm93bj47XG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IF9jaGVja0V4dGxhbmdzKHN1YnRhZ3M6IFN1YnRhZ3MpOiBSZXN1bHQ8dW5rbm93bj47XG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IF9jaGVja1NjcmlwdChzdWJ0YWdzOiBTdWJ0YWdzKTogUmVzdWx0PHVua25vd24+O1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBfY2hlY2tSZWdpb24oc3VidGFnczogU3VidGFncyk6IFJlc3VsdDx1bmtub3duPjtcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgX2NoZWNrVmFyaWFudHMoc3VidGFnczogU3VidGFncyk6IFJlc3VsdDx1bmtub3duPjtcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgX2NoZWNrRXh0ZW5zaW9uU2luZ2xldG9uKHNpbmdsZXRvbjogRXh0ZW5zaW9uU2luZ2xldG9uKTogUmVzdWx0PHVua25vd24+O1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBfY2hlY2tFeHRlbnNpb25TdWJ0YWdWYWx1ZSh2YWx1ZTogRXh0ZW5zaW9uU3VidGFnKTogUmVzdWx0PHVua25vd24+O1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBfY2hlY2tQcml2YXRlVXNlVGFncyhzdWJ0YWdzOiBTdWJ0YWdzKTogUmVzdWx0PHVua25vd24+O1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBfY2hlY2tHcmFuZGZhdGhlcmVkVGFncyhzdWJ0YWdzOiBTdWJ0YWdzKTogUmVzdWx0PHVua25vd24+O1xufVxuIl19
@@ -1 +0,0 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/bcp47/validation/common.ts"],"names":[],"mappings":"AAsBA;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,aAAa,GAAG,OAAO,GAAG,gBAAgB,CAAC;AAiCjF;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAO5E;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,GAAG,WAAW,CAEvE"}
@@ -1,84 +0,0 @@
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.mostValid = exports.compareValidity = void 0;
25
- /**
26
- * Ordered ranking of the degrees of validity, from `unknown` (least
27
- * validation) to `strictly-valid` (fully validated).
28
- * @public
29
- */
30
- const validityRank = {
31
- /* eslint-disable @typescript-eslint/naming-convention */
32
- /**
33
- * No validation has been performed.
34
- */
35
- unknown: 0,
36
- /**
37
- * Tag is well-formed {@link https://www.rfc-editor.org/rfc/rfc5646.html#section-2.2.9 | according to RFC 5646}.
38
- */
39
- 'well-formed': 0.5,
40
- /**
41
- * Tag is valid {@link https://www.rfc-editor.org/rfc/rfc5646.html#section-2.2.9 | according to RFC 5646} -
42
- * well-formed, and is a registered grandfathered tag or all subtags are registered,
43
- * with no duplicate extensions or variant subtags.
44
- */
45
- valid: 0.9,
46
- /**
47
- * Tag is valid {@link https://www.rfc-editor.org/rfc/rfc5646.html#section-2.2.9 | according to RFC 5646} and meets
48
- * other constraints described by the RFC - e.g. if present, any extlang or variant subtags have a
49
- * {@link https://www.rfc-editor.org/rfc/rfc5646.html#section-3.1.8 | valid prefix} as specified by
50
- * the registry.
51
- */
52
- 'strictly-valid': 1.0,
53
- /* eslint-enable @typescript-eslint/naming-convention */
54
- };
55
- /**
56
- * Determines which of two validity ranks is most normalized.
57
- * @param v1 - The first {@link TagValidity} to be compared.
58
- * @param v2 - The second {@link TagValidity} to be compared.
59
- * @returns `1' if `v1` is more normalized, `-1` if `v2` is more
60
- * normalized, or `0` if they are identical.
61
- * @public
62
- */
63
- function compareValidity(v1, v2) {
64
- if (validityRank[v1] > validityRank[v2]) {
65
- return 1;
66
- }
67
- else if (validityRank[v1] < validityRank[v2]) {
68
- return -1;
69
- }
70
- return 0;
71
- }
72
- exports.compareValidity = compareValidity;
73
- /**
74
- * Chooses the most valid of two normalization ranks.
75
- * @param v1 - The first {@link TagValidity} to be compared.
76
- * @param v2 - The second {@link TagValidity} to be compared.
77
- * @returns The most validated of `v1` or `v2`.
78
- * @public
79
- */
80
- function mostValid(v1, v2) {
81
- return validityRank[v1] >= validityRank[v2] ? v1 : v2;
82
- }
83
- exports.mostValid = mostValid;
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JjcDQ3L3ZhbGlkYXRpb24vY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7OztBQVFIOzs7O0dBSUc7QUFDSCxNQUFNLFlBQVksR0FBZ0M7SUFDOUMseURBQXlEO0lBQ3pEOztPQUVHO0lBQ0gsT0FBTyxFQUFFLENBQUM7SUFDVjs7T0FFRztJQUNILGFBQWEsRUFBRSxHQUFHO0lBQ2xCOzs7O09BSUc7SUFDSCxLQUFLLEVBQUUsR0FBRztJQUNWOzs7OztPQUtHO0lBQ0gsZ0JBQWdCLEVBQUUsR0FBRztJQUNyQix3REFBd0Q7Q0FDM0QsQ0FBQztBQUVGOzs7Ozs7O0dBT0c7QUFDSCxTQUFnQixlQUFlLENBQUMsRUFBZSxFQUFFLEVBQWU7SUFDNUQsSUFBSSxZQUFZLENBQUMsRUFBRSxDQUFDLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1FBQ3JDLE9BQU8sQ0FBQyxDQUFDO0tBQ1o7U0FBTSxJQUFJLFlBQVksQ0FBQyxFQUFFLENBQUMsR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLEVBQUU7UUFDNUMsT0FBTyxDQUFDLENBQUMsQ0FBQztLQUNiO0lBQ0QsT0FBTyxDQUFDLENBQUM7QUFDYixDQUFDO0FBUEQsMENBT0M7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFnQixTQUFTLENBQUMsRUFBZSxFQUFFLEVBQWU7SUFDdEQsT0FBTyxZQUFZLENBQUMsRUFBRSxDQUFDLElBQUksWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUMxRCxDQUFDO0FBRkQsOEJBRUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIyIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuLyoqXG4gKiBEZXNjcmliZXMgdGhlIHZhbGlkYXRpb24gbGV2ZWwgb2YgYSBwYXJ0aWN1bGFyIHRhZy5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgVGFnVmFsaWRpdHkgPSAndW5rbm93bicgfCAnd2VsbC1mb3JtZWQnIHwgJ3ZhbGlkJyB8ICdzdHJpY3RseS12YWxpZCc7XG5cbi8qKlxuICogT3JkZXJlZCByYW5raW5nIG9mIHRoZSBkZWdyZWVzIG9mIHZhbGlkaXR5LCBmcm9tIGB1bmtub3duYCAobGVhc3RcbiAqIHZhbGlkYXRpb24pIHRvIGBzdHJpY3RseS12YWxpZGAgKGZ1bGx5IHZhbGlkYXRlZCkuXG4gKiBAcHVibGljXG4gKi9cbmNvbnN0IHZhbGlkaXR5UmFuazogUmVjb3JkPFRhZ1ZhbGlkaXR5LCBudW1iZXI+ID0ge1xuICAgIC8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuICAgIC8qKlxuICAgICAqIE5vIHZhbGlkYXRpb24gaGFzIGJlZW4gcGVyZm9ybWVkLlxuICAgICAqL1xuICAgIHVua25vd246IDAsXG4gICAgLyoqXG4gICAgICogVGFnIGlzIHdlbGwtZm9ybWVkIHtAbGluayBodHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9yZmMvcmZjNTY0Ni5odG1sI3NlY3Rpb24tMi4yLjkgfCBhY2NvcmRpbmcgdG8gUkZDIDU2NDZ9LlxuICAgICAqL1xuICAgICd3ZWxsLWZvcm1lZCc6IDAuNSxcbiAgICAvKipcbiAgICAgKiBUYWcgaXMgdmFsaWQge0BsaW5rIGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM1NjQ2Lmh0bWwjc2VjdGlvbi0yLjIuOSB8IGFjY29yZGluZyB0byBSRkMgNTY0Nn0gLVxuICAgICAqIHdlbGwtZm9ybWVkLCBhbmQgaXMgYSByZWdpc3RlcmVkIGdyYW5kZmF0aGVyZWQgdGFnIG9yIGFsbCBzdWJ0YWdzIGFyZSByZWdpc3RlcmVkLFxuICAgICAqIHdpdGggbm8gZHVwbGljYXRlIGV4dGVuc2lvbnMgb3IgdmFyaWFudCBzdWJ0YWdzLlxuICAgICAqL1xuICAgIHZhbGlkOiAwLjksXG4gICAgLyoqXG4gICAgICogVGFnIGlzIHZhbGlkIHtAbGluayBodHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9yZmMvcmZjNTY0Ni5odG1sI3NlY3Rpb24tMi4yLjkgfCBhY2NvcmRpbmcgdG8gUkZDIDU2NDZ9IGFuZCBtZWV0c1xuICAgICAqIG90aGVyIGNvbnN0cmFpbnRzIGRlc2NyaWJlZCBieSB0aGUgUkZDIC0gZS5nLiBpZiBwcmVzZW50LCBhbnkgZXh0bGFuZyBvciB2YXJpYW50IHN1YnRhZ3MgaGF2ZSBhXG4gICAgICoge0BsaW5rIGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM1NjQ2Lmh0bWwjc2VjdGlvbi0zLjEuOCB8IHZhbGlkIHByZWZpeH0gYXMgc3BlY2lmaWVkIGJ5XG4gICAgICogdGhlIHJlZ2lzdHJ5LlxuICAgICAqL1xuICAgICdzdHJpY3RseS12YWxpZCc6IDEuMCxcbiAgICAvKiBlc2xpbnQtZW5hYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xufTtcblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoaWNoIG9mIHR3byB2YWxpZGl0eSByYW5rcyBpcyBtb3N0IG5vcm1hbGl6ZWQuXG4gKiBAcGFyYW0gdjEgLSBUaGUgZmlyc3Qge0BsaW5rIFRhZ1ZhbGlkaXR5fSB0byBiZSBjb21wYXJlZC5cbiAqIEBwYXJhbSB2MiAtIFRoZSBzZWNvbmQge0BsaW5rIFRhZ1ZhbGlkaXR5fSB0byBiZSBjb21wYXJlZC5cbiAqIEByZXR1cm5zIGAxJyBpZiBgdjFgIGlzIG1vcmUgbm9ybWFsaXplZCwgYC0xYCBpZiBgdjJgIGlzIG1vcmVcbiAqIG5vcm1hbGl6ZWQsIG9yIGAwYCBpZiB0aGV5IGFyZSBpZGVudGljYWwuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21wYXJlVmFsaWRpdHkodjE6IFRhZ1ZhbGlkaXR5LCB2MjogVGFnVmFsaWRpdHkpOiAtMSB8IDAgfCAxIHtcbiAgICBpZiAodmFsaWRpdHlSYW5rW3YxXSA+IHZhbGlkaXR5UmFua1t2Ml0pIHtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgfSBlbHNlIGlmICh2YWxpZGl0eVJhbmtbdjFdIDwgdmFsaWRpdHlSYW5rW3YyXSkge1xuICAgICAgICByZXR1cm4gLTE7XG4gICAgfVxuICAgIHJldHVybiAwO1xufVxuXG4vKipcbiAqIENob29zZXMgdGhlIG1vc3QgdmFsaWQgb2YgdHdvIG5vcm1hbGl6YXRpb24gcmFua3MuXG4gKiBAcGFyYW0gdjEgLSBUaGUgZmlyc3Qge0BsaW5rIFRhZ1ZhbGlkaXR5fSB0byBiZSBjb21wYXJlZC5cbiAqIEBwYXJhbSB2MiAtIFRoZSBzZWNvbmQge0BsaW5rIFRhZ1ZhbGlkaXR5fSB0byBiZSBjb21wYXJlZC5cbiAqIEByZXR1cm5zIFRoZSBtb3N0IHZhbGlkYXRlZCBvZiBgdjFgIG9yIGB2MmAuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtb3N0VmFsaWQodjE6IFRhZ1ZhbGlkaXR5LCB2MjogVGFnVmFsaWRpdHkpOiBUYWdWYWxpZGl0eSB7XG4gICAgcmV0dXJuIHZhbGlkaXR5UmFua1t2MV0gPj0gdmFsaWRpdHlSYW5rW3YyXSA/IHYxIDogdjI7XG59XG4iXX0=
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bcp47/validation/index.ts"],"names":[],"mappings":"AAuBA,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
@@ -1,22 +0,0 @@
1
- import * as Iana from '../../iana';
2
- import { ExtensionSingleton, ExtensionSubtag } from '../bcp47Subtags/model';
3
- import { Result } from '@fgv/ts-utils';
4
- import { Subtags } from '../common';
5
- import { TagValidatorBase } from './baseValidator';
6
- import { TagValidity } from './common';
7
- /**
8
- * @internal
9
- */
10
- export declare class IsCanonicalValidator extends TagValidatorBase {
11
- validity: TagValidity;
12
- protected _checkLanguage(subtags: Subtags): Result<Iana.LanguageSubtags.LanguageSubtag | undefined>;
13
- protected _checkExtlangs(subtags: Subtags): Result<Iana.LanguageSubtags.ExtLangSubtag[] | undefined>;
14
- protected _checkScript(subtags: Subtags): Result<Iana.LanguageSubtags.ScriptSubtag | undefined>;
15
- protected _checkRegion(subtags: Subtags): Result<Iana.LanguageSubtags.RegionSubtag | undefined>;
16
- protected _checkVariants(subtags: Subtags): Result<Iana.LanguageSubtags.VariantSubtag[] | undefined>;
17
- protected _checkExtensionSingleton(singleton: ExtensionSingleton): Result<ExtensionSingleton>;
18
- protected _checkExtensionSubtagValue(value: ExtensionSubtag): Result<ExtensionSubtag>;
19
- protected _checkPrivateUseTags(subtags: Subtags): Result<Iana.LanguageSubtags.ExtendedLanguageRange[] | undefined>;
20
- protected _checkGrandfatheredTags(subtags: Subtags): Result<Iana.LanguageSubtags.GrandfatheredTag | undefined>;
21
- }
22
- //# sourceMappingURL=isCanonical.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isCanonical.d.ts","sourceRoot":"","sources":["../../../src/bcp47/validation/isCanonical.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,MAAM,EAA6B,MAAM,eAAe,CAAC;AAElE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,gBAAgB;IAC/C,QAAQ,EAAE,WAAW,CAAiB;IAE7C,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,GAAG,SAAS,CAAC;IAOnG,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,GAAG,SAAS,CAAC;IAUpG,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,GAAG,SAAS,CAAC;IAI/F,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,GAAG,SAAS,CAAC;IAI/F,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,GAAG,SAAS,CAAC;IAUpG,SAAS,CAAC,wBAAwB,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;IAI7F,SAAS,CAAC,0BAA0B,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;IAIrF,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,qBAAqB,EAAE,GAAG,SAAS,CAAC;IAYlH,SAAS,CAAC,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,GAAG,SAAS,CAAC;CAGjH"}