@fgv/ts-bcp47 0.9.6 → 2.0.2-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ts-bcp47.d.ts +2554 -0
- package/dist/tsdoc-metadata.json +11 -0
- package/lib/data/bcp/overrides.json +20 -0
- package/lib/data/iana/language-subtags.json +57439 -0
- package/{data → lib/data}/iana/language-tag-extensions.json +2 -6
- package/lib/data/unsd/m49.json +3723 -0
- package/lib/index.d.ts +6 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +57 -0
- package/lib/index.js.map +1 -0
- package/lib/packlets/bcp47/bcp47Subtags/converters.d.ts.map +1 -0
- package/{bcp47 → lib/packlets/bcp47}/bcp47Subtags/converters.js +2 -1
- package/lib/packlets/bcp47/bcp47Subtags/converters.js.map +1 -0
- package/lib/packlets/bcp47/bcp47Subtags/index.d.ts.map +1 -0
- package/{bcp47 → lib/packlets/bcp47}/bcp47Subtags/index.js +1 -1
- package/lib/packlets/bcp47/bcp47Subtags/index.js.map +1 -0
- package/{bcp47 → lib/packlets/bcp47}/bcp47Subtags/model.d.ts +3 -1
- package/lib/packlets/bcp47/bcp47Subtags/model.d.ts.map +1 -0
- package/lib/packlets/bcp47/bcp47Subtags/model.js +24 -0
- package/lib/packlets/bcp47/bcp47Subtags/model.js.map +1 -0
- package/{bcp47 → lib/packlets/bcp47}/bcp47Subtags/validate.d.ts +2 -2
- package/lib/packlets/bcp47/bcp47Subtags/validate.d.ts.map +1 -0
- package/lib/packlets/bcp47/bcp47Subtags/validate.js +74 -0
- package/lib/packlets/bcp47/bcp47Subtags/validate.js.map +1 -0
- package/{bcp47 → lib/packlets/bcp47}/common.d.ts +4 -4
- package/lib/packlets/bcp47/common.d.ts.map +1 -0
- package/lib/packlets/bcp47/common.js +59 -0
- package/lib/packlets/bcp47/common.js.map +1 -0
- package/{bcp47 → lib/packlets/bcp47}/helpers.d.ts +8 -8
- package/lib/packlets/bcp47/helpers.d.ts.map +1 -0
- package/lib/packlets/bcp47/helpers.js +103 -0
- package/lib/packlets/bcp47/helpers.js.map +1 -0
- package/lib/packlets/bcp47/index.d.ts +10 -0
- package/lib/packlets/bcp47/index.d.ts.map +1 -0
- package/lib/packlets/bcp47/index.js +68 -0
- package/lib/packlets/bcp47/index.js.map +1 -0
- package/{bcp47 → lib/packlets/bcp47}/languageRegistryData.d.ts +26 -27
- package/lib/packlets/bcp47/languageRegistryData.d.ts.map +1 -0
- package/lib/packlets/bcp47/languageRegistryData.js +206 -0
- package/lib/packlets/bcp47/languageRegistryData.js.map +1 -0
- package/{bcp47 → lib/packlets/bcp47}/languageTag.d.ts +12 -13
- package/lib/packlets/bcp47/languageTag.d.ts.map +1 -0
- package/lib/packlets/bcp47/languageTag.js +390 -0
- package/lib/packlets/bcp47/languageTag.js.map +1 -0
- package/{bcp47 → lib/packlets/bcp47}/languageTagParser.d.ts +13 -14
- package/lib/packlets/bcp47/languageTagParser.d.ts.map +1 -0
- package/lib/packlets/bcp47/languageTagParser.js +303 -0
- package/lib/packlets/bcp47/languageTagParser.js.map +1 -0
- package/{bcp47 → lib/packlets/bcp47}/match/chooser.d.ts +8 -8
- package/lib/packlets/bcp47/match/chooser.d.ts.map +1 -0
- package/lib/packlets/bcp47/match/chooser.js +92 -0
- package/lib/packlets/bcp47/match/chooser.js.map +1 -0
- package/lib/packlets/bcp47/match/common.d.ts.map +1 -0
- package/lib/packlets/bcp47/match/common.js +52 -0
- package/lib/packlets/bcp47/match/common.js.map +1 -0
- package/lib/packlets/bcp47/match/index.d.ts +4 -0
- package/lib/packlets/bcp47/match/index.d.ts.map +1 -0
- package/lib/packlets/bcp47/match/index.js +45 -0
- package/lib/packlets/bcp47/match/index.js.map +1 -0
- package/lib/packlets/bcp47/match/similarity.d.ts.map +1 -0
- package/lib/packlets/bcp47/match/similarity.js +230 -0
- package/lib/packlets/bcp47/match/similarity.js.map +1 -0
- package/lib/packlets/bcp47/normalization/baseNormalizer.d.ts +35 -0
- package/lib/packlets/bcp47/normalization/baseNormalizer.d.ts.map +1 -0
- package/lib/packlets/bcp47/normalization/baseNormalizer.js +116 -0
- package/lib/packlets/bcp47/normalization/baseNormalizer.js.map +1 -0
- package/lib/packlets/bcp47/normalization/canonicalNormalizer.d.ts +22 -0
- package/lib/packlets/bcp47/normalization/canonicalNormalizer.d.ts.map +1 -0
- package/lib/packlets/bcp47/normalization/canonicalNormalizer.js +113 -0
- package/lib/packlets/bcp47/normalization/canonicalNormalizer.js.map +1 -0
- package/{bcp47 → lib/packlets/bcp47}/normalization/common.d.ts +1 -1
- package/lib/packlets/bcp47/normalization/common.d.ts.map +1 -0
- package/lib/packlets/bcp47/normalization/common.js +82 -0
- package/lib/packlets/bcp47/normalization/common.js.map +1 -0
- package/lib/packlets/bcp47/normalization/index.d.ts.map +1 -0
- package/{bcp47 → lib/packlets/bcp47}/normalization/index.js +1 -1
- package/lib/packlets/bcp47/normalization/index.js.map +1 -0
- package/{bcp47 → lib/packlets/bcp47}/normalization/normalizeTag.d.ts +6 -6
- package/lib/packlets/bcp47/normalization/normalizeTag.d.ts.map +1 -0
- package/lib/packlets/bcp47/normalization/normalizeTag.js +105 -0
- package/lib/packlets/bcp47/normalization/normalizeTag.js.map +1 -0
- package/lib/packlets/bcp47/normalization/preferredTagNormalizer.d.ts +27 -0
- package/lib/packlets/bcp47/normalization/preferredTagNormalizer.d.ts.map +1 -0
- package/lib/packlets/bcp47/normalization/preferredTagNormalizer.js +204 -0
- package/lib/packlets/bcp47/normalization/preferredTagNormalizer.js.map +1 -0
- package/lib/packlets/bcp47/overrides/converters.d.ts +19 -0
- package/lib/packlets/bcp47/overrides/converters.d.ts.map +1 -0
- package/lib/packlets/bcp47/overrides/converters.js +76 -0
- package/lib/packlets/bcp47/overrides/converters.js.map +1 -0
- package/lib/packlets/bcp47/overrides/defaultRegistries.d.ts.map +1 -0
- package/lib/packlets/bcp47/overrides/defaultRegistries.js +42 -0
- package/lib/packlets/bcp47/overrides/defaultRegistries.js.map +1 -0
- package/lib/packlets/bcp47/overrides/index.d.ts.map +1 -0
- package/lib/packlets/bcp47/overrides/index.js +30 -0
- package/lib/packlets/bcp47/overrides/index.js.map +1 -0
- package/lib/packlets/bcp47/overrides/model.d.ts +11 -0
- package/lib/packlets/bcp47/overrides/model.d.ts.map +1 -0
- package/lib/packlets/bcp47/overrides/model.js +24 -0
- package/lib/packlets/bcp47/overrides/model.js.map +1 -0
- package/{bcp47 → lib/packlets/bcp47}/overrides/overridesRegistry.d.ts +8 -8
- package/lib/packlets/bcp47/overrides/overridesRegistry.d.ts.map +1 -0
- package/lib/packlets/bcp47/overrides/overridesRegistry.js +113 -0
- package/lib/packlets/bcp47/overrides/overridesRegistry.js.map +1 -0
- package/lib/packlets/bcp47/validation/baseValidator.d.ts +35 -0
- package/lib/packlets/bcp47/validation/baseValidator.d.ts.map +1 -0
- package/lib/packlets/bcp47/validation/baseValidator.js +113 -0
- package/lib/packlets/bcp47/validation/baseValidator.js.map +1 -0
- package/{bcp47 → lib/packlets/bcp47}/validation/common.d.ts +1 -1
- package/lib/packlets/bcp47/validation/common.d.ts.map +1 -0
- package/lib/packlets/bcp47/validation/common.js +84 -0
- package/lib/packlets/bcp47/validation/common.js.map +1 -0
- package/lib/packlets/bcp47/validation/index.d.ts.map +1 -0
- package/{bcp47 → lib/packlets/bcp47}/validation/index.js +1 -1
- package/lib/packlets/bcp47/validation/index.js.map +1 -0
- package/lib/packlets/bcp47/validation/isCanonical.d.ts +22 -0
- package/lib/packlets/bcp47/validation/isCanonical.d.ts.map +1 -0
- package/lib/packlets/bcp47/validation/isCanonical.js +106 -0
- package/lib/packlets/bcp47/validation/isCanonical.js.map +1 -0
- package/{bcp47 → lib/packlets/bcp47}/validation/isInPreferredForm.d.ts +4 -4
- package/lib/packlets/bcp47/validation/isInPreferredForm.d.ts.map +1 -0
- package/lib/packlets/bcp47/validation/isInPreferredForm.js +73 -0
- package/lib/packlets/bcp47/validation/isInPreferredForm.js.map +1 -0
- package/lib/packlets/bcp47/validation/isStrictlyValid.d.ts +18 -0
- package/lib/packlets/bcp47/validation/isStrictlyValid.d.ts.map +1 -0
- package/lib/packlets/bcp47/validation/isStrictlyValid.js +98 -0
- package/lib/packlets/bcp47/validation/isStrictlyValid.js.map +1 -0
- package/lib/packlets/bcp47/validation/isValid.d.ts +24 -0
- package/lib/packlets/bcp47/validation/isValid.d.ts.map +1 -0
- package/lib/packlets/bcp47/validation/isValid.js +119 -0
- package/lib/packlets/bcp47/validation/isValid.js.map +1 -0
- package/lib/packlets/bcp47/validation/isWellFormed.d.ts +22 -0
- package/lib/packlets/bcp47/validation/isWellFormed.d.ts.map +1 -0
- package/lib/packlets/bcp47/validation/isWellFormed.js +102 -0
- package/lib/packlets/bcp47/validation/isWellFormed.js.map +1 -0
- package/{bcp47 → lib/packlets/bcp47}/validation/validateTag.d.ts +9 -9
- package/lib/packlets/bcp47/validation/validateTag.d.ts.map +1 -0
- package/lib/packlets/bcp47/validation/validateTag.js +159 -0
- package/lib/packlets/bcp47/validation/validateTag.js.map +1 -0
- package/{iana → lib/packlets/iana}/common/converters.d.ts +2 -2
- package/lib/packlets/iana/common/converters.d.ts.map +1 -0
- package/lib/packlets/iana/common/converters.js +85 -0
- package/lib/packlets/iana/common/converters.js.map +1 -0
- package/{iana → lib/packlets/iana}/common/model.d.ts +1 -1
- package/lib/packlets/iana/common/model.d.ts.map +1 -0
- package/lib/packlets/iana/common/model.js +24 -0
- package/lib/packlets/iana/common/model.js.map +1 -0
- package/lib/packlets/iana/common/registeredItems.d.ts.map +1 -0
- package/lib/packlets/iana/common/registeredItems.js +124 -0
- package/lib/packlets/iana/common/registeredItems.js.map +1 -0
- package/lib/packlets/iana/common/utils.d.ts.map +1 -0
- package/lib/packlets/iana/common/utils.js +34 -0
- package/lib/packlets/iana/common/utils.js.map +1 -0
- package/{iana → lib/packlets/iana}/common/validate.d.ts +1 -1
- package/lib/packlets/iana/common/validate.d.ts.map +1 -0
- package/lib/packlets/iana/common/validate.js +62 -0
- package/lib/packlets/iana/common/validate.js.map +1 -0
- package/lib/packlets/iana/converters.d.ts.map +1 -0
- package/{iana → lib/packlets/iana}/converters.js +1 -1
- package/lib/packlets/iana/converters.js.map +1 -0
- package/lib/packlets/iana/defaultRegistries.d.ts.map +1 -0
- package/lib/packlets/iana/defaultRegistries.js +42 -0
- package/lib/packlets/iana/defaultRegistries.js.map +1 -0
- package/{iana → lib/packlets/iana}/index.d.ts +4 -2
- package/lib/packlets/iana/index.d.ts.map +1 -0
- package/{iana/jar/language-subtags/tags → lib/packlets/iana}/index.js +18 -6
- package/lib/packlets/iana/index.js.map +1 -0
- package/lib/packlets/iana/jar/converters.d.ts.map +1 -0
- package/{iana → lib/packlets/iana}/jar/converters.js +1 -1
- package/lib/packlets/iana/jar/converters.js.map +1 -0
- package/lib/packlets/iana/jar/index.d.ts +5 -0
- package/lib/packlets/iana/jar/index.d.ts.map +1 -0
- package/{unsd/csv → lib/packlets/iana/jar}/index.js +4 -2
- package/lib/packlets/iana/jar/index.js.map +1 -0
- package/{iana → lib/packlets/iana}/jar/jarConverters.d.ts +5 -5
- package/lib/packlets/iana/jar/jarConverters.d.ts.map +1 -0
- package/lib/packlets/iana/jar/jarConverters.js +86 -0
- package/lib/packlets/iana/jar/jarConverters.js.map +1 -0
- package/{iana → lib/packlets/iana}/jar/jarModel.d.ts +1 -1
- package/lib/packlets/iana/jar/jarModel.d.ts.map +1 -0
- package/lib/packlets/iana/jar/jarModel.js +24 -0
- package/lib/packlets/iana/jar/jarModel.js.map +1 -0
- package/lib/packlets/iana/jar/language-subtags/converters.d.ts.map +1 -0
- package/{iana → lib/packlets/iana}/jar/language-subtags/converters.js +1 -1
- package/lib/packlets/iana/jar/language-subtags/converters.js.map +1 -0
- package/lib/packlets/iana/jar/language-subtags/index.d.ts +5 -0
- package/lib/packlets/iana/jar/language-subtags/index.d.ts.map +1 -0
- package/{iana/jar/language-subtags/registry → lib/packlets/iana/jar/language-subtags}/index.js +29 -28
- package/lib/packlets/iana/jar/language-subtags/index.js.map +1 -0
- package/lib/packlets/iana/jar/language-subtags/model.d.ts.map +1 -0
- package/{iana → lib/packlets/iana}/jar/language-subtags/model.js +1 -1
- package/lib/packlets/iana/jar/language-subtags/model.js.map +1 -0
- package/lib/packlets/iana/jar/language-subtags/registry/converters.d.ts.map +1 -0
- package/lib/packlets/iana/jar/language-subtags/registry/converters.js +59 -0
- package/lib/packlets/iana/jar/language-subtags/registry/converters.js.map +1 -0
- package/lib/packlets/iana/jar/language-subtags/registry/index.d.ts.map +1 -0
- package/{iana/jar/language-subtags → lib/packlets/iana/jar/language-subtags/registry}/index.js +23 -22
- package/lib/packlets/iana/jar/language-subtags/registry/index.js.map +1 -0
- package/{iana → lib/packlets/iana}/jar/language-subtags/registry/model.d.ts +12 -12
- package/lib/packlets/iana/jar/language-subtags/registry/model.d.ts.map +1 -0
- package/lib/packlets/iana/jar/language-subtags/registry/model.js +46 -0
- package/lib/packlets/iana/jar/language-subtags/registry/model.js.map +1 -0
- package/lib/packlets/iana/jar/language-subtags/tags/converters.d.ts +55 -0
- package/lib/packlets/iana/jar/language-subtags/tags/converters.d.ts.map +1 -0
- package/lib/packlets/iana/jar/language-subtags/tags/converters.js +129 -0
- package/lib/packlets/iana/jar/language-subtags/tags/converters.js.map +1 -0
- package/lib/packlets/iana/jar/language-subtags/tags/index.d.ts +6 -0
- package/lib/packlets/iana/jar/language-subtags/tags/index.d.ts.map +1 -0
- package/lib/packlets/iana/jar/language-subtags/tags/index.js +58 -0
- package/lib/packlets/iana/jar/language-subtags/tags/index.js.map +1 -0
- package/lib/packlets/iana/jar/language-subtags/tags/model.d.ts.map +1 -0
- package/lib/packlets/iana/jar/language-subtags/tags/model.js +24 -0
- package/lib/packlets/iana/jar/language-subtags/tags/model.js.map +1 -0
- package/lib/packlets/iana/jar/language-subtags/tags/tagValidation.d.ts.map +1 -0
- package/lib/packlets/iana/jar/language-subtags/tags/tagValidation.js +70 -0
- package/lib/packlets/iana/jar/language-subtags/tags/tagValidation.js.map +1 -0
- package/lib/packlets/iana/jar/language-subtags/tags/validate.d.ts.map +1 -0
- package/lib/packlets/iana/jar/language-subtags/tags/validate.js +88 -0
- package/lib/packlets/iana/jar/language-subtags/tags/validate.js.map +1 -0
- package/lib/packlets/iana/jar/model.d.ts.map +1 -0
- package/{iana → lib/packlets/iana}/jar/model.js +1 -1
- package/lib/packlets/iana/jar/model.js.map +1 -0
- package/lib/packlets/iana/language-subtags/common.d.ts.map +1 -0
- package/lib/packlets/iana/language-subtags/common.js +24 -0
- package/lib/packlets/iana/language-subtags/common.js.map +1 -0
- package/lib/packlets/iana/language-subtags/converters.d.ts +52 -0
- package/lib/packlets/iana/language-subtags/converters.d.ts.map +1 -0
- package/lib/packlets/iana/language-subtags/converters.js +209 -0
- package/lib/packlets/iana/language-subtags/converters.js.map +1 -0
- package/{iana → lib/packlets/iana}/language-subtags/index.d.ts +4 -3
- package/lib/packlets/iana/language-subtags/index.d.ts.map +1 -0
- package/{iana → lib/packlets/iana}/language-subtags/index.js +10 -8
- package/lib/packlets/iana/language-subtags/index.js.map +1 -0
- package/{iana → lib/packlets/iana}/language-subtags/jarConverters.d.ts +8 -8
- package/lib/packlets/iana/language-subtags/jarConverters.d.ts.map +1 -0
- package/lib/packlets/iana/language-subtags/jarConverters.js +237 -0
- package/lib/packlets/iana/language-subtags/jarConverters.js.map +1 -0
- package/{iana → lib/packlets/iana}/language-subtags/model.d.ts +15 -15
- package/lib/packlets/iana/language-subtags/model.d.ts.map +1 -0
- package/lib/packlets/iana/language-subtags/model.js +24 -0
- package/lib/packlets/iana/language-subtags/model.js.map +1 -0
- package/{iana → lib/packlets/iana}/language-subtags/scope.d.ts +12 -12
- package/lib/packlets/iana/language-subtags/scope.d.ts.map +1 -0
- package/lib/packlets/iana/language-subtags/scope.js +179 -0
- package/lib/packlets/iana/language-subtags/scope.js.map +1 -0
- package/{iana → lib/packlets/iana}/language-subtags/subtagRegistry.d.ts +1 -1
- package/lib/packlets/iana/language-subtags/subtagRegistry.d.ts.map +1 -0
- package/lib/packlets/iana/language-subtags/subtagRegistry.js +150 -0
- package/lib/packlets/iana/language-subtags/subtagRegistry.js.map +1 -0
- package/lib/packlets/iana/language-subtags/validate.d.ts.map +1 -0
- package/{iana → lib/packlets/iana}/language-subtags/validate.js +1 -1
- package/lib/packlets/iana/language-subtags/validate.js.map +1 -0
- package/lib/packlets/iana/language-tag-extensions/converters.d.ts +22 -0
- package/lib/packlets/iana/language-tag-extensions/converters.d.ts.map +1 -0
- package/lib/packlets/iana/language-tag-extensions/converters.js +86 -0
- package/lib/packlets/iana/language-tag-extensions/converters.js.map +1 -0
- package/{iana → lib/packlets/iana}/language-tag-extensions/extensionsRegistry.d.ts +2 -2
- package/lib/packlets/iana/language-tag-extensions/extensionsRegistry.d.ts.map +1 -0
- package/lib/packlets/iana/language-tag-extensions/extensionsRegistry.js +105 -0
- package/lib/packlets/iana/language-tag-extensions/extensionsRegistry.js.map +1 -0
- package/{iana → lib/packlets/iana}/language-tag-extensions/extensionsScope.d.ts +3 -3
- package/lib/packlets/iana/language-tag-extensions/extensionsScope.d.ts.map +1 -0
- package/lib/packlets/iana/language-tag-extensions/extensionsScope.js +77 -0
- package/lib/packlets/iana/language-tag-extensions/extensionsScope.js.map +1 -0
- package/{iana → lib/packlets/iana}/language-tag-extensions/index.d.ts +3 -2
- package/lib/packlets/iana/language-tag-extensions/index.d.ts.map +1 -0
- package/{iana → lib/packlets/iana}/language-tag-extensions/index.js +6 -4
- package/lib/packlets/iana/language-tag-extensions/index.js.map +1 -0
- package/{iana → lib/packlets/iana}/language-tag-extensions/jarConverters.d.ts +2 -3
- package/lib/packlets/iana/language-tag-extensions/jarConverters.d.ts.map +1 -0
- package/lib/packlets/iana/language-tag-extensions/jarConverters.js +79 -0
- package/lib/packlets/iana/language-tag-extensions/jarConverters.js.map +1 -0
- package/{iana → lib/packlets/iana}/language-tag-extensions/model.d.ts +5 -6
- package/lib/packlets/iana/language-tag-extensions/model.d.ts.map +1 -0
- package/lib/packlets/iana/language-tag-extensions/model.js +25 -0
- package/lib/packlets/iana/language-tag-extensions/model.js.map +1 -0
- package/{iana → lib/packlets/iana}/language-tag-extensions/validate.d.ts +2 -2
- package/lib/packlets/iana/language-tag-extensions/validate.d.ts.map +1 -0
- package/lib/packlets/iana/language-tag-extensions/validate.js +36 -0
- package/lib/packlets/iana/language-tag-extensions/validate.js.map +1 -0
- package/lib/packlets/iana/languageRegistries.d.ts.map +1 -0
- package/lib/packlets/iana/languageRegistries.js +56 -0
- package/lib/packlets/iana/languageRegistries.js.map +1 -0
- package/lib/packlets/iana/model.d.ts.map +1 -0
- package/{iana → lib/packlets/iana}/model.js +1 -1
- package/lib/packlets/iana/model.js.map +1 -0
- package/lib/packlets/iana/validate.d.ts.map +1 -0
- package/{iana → lib/packlets/iana}/validate.js +1 -1
- package/lib/packlets/iana/validate.js.map +1 -0
- package/lib/packlets/unsd/areas.d.ts +29 -0
- package/lib/packlets/unsd/areas.d.ts.map +1 -0
- package/lib/packlets/unsd/areas.js +96 -0
- package/lib/packlets/unsd/areas.js.map +1 -0
- package/lib/packlets/unsd/common.d.ts +49 -0
- package/lib/packlets/unsd/common.d.ts.map +1 -0
- package/lib/packlets/unsd/common.js +24 -0
- package/lib/packlets/unsd/common.js.map +1 -0
- package/{unsd → lib/packlets/unsd}/csv/converters.d.ts +7 -4
- package/lib/packlets/unsd/csv/converters.d.ts.map +1 -0
- package/lib/packlets/unsd/csv/converters.js +78 -0
- package/lib/packlets/unsd/csv/converters.js.map +1 -0
- package/lib/packlets/unsd/csv/index.d.ts.map +1 -0
- package/{iana/jar → lib/packlets/unsd/csv}/index.js +1 -1
- package/lib/packlets/unsd/csv/index.js.map +1 -0
- package/lib/packlets/unsd/csv/model.d.ts +22 -0
- package/lib/packlets/unsd/csv/model.d.ts.map +1 -0
- package/lib/packlets/unsd/csv/model.js +24 -0
- package/lib/packlets/unsd/csv/model.js.map +1 -0
- package/lib/packlets/unsd/defaultRegistries.d.ts.map +1 -0
- package/lib/packlets/unsd/defaultRegistries.js +42 -0
- package/lib/packlets/unsd/defaultRegistries.js.map +1 -0
- package/{unsd → lib/packlets/unsd}/index.d.ts +2 -0
- package/lib/packlets/unsd/index.d.ts.map +1 -0
- package/lib/packlets/unsd/index.js +58 -0
- package/lib/packlets/unsd/index.js.map +1 -0
- package/{unsd → lib/packlets/unsd}/regionCodes.d.ts +7 -7
- package/lib/packlets/unsd/regionCodes.d.ts.map +1 -0
- package/lib/packlets/unsd/regionCodes.js +122 -0
- package/lib/packlets/unsd/regionCodes.js.map +1 -0
- package/lib/packlets/unsd/regions.d.ts +21 -0
- package/lib/packlets/unsd/regions.d.ts.map +1 -0
- package/lib/packlets/unsd/regions.js +77 -0
- package/lib/packlets/unsd/regions.js.map +1 -0
- package/lib/packlets/utils/index.d.ts.map +1 -0
- package/{utils → lib/packlets/utils}/index.js +1 -1
- package/lib/packlets/utils/index.js.map +1 -0
- package/lib/packlets/utils/jsonHelpers.d.ts.map +1 -0
- package/lib/packlets/utils/jsonHelpers.js +29 -0
- package/lib/packlets/utils/jsonHelpers.js.map +1 -0
- package/lib/packlets/utils/public.d.ts +2 -0
- package/lib/packlets/utils/public.d.ts.map +1 -0
- package/lib/packlets/utils/public.js +28 -0
- package/lib/packlets/utils/public.js.map +1 -0
- package/{utils → lib/packlets/utils}/validationHelpers.d.ts +9 -10
- package/lib/packlets/utils/validationHelpers.d.ts.map +1 -0
- package/lib/packlets/utils/validationHelpers.js +120 -0
- package/lib/packlets/utils/validationHelpers.js.map +1 -0
- package/package.json +73 -67
- package/bcp47/bcp47Subtags/converters.d.ts.map +0 -1
- package/bcp47/bcp47Subtags/index.d.ts.map +0 -1
- package/bcp47/bcp47Subtags/model.d.ts.map +0 -1
- package/bcp47/bcp47Subtags/model.js +0 -24
- package/bcp47/bcp47Subtags/validate.d.ts.map +0 -1
- package/bcp47/bcp47Subtags/validate.js +0 -74
- package/bcp47/common.d.ts.map +0 -1
- package/bcp47/common.js +0 -59
- package/bcp47/helpers.d.ts.map +0 -1
- package/bcp47/helpers.js +0 -103
- package/bcp47/index.d.ts +0 -7
- package/bcp47/index.d.ts.map +0 -1
- package/bcp47/index.js +0 -27
- package/bcp47/languageRegistryData.d.ts.map +0 -1
- package/bcp47/languageRegistryData.js +0 -209
- package/bcp47/languageTag.d.ts.map +0 -1
- package/bcp47/languageTag.js +0 -390
- package/bcp47/languageTagParser.d.ts.map +0 -1
- package/bcp47/languageTagParser.js +0 -302
- package/bcp47/match/chooser.d.ts.map +0 -1
- package/bcp47/match/chooser.js +0 -92
- package/bcp47/match/common.d.ts.map +0 -1
- package/bcp47/match/common.js +0 -51
- package/bcp47/match/index.d.ts +0 -4
- package/bcp47/match/index.d.ts.map +0 -1
- package/bcp47/match/index.js +0 -45
- package/bcp47/match/similarity.d.ts.map +0 -1
- package/bcp47/match/similarity.js +0 -230
- package/bcp47/normalization/baseNormalizer.d.ts +0 -36
- package/bcp47/normalization/baseNormalizer.d.ts.map +0 -1
- package/bcp47/normalization/baseNormalizer.js +0 -114
- package/bcp47/normalization/canonicalNormalizer.d.ts +0 -22
- package/bcp47/normalization/canonicalNormalizer.d.ts.map +0 -1
- package/bcp47/normalization/canonicalNormalizer.js +0 -113
- package/bcp47/normalization/common.d.ts.map +0 -1
- package/bcp47/normalization/common.js +0 -82
- package/bcp47/normalization/index.d.ts.map +0 -1
- package/bcp47/normalization/normalizeTag.d.ts.map +0 -1
- package/bcp47/normalization/normalizeTag.js +0 -105
- package/bcp47/normalization/preferredTagNormalizer.d.ts +0 -27
- package/bcp47/normalization/preferredTagNormalizer.d.ts.map +0 -1
- package/bcp47/normalization/preferredTagNormalizer.js +0 -209
- package/bcp47/overrides/converters.d.ts +0 -19
- package/bcp47/overrides/converters.d.ts.map +0 -1
- package/bcp47/overrides/converters.js +0 -75
- package/bcp47/overrides/defaultRegistries.d.ts.map +0 -1
- package/bcp47/overrides/defaultRegistries.js +0 -42
- package/bcp47/overrides/index.d.ts.map +0 -1
- package/bcp47/overrides/index.js +0 -30
- package/bcp47/overrides/model.d.ts +0 -11
- package/bcp47/overrides/model.d.ts.map +0 -1
- package/bcp47/overrides/model.js +0 -24
- package/bcp47/overrides/overridesRegistry.d.ts.map +0 -1
- package/bcp47/overrides/overridesRegistry.js +0 -112
- package/bcp47/validation/baseValidator.d.ts +0 -35
- package/bcp47/validation/baseValidator.d.ts.map +0 -1
- package/bcp47/validation/baseValidator.js +0 -111
- package/bcp47/validation/common.d.ts.map +0 -1
- package/bcp47/validation/common.js +0 -84
- package/bcp47/validation/index.d.ts.map +0 -1
- package/bcp47/validation/isCanonical.d.ts +0 -22
- package/bcp47/validation/isCanonical.d.ts.map +0 -1
- package/bcp47/validation/isCanonical.js +0 -104
- package/bcp47/validation/isInPreferredForm.d.ts.map +0 -1
- package/bcp47/validation/isInPreferredForm.js +0 -73
- package/bcp47/validation/isStrictlyValid.d.ts +0 -18
- package/bcp47/validation/isStrictlyValid.d.ts.map +0 -1
- package/bcp47/validation/isStrictlyValid.js +0 -98
- package/bcp47/validation/isValid.d.ts +0 -24
- package/bcp47/validation/isValid.d.ts.map +0 -1
- package/bcp47/validation/isValid.js +0 -115
- package/bcp47/validation/isWellFormed.d.ts +0 -22
- package/bcp47/validation/isWellFormed.d.ts.map +0 -1
- package/bcp47/validation/isWellFormed.js +0 -98
- package/bcp47/validation/validateTag.d.ts.map +0 -1
- package/bcp47/validation/validateTag.js +0 -159
- package/data/bcp/overrides.json +0 -21
- package/data/iana/language-subtags.json +0 -77295
- package/data/unsd/m49.json +0 -251
- package/iana/common/converters.d.ts.map +0 -1
- package/iana/common/converters.js +0 -84
- package/iana/common/model.d.ts.map +0 -1
- package/iana/common/model.js +0 -24
- package/iana/common/registeredItems.d.ts.map +0 -1
- package/iana/common/registeredItems.js +0 -124
- package/iana/common/utils.d.ts.map +0 -1
- package/iana/common/utils.js +0 -34
- package/iana/common/validate.d.ts.map +0 -1
- package/iana/common/validate.js +0 -61
- package/iana/converters.d.ts.map +0 -1
- package/iana/defaultRegistries.d.ts.map +0 -1
- package/iana/defaultRegistries.js +0 -42
- package/iana/index.d.ts.map +0 -1
- package/iana/index.js +0 -64
- package/iana/jar/converters.d.ts.map +0 -1
- package/iana/jar/index.d.ts.map +0 -1
- package/iana/jar/jarConverters.d.ts.map +0 -1
- package/iana/jar/jarConverters.js +0 -85
- package/iana/jar/jarModel.d.ts.map +0 -1
- package/iana/jar/jarModel.js +0 -24
- package/iana/jar/language-subtags/converters.d.ts.map +0 -1
- package/iana/jar/language-subtags/index.d.ts.map +0 -1
- package/iana/jar/language-subtags/model.d.ts.map +0 -1
- package/iana/jar/language-subtags/registry/converters.d.ts.map +0 -1
- package/iana/jar/language-subtags/registry/converters.js +0 -58
- package/iana/jar/language-subtags/registry/index.d.ts +0 -4
- package/iana/jar/language-subtags/registry/index.d.ts.map +0 -1
- package/iana/jar/language-subtags/registry/model.d.ts.map +0 -1
- package/iana/jar/language-subtags/registry/model.js +0 -41
- package/iana/jar/language-subtags/tags/converters.d.ts +0 -55
- package/iana/jar/language-subtags/tags/converters.d.ts.map +0 -1
- package/iana/jar/language-subtags/tags/converters.js +0 -128
- package/iana/jar/language-subtags/tags/index.d.ts +0 -5
- package/iana/jar/language-subtags/tags/index.d.ts.map +0 -1
- package/iana/jar/language-subtags/tags/model.d.ts.map +0 -1
- package/iana/jar/language-subtags/tags/model.js +0 -24
- package/iana/jar/language-subtags/tags/tagValidation.d.ts.map +0 -1
- package/iana/jar/language-subtags/tags/tagValidation.js +0 -70
- package/iana/jar/language-subtags/tags/validate.d.ts.map +0 -1
- package/iana/jar/language-subtags/tags/validate.js +0 -87
- package/iana/jar/model.d.ts.map +0 -1
- package/iana/language-subtags/common.d.ts.map +0 -1
- package/iana/language-subtags/common.js +0 -24
- package/iana/language-subtags/converters.d.ts +0 -52
- package/iana/language-subtags/converters.d.ts.map +0 -1
- package/iana/language-subtags/converters.js +0 -200
- package/iana/language-subtags/index.d.ts.map +0 -1
- package/iana/language-subtags/jarConverters.d.ts.map +0 -1
- package/iana/language-subtags/jarConverters.js +0 -213
- package/iana/language-subtags/model.d.ts.map +0 -1
- package/iana/language-subtags/model.js +0 -24
- package/iana/language-subtags/scope.d.ts.map +0 -1
- package/iana/language-subtags/scope.js +0 -179
- package/iana/language-subtags/subtagRegistry.d.ts.map +0 -1
- package/iana/language-subtags/subtagRegistry.js +0 -149
- package/iana/language-subtags/validate.d.ts.map +0 -1
- package/iana/language-tag-extensions/converters.d.ts +0 -23
- package/iana/language-tag-extensions/converters.d.ts.map +0 -1
- package/iana/language-tag-extensions/converters.js +0 -87
- package/iana/language-tag-extensions/extensionsRegistry.d.ts.map +0 -1
- package/iana/language-tag-extensions/extensionsRegistry.js +0 -104
- package/iana/language-tag-extensions/extensionsScope.d.ts.map +0 -1
- package/iana/language-tag-extensions/extensionsScope.js +0 -77
- package/iana/language-tag-extensions/index.d.ts.map +0 -1
- package/iana/language-tag-extensions/jarConverters.d.ts.map +0 -1
- package/iana/language-tag-extensions/jarConverters.js +0 -102
- package/iana/language-tag-extensions/model.d.ts.map +0 -1
- package/iana/language-tag-extensions/model.js +0 -24
- package/iana/language-tag-extensions/validate.d.ts.map +0 -1
- package/iana/language-tag-extensions/validate.js +0 -36
- package/iana/languageRegistries.d.ts.map +0 -1
- package/iana/languageRegistries.js +0 -56
- package/iana/model.d.ts.map +0 -1
- package/iana/validate.d.ts.map +0 -1
- package/index.d.ts +0 -6
- package/index.d.ts.map +0 -1
- package/index.js +0 -56
- package/unsd/areas.d.ts +0 -29
- package/unsd/areas.d.ts.map +0 -1
- package/unsd/areas.js +0 -96
- package/unsd/common.d.ts +0 -49
- package/unsd/common.d.ts.map +0 -1
- package/unsd/common.js +0 -24
- package/unsd/csv/converters.d.ts.map +0 -1
- package/unsd/csv/converters.js +0 -70
- package/unsd/csv/index.d.ts +0 -4
- package/unsd/csv/index.d.ts.map +0 -1
- package/unsd/csv/model.d.ts +0 -22
- package/unsd/csv/model.d.ts.map +0 -1
- package/unsd/csv/model.js +0 -24
- package/unsd/defaultRegistries.d.ts.map +0 -1
- package/unsd/defaultRegistries.js +0 -42
- package/unsd/index.d.ts.map +0 -1
- package/unsd/index.js +0 -44
- package/unsd/regionCodes.d.ts.map +0 -1
- package/unsd/regionCodes.js +0 -121
- package/unsd/regions.d.ts +0 -21
- package/unsd/regions.d.ts.map +0 -1
- package/unsd/regions.js +0 -77
- package/utils/index.d.ts.map +0 -1
- package/utils/jsonHelpers.d.ts.map +0 -1
- package/utils/jsonHelpers.js +0 -29
- package/utils/public.d.ts +0 -2
- package/utils/public.d.ts.map +0 -1
- package/utils/public.js +0 -28
- package/utils/validationHelpers.d.ts.map +0 -1
- package/utils/validationHelpers.js +0 -120
- /package/{bcp47 → lib/packlets/bcp47}/bcp47Subtags/converters.d.ts +0 -0
- /package/{bcp47 → lib/packlets/bcp47}/bcp47Subtags/index.d.ts +0 -0
- /package/{bcp47 → lib/packlets/bcp47}/match/common.d.ts +0 -0
- /package/{bcp47 → lib/packlets/bcp47}/match/similarity.d.ts +0 -0
- /package/{bcp47 → lib/packlets/bcp47}/normalization/index.d.ts +0 -0
- /package/{bcp47 → lib/packlets/bcp47}/overrides/defaultRegistries.d.ts +0 -0
- /package/{bcp47 → lib/packlets/bcp47}/overrides/index.d.ts +0 -0
- /package/{bcp47 → lib/packlets/bcp47}/validation/index.d.ts +0 -0
- /package/{iana → lib/packlets/iana}/common/registeredItems.d.ts +0 -0
- /package/{iana → lib/packlets/iana}/common/utils.d.ts +0 -0
- /package/{iana → lib/packlets/iana}/converters.d.ts +0 -0
- /package/{iana → lib/packlets/iana}/defaultRegistries.d.ts +0 -0
- /package/{iana → lib/packlets/iana}/jar/converters.d.ts +0 -0
- /package/{iana → lib/packlets/iana}/jar/language-subtags/converters.d.ts +0 -0
- /package/{iana → lib/packlets/iana}/jar/language-subtags/model.d.ts +0 -0
- /package/{iana → lib/packlets/iana}/jar/language-subtags/registry/converters.d.ts +0 -0
- /package/{iana/jar/language-subtags → lib/packlets/iana/jar/language-subtags/registry}/index.d.ts +0 -0
- /package/{iana → lib/packlets/iana}/jar/language-subtags/tags/model.d.ts +0 -0
- /package/{iana → lib/packlets/iana}/jar/language-subtags/tags/tagValidation.d.ts +0 -0
- /package/{iana → lib/packlets/iana}/jar/language-subtags/tags/validate.d.ts +0 -0
- /package/{iana → lib/packlets/iana}/jar/model.d.ts +0 -0
- /package/{iana → lib/packlets/iana}/language-subtags/common.d.ts +0 -0
- /package/{iana → lib/packlets/iana}/language-subtags/validate.d.ts +0 -0
- /package/{iana → lib/packlets/iana}/languageRegistries.d.ts +0 -0
- /package/{iana → lib/packlets/iana}/model.d.ts +0 -0
- /package/{iana → lib/packlets/iana}/validate.d.ts +0 -0
- /package/{iana/jar → lib/packlets/unsd/csv}/index.d.ts +0 -0
- /package/{unsd → lib/packlets/unsd}/defaultRegistries.d.ts +0 -0
- /package/{utils → lib/packlets/utils}/index.d.ts +0 -0
- /package/{utils → lib/packlets/utils}/jsonHelpers.d.ts +0 -0
|
@@ -1,82 +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.mostNormalized = exports.compareNormalization = void 0;
|
|
25
|
-
/**
|
|
26
|
-
* Ordered ranking of the degrees of normalization, from `unknown` (least
|
|
27
|
-
* normalized) to `preferred` (most normalized).
|
|
28
|
-
* @public
|
|
29
|
-
*/
|
|
30
|
-
const normalizationRank = {
|
|
31
|
-
/**
|
|
32
|
-
* Normalization level is unknown.
|
|
33
|
-
*/
|
|
34
|
-
unknown: 0,
|
|
35
|
-
/**
|
|
36
|
-
* Not normalized.
|
|
37
|
-
*/
|
|
38
|
-
none: 0.1,
|
|
39
|
-
/**
|
|
40
|
-
* Tag and subtag case has been normalized to canonical
|
|
41
|
-
* letter case (e.g. lower-case language and upper-case
|
|
42
|
-
* region) but no other normalization has been applied.
|
|
43
|
-
*/
|
|
44
|
-
canonical: 0.9,
|
|
45
|
-
/**
|
|
46
|
-
* All tag recommendations have been applied - e.g. suppressed
|
|
47
|
-
* script is removed, deprecated or grandfathered values are
|
|
48
|
-
* replaced with preferred values.
|
|
49
|
-
*/
|
|
50
|
-
preferred: 1.0,
|
|
51
|
-
};
|
|
52
|
-
/**
|
|
53
|
-
* Determines which of two normalization ranks is most normalized.
|
|
54
|
-
* @param n1 - The first {@link TagNormalization} to be compared.
|
|
55
|
-
* @param n2 - The second {@link TagNormalization} to me compared.
|
|
56
|
-
* @returns `1' if `n1` is more normalized, `-1` if `n2` is more
|
|
57
|
-
* normalized, or `0` if they are identical.
|
|
58
|
-
* @public
|
|
59
|
-
*/
|
|
60
|
-
function compareNormalization(n1, n2) {
|
|
61
|
-
if (normalizationRank[n1] > normalizationRank[n2]) {
|
|
62
|
-
return 1;
|
|
63
|
-
}
|
|
64
|
-
else if (normalizationRank[n1] < normalizationRank[n2]) {
|
|
65
|
-
return -1;
|
|
66
|
-
}
|
|
67
|
-
return 0;
|
|
68
|
-
}
|
|
69
|
-
exports.compareNormalization = compareNormalization;
|
|
70
|
-
/**
|
|
71
|
-
* Chooses the most normalized of two normalization ranks.
|
|
72
|
-
* @param n1 - The first {@link TagNormalization} to be compared.
|
|
73
|
-
* @param n2 - The second {@link TagNormalization} to me compared.
|
|
74
|
-
* @returns The most normalized of `n1` or `n2`.
|
|
75
|
-
* @public
|
|
76
|
-
*/
|
|
77
|
-
function mostNormalized(n1, n2) {
|
|
78
|
-
// istanbul ignore next - hard to hit due to guards
|
|
79
|
-
return normalizationRank[n1] > normalizationRank[n2] ? n1 : n2;
|
|
80
|
-
}
|
|
81
|
-
exports.mostNormalized = mostNormalized;
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JjcDQ3L25vcm1hbGl6YXRpb24vY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7OztBQVFIOzs7O0dBSUc7QUFDSCxNQUFNLGlCQUFpQixHQUFxQztJQUN4RDs7T0FFRztJQUNILE9BQU8sRUFBRSxDQUFDO0lBQ1Y7O09BRUc7SUFDSCxJQUFJLEVBQUUsR0FBRztJQUNUOzs7O09BSUc7SUFDSCxTQUFTLEVBQUUsR0FBRztJQUNkOzs7O09BSUc7SUFDSCxTQUFTLEVBQUUsR0FBRztDQUNqQixDQUFDO0FBRUY7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLG9CQUFvQixDQUFDLEVBQW9CLEVBQUUsRUFBb0I7SUFDM0UsSUFBSSxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsRUFBRTtRQUMvQyxPQUFPLENBQUMsQ0FBQztLQUNaO1NBQU0sSUFBSSxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsRUFBRTtRQUN0RCxPQUFPLENBQUMsQ0FBQyxDQUFDO0tBQ2I7SUFDRCxPQUFPLENBQUMsQ0FBQztBQUNiLENBQUM7QUFQRCxvREFPQztBQUVEOzs7Ozs7R0FNRztBQUNILFNBQWdCLGNBQWMsQ0FBQyxFQUFvQixFQUFFLEVBQW9CO0lBQ3JFLG1EQUFtRDtJQUNuRCxPQUFPLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxHQUFHLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNuRSxDQUFDO0FBSEQsd0NBR0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIyIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuLyoqXG4gKiBEZXNjcmliZXMgdGhlIGRlZ3JlZSBvZiBub3JtYWxpemF0aW9uIG9mIGEgbGFuZ3VhZ2UgdGFnLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBUYWdOb3JtYWxpemF0aW9uID0gJ3Vua25vd24nIHwgJ25vbmUnIHwgJ2Nhbm9uaWNhbCcgfCAncHJlZmVycmVkJztcblxuLyoqXG4gKiBPcmRlcmVkIHJhbmtpbmcgb2YgdGhlIGRlZ3JlZXMgb2Ygbm9ybWFsaXphdGlvbiwgZnJvbSBgdW5rbm93bmAgKGxlYXN0XG4gKiBub3JtYWxpemVkKSB0byBgcHJlZmVycmVkYCAobW9zdCBub3JtYWxpemVkKS5cbiAqIEBwdWJsaWNcbiAqL1xuY29uc3Qgbm9ybWFsaXphdGlvblJhbms6IFJlY29yZDxUYWdOb3JtYWxpemF0aW9uLCBudW1iZXI+ID0ge1xuICAgIC8qKlxuICAgICAqIE5vcm1hbGl6YXRpb24gbGV2ZWwgaXMgdW5rbm93bi5cbiAgICAgKi9cbiAgICB1bmtub3duOiAwLFxuICAgIC8qKlxuICAgICAqIE5vdCBub3JtYWxpemVkLlxuICAgICAqL1xuICAgIG5vbmU6IDAuMSxcbiAgICAvKipcbiAgICAgKiBUYWcgYW5kIHN1YnRhZyBjYXNlIGhhcyBiZWVuIG5vcm1hbGl6ZWQgdG8gY2Fub25pY2FsXG4gICAgICogbGV0dGVyIGNhc2UgKGUuZy4gbG93ZXItY2FzZSBsYW5ndWFnZSBhbmQgdXBwZXItY2FzZVxuICAgICAqIHJlZ2lvbikgYnV0IG5vIG90aGVyIG5vcm1hbGl6YXRpb24gaGFzIGJlZW4gYXBwbGllZC5cbiAgICAgKi9cbiAgICBjYW5vbmljYWw6IDAuOSxcbiAgICAvKipcbiAgICAgKiBBbGwgdGFnIHJlY29tbWVuZGF0aW9ucyBoYXZlIGJlZW4gYXBwbGllZCAtIGUuZy4gc3VwcHJlc3NlZFxuICAgICAqIHNjcmlwdCBpcyByZW1vdmVkLCBkZXByZWNhdGVkIG9yIGdyYW5kZmF0aGVyZWQgdmFsdWVzIGFyZVxuICAgICAqIHJlcGxhY2VkIHdpdGggcHJlZmVycmVkIHZhbHVlcy5cbiAgICAgKi9cbiAgICBwcmVmZXJyZWQ6IDEuMCxcbn07XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGljaCBvZiB0d28gbm9ybWFsaXphdGlvbiByYW5rcyBpcyBtb3N0IG5vcm1hbGl6ZWQuXG4gKiBAcGFyYW0gbjEgLSBUaGUgZmlyc3Qge0BsaW5rIFRhZ05vcm1hbGl6YXRpb259IHRvIGJlIGNvbXBhcmVkLlxuICogQHBhcmFtIG4yIC0gVGhlIHNlY29uZCB7QGxpbmsgVGFnTm9ybWFsaXphdGlvbn0gdG8gbWUgY29tcGFyZWQuXG4gKiBAcmV0dXJucyBgMScgaWYgYG4xYCBpcyBtb3JlIG5vcm1hbGl6ZWQsIGAtMWAgaWYgYG4yYCBpcyBtb3JlXG4gKiBub3JtYWxpemVkLCBvciBgMGAgaWYgdGhleSBhcmUgaWRlbnRpY2FsLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gY29tcGFyZU5vcm1hbGl6YXRpb24objE6IFRhZ05vcm1hbGl6YXRpb24sIG4yOiBUYWdOb3JtYWxpemF0aW9uKTogLTEgfCAwIHwgMSB7XG4gICAgaWYgKG5vcm1hbGl6YXRpb25SYW5rW24xXSA+IG5vcm1hbGl6YXRpb25SYW5rW24yXSkge1xuICAgICAgICByZXR1cm4gMTtcbiAgICB9IGVsc2UgaWYgKG5vcm1hbGl6YXRpb25SYW5rW24xXSA8IG5vcm1hbGl6YXRpb25SYW5rW24yXSkge1xuICAgICAgICByZXR1cm4gLTE7XG4gICAgfVxuICAgIHJldHVybiAwO1xufVxuXG4vKipcbiAqIENob29zZXMgdGhlIG1vc3Qgbm9ybWFsaXplZCBvZiB0d28gbm9ybWFsaXphdGlvbiByYW5rcy5cbiAqIEBwYXJhbSBuMSAtIFRoZSBmaXJzdCB7QGxpbmsgVGFnTm9ybWFsaXphdGlvbn0gdG8gYmUgY29tcGFyZWQuXG4gKiBAcGFyYW0gbjIgLSBUaGUgc2Vjb25kIHtAbGluayBUYWdOb3JtYWxpemF0aW9ufSB0byBtZSBjb21wYXJlZC5cbiAqIEByZXR1cm5zIFRoZSBtb3N0IG5vcm1hbGl6ZWQgb2YgYG4xYCBvciBgbjJgLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gbW9zdE5vcm1hbGl6ZWQobjE6IFRhZ05vcm1hbGl6YXRpb24sIG4yOiBUYWdOb3JtYWxpemF0aW9uKTogVGFnTm9ybWFsaXphdGlvbiB7XG4gICAgLy8gaXN0YW5idWwgaWdub3JlIG5leHQgLSBoYXJkIHRvIGhpdCBkdWUgdG8gZ3VhcmRzXG4gICAgcmV0dXJuIG5vcm1hbGl6YXRpb25SYW5rW24xXSA+IG5vcm1hbGl6YXRpb25SYW5rW24yXSA/IG4xIDogbjI7XG59XG4iXX0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bcp47/normalization/index.ts"],"names":[],"mappings":"AAuBA,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"normalizeTag.d.ts","sourceRoot":"","sources":["../../../src/bcp47/normalization/normalizeTag.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,MAAM,EAAW,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAwB,MAAM,UAAU,CAAC;AAIlE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;;GAGG;AACH,qBAAa,YAAY;IACrB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY,CAA8E;IAEzG;;;;;;;;OAQG;WACW,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAI5D;;;;;;;;;;;OAWG;WACW,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAI5D;;;;;;;;OAQG;WACW,gBAAgB,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,EAAE,gBAAgB,GAAG,aAAa,GAAG,SAAS;IAgBpI;;;;;;;;;OASG;WACW,gBAAgB,CAC1B,OAAO,EAAE,OAAO,EAChB,iBAAiB,EAAE,gBAAgB,EACnC,iBAAiB,CAAC,EAAE,gBAAgB,GACrC,MAAM,CAAC,OAAO,CAAC;CAIrB"}
|
|
@@ -1,105 +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.NormalizeTag = void 0;
|
|
25
|
-
const ts_utils_1 = require("@fgv/ts-utils");
|
|
26
|
-
const common_1 = require("./common");
|
|
27
|
-
const canonicalNormalizer_1 = require("./canonicalNormalizer");
|
|
28
|
-
const preferredTagNormalizer_1 = require("./preferredTagNormalizer");
|
|
29
|
-
/**
|
|
30
|
-
* Normalization helpers for BCP-47 language tags.
|
|
31
|
-
* @public
|
|
32
|
-
*/
|
|
33
|
-
class NormalizeTag {
|
|
34
|
-
/**
|
|
35
|
-
* Converts a BCP-47 language tag to canonical form. Canonical form uses the recommended capitalization rules
|
|
36
|
-
* specified in {@link https://www.rfc-editor.org/rfc/rfc5646.html#section-2.1.1 | RFC 5646} but are not
|
|
37
|
-
* otherwise modified.
|
|
38
|
-
*
|
|
39
|
-
* @param subtags - The individual {@link Bcp47.Subtags | subtags} to be normalized.
|
|
40
|
-
* @returns `Success` with the normalized equivalent {@link Bcp47.Subtags | subtags},
|
|
41
|
-
* or `Failure` with details if an error occurs.
|
|
42
|
-
*/
|
|
43
|
-
static toCanonical(subtags) {
|
|
44
|
-
return this.normalizeSubtags(subtags, 'canonical');
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Converts a BCP-47 language tag to preferred form. Preferred form uses the recommended capitalization rules
|
|
48
|
-
* specified in {@link https://www.rfc-editor.org/rfc/rfc5646.html#section-2.1.1 | RFC 5646} and also
|
|
49
|
-
* applies additional preferred values specified in the
|
|
50
|
-
* {@link https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry | language subtag registry}:
|
|
51
|
-
* extraneous (suppressed) script tags are removed, deprecated language, extlang, script or region tags are replaced
|
|
52
|
-
* with up-to-date preferred values, and grandfathered or redundant tags with a defined preferred-value are replaced
|
|
53
|
-
* in their entirety with the new preferred value.
|
|
54
|
-
* @param subtags - The individual {@link Bcp47.Subtags | subtags} to be normalized.
|
|
55
|
-
* @returns `Success` with the normalized equivalent {@link Bcp47.Subtags | subtags},
|
|
56
|
-
* or `Failure` with details if an error occurs.
|
|
57
|
-
*/
|
|
58
|
-
static toPreferred(subtags) {
|
|
59
|
-
return this.normalizeSubtags(subtags, 'preferred');
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Chooses an appropriate default tag normalizer given desired and optional current
|
|
63
|
-
* {@link Bcp47.TagNormalization | normalization level}.
|
|
64
|
-
* @param wantNormalization - The desired {@link Bcp47.TagNormalization | normalization level}.
|
|
65
|
-
* @param haveNormalization - (optional) The current {@link Bcp47.TagNormalization | normalization level}.
|
|
66
|
-
* @returns An appropriate {@link Bcp47.TagNormalizer | tag normalizer} or `undefined` if no additional
|
|
67
|
-
* normalization is necessary.
|
|
68
|
-
* @internal
|
|
69
|
-
*/
|
|
70
|
-
static chooseNormalizer(wantNormalization, haveNormalization) {
|
|
71
|
-
if (haveNormalization && (0, common_1.compareNormalization)(haveNormalization, wantNormalization) >= 0) {
|
|
72
|
-
return undefined;
|
|
73
|
-
}
|
|
74
|
-
if (!this._normalizers) {
|
|
75
|
-
this._normalizers = {
|
|
76
|
-
unknown: undefined,
|
|
77
|
-
none: undefined,
|
|
78
|
-
canonical: new canonicalNormalizer_1.CanonicalNormalizer(),
|
|
79
|
-
preferred: new preferredTagNormalizer_1.PreferredNormalizer(),
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
return this._normalizers[wantNormalization];
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Normalizes supplied {@link Bcp47.Subtags | subtags} to a requested
|
|
86
|
-
* {@link Bcp47.TagNormalization | normalization level}, if necessary. If
|
|
87
|
-
* no normalization is necessary, returns the supplied subtags.
|
|
88
|
-
* @param subtags - The {@link Bcp47.Subtags | subtags} to be normalized.
|
|
89
|
-
* @param wantNormalization - The desired {@link Bcp47.TagNormalization | normalization level}.
|
|
90
|
-
* @param haveNormalization - (optional) The current {@link Bcp47.TagNormalization | normalization level}.
|
|
91
|
-
* @returns `Success` with the normalized {@link Bcp47.Subtags | subtags}, or
|
|
92
|
-
* `Failure` with details if an error occurs.
|
|
93
|
-
*/
|
|
94
|
-
static normalizeSubtags(subtags, wantNormalization, haveNormalization) {
|
|
95
|
-
var _a;
|
|
96
|
-
const normalizer = this.chooseNormalizer(wantNormalization, haveNormalization);
|
|
97
|
-
return (_a = normalizer === null || normalizer === void 0 ? void 0 : normalizer.processSubtags(subtags)) !== null && _a !== void 0 ? _a : (0, ts_utils_1.succeed)(subtags);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
exports.NormalizeTag = NormalizeTag;
|
|
101
|
-
/**
|
|
102
|
-
* @internal
|
|
103
|
-
*/
|
|
104
|
-
NormalizeTag._normalizers = undefined;
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsaXplVGFnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JjcDQ3L25vcm1hbGl6YXRpb24vbm9ybWFsaXplVGFnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7OztBQUVILDRDQUFnRDtBQUNoRCxxQ0FBa0U7QUFFbEUsK0RBQTREO0FBQzVELHFFQUErRDtBQUkvRDs7O0dBR0c7QUFDSCxNQUFhLFlBQVk7SUFNckI7Ozs7Ozs7O09BUUc7SUFDSSxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQWdCO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSSxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQWdCO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsaUJBQW1DLEVBQUUsaUJBQW9DO1FBQ3BHLElBQUksaUJBQWlCLElBQUksSUFBQSw2QkFBb0IsRUFBQyxpQkFBaUIsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN0RixPQUFPLFNBQVMsQ0FBQztTQUNwQjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxZQUFZLEdBQUc7Z0JBQ2hCLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixJQUFJLEVBQUUsU0FBUztnQkFDZixTQUFTLEVBQUUsSUFBSSx5Q0FBbUIsRUFBRTtnQkFDcEMsU0FBUyxFQUFFLElBQUksNENBQW1CLEVBQUU7YUFDdkMsQ0FBQztTQUNMO1FBQ0QsT0FBTyxJQUFJLENBQUMsWUFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FDMUIsT0FBZ0IsRUFDaEIsaUJBQW1DLEVBQ25DLGlCQUFvQzs7UUFFcEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFDL0UsT0FBTyxNQUFBLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxjQUFjLENBQUMsT0FBTyxDQUFDLG1DQUFJLElBQUEsa0JBQU8sRUFBQyxPQUFPLENBQUMsQ0FBQztJQUNuRSxDQUFDOztBQTdFTCxvQ0E4RUM7QUE3RUc7O0dBRUc7QUFDWSx5QkFBWSxHQUFvRSxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIyIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuaW1wb3J0IHsgUmVzdWx0LCBzdWNjZWVkIH0gZnJvbSAnQGZndi90cy11dGlscyc7XG5pbXBvcnQgeyBUYWdOb3JtYWxpemF0aW9uLCBjb21wYXJlTm9ybWFsaXphdGlvbiB9IGZyb20gJy4vY29tbW9uJztcblxuaW1wb3J0IHsgQ2Fub25pY2FsTm9ybWFsaXplciB9IGZyb20gJy4vY2Fub25pY2FsTm9ybWFsaXplcic7XG5pbXBvcnQgeyBQcmVmZXJyZWROb3JtYWxpemVyIH0gZnJvbSAnLi9wcmVmZXJyZWRUYWdOb3JtYWxpemVyJztcbmltcG9ydCB7IFN1YnRhZ3MgfSBmcm9tICcuLi9jb21tb24nO1xuaW1wb3J0IHsgVGFnTm9ybWFsaXplciB9IGZyb20gJy4vYmFzZU5vcm1hbGl6ZXInO1xuXG4vKipcbiAqIE5vcm1hbGl6YXRpb24gaGVscGVycyBmb3IgQkNQLTQ3IGxhbmd1YWdlIHRhZ3MuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjbGFzcyBOb3JtYWxpemVUYWcge1xuICAgIC8qKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHByaXZhdGUgc3RhdGljIF9ub3JtYWxpemVyczogUmVjb3JkPFRhZ05vcm1hbGl6YXRpb24sIFRhZ05vcm1hbGl6ZXIgfCB1bmRlZmluZWQ+IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYSBCQ1AtNDcgbGFuZ3VhZ2UgdGFnIHRvIGNhbm9uaWNhbCBmb3JtLiAgQ2Fub25pY2FsIGZvcm0gdXNlcyB0aGUgcmVjb21tZW5kZWQgY2FwaXRhbGl6YXRpb24gcnVsZXNcbiAgICAgKiBzcGVjaWZpZWQgaW4ge0BsaW5rIGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM1NjQ2Lmh0bWwjc2VjdGlvbi0yLjEuMSB8IFJGQyA1NjQ2fSBidXQgYXJlIG5vdFxuICAgICAqIG90aGVyd2lzZSBtb2RpZmllZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBzdWJ0YWdzIC0gVGhlIGluZGl2aWR1YWwge0BsaW5rIEJjcDQ3LlN1YnRhZ3MgfCBzdWJ0YWdzfSB0byBiZSBub3JtYWxpemVkLlxuICAgICAqIEByZXR1cm5zIGBTdWNjZXNzYCB3aXRoIHRoZSBub3JtYWxpemVkIGVxdWl2YWxlbnQge0BsaW5rIEJjcDQ3LlN1YnRhZ3MgfCBzdWJ0YWdzfSxcbiAgICAgKiBvciBgRmFpbHVyZWAgd2l0aCBkZXRhaWxzIGlmIGFuIGVycm9yIG9jY3Vycy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHRvQ2Fub25pY2FsKHN1YnRhZ3M6IFN1YnRhZ3MpOiBSZXN1bHQ8U3VidGFncz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5ub3JtYWxpemVTdWJ0YWdzKHN1YnRhZ3MsICdjYW5vbmljYWwnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBhIEJDUC00NyBsYW5ndWFnZSB0YWcgdG8gcHJlZmVycmVkIGZvcm0uICBQcmVmZXJyZWQgZm9ybSB1c2VzIHRoZSByZWNvbW1lbmRlZCBjYXBpdGFsaXphdGlvbiBydWxlc1xuICAgICAqIHNwZWNpZmllZCBpbiB7QGxpbmsgaHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvcmZjL3JmYzU2NDYuaHRtbCNzZWN0aW9uLTIuMS4xIHwgUkZDIDU2NDZ9IGFuZCBhbHNvXG4gICAgICogYXBwbGllcyBhZGRpdGlvbmFsIHByZWZlcnJlZCB2YWx1ZXMgc3BlY2lmaWVkIGluIHRoZVxuICAgICAqIHtAbGluayBodHRwczovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9sYW5ndWFnZS1zdWJ0YWctcmVnaXN0cnkvbGFuZ3VhZ2Utc3VidGFnLXJlZ2lzdHJ5IHwgbGFuZ3VhZ2Ugc3VidGFnIHJlZ2lzdHJ5fTpcbiAgICAgKiBleHRyYW5lb3VzIChzdXBwcmVzc2VkKSBzY3JpcHQgdGFncyBhcmUgcmVtb3ZlZCwgZGVwcmVjYXRlZCBsYW5ndWFnZSwgZXh0bGFuZywgc2NyaXB0IG9yIHJlZ2lvbiB0YWdzIGFyZSByZXBsYWNlZFxuICAgICAqIHdpdGggdXAtdG8tZGF0ZSBwcmVmZXJyZWQgdmFsdWVzLCBhbmQgZ3JhbmRmYXRoZXJlZCBvciByZWR1bmRhbnQgdGFncyB3aXRoIGEgZGVmaW5lZCBwcmVmZXJyZWQtdmFsdWUgYXJlIHJlcGxhY2VkXG4gICAgICogaW4gdGhlaXIgZW50aXJldHkgd2l0aCB0aGUgbmV3IHByZWZlcnJlZCB2YWx1ZS5cbiAgICAgKiBAcGFyYW0gc3VidGFncyAtIFRoZSBpbmRpdmlkdWFsIHtAbGluayBCY3A0Ny5TdWJ0YWdzIHwgc3VidGFnc30gdG8gYmUgbm9ybWFsaXplZC5cbiAgICAgKiBAcmV0dXJucyBgU3VjY2Vzc2Agd2l0aCB0aGUgbm9ybWFsaXplZCBlcXVpdmFsZW50IHtAbGluayBCY3A0Ny5TdWJ0YWdzIHwgc3VidGFnc30sXG4gICAgICogb3IgYEZhaWx1cmVgIHdpdGggZGV0YWlscyBpZiBhbiBlcnJvciBvY2N1cnMuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyB0b1ByZWZlcnJlZChzdWJ0YWdzOiBTdWJ0YWdzKTogUmVzdWx0PFN1YnRhZ3M+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubm9ybWFsaXplU3VidGFncyhzdWJ0YWdzLCAncHJlZmVycmVkJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hvb3NlcyBhbiBhcHByb3ByaWF0ZSBkZWZhdWx0IHRhZyBub3JtYWxpemVyIGdpdmVuIGRlc2lyZWQgYW5kIG9wdGlvbmFsIGN1cnJlbnRcbiAgICAgKiB7QGxpbmsgQmNwNDcuVGFnTm9ybWFsaXphdGlvbiB8IG5vcm1hbGl6YXRpb24gbGV2ZWx9LlxuICAgICAqIEBwYXJhbSB3YW50Tm9ybWFsaXphdGlvbiAtIFRoZSBkZXNpcmVkIHtAbGluayBCY3A0Ny5UYWdOb3JtYWxpemF0aW9uIHwgbm9ybWFsaXphdGlvbiBsZXZlbH0uXG4gICAgICogQHBhcmFtIGhhdmVOb3JtYWxpemF0aW9uIC0gKG9wdGlvbmFsKSBUaGUgY3VycmVudCB7QGxpbmsgQmNwNDcuVGFnTm9ybWFsaXphdGlvbiB8IG5vcm1hbGl6YXRpb24gbGV2ZWx9LlxuICAgICAqIEByZXR1cm5zIEFuIGFwcHJvcHJpYXRlIHtAbGluayBCY3A0Ny5UYWdOb3JtYWxpemVyIHwgdGFnIG5vcm1hbGl6ZXJ9IG9yIGB1bmRlZmluZWRgIGlmIG5vIGFkZGl0aW9uYWxcbiAgICAgKiBub3JtYWxpemF0aW9uIGlzIG5lY2Vzc2FyeS5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGNob29zZU5vcm1hbGl6ZXIod2FudE5vcm1hbGl6YXRpb246IFRhZ05vcm1hbGl6YXRpb24sIGhhdmVOb3JtYWxpemF0aW9uPzogVGFnTm9ybWFsaXphdGlvbik6IFRhZ05vcm1hbGl6ZXIgfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAoaGF2ZU5vcm1hbGl6YXRpb24gJiYgY29tcGFyZU5vcm1hbGl6YXRpb24oaGF2ZU5vcm1hbGl6YXRpb24sIHdhbnROb3JtYWxpemF0aW9uKSA+PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLl9ub3JtYWxpemVycykge1xuICAgICAgICAgICAgdGhpcy5fbm9ybWFsaXplcnMgPSB7XG4gICAgICAgICAgICAgICAgdW5rbm93bjogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIG5vbmU6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBjYW5vbmljYWw6IG5ldyBDYW5vbmljYWxOb3JtYWxpemVyKCksXG4gICAgICAgICAgICAgICAgcHJlZmVycmVkOiBuZXcgUHJlZmVycmVkTm9ybWFsaXplcigpLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fbm9ybWFsaXplcnMhW3dhbnROb3JtYWxpemF0aW9uXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBOb3JtYWxpemVzIHN1cHBsaWVkIHtAbGluayBCY3A0Ny5TdWJ0YWdzIHwgc3VidGFnc30gdG8gYSByZXF1ZXN0ZWRcbiAgICAgKiB7QGxpbmsgQmNwNDcuVGFnTm9ybWFsaXphdGlvbiB8IG5vcm1hbGl6YXRpb24gbGV2ZWx9LCBpZiBuZWNlc3NhcnkuICBJZlxuICAgICAqIG5vIG5vcm1hbGl6YXRpb24gaXMgbmVjZXNzYXJ5LCByZXR1cm5zIHRoZSBzdXBwbGllZCBzdWJ0YWdzLlxuICAgICAqIEBwYXJhbSBzdWJ0YWdzIC0gVGhlIHtAbGluayBCY3A0Ny5TdWJ0YWdzIHwgc3VidGFnc30gdG8gYmUgbm9ybWFsaXplZC5cbiAgICAgKiBAcGFyYW0gd2FudE5vcm1hbGl6YXRpb24gLSBUaGUgZGVzaXJlZCB7QGxpbmsgQmNwNDcuVGFnTm9ybWFsaXphdGlvbiB8IG5vcm1hbGl6YXRpb24gbGV2ZWx9LlxuICAgICAqIEBwYXJhbSBoYXZlTm9ybWFsaXphdGlvbiAtIChvcHRpb25hbCkgVGhlIGN1cnJlbnQge0BsaW5rIEJjcDQ3LlRhZ05vcm1hbGl6YXRpb24gfCBub3JtYWxpemF0aW9uIGxldmVsfS5cbiAgICAgKiBAcmV0dXJucyBgU3VjY2Vzc2Agd2l0aCB0aGUgbm9ybWFsaXplZCB7QGxpbmsgQmNwNDcuU3VidGFncyB8IHN1YnRhZ3N9LCBvclxuICAgICAqIGBGYWlsdXJlYCB3aXRoIGRldGFpbHMgaWYgYW4gZXJyb3Igb2NjdXJzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgbm9ybWFsaXplU3VidGFncyhcbiAgICAgICAgc3VidGFnczogU3VidGFncyxcbiAgICAgICAgd2FudE5vcm1hbGl6YXRpb246IFRhZ05vcm1hbGl6YXRpb24sXG4gICAgICAgIGhhdmVOb3JtYWxpemF0aW9uPzogVGFnTm9ybWFsaXphdGlvblxuICAgICk6IFJlc3VsdDxTdWJ0YWdzPiB7XG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZXIgPSB0aGlzLmNob29zZU5vcm1hbGl6ZXIod2FudE5vcm1hbGl6YXRpb24sIGhhdmVOb3JtYWxpemF0aW9uKTtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZXI/LnByb2Nlc3NTdWJ0YWdzKHN1YnRhZ3MpID8/IHN1Y2NlZWQoc3VidGFncyk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import * as Bcp47Subtags from '../bcp47Subtags';
|
|
2
|
-
import * as Iana from '../../iana';
|
|
3
|
-
import { ExtensionSubtagValue, Subtags } from '../common';
|
|
4
|
-
import { Result } from '@fgv/ts-utils';
|
|
5
|
-
import { TagNormalization } from './common';
|
|
6
|
-
import { TagNormalizerBase } from './baseNormalizer';
|
|
7
|
-
/**
|
|
8
|
-
* @public
|
|
9
|
-
*/
|
|
10
|
-
export declare class PreferredNormalizer extends TagNormalizerBase {
|
|
11
|
-
readonly normalization: TagNormalization;
|
|
12
|
-
protected _processLanguage(subtags: Subtags): Result<Iana.LanguageSubtags.LanguageSubtag | undefined>;
|
|
13
|
-
protected _processExtlangs(subtags: Subtags): Result<Iana.LanguageSubtags.ExtLangSubtag[] | undefined>;
|
|
14
|
-
protected _processScript(subtags: Subtags): Result<Iana.LanguageSubtags.ScriptSubtag | undefined>;
|
|
15
|
-
protected _processRegion(subtags: Subtags): Result<Iana.LanguageSubtags.RegionSubtag | undefined>;
|
|
16
|
-
protected _processVariants(subtags: Subtags): Result<Iana.LanguageSubtags.VariantSubtag[] | undefined>;
|
|
17
|
-
protected _processExtensionSingleton(singleton: Bcp47Subtags.Model.ExtensionSingleton): Result<Bcp47Subtags.Model.ExtensionSingleton>;
|
|
18
|
-
protected _processExtensionSubtagValue(value: Bcp47Subtags.Model.ExtensionSubtag): Result<Bcp47Subtags.Model.ExtensionSubtag>;
|
|
19
|
-
protected _processExtensions(subtags: Subtags): Result<ExtensionSubtagValue[] | undefined>;
|
|
20
|
-
protected _processPrivateUseTags(subtags: Subtags): Result<Iana.LanguageSubtags.ExtendedLanguageRange[] | undefined>;
|
|
21
|
-
protected _processGrandfatheredTags(subtags: Subtags): Result<Iana.LanguageSubtags.GrandfatheredTag | undefined>;
|
|
22
|
-
protected _postValidateGrandfatheredTag(subtags: Subtags): Result<Subtags>;
|
|
23
|
-
protected _postValidateRedundantTag(subtags: Subtags): Result<Subtags>;
|
|
24
|
-
protected _postValidateExtLangs(subtags: Subtags): Result<Subtags>;
|
|
25
|
-
protected _postValidate(subtags: Subtags): Result<Subtags>;
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=preferredTagNormalizer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"preferredTagNormalizer.d.ts","sourceRoot":"","sources":["../../../src/bcp47/normalization/preferredTagNormalizer.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAmB,MAAM,WAAW,CAAC;AAC3E,OAAO,EAAE,MAAM,EAA6B,MAAM,eAAe,CAAC;AAGlE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,iBAAiB;IACtD,SAAgB,aAAa,EAAE,gBAAgB,CAAe;IAE9D,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,GAAG,SAAS,CAAC;IAWrG,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,GAAG,SAAS,CAAC;IAOtG,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,GAAG,SAAS,CAAC;IAoBjG,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,GAAG,SAAS,CAAC;IASjG,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,GAAG,SAAS,CAAC;IAStG,SAAS,CAAC,0BAA0B,CAAC,SAAS,EAAE,YAAY,CAAC,KAAK,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,kBAAkB,CAAC;IAIrI,SAAS,CAAC,4BAA4B,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,eAAe,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,CAAC;IAI7H,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,oBAAoB,EAAE,GAAG,SAAS,CAAC;IAM1F,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,qBAAqB,EAAE,GAAG,SAAS,CAAC;IAUpH,SAAS,CAAC,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAOhH,SAAS,CAAC,6BAA6B,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IA8B1E,SAAS,CAAC,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAStE,SAAS,CAAC,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IA0BlE,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;CAa7D"}
|
|
@@ -1,209 +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.PreferredNormalizer = void 0;
|
|
48
|
-
const Bcp47Subtags = __importStar(require("../bcp47Subtags"));
|
|
49
|
-
const Iana = __importStar(require("../../iana"));
|
|
50
|
-
const common_1 = require("../common");
|
|
51
|
-
const ts_utils_1 = require("@fgv/ts-utils");
|
|
52
|
-
const languageTagParser_1 = require("../languageTagParser");
|
|
53
|
-
const baseNormalizer_1 = require("./baseNormalizer");
|
|
54
|
-
const utils_1 = require("../../utils");
|
|
55
|
-
/**
|
|
56
|
-
* @public
|
|
57
|
-
*/
|
|
58
|
-
class PreferredNormalizer extends baseNormalizer_1.TagNormalizerBase {
|
|
59
|
-
constructor() {
|
|
60
|
-
super(...arguments);
|
|
61
|
-
this.normalization = 'preferred';
|
|
62
|
-
}
|
|
63
|
-
_processLanguage(subtags) {
|
|
64
|
-
var _a;
|
|
65
|
-
if (subtags.primaryLanguage) {
|
|
66
|
-
const language = this._iana.subtags.languages.tryGet(subtags.primaryLanguage);
|
|
67
|
-
if (!language) {
|
|
68
|
-
return (0, ts_utils_1.fail)(`invalid language subtag "${subtags.primaryLanguage}"`);
|
|
69
|
-
}
|
|
70
|
-
return (0, ts_utils_1.succeed)((_a = language.preferredValue) !== null && _a !== void 0 ? _a : language.subtag);
|
|
71
|
-
}
|
|
72
|
-
return (0, ts_utils_1.succeed)(undefined);
|
|
73
|
-
}
|
|
74
|
-
_processExtlangs(subtags) {
|
|
75
|
-
if (subtags.extlangs) {
|
|
76
|
-
return (0, ts_utils_1.mapResults)(subtags.extlangs.map((e) => this._iana.subtags.extlangs.toValidCanonical(e)));
|
|
77
|
-
}
|
|
78
|
-
return (0, ts_utils_1.succeed)(undefined);
|
|
79
|
-
}
|
|
80
|
-
_processScript(subtags) {
|
|
81
|
-
if (subtags.primaryLanguage && subtags.script) {
|
|
82
|
-
const language = this._iana.subtags.languages.tryGet(subtags.primaryLanguage);
|
|
83
|
-
// istanbul ignore next - internal error difficult to test
|
|
84
|
-
if (!language) {
|
|
85
|
-
return (0, ts_utils_1.fail)(`invalid primary language subtag "${subtags.primaryLanguage}.`);
|
|
86
|
-
}
|
|
87
|
-
const script = this._iana.subtags.scripts.toValidCanonical(subtags.script).orDefault();
|
|
88
|
-
if (!script) {
|
|
89
|
-
return (0, ts_utils_1.fail)(`invalid script subtag "${subtags.script}`);
|
|
90
|
-
}
|
|
91
|
-
if (language.suppressScript !== script) {
|
|
92
|
-
return (0, ts_utils_1.succeed)(script);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
return (0, ts_utils_1.succeed)(undefined);
|
|
96
|
-
}
|
|
97
|
-
_processRegion(subtags) {
|
|
98
|
-
if (subtags.region) {
|
|
99
|
-
return this._iana.subtags.regions.get(subtags.region).onSuccess((region) => {
|
|
100
|
-
var _a;
|
|
101
|
-
return (0, ts_utils_1.succeed)((_a = region.preferredValue) !== null && _a !== void 0 ? _a : region.subtag);
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
return (0, ts_utils_1.succeed)(undefined);
|
|
105
|
-
}
|
|
106
|
-
_processVariants(subtags) {
|
|
107
|
-
if (subtags.variants) {
|
|
108
|
-
return (0, ts_utils_1.mapResults)(subtags.variants.map((v) => this._iana.subtags.variants.toValidCanonical(v))).onSuccess((v) => this._verifyUnique('variant', v, (v) => v));
|
|
109
|
-
}
|
|
110
|
-
return (0, ts_utils_1.succeed)(undefined);
|
|
111
|
-
}
|
|
112
|
-
_processExtensionSingleton(singleton) {
|
|
113
|
-
return this._iana.extensions.extensions.toValidCanonical(singleton);
|
|
114
|
-
}
|
|
115
|
-
_processExtensionSubtagValue(value) {
|
|
116
|
-
return Bcp47Subtags.Validate.extensionSubtag.toCanonical(value);
|
|
117
|
-
}
|
|
118
|
-
_processExtensions(subtags) {
|
|
119
|
-
return super._processExtensions(subtags).onSuccess((extensions) => {
|
|
120
|
-
return this._verifyUnique('extensions', extensions, (e) => e.singleton);
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
_processPrivateUseTags(subtags) {
|
|
124
|
-
if (subtags.privateUse) {
|
|
125
|
-
const merged = subtags.privateUse.join('-');
|
|
126
|
-
return Iana.LanguageSubtags.Validate.extendedLanguageRange.toCanonical(merged).onSuccess((canon) => {
|
|
127
|
-
return (0, ts_utils_1.succeed)(canon.split('-'));
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
return (0, ts_utils_1.succeed)(undefined);
|
|
131
|
-
}
|
|
132
|
-
_processGrandfatheredTags(subtags) {
|
|
133
|
-
if (subtags.grandfathered) {
|
|
134
|
-
return this._iana.subtags.grandfathered.toValidCanonical(subtags.grandfathered);
|
|
135
|
-
}
|
|
136
|
-
return (0, ts_utils_1.succeed)(undefined);
|
|
137
|
-
}
|
|
138
|
-
_postValidateGrandfatheredTag(subtags) {
|
|
139
|
-
if (subtags.grandfathered) {
|
|
140
|
-
return this._iana.subtags.grandfathered.get(subtags.grandfathered).onSuccess((grandfathered) => {
|
|
141
|
-
if (grandfathered.preferredValue) {
|
|
142
|
-
return languageTagParser_1.LanguageTagParser.parse(grandfathered.preferredValue, this._iana)
|
|
143
|
-
.onSuccess((gfSubtags) => {
|
|
144
|
-
// istanbul ignore next - would require a registry error too hard to test
|
|
145
|
-
if (gfSubtags.grandfathered !== undefined) {
|
|
146
|
-
return (0, ts_utils_1.fail)(`preferred value ${grandfathered.preferredValue} of grandfathered tag ${subtags.grandfathered} is also grandfathered.`);
|
|
147
|
-
}
|
|
148
|
-
return this.processSubtags(gfSubtags);
|
|
149
|
-
})
|
|
150
|
-
.onFailure(
|
|
151
|
-
// istanbul ignore next - would require a registry error too hard to test
|
|
152
|
-
(message) => {
|
|
153
|
-
// istanbul ignore next - would require a registry error too hard to test
|
|
154
|
-
return (0, ts_utils_1.fail)(`grandfathered tag "${subtags.grandfathered}" has invalid preferred value "${grandfathered.preferredValue}":\n${message}`);
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
return (0, ts_utils_1.succeed)(subtags);
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
return (0, ts_utils_1.succeed)(subtags);
|
|
161
|
-
}
|
|
162
|
-
_postValidateRedundantTag(subtags) {
|
|
163
|
-
const tag = (0, common_1.subtagsToString)(subtags);
|
|
164
|
-
const redundant = this._iana.subtags.redundant.tryGetCanonical(tag);
|
|
165
|
-
if (redundant === null || redundant === void 0 ? void 0 : redundant.preferredValue) {
|
|
166
|
-
return languageTagParser_1.LanguageTagParser.parse(redundant.preferredValue, this._iana);
|
|
167
|
-
}
|
|
168
|
-
return (0, ts_utils_1.succeed)(subtags);
|
|
169
|
-
}
|
|
170
|
-
_postValidateExtLangs(subtags) {
|
|
171
|
-
var _a;
|
|
172
|
-
if (subtags.extlangs) {
|
|
173
|
-
if (subtags.extlangs.length > 1) {
|
|
174
|
-
return (0, ts_utils_1.fail)(`${subtags.extlangs.join('-')}: multiple extlang subtags is invalid`);
|
|
175
|
-
}
|
|
176
|
-
if (subtags.extlangs.length > 0) {
|
|
177
|
-
const registry = this._iana.subtags.extlangs.tryGet(subtags.extlangs[0]);
|
|
178
|
-
if (registry) {
|
|
179
|
-
if (registry.preferredValue && registry.prefix === /* istanbul ignore next */ ((_a = subtags.primaryLanguage) === null || _a === void 0 ? void 0 : _a.toLowerCase())) {
|
|
180
|
-
const preferred = this._iana.subtags.languages.tryGet(registry.preferredValue);
|
|
181
|
-
if (preferred) {
|
|
182
|
-
return (0, ts_utils_1.succeed)((0, utils_1.sanitizeJson)({
|
|
183
|
-
...subtags,
|
|
184
|
-
primaryLanguage: preferred.subtag,
|
|
185
|
-
extlangs: undefined,
|
|
186
|
-
}));
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
return (0, ts_utils_1.succeed)(subtags);
|
|
193
|
-
}
|
|
194
|
-
_postValidate(subtags) {
|
|
195
|
-
return super
|
|
196
|
-
._postValidate(subtags)
|
|
197
|
-
.onSuccess((subtags) => {
|
|
198
|
-
return this._postValidateExtLangs(subtags);
|
|
199
|
-
})
|
|
200
|
-
.onSuccess((subtags) => {
|
|
201
|
-
return this._postValidateGrandfatheredTag(subtags);
|
|
202
|
-
})
|
|
203
|
-
.onSuccess((subtags) => {
|
|
204
|
-
return this._postValidateRedundantTag(subtags);
|
|
205
|
-
});
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
exports.PreferredNormalizer = PreferredNormalizer;
|
|
209
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZmVycmVkVGFnTm9ybWFsaXplci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iY3A0Ny9ub3JtYWxpemF0aW9uL3ByZWZlcnJlZFRhZ05vcm1hbGl6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCw4REFBZ0Q7QUFDaEQsaURBQW1DO0FBRW5DLHNDQUEyRTtBQUMzRSw0Q0FBa0U7QUFFbEUsNERBQXlEO0FBRXpELHFEQUFxRDtBQUNyRCx1Q0FBMkM7QUFFM0M7O0dBRUc7QUFDSCxNQUFhLG1CQUFvQixTQUFRLGtDQUFpQjtJQUExRDs7UUFDb0Isa0JBQWEsR0FBcUIsV0FBVyxDQUFDO0lBdUtsRSxDQUFDO0lBckthLGdCQUFnQixDQUFDLE9BQWdCOztRQUN2QyxJQUFJLE9BQU8sQ0FBQyxlQUFlLEVBQUU7WUFDekIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDOUUsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDWCxPQUFPLElBQUEsZUFBSSxFQUFDLDRCQUE0QixPQUFPLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQzthQUN2RTtZQUNELE9BQU8sSUFBQSxrQkFBTyxFQUFDLE1BQUEsUUFBUSxDQUFDLGNBQWMsbUNBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzlEO1FBQ0QsT0FBTyxJQUFBLGtCQUFPLEVBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVTLGdCQUFnQixDQUFDLE9BQWdCO1FBQ3ZDLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUNsQixPQUFPLElBQUEscUJBQVUsRUFBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFB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QUFPLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRVMsYUFBYSxDQUFDLE9BQWdCO1FBQ3BDLE9BQU8sS0FBSzthQUNQLGFBQWEsQ0FBQyxPQUFPLENBQUM7YUFDdEIsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDbkIsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDO2FBQ0QsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDbkIsT0FBTyxJQUFJLENBQUMsNkJBQTZCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkQsQ0FBQyxDQUFDO2FBQ0QsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDbkIsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0NBQ0o7QUF4S0Qsa0RBd0tDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyMiBFcmlrIEZvcnR1bmVcbiAqXG4gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4gKlxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4gKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuICpcbiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbiAqIFNPRlRXQVJFLlxuICovXG5cbmltcG9ydCAqIGFzIEJjcDQ3U3VidGFncyBmcm9tICcuLi9iY3A0N1N1YnRhZ3MnO1xuaW1wb3J0ICogYXMgSWFuYSBmcm9tICcuLi8uLi9pYW5hJztcblxuaW1wb3J0IHsgRXh0ZW5zaW9uU3VidGFnVmFsdWUsIFN1YnRhZ3MsIHN1YnRhZ3NUb1N0cmluZyB9IGZyb20gJy4uL2NvbW1vbic7XG5pbXBvcnQgeyBSZXN1bHQsIGZhaWwsIG1hcFJlc3VsdHMsIHN1Y2NlZWQgfSBmcm9tICdAZmd2L3RzLXV0aWxzJztcblxuaW1wb3J0IHsgTGFuZ3VhZ2VUYWdQYXJzZXIgfSBmcm9tICcuLi9sYW5ndWFnZVRhZ1BhcnNlcic7XG5pbXBvcnQgeyBUYWdOb3JtYWxpemF0aW9uIH0gZnJvbSAnLi9jb21tb24nO1xuaW1wb3J0IHsgVGFnTm9ybWFsaXplckJhc2UgfSBmcm9tICcuL2Jhc2VOb3JtYWxpemVyJztcbmltcG9ydCB7IHNhbml0aXplSnNvbiB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjbGFzcyBQcmVmZXJyZWROb3JtYWxpemVyIGV4dGVuZHMgVGFnTm9ybWFsaXplckJhc2Uge1xuICAgIHB1YmxpYyByZWFkb25seSBub3JtYWxpemF0aW9uOiBUYWdOb3JtYWxpemF0aW9uID0gJ3ByZWZlcnJlZCc7XG5cbiAgICBwcm90ZWN0ZWQgX3Byb2Nlc3NMYW5ndWFnZShzdWJ0YWdzOiBTdWJ0YWdzKTogUmVzdWx0PElhbmEuTGFuZ3VhZ2VTdWJ0YWdzLkxhbmd1YWdlU3VidGFnIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIGlmIChzdWJ0YWdzLnByaW1hcnlMYW5ndWFnZSkge1xuICAgICAgICAgICAgY29uc3QgbGFuZ3VhZ2UgPSB0aGlzLl9pYW5hLnN1YnRhZ3MubGFuZ3VhZ2VzLnRyeUdldChzdWJ0YWdzLnByaW1hcnlMYW5ndWFnZSk7XG4gICAgICAgICAgICBpZiAoIWxhbmd1YWdlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhaWwoYGludmFsaWQgbGFuZ3VhZ2Ugc3VidGFnIFwiJHtzdWJ0YWdzLnByaW1hcnlMYW5ndWFnZX1cImApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHN1Y2NlZWQobGFuZ3VhZ2UucHJlZmVycmVkVmFsdWUgPz8gbGFuZ3VhZ2Uuc3VidGFnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3VjY2VlZCh1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfcHJvY2Vzc0V4dGxhbmdzKHN1YnRhZ3M6IFN1YnRhZ3MpOiBSZXN1bHQ8SWFuYS5MYW5ndWFnZVN1YnRhZ3MuRXh0TGFuZ1N1YnRhZ1tdIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIGlmIChzdWJ0YWdzLmV4dGxhbmdzKSB7XG4gICAgICAgICAgICByZXR1cm4gbWFwUmVzdWx0cyhzdWJ0YWdzLmV4dGxhbmdzLm1hcCgoZSkgPT4gdGhpcy5faWFuYS5zdWJ0YWdzLmV4dGxhbmdzLnRvVmFsaWRDYW5vbmljYWwoZSkpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3VjY2VlZCh1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfcHJvY2Vzc1NjcmlwdChzdWJ0YWdzOiBTdWJ0YWdzKTogUmVzdWx0PElhbmEuTGFuZ3VhZ2VTdWJ0YWdzLlNjcmlwdFN1YnRhZyB8IHVuZGVmaW5lZD4ge1xuICAgICAgICBpZiAoc3VidGFncy5wcmltYXJ5TGFuZ3VhZ2UgJiYgc3VidGFncy5zY3JpcHQpIHtcbiAgICAgICAgICAgIGNvbnN0IGxhbmd1YWdlID0gdGhpcy5faWFuYS5zdWJ0YWdzLmxhbmd1YWdlcy50cnlHZXQoc3VidGFncy5wcmltYXJ5TGFuZ3VhZ2UpO1xuICAgICAgICAgICAgLy8gaXN0YW5idWwgaWdub3JlIG5leHQgLSBpbnRlcm5hbCBlcnJvciBkaWZmaWN1bHQgdG8gdGVzdFxuICAgICAgICAgICAgaWYgKCFsYW5ndWFnZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWlsKGBpbnZhbGlkIHByaW1hcnkgbGFuZ3VhZ2Ugc3VidGFnIFwiJHtzdWJ0YWdzLnByaW1hcnlMYW5ndWFnZX0uYCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHNjcmlwdCA9IHRoaXMuX2lhbmEuc3VidGFncy5zY3JpcHRzLnRvVmFsaWRDYW5vbmljYWwoc3VidGFncy5zY3JpcHQpLm9yRGVmYXVsdCgpO1xuICAgICAgICAgICAgaWYgKCFzY3JpcHQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFpbChgaW52YWxpZCBzY3JpcHQgc3VidGFnIFwiJHtzdWJ0YWdzLnNjcmlwdH1gKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGxhbmd1YWdlLnN1cHByZXNzU2NyaXB0ICE9PSBzY3JpcHQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc3VjY2VlZChzY3JpcHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdWNjZWVkKHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9wcm9jZXNzUmVnaW9uKHN1YnRhZ3M6IFN1YnRhZ3MpOiBSZXN1bHQ8SWFuYS5MYW5ndWFnZVN1YnRhZ3MuUmVnaW9uU3VidGFnIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIGlmIChzdWJ0YWdzLnJlZ2lvbikge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2lhbmEuc3VidGFncy5yZWdpb25zLmdldChzdWJ0YWdzLnJlZ2lvbikub25TdWNjZXNzKChyZWdpb24pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc3VjY2VlZChyZWdpb24ucHJlZmVycmVkVmFsdWUgPz8gcmVnaW9uLnN1YnRhZyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3VjY2VlZCh1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfcHJvY2Vzc1ZhcmlhbnRzKHN1YnRhZ3M6IFN1YnRhZ3MpOiBSZXN1bHQ8SWFuYS5MYW5ndWFnZVN1YnRhZ3MuVmFyaWFudFN1YnRhZ1tdIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIGlmIChzdWJ0YWdzLnZhcmlhbnRzKSB7XG4gICAgICAgICAgICByZXR1cm4gbWFwUmVzdWx0cyhzdWJ0YWdzLnZhcmlhbnRzLm1hcCgodikgPT4gdGhpcy5faWFuYS5zdWJ0YWdzLnZhcmlhbnRzLnRvVmFsaWRDYW5vbmljYWwodikpKS5vblN1Y2Nlc3MoKHYpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5fdmVyaWZ5VW5pcXVlKCd2YXJpYW50JywgdiwgKHYpID0+IHYpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdWNjZWVkKHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9wcm9jZXNzRXh0ZW5zaW9uU2luZ2xldG9uKHNpbmdsZXRvbjogQmNwNDdTdWJ0YWdzLk1vZGVsLkV4dGVuc2lvblNpbmdsZXRvbik6IFJlc3VsdDxCY3A0N1N1YnRhZ3MuTW9kZWwuRXh0ZW5zaW9uU2luZ2xldG9uPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pYW5hLmV4dGVuc2lvbnMuZXh0ZW5zaW9ucy50b1ZhbGlkQ2Fub25pY2FsKHNpbmdsZXRvbik7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9wcm9jZXNzRXh0ZW5zaW9uU3VidGFnVmFsdWUodmFsdWU6IEJjcDQ3U3VidGFncy5Nb2RlbC5FeHRlbnNpb25TdWJ0YWcpOiBSZXN1bHQ8QmNwNDdTdWJ0YWdzLk1vZGVsLkV4dGVuc2lvblN1YnRhZz4ge1xuICAgICAgICByZXR1cm4gQmNwNDdTdWJ0YWdzLlZhbGlkYXRlLmV4dGVuc2lvblN1YnRhZy50b0Nhbm9uaWNhbCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9wcm9jZXNzRXh0ZW5zaW9ucyhzdWJ0YWdzOiBTdWJ0YWdzKTogUmVzdWx0PEV4dGVuc2lvblN1YnRhZ1ZhbHVlW10gfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHN1cGVyLl9wcm9jZXNzRXh0ZW5zaW9ucyhzdWJ0YWdzKS5vblN1Y2Nlc3MoKGV4dGVuc2lvbnMpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl92ZXJpZnlVbmlxdWUoJ2V4dGVuc2lvbnMnLCBleHRlbnNpb25zLCAoZSkgPT4gZS5zaW5nbGV0b24pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3Byb2Nlc3NQcml2YXRlVXNlVGFncyhzdWJ0YWdzOiBTdWJ0YWdzKTogUmVzdWx0PElhbmEuTGFuZ3VhZ2VTdWJ0YWdzLkV4dGVuZGVkTGFuZ3VhZ2VSYW5nZVtdIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIGlmIChzdWJ0YWdzLnByaXZhdGVVc2UpIHtcbiAgICAgICAgICAgIGNvbnN0IG1lcmdlZCA9IHN1YnRhZ3MucHJpdmF0ZVVzZS5qb2luKCctJyk7XG4gICAgICAgICAgICByZXR1cm4gSWFuYS5MYW5ndWFnZVN1YnRhZ3MuVmFsaWRhdGUuZXh0ZW5kZWRMYW5ndWFnZVJhbmdlLnRvQ2Fub25pY2FsKG1lcmdlZCkub25TdWNjZXNzKChjYW5vbikgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBzdWNjZWVkKGNhbm9uLnNwbGl0KCctJykgYXMgSWFuYS5MYW5ndWFnZVN1YnRhZ3MuRXh0ZW5kZWRMYW5ndWFnZVJhbmdlW10pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN1Y2NlZWQodW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3Byb2Nlc3NHcmFuZGZhdGhlcmVkVGFncyhzdWJ0YWdzOiBTdWJ0YWdzKTogUmVzdWx0PElhbmEuTGFuZ3VhZ2VTdWJ0YWdzLkdyYW5kZmF0aGVyZWRUYWcgfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgaWYgKHN1YnRhZ3MuZ3JhbmRmYXRoZXJlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2lhbmEuc3VidGFncy5ncmFuZGZhdGhlcmVkLnRvVmFsaWRDYW5vbmljYWwoc3VidGFncy5ncmFuZGZhdGhlcmVkKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3VjY2VlZCh1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfcG9zdFZhbGlkYXRlR3JhbmRmYXRoZXJlZFRhZyhzdWJ0YWdzOiBTdWJ0YWdzKTogUmVzdWx0PFN1YnRhZ3M+IHtcbiAgICAgICAgaWYgKHN1YnRhZ3MuZ3JhbmRmYXRoZXJlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2lhbmEuc3VidGFncy5ncmFuZGZhdGhlcmVkLmdldChzdWJ0YWdzLmdyYW5kZmF0aGVyZWQpLm9uU3VjY2VzcygoZ3JhbmRmYXRoZXJlZCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChncmFuZGZhdGhlcmVkLnByZWZlcnJlZFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBMYW5ndWFnZVRhZ1BhcnNlci5wYXJzZShncmFuZGZhdGhlcmVkLnByZWZlcnJlZFZhbHVlLCB0aGlzLl9pYW5hKVxuICAgICAgICAgICAgICAgICAgICAgICAgLm9uU3VjY2VzcygoZ2ZTdWJ0YWdzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaXN0YW5idWwgaWdub3JlIG5leHQgLSB3b3VsZCByZXF1aXJlIGEgcmVnaXN0cnkgZXJyb3IgdG9vIGhhcmQgdG8gdGVzdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChnZlN1YnRhZ3MuZ3JhbmRmYXRoZXJlZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWlsPFN1YnRhZ3M+KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYHByZWZlcnJlZCB2YWx1ZSAke2dyYW5kZmF0aGVyZWQucHJlZmVycmVkVmFsdWV9IG9mIGdyYW5kZmF0aGVyZWQgdGFnICR7c3VidGFncy5ncmFuZGZhdGhlcmVkfSBpcyBhbHNvIGdyYW5kZmF0aGVyZWQuYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzU3VidGFncyhnZlN1YnRhZ3MpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5vbkZhaWx1cmUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaXN0YW5idWwgaWdub3JlIG5leHQgLSB3b3VsZCByZXF1aXJlIGEgcmVnaXN0cnkgZXJyb3IgdG9vIGhhcmQgdG8gdGVzdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtZXNzYWdlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0IC0gd291bGQgcmVxdWlyZSBhIHJlZ2lzdHJ5IGVycm9yIHRvbyBoYXJkIHRvIHRlc3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhaWwoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZ3JhbmRmYXRoZXJlZCB0YWcgXCIke3N1YnRhZ3MuZ3JhbmRmYXRoZXJlZH1cIiBoYXMgaW52YWxpZCBwcmVmZXJyZWQgdmFsdWUgXCIke2dyYW5kZmF0aGVyZWQucHJlZmVycmVkVmFsdWV9XCI6XFxuJHttZXNzYWdlfWBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gc3VjY2VlZChzdWJ0YWdzKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdWNjZWVkKHN1YnRhZ3MpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfcG9zdFZhbGlkYXRlUmVkdW5kYW50VGFnKHN1YnRhZ3M6IFN1YnRhZ3MpOiBSZXN1bHQ8U3VidGFncz4ge1xuICAgICAgICBjb25zdCB0YWcgPSBzdWJ0YWdzVG9TdHJpbmcoc3VidGFncyk7XG4gICAgICAgIGNvbnN0IHJlZHVuZGFudCA9IHRoaXMuX2lhbmEuc3VidGFncy5yZWR1bmRhbnQudHJ5R2V0Q2Fub25pY2FsKHRhZyk7XG4gICAgICAgIGlmIChyZWR1bmRhbnQ/LnByZWZlcnJlZFZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gTGFuZ3VhZ2VUYWdQYXJzZXIucGFyc2UocmVkdW5kYW50LnByZWZlcnJlZFZhbHVlLCB0aGlzLl9pYW5hKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3VjY2VlZChzdWJ0YWdzKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3Bvc3RWYWxpZGF0ZUV4dExhbmdzKHN1YnRhZ3M6IFN1YnRhZ3MpOiBSZXN1bHQ8U3VidGFncz4ge1xuICAgICAgICBpZiAoc3VidGFncy5leHRsYW5ncykge1xuICAgICAgICAgICAgaWYgKHN1YnRhZ3MuZXh0bGFuZ3MubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWlsKGAke3N1YnRhZ3MuZXh0bGFuZ3Muam9pbignLScpfTogbXVsdGlwbGUgZXh0bGFuZyBzdWJ0YWdzIGlzIGludmFsaWRgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzdWJ0YWdzLmV4dGxhbmdzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZWdpc3RyeSA9IHRoaXMuX2lhbmEuc3VidGFncy5leHRsYW5ncy50cnlHZXQoc3VidGFncy5leHRsYW5nc1swXSk7XG4gICAgICAgICAgICAgICAgaWYgKHJlZ2lzdHJ5KSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZWdpc3RyeS5wcmVmZXJyZWRWYWx1ZSAmJiByZWdpc3RyeS5wcmVmaXggPT09IC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovIHN1YnRhZ3MucHJpbWFyeUxhbmd1YWdlPy50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmVmZXJyZWQgPSB0aGlzLl9pYW5hLnN1YnRhZ3MubGFuZ3VhZ2VzLnRyeUdldChyZWdpc3RyeS5wcmVmZXJyZWRWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocHJlZmVycmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN1Y2NlZWQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhbml0aXplSnNvbih7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5zdWJ0YWdzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbWFyeUxhbmd1YWdlOiBwcmVmZXJyZWQuc3VidGFnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0bGFuZ3M6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdWNjZWVkKHN1YnRhZ3MpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfcG9zdFZhbGlkYXRlKHN1YnRhZ3M6IFN1YnRhZ3MpOiBSZXN1bHQ8U3VidGFncz4ge1xuICAgICAgICByZXR1cm4gc3VwZXJcbiAgICAgICAgICAgIC5fcG9zdFZhbGlkYXRlKHN1YnRhZ3MpXG4gICAgICAgICAgICAub25TdWNjZXNzKChzdWJ0YWdzKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3Bvc3RWYWxpZGF0ZUV4dExhbmdzKHN1YnRhZ3MpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5vblN1Y2Nlc3MoKHN1YnRhZ3MpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fcG9zdFZhbGlkYXRlR3JhbmRmYXRoZXJlZFRhZyhzdWJ0YWdzKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAub25TdWNjZXNzKChzdWJ0YWdzKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3Bvc3RWYWxpZGF0ZVJlZHVuZGFudFRhZyhzdWJ0YWdzKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import * as Model from './model';
|
|
2
|
-
import { Converters, Result } from '@fgv/ts-utils';
|
|
3
|
-
/**
|
|
4
|
-
* @internal
|
|
5
|
-
*/
|
|
6
|
-
export declare const languageOverrideRecord: Converters.ObjectConverter<Model.LanguageOverrideRecord, unknown>;
|
|
7
|
-
/**
|
|
8
|
-
* @internal
|
|
9
|
-
*/
|
|
10
|
-
export declare const languageOverridesFile: import("@fgv/ts-utils").Converter<Model.LanguageOverrideRecord[], unknown>;
|
|
11
|
-
/**
|
|
12
|
-
* Loads a language overrides JSON file.
|
|
13
|
-
* @internal
|
|
14
|
-
* @param path - Path from which overrides should be loaded.
|
|
15
|
-
* @returns `Success` with the loaded overrides or `Failure` with details if an
|
|
16
|
-
* error occurs.
|
|
17
|
-
*/
|
|
18
|
-
export declare function loadLanguageOverridesFileSync(path: string): Result<Model.LanguageOverrideRecord[]>;
|
|
19
|
-
//# sourceMappingURL=converters.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"converters.d.ts","sourceRoot":"","sources":["../../../src/bcp47/overrides/converters.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAGnD;;GAEG;AACH,eAAO,MAAM,sBAAsB,mEAQlC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,4EAA6C,CAAC;AAEhF;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC,CAElG"}
|
|
@@ -1,75 +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.loadLanguageOverridesFileSync = exports.languageOverridesFile = exports.languageOverrideRecord = void 0;
|
|
48
|
-
const Iana = __importStar(require("../../iana"));
|
|
49
|
-
const ts_utils_1 = require("@fgv/ts-utils");
|
|
50
|
-
const file_1 = require("@fgv/ts-json/file");
|
|
51
|
-
/**
|
|
52
|
-
* @internal
|
|
53
|
-
*/
|
|
54
|
-
exports.languageOverrideRecord = ts_utils_1.Converters.strictObject({
|
|
55
|
-
language: Iana.LanguageSubtags.Converters.Tags.languageSubtag,
|
|
56
|
-
preferredRegion: Iana.LanguageSubtags.Converters.Tags.regionSubtag,
|
|
57
|
-
defaultAffinity: ts_utils_1.Converters.string,
|
|
58
|
-
affinity: ts_utils_1.Converters.recordOf(ts_utils_1.Converters.arrayOf(Iana.LanguageSubtags.Converters.Tags.regionSubtag)),
|
|
59
|
-
}, { optionalFields: ['affinity', 'defaultAffinity', 'preferredRegion'] });
|
|
60
|
-
/**
|
|
61
|
-
* @internal
|
|
62
|
-
*/
|
|
63
|
-
exports.languageOverridesFile = ts_utils_1.Converters.arrayOf(exports.languageOverrideRecord);
|
|
64
|
-
/**
|
|
65
|
-
* Loads a language overrides JSON file.
|
|
66
|
-
* @internal
|
|
67
|
-
* @param path - Path from which overrides should be loaded.
|
|
68
|
-
* @returns `Success` with the loaded overrides or `Failure` with details if an
|
|
69
|
-
* error occurs.
|
|
70
|
-
*/
|
|
71
|
-
function loadLanguageOverridesFileSync(path) {
|
|
72
|
-
return (0, file_1.convertJsonFileSync)(path, exports.languageOverridesFile);
|
|
73
|
-
}
|
|
74
|
-
exports.loadLanguageOverridesFileSync = loadLanguageOverridesFileSync;
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iY3A0Ny9vdmVycmlkZXMvY29udmVydGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVILGlEQUFtQztBQUduQyw0Q0FBbUQ7QUFDbkQsNENBQXdEO0FBRXhEOztHQUVHO0FBQ1UsUUFBQSxzQkFBc0IsR0FBRyxxQkFBVSxDQUFDLFlBQVksQ0FDekQ7SUFDSSxRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWM7SUFDN0QsZUFBZSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZO0lBQ2xFLGVBQWUsRUFBRSxxQkFBVSxDQUFDLE1BQU07SUFDbEMsUUFBUSxFQUFFLHFCQUFVLENBQUMsUUFBUSxDQUFDLHFCQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztDQUN2RyxFQUNELEVBQUUsY0FBYyxFQUFFLENBQUMsVUFBVSxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixDQUFDLEVBQUUsQ0FDekUsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSxxQkFBcUIsR0FBRyxxQkFBVSxDQUFDLE9BQU8sQ0FBQyw4QkFBc0IsQ0FBQyxDQUFDO0FBRWhGOzs7Ozs7R0FNRztBQUNILFNBQWdCLDZCQUE2QixDQUFDLElBQVk7SUFDdEQsT0FBTyxJQUFBLDBCQUFtQixFQUFDLElBQUksRUFBRSw2QkFBcUIsQ0FBQyxDQUFDO0FBQzVELENBQUM7QUFGRCxzRUFFQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjIgRXJpayBGb3J0dW5lXG4gKlxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuICpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gKiBTT0ZUV0FSRS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBJYW5hIGZyb20gJy4uLy4uL2lhbmEnO1xuaW1wb3J0ICogYXMgTW9kZWwgZnJvbSAnLi9tb2RlbCc7XG5cbmltcG9ydCB7IENvbnZlcnRlcnMsIFJlc3VsdCB9IGZyb20gJ0BmZ3YvdHMtdXRpbHMnO1xuaW1wb3J0IHsgY29udmVydEpzb25GaWxlU3luYyB9IGZyb20gJ0BmZ3YvdHMtanNvbi9maWxlJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IGxhbmd1YWdlT3ZlcnJpZGVSZWNvcmQgPSBDb252ZXJ0ZXJzLnN0cmljdE9iamVjdDxNb2RlbC5MYW5ndWFnZU92ZXJyaWRlUmVjb3JkPihcbiAgICB7XG4gICAgICAgIGxhbmd1YWdlOiBJYW5hLkxhbmd1YWdlU3VidGFncy5Db252ZXJ0ZXJzLlRhZ3MubGFuZ3VhZ2VTdWJ0YWcsXG4gICAgICAgIHByZWZlcnJlZFJlZ2lvbjogSWFuYS5MYW5ndWFnZVN1YnRhZ3MuQ29udmVydGVycy5UYWdzLnJlZ2lvblN1YnRhZyxcbiAgICAgICAgZGVmYXVsdEFmZmluaXR5OiBDb252ZXJ0ZXJzLnN0cmluZyxcbiAgICAgICAgYWZmaW5pdHk6IENvbnZlcnRlcnMucmVjb3JkT2YoQ29udmVydGVycy5hcnJheU9mKElhbmEuTGFuZ3VhZ2VTdWJ0YWdzLkNvbnZlcnRlcnMuVGFncy5yZWdpb25TdWJ0YWcpKSxcbiAgICB9LFxuICAgIHsgb3B0aW9uYWxGaWVsZHM6IFsnYWZmaW5pdHknLCAnZGVmYXVsdEFmZmluaXR5JywgJ3ByZWZlcnJlZFJlZ2lvbiddIH1cbik7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCBsYW5ndWFnZU92ZXJyaWRlc0ZpbGUgPSBDb252ZXJ0ZXJzLmFycmF5T2YobGFuZ3VhZ2VPdmVycmlkZVJlY29yZCk7XG5cbi8qKlxuICogTG9hZHMgYSBsYW5ndWFnZSBvdmVycmlkZXMgSlNPTiBmaWxlLlxuICogQGludGVybmFsXG4gKiBAcGFyYW0gcGF0aCAtIFBhdGggZnJvbSB3aGljaCBvdmVycmlkZXMgc2hvdWxkIGJlIGxvYWRlZC5cbiAqIEByZXR1cm5zIGBTdWNjZXNzYCB3aXRoIHRoZSBsb2FkZWQgb3ZlcnJpZGVzIG9yIGBGYWlsdXJlYCB3aXRoIGRldGFpbHMgaWYgYW5cbiAqIGVycm9yIG9jY3Vycy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvYWRMYW5ndWFnZU92ZXJyaWRlc0ZpbGVTeW5jKHBhdGg6IHN0cmluZyk6IFJlc3VsdDxNb2RlbC5MYW5ndWFnZU92ZXJyaWRlUmVjb3JkW10+IHtcbiAgICByZXR1cm4gY29udmVydEpzb25GaWxlU3luYyhwYXRoLCBsYW5ndWFnZU92ZXJyaWRlc0ZpbGUpO1xufVxuIl19
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"defaultRegistries.d.ts","sourceRoot":"","sources":["../../../src/bcp47/overrides/defaultRegistries.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD;;GAEG;AACH,qBAAa,iBAAiB;IAC1B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAgC;IAElE,WAAkB,iBAAiB,IAAI,iBAAiB,CAKvD;CACJ"}
|