@fgv/ts-bcp47 0.9.6 → 2.0.1-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.cache/build.lint/_eslint-R7SFxnrl.json +481 -0
- 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,98 +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.IsWellFormedValidator = void 0;
|
|
48
|
-
const Bcp47Subtags = __importStar(require("../bcp47Subtags"));
|
|
49
|
-
const Iana = __importStar(require("../../iana"));
|
|
50
|
-
const ts_utils_1 = require("@fgv/ts-utils");
|
|
51
|
-
const baseValidator_1 = require("./baseValidator");
|
|
52
|
-
/**
|
|
53
|
-
* @internal
|
|
54
|
-
*/
|
|
55
|
-
class IsWellFormedValidator extends baseValidator_1.TagValidatorBase {
|
|
56
|
-
constructor() {
|
|
57
|
-
super(...arguments);
|
|
58
|
-
this.validity = 'well-formed';
|
|
59
|
-
}
|
|
60
|
-
_checkLanguage(subtags) {
|
|
61
|
-
return subtags.primaryLanguage ? this.iana.subtags.languages.verifyIsWellFormed(subtags.primaryLanguage) : (0, ts_utils_1.succeed)(undefined);
|
|
62
|
-
}
|
|
63
|
-
_checkExtlangs(subtags) {
|
|
64
|
-
if (subtags.extlangs) {
|
|
65
|
-
return (0, ts_utils_1.allSucceed)(subtags.extlangs.map((e) => this.iana.subtags.extlangs.verifyIsWellFormed(e)), subtags.extlangs);
|
|
66
|
-
}
|
|
67
|
-
return (0, ts_utils_1.succeed)(undefined);
|
|
68
|
-
}
|
|
69
|
-
_checkScript(subtags) {
|
|
70
|
-
return subtags.script ? this.iana.subtags.scripts.verifyIsWellFormed(subtags.script) : (0, ts_utils_1.succeed)(undefined);
|
|
71
|
-
}
|
|
72
|
-
_checkRegion(subtags) {
|
|
73
|
-
return subtags.region ? this.iana.subtags.regions.verifyIsWellFormed(subtags.region) : (0, ts_utils_1.succeed)(undefined);
|
|
74
|
-
}
|
|
75
|
-
_checkVariants(subtags) {
|
|
76
|
-
if (subtags.variants) {
|
|
77
|
-
return (0, ts_utils_1.allSucceed)(subtags.variants.map((v) => this.iana.subtags.variants.verifyIsWellFormed(v)), subtags.variants);
|
|
78
|
-
}
|
|
79
|
-
return (0, ts_utils_1.succeed)(undefined);
|
|
80
|
-
}
|
|
81
|
-
_checkExtensionSingleton(singleton) {
|
|
82
|
-
return this.iana.extensions.extensions.verifyIsWellFormed(singleton);
|
|
83
|
-
}
|
|
84
|
-
_checkExtensionSubtagValue(value) {
|
|
85
|
-
return Bcp47Subtags.Validate.extensionSubtag.verifyIsWellFormed(value);
|
|
86
|
-
}
|
|
87
|
-
_checkPrivateUseTags(subtags) {
|
|
88
|
-
if (subtags.privateUse) {
|
|
89
|
-
return (0, ts_utils_1.allSucceed)(subtags.privateUse.map((pu) => Iana.LanguageSubtags.Validate.extendedLanguageRange.verifyIsWellFormed(pu)), subtags.privateUse);
|
|
90
|
-
}
|
|
91
|
-
return (0, ts_utils_1.succeed)(subtags.privateUse);
|
|
92
|
-
}
|
|
93
|
-
_checkGrandfatheredTags(subtags) {
|
|
94
|
-
return subtags.grandfathered ? this.iana.subtags.grandfathered.verifyIsWellFormed(subtags.grandfathered) : (0, ts_utils_1.succeed)(undefined);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
exports.IsWellFormedValidator = IsWellFormedValidator;
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNXZWxsRm9ybWVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JjcDQ3L3ZhbGlkYXRpb24vaXNXZWxsRm9ybWVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUgsOERBQWdEO0FBQ2hELGlEQUFtQztBQUduQyw0Q0FBNEQ7QUFHNUQsbURBQW1EO0FBR25EOztHQUVHO0FBQ0gsTUFBYSxxQkFBc0IsU0FBUSxnQ0FBZ0I7SUFBM0Q7O1FBQ1csYUFBUSxHQUFnQixhQUFhLENBQUM7SUF1RGpELENBQUM7SUFyRGEsY0FBYyxDQUFDLE9BQWdCO1FBQ3JDLE9BQU8sT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBQSxrQkFBTyxFQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xJLENBQUM7SUFFUyxjQUFjLENBQUMsT0FBZ0I7UUFDckMsSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ2xCLE9BQU8sSUFBQSxxQkFBVSxFQUNiLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDN0UsT0FBTyxDQUFDLFFBQVEsQ0FDbkIsQ0FBQztTQUNMO1FBQ0QsT0FBTyxJQUFBLGtCQUFPLEVBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVTLFlBQVksQ0FBQyxPQUFnQjtRQUNuQyxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUEsa0JBQU8sRUFBQyxTQUFTLENBQUMsQ0FBQztJQUM5RyxDQUFDO0lBRVMsWUFBWSxDQUFDLE9BQWdCO1FBQ25DLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBQSxrQkFBTyxFQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlHLENBQUM7SUFFUyxjQUFjLENBQUMsT0FBZ0I7UUFDckMsSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ2xCLE9BQU8sSUFBQSxxQkFBVSxFQUNiLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDN0UsT0FBTyxDQUFDLFFBQVEsQ0FDbkIsQ0FBQztTQUNMO1FBQ0QsT0FBTyxJQUFBLGtCQUFPLEVBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVTLHdCQUF3QixDQUFDLFNBQTZCO1FBQzVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFUywwQkFBMEIsQ0FBQyxLQUFzQjtRQUN2RCxPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFUyxvQkFBb0IsQ0FBQyxPQUFnQjtRQUMzQyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUU7WUFDcEIsT0FBTyxJQUFBLHFCQUFVLEVBQ2IsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQzFHLE9BQU8sQ0FBQyxVQUFVLENBQ3JCLENBQUM7U0FDTDtRQUNELE9BQU8sSUFBQSxrQkFBTyxFQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRVMsdUJBQXVCLENBQUMsT0FBZ0I7UUFDOUMsT0FBTyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFBLGtCQUFPLEVBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEksQ0FBQztDQUNKO0FBeERELHNEQXdEQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjIgRXJpayBGb3J0dW5lXG4gKlxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuICpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gKiBTT0ZUV0FSRS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBCY3A0N1N1YnRhZ3MgZnJvbSAnLi4vYmNwNDdTdWJ0YWdzJztcbmltcG9ydCAqIGFzIElhbmEgZnJvbSAnLi4vLi4vaWFuYSc7XG5cbmltcG9ydCB7IEV4dGVuc2lvblNpbmdsZXRvbiwgRXh0ZW5zaW9uU3VidGFnIH0gZnJvbSAnLi4vYmNwNDdTdWJ0YWdzL21vZGVsJztcbmltcG9ydCB7IFJlc3VsdCwgYWxsU3VjY2VlZCwgc3VjY2VlZCB9IGZyb20gJ0BmZ3YvdHMtdXRpbHMnO1xuXG5pbXBvcnQgeyBTdWJ0YWdzIH0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7IFRhZ1ZhbGlkYXRvckJhc2UgfSBmcm9tICcuL2Jhc2VWYWxpZGF0b3InO1xuaW1wb3J0IHsgVGFnVmFsaWRpdHkgfSBmcm9tICcuL2NvbW1vbic7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBJc1dlbGxGb3JtZWRWYWxpZGF0b3IgZXh0ZW5kcyBUYWdWYWxpZGF0b3JCYXNlIHtcbiAgICBwdWJsaWMgdmFsaWRpdHk6IFRhZ1ZhbGlkaXR5ID0gJ3dlbGwtZm9ybWVkJztcblxuICAgIHByb3RlY3RlZCBfY2hlY2tMYW5ndWFnZShzdWJ0YWdzOiBTdWJ0YWdzKTogUmVzdWx0PElhbmEuTGFuZ3VhZ2VTdWJ0YWdzLkxhbmd1YWdlU3VidGFnIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIHJldHVybiBzdWJ0YWdzLnByaW1hcnlMYW5ndWFnZSA/IHRoaXMuaWFuYS5zdWJ0YWdzLmxhbmd1YWdlcy52ZXJpZnlJc1dlbGxGb3JtZWQoc3VidGFncy5wcmltYXJ5TGFuZ3VhZ2UpIDogc3VjY2VlZCh1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfY2hlY2tFeHRsYW5ncyhzdWJ0YWdzOiBTdWJ0YWdzKTogUmVzdWx0PElhbmEuTGFuZ3VhZ2VTdWJ0YWdzLkV4dExhbmdTdWJ0YWdbXSB8IHVuZGVmaW5lZD4ge1xuICAgICAgICBpZiAoc3VidGFncy5leHRsYW5ncykge1xuICAgICAgICAgICAgcmV0dXJuIGFsbFN1Y2NlZWQoXG4gICAgICAgICAgICAgICAgc3VidGFncy5leHRsYW5ncy5tYXAoKGUpID0+IHRoaXMuaWFuYS5zdWJ0YWdzLmV4dGxhbmdzLnZlcmlmeUlzV2VsbEZvcm1lZChlKSksXG4gICAgICAgICAgICAgICAgc3VidGFncy5leHRsYW5nc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3VjY2VlZCh1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfY2hlY2tTY3JpcHQoc3VidGFnczogU3VidGFncyk6IFJlc3VsdDxJYW5hLkxhbmd1YWdlU3VidGFncy5TY3JpcHRTdWJ0YWcgfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHN1YnRhZ3Muc2NyaXB0ID8gdGhpcy5pYW5hLnN1YnRhZ3Muc2NyaXB0cy52ZXJpZnlJc1dlbGxGb3JtZWQoc3VidGFncy5zY3JpcHQpIDogc3VjY2VlZCh1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfY2hlY2tSZWdpb24oc3VidGFnczogU3VidGFncyk6IFJlc3VsdDxJYW5hLkxhbmd1YWdlU3VidGFncy5SZWdpb25TdWJ0YWcgfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHN1YnRhZ3MucmVnaW9uID8gdGhpcy5pYW5hLnN1YnRhZ3MucmVnaW9ucy52ZXJpZnlJc1dlbGxGb3JtZWQoc3VidGFncy5yZWdpb24pIDogc3VjY2VlZCh1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfY2hlY2tWYXJpYW50cyhzdWJ0YWdzOiBTdWJ0YWdzKTogUmVzdWx0PElhbmEuTGFuZ3VhZ2VTdWJ0YWdzLlZhcmlhbnRTdWJ0YWdbXSB8IHVuZGVmaW5lZD4ge1xuICAgICAgICBpZiAoc3VidGFncy52YXJpYW50cykge1xuICAgICAgICAgICAgcmV0dXJuIGFsbFN1Y2NlZWQoXG4gICAgICAgICAgICAgICAgc3VidGFncy52YXJpYW50cy5tYXAoKHYpID0+IHRoaXMuaWFuYS5zdWJ0YWdzLnZhcmlhbnRzLnZlcmlmeUlzV2VsbEZvcm1lZCh2KSksXG4gICAgICAgICAgICAgICAgc3VidGFncy52YXJpYW50c1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3VjY2VlZCh1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfY2hlY2tFeHRlbnNpb25TaW5nbGV0b24oc2luZ2xldG9uOiBFeHRlbnNpb25TaW5nbGV0b24pOiBSZXN1bHQ8RXh0ZW5zaW9uU2luZ2xldG9uPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlhbmEuZXh0ZW5zaW9ucy5leHRlbnNpb25zLnZlcmlmeUlzV2VsbEZvcm1lZChzaW5nbGV0b24pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfY2hlY2tFeHRlbnNpb25TdWJ0YWdWYWx1ZSh2YWx1ZTogRXh0ZW5zaW9uU3VidGFnKTogUmVzdWx0PEV4dGVuc2lvblN1YnRhZz4ge1xuICAgICAgICByZXR1cm4gQmNwNDdTdWJ0YWdzLlZhbGlkYXRlLmV4dGVuc2lvblN1YnRhZy52ZXJpZnlJc1dlbGxGb3JtZWQodmFsdWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfY2hlY2tQcml2YXRlVXNlVGFncyhzdWJ0YWdzOiBTdWJ0YWdzKTogUmVzdWx0PElhbmEuTGFuZ3VhZ2VTdWJ0YWdzLkV4dGVuZGVkTGFuZ3VhZ2VSYW5nZVtdIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIGlmIChzdWJ0YWdzLnByaXZhdGVVc2UpIHtcbiAgICAgICAgICAgIHJldHVybiBhbGxTdWNjZWVkKFxuICAgICAgICAgICAgICAgIHN1YnRhZ3MucHJpdmF0ZVVzZS5tYXAoKHB1KSA9PiBJYW5hLkxhbmd1YWdlU3VidGFncy5WYWxpZGF0ZS5leHRlbmRlZExhbmd1YWdlUmFuZ2UudmVyaWZ5SXNXZWxsRm9ybWVkKHB1KSksXG4gICAgICAgICAgICAgICAgc3VidGFncy5wcml2YXRlVXNlXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdWNjZWVkKHN1YnRhZ3MucHJpdmF0ZVVzZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9jaGVja0dyYW5kZmF0aGVyZWRUYWdzKHN1YnRhZ3M6IFN1YnRhZ3MpOiBSZXN1bHQ8SWFuYS5MYW5ndWFnZVN1YnRhZ3MuR3JhbmRmYXRoZXJlZFRhZyB8IHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gc3VidGFncy5ncmFuZGZhdGhlcmVkID8gdGhpcy5pYW5hLnN1YnRhZ3MuZ3JhbmRmYXRoZXJlZC52ZXJpZnlJc1dlbGxGb3JtZWQoc3VidGFncy5ncmFuZGZhdGhlcmVkKSA6IHN1Y2NlZWQodW5kZWZpbmVkKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validateTag.d.ts","sourceRoot":"","sources":["../../../src/bcp47/validation/validateTag.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,MAAM,EAAW,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,WAAW,EAAmB,MAAM,UAAU,CAAC;AAOxD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C;;;GAGG;AACH,qBAAa,WAAW;IACpB,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAe;IAC3C,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAe;IACjD,OAAO,CAAC,MAAM,CAAC,WAAW,CAA4D;IAEtF;;;;;;;;;;;OAWG;WACW,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAOpD;;;;;;;;;;;;;OAaG;WACW,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAO1D;;;;;;;;;;OAUG;WACW,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAIxD;;;;;;;;;OASG;WACW,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAIhD;;;;;;;;;OASG;WACW,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAIrD;;;;;;;;OAQG;WACW,eAAe,CAAC,YAAY,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,WAAW,GAAG,YAAY,GAAG,SAAS;IAkB9G;;;;;;;;;OASG;WACW,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;CAK1H"}
|
|
@@ -1,159 +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.ValidateTag = void 0;
|
|
25
|
-
const ts_utils_1 = require("@fgv/ts-utils");
|
|
26
|
-
const common_1 = require("./common");
|
|
27
|
-
const isCanonical_1 = require("./isCanonical");
|
|
28
|
-
const isInPreferredForm_1 = require("./isInPreferredForm");
|
|
29
|
-
const isStrictlyValid_1 = require("./isStrictlyValid");
|
|
30
|
-
const isValid_1 = require("./isValid");
|
|
31
|
-
const isWellFormed_1 = require("./isWellFormed");
|
|
32
|
-
/**
|
|
33
|
-
* Validation helpers for BCP-47 language tags.
|
|
34
|
-
* @public
|
|
35
|
-
*/
|
|
36
|
-
class ValidateTag {
|
|
37
|
-
/**
|
|
38
|
-
* Determines if supplied {@link Bcp47.Subtags | subtags } are in canonical form,
|
|
39
|
-
* meaning that they are at least well-formed as specified by
|
|
40
|
-
* {@link https://www.rfc-editor.org/rfc/rfc5646.html#section-2.2.9 | RFC 5646}, and
|
|
41
|
-
* all subtags are also
|
|
42
|
-
* {@link https://www.rfc-editor.org/rfc/rfc5646.html#section-2.1.1 | capitalized as recommended}.
|
|
43
|
-
* @param subtags - The {@link Bcp47.Subtags | subtags } to test.
|
|
44
|
-
* @returns `true` if the {@link Bcp47.Subtags | subtags } represent
|
|
45
|
-
* a language tag in canonical, false otherwise.
|
|
46
|
-
* @example `en-US` is in canonical form, `en-us` is not.
|
|
47
|
-
* @example `eng-US` is in canonical form, `eng-us` is not.
|
|
48
|
-
*/
|
|
49
|
-
static isCanonical(subtags) {
|
|
50
|
-
if (!this._isCanonical) {
|
|
51
|
-
this._isCanonical = new isCanonical_1.IsCanonicalValidator();
|
|
52
|
-
}
|
|
53
|
-
return this._isCanonical.validateSubtags(subtags).isSuccess();
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Determines if supplied {@link Bcp47.Subtags | subtags } are
|
|
57
|
-
* in preferred form. Preferred form is valid as specified by
|
|
58
|
-
* {@link https://www.rfc-editor.org/rfc/rfc5646.html#section-2.2.9 | RFC 5646} and
|
|
59
|
-
* also meets additional preferences specified in the
|
|
60
|
-
* {@link https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry | language subtag registry} -
|
|
61
|
-
* extraneous (suppressed) script tags, deprecated language, extlang, script or region tags or
|
|
62
|
-
* deprecated grandfathered or redundant tags (with a defined preferred-value) are not allowed.
|
|
63
|
-
* @param subtags - The {@link Bcp47.Subtags | subtags } to test.
|
|
64
|
-
* @returns `true` if the {@link Bcp47.Subtags | subtags } represent
|
|
65
|
-
* a valid language tag in preferred form, false otherwise.
|
|
66
|
-
* @example `en-US` is in preferred form, `en-Latn-US` is not.
|
|
67
|
-
* @example `cmn` is in preferred form, `zh-cmn-Hans` is not.
|
|
68
|
-
*/
|
|
69
|
-
static isInPreferredForm(subtags) {
|
|
70
|
-
if (!this._isInPreferredForm) {
|
|
71
|
-
this._isInPreferredForm = new isInPreferredForm_1.IsInPreferredFromValidator();
|
|
72
|
-
}
|
|
73
|
-
return this._isInPreferredForm.validateSubtags(subtags).isSuccess();
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Determines if supplied {@link Bcp47.Subtags | subtags } are
|
|
77
|
-
* strictly valid. A strictly valid tag is both
|
|
78
|
-
* {@link https://www.rfc-editor.org/rfc/rfc5646.html#section-2.2.9 | valid as defined in the RFC}
|
|
79
|
-
* and meets any other requirements such as
|
|
80
|
-
* {@link https://www.rfc-editor.org/rfc/rfc5646.html#section-3.1.8 | prefix validity}.
|
|
81
|
-
* @param subtags - The {@link Bcp47.Subtags | subtags } to test.
|
|
82
|
-
* @returns `true` if the {@link Bcp47.Subtags | subtags } represent
|
|
83
|
-
* a strictly valid language tag, false otherwise.
|
|
84
|
-
* @example `ca-valencia` is strictly valid, `es-valencia` is not.
|
|
85
|
-
*/
|
|
86
|
-
static isStrictlyValid(subtags) {
|
|
87
|
-
return this.validateSubtags(subtags, 'strictly-valid').isSuccess();
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Determines if supplied {@link Bcp47.Subtags | subtags } are
|
|
91
|
-
* valid as specified by {@link https://www.rfc-editor.org/rfc/rfc5646.html#section-2.2.9 | RFC 5646},
|
|
92
|
-
* meaning that all subtags, or the tag itself for grandfathered tags, are defined in the
|
|
93
|
-
* {@link https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry | IANA language subtag registry}.
|
|
94
|
-
* @param subtags - The {@link Bcp47.Subtags | subtags } to test.
|
|
95
|
-
* @returns `true` if the {@link Bcp47.Subtags | subtags } represent
|
|
96
|
-
* a valid language tag, false otherwise.
|
|
97
|
-
* @example `en-US` is valid, `eng-US` is not.
|
|
98
|
-
*/
|
|
99
|
-
static isValid(subtags) {
|
|
100
|
-
return this.validateSubtags(subtags, 'valid').isSuccess();
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Determines if supplied {@link Bcp47.Subtags | subtags } are
|
|
104
|
-
* well-formed as specified by {@link https://www.rfc-editor.org/rfc/rfc5646.html#section-2.2.9 | RFC 5646},
|
|
105
|
-
* meaning that all subtags meet the grammar defined in the specification.
|
|
106
|
-
* @param subtags - The {@link Bcp47.Subtags | subtags } to test.
|
|
107
|
-
* @returns `true` if the {@link Bcp47.Subtags | subtags } represent
|
|
108
|
-
* a well-formed language tag, false otherwise.
|
|
109
|
-
* @example `en-US` is valid, `english-US` is not.
|
|
110
|
-
* @public
|
|
111
|
-
*/
|
|
112
|
-
static isWellFormed(subtags) {
|
|
113
|
-
return this.validateSubtags(subtags, 'well-formed').isSuccess();
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Chooses an appropriate default tag validator given desired and optional current
|
|
117
|
-
* {@link Bcp47.TagValidity | validation level}.
|
|
118
|
-
* @param wantValidity - The desired {@link Bcp47.TagValidity | validity level}.
|
|
119
|
-
* @param haveValidity - (optional) The current {@link Bcp47.TagValidity | validity level}.
|
|
120
|
-
* @returns An appropriate {@link Bcp47.TagValidator | tag validator} or `undefined` if no
|
|
121
|
-
* additional validation is necessary.
|
|
122
|
-
* @internal
|
|
123
|
-
*/
|
|
124
|
-
static chooseValidator(wantValidity, haveValidity) {
|
|
125
|
-
if (haveValidity && (0, common_1.compareValidity)(haveValidity, wantValidity) >= 0) {
|
|
126
|
-
return undefined;
|
|
127
|
-
}
|
|
128
|
-
if (!this._validators) {
|
|
129
|
-
this._validators = {
|
|
130
|
-
/* eslint-disable @typescript-eslint/naming-convention */
|
|
131
|
-
unknown: new isWellFormed_1.IsWellFormedValidator(),
|
|
132
|
-
'well-formed': new isWellFormed_1.IsWellFormedValidator(),
|
|
133
|
-
valid: new isValid_1.IsValidValidator(),
|
|
134
|
-
'strictly-valid': new isStrictlyValid_1.IsStrictlyValidValidator(),
|
|
135
|
-
/* eslint-enable @typescript-eslint/naming-convention */
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
|
-
return this._validators[wantValidity];
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Validates supplied {@link Bcp47.Subtags | subtags } to a requested
|
|
142
|
-
* {@link Bcp47.TagValidity | validity level}, if necessary.
|
|
143
|
-
* @param subtags - The {@link Bcp47.Subtags | subtags } to be validated.
|
|
144
|
-
* @param wantValidity - The desired {@link Bcp47.TagValidity | validity level}.
|
|
145
|
-
* @param haveValidity - (optional) The current {@link Bcp47.TagValidity | validity level}.
|
|
146
|
-
* @returns `Success` with the validated {@link Bcp47.Subtags | subtags }, or
|
|
147
|
-
* `Failure` with details if an error occurs.
|
|
148
|
-
* @public
|
|
149
|
-
*/
|
|
150
|
-
static validateSubtags(subtags, wantValidity, haveValidity) {
|
|
151
|
-
var _a;
|
|
152
|
-
const validator = this.chooseValidator(wantValidity, haveValidity);
|
|
153
|
-
// istanbul ignore next - a pain to test
|
|
154
|
-
return (_a = validator === null || validator === void 0 ? void 0 : validator.validateSubtags(subtags)) !== null && _a !== void 0 ? _a : (0, ts_utils_1.succeed)(true);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
exports.ValidateTag = ValidateTag;
|
|
158
|
-
ValidateTag._validators = undefined;
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGVUYWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmNwNDcvdmFsaWRhdGlvbi92YWxpZGF0ZVRhZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHOzs7QUFFSCw0Q0FBZ0Q7QUFDaEQscUNBQXdEO0FBRXhELCtDQUFxRDtBQUNyRCwyREFBaUU7QUFDakUsdURBQTZEO0FBQzdELHVDQUE2QztBQUM3QyxpREFBdUQ7QUFJdkQ7OztHQUdHO0FBQ0gsTUFBYSxXQUFXO0lBS3BCOzs7Ozs7Ozs7OztPQVdHO0lBQ0ksTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFnQjtRQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksa0NBQW9CLEVBQUUsQ0FBQztTQUNsRDtRQUNELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbEUsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSSxNQUFNLENBQUMsaUJBQWlCLENBQUMsT0FBZ0I7UUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUMxQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSw4Q0FBMEIsRUFBRSxDQUFDO1NBQzlEO1FBQ0QsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3hFLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ksTUFBTSxDQUFDLGVBQWUsQ0FBQyxPQUFnQjtRQUMxQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLGdCQUFnQixDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDdkUsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBZ0I7UUFDbEMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUM5RCxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFnQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3BFLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLE1BQU0sQ0FBQyxlQUFlLENBQUMsWUFBeUIsRUFBRSxZQUEwQjtRQUMvRSxJQUFJLFlBQVksSUFBSSxJQUFBLHdCQUFlLEVBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNsRSxPQUFPLFNBQVMsQ0FBQztTQUNwQjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUc7Z0JBQ2YseURBQXlEO2dCQUN6RCxPQUFPLEVBQUUsSUFBSSxvQ0FBcUIsRUFBRTtnQkFDcEMsYUFBYSxFQUFFLElBQUksb0NBQXFCLEVBQUU7Z0JBQzFDLEtBQUssRUFBRSxJQUFJLDBCQUFnQixFQUFFO2dCQUM3QixnQkFBZ0IsRUFBRSxJQUFJLDBDQUF3QixFQUFFO2dCQUNoRCx3REFBd0Q7YUFDM0QsQ0FBQztTQUNMO1FBQ0QsT0FBTyxJQUFJLENBQUMsV0FBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSxNQUFNLENBQUMsZUFBZSxDQUFDLE9BQWdCLEVBQUUsWUFBeUIsRUFBRSxZQUEwQjs7UUFDakcsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDbkUsd0NBQXdDO1FBQ3hDLE9BQU8sTUFBQSxTQUFTLGFBQVQsU0FBUyx1QkFBVCxTQUFTLENBQUUsZUFBZSxDQUFDLE9BQU8sQ0FBQyxtQ0FBSSxJQUFBLGtCQUFPLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEUsQ0FBQzs7QUFqSUwsa0NBa0lDO0FBL0hrQix1QkFBVyxHQUFrRCxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIyIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuaW1wb3J0IHsgUmVzdWx0LCBzdWNjZWVkIH0gZnJvbSAnQGZndi90cy11dGlscyc7XG5pbXBvcnQgeyBUYWdWYWxpZGl0eSwgY29tcGFyZVZhbGlkaXR5IH0gZnJvbSAnLi9jb21tb24nO1xuXG5pbXBvcnQgeyBJc0Nhbm9uaWNhbFZhbGlkYXRvciB9IGZyb20gJy4vaXNDYW5vbmljYWwnO1xuaW1wb3J0IHsgSXNJblByZWZlcnJlZEZyb21WYWxpZGF0b3IgfSBmcm9tICcuL2lzSW5QcmVmZXJyZWRGb3JtJztcbmltcG9ydCB7IElzU3RyaWN0bHlWYWxpZFZhbGlkYXRvciB9IGZyb20gJy4vaXNTdHJpY3RseVZhbGlkJztcbmltcG9ydCB7IElzVmFsaWRWYWxpZGF0b3IgfSBmcm9tICcuL2lzVmFsaWQnO1xuaW1wb3J0IHsgSXNXZWxsRm9ybWVkVmFsaWRhdG9yIH0gZnJvbSAnLi9pc1dlbGxGb3JtZWQnO1xuaW1wb3J0IHsgU3VidGFncyB9IGZyb20gJy4uL2NvbW1vbic7XG5pbXBvcnQgeyBUYWdWYWxpZGF0b3IgfSBmcm9tICcuL2Jhc2VWYWxpZGF0b3InO1xuXG4vKipcbiAqIFZhbGlkYXRpb24gaGVscGVycyBmb3IgQkNQLTQ3IGxhbmd1YWdlIHRhZ3MuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjbGFzcyBWYWxpZGF0ZVRhZyB7XG4gICAgcHJpdmF0ZSBzdGF0aWMgX2lzQ2Fub25pY2FsPzogVGFnVmFsaWRhdG9yO1xuICAgIHByaXZhdGUgc3RhdGljIF9pc0luUHJlZmVycmVkRm9ybT86IFRhZ1ZhbGlkYXRvcjtcbiAgICBwcml2YXRlIHN0YXRpYyBfdmFsaWRhdG9yczogUmVjb3JkPFRhZ1ZhbGlkaXR5LCBUYWdWYWxpZGF0b3I+IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICogRGV0ZXJtaW5lcyBpZiBzdXBwbGllZCB7QGxpbmsgQmNwNDcuU3VidGFncyB8IHN1YnRhZ3MgfSBhcmUgaW4gY2Fub25pY2FsIGZvcm0sXG4gICAgICogbWVhbmluZyB0aGF0IHRoZXkgYXJlIGF0IGxlYXN0IHdlbGwtZm9ybWVkIGFzIHNwZWNpZmllZCBieVxuICAgICAqIHtAbGluayBodHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9yZmMvcmZjNTY0Ni5odG1sI3NlY3Rpb24tMi4yLjkgfCBSRkMgNTY0Nn0sIGFuZFxuICAgICAqIGFsbCBzdWJ0YWdzIGFyZSBhbHNvXG4gICAgICoge0BsaW5rIGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM1NjQ2Lmh0bWwjc2VjdGlvbi0yLjEuMSB8IGNhcGl0YWxpemVkIGFzIHJlY29tbWVuZGVkfS5cbiAgICAgKiBAcGFyYW0gc3VidGFncyAtIFRoZSB7QGxpbmsgQmNwNDcuU3VidGFncyB8IHN1YnRhZ3MgfSB0byB0ZXN0LlxuICAgICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUge0BsaW5rIEJjcDQ3LlN1YnRhZ3MgfCBzdWJ0YWdzIH0gcmVwcmVzZW50XG4gICAgICogYSBsYW5ndWFnZSB0YWcgaW4gY2Fub25pY2FsLCBmYWxzZSBvdGhlcndpc2UuXG4gICAgICogQGV4YW1wbGUgYGVuLVVTYCBpcyBpbiBjYW5vbmljYWwgZm9ybSwgYGVuLXVzYCBpcyBub3QuXG4gICAgICogQGV4YW1wbGUgYGVuZy1VU2AgaXMgaW4gY2Fub25pY2FsIGZvcm0sIGBlbmctdXNgIGlzIG5vdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGlzQ2Fub25pY2FsKHN1YnRhZ3M6IFN1YnRhZ3MpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLl9pc0Nhbm9uaWNhbCkge1xuICAgICAgICAgICAgdGhpcy5faXNDYW5vbmljYWwgPSBuZXcgSXNDYW5vbmljYWxWYWxpZGF0b3IoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5faXNDYW5vbmljYWwudmFsaWRhdGVTdWJ0YWdzKHN1YnRhZ3MpLmlzU3VjY2VzcygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERldGVybWluZXMgaWYgc3VwcGxpZWQge0BsaW5rIEJjcDQ3LlN1YnRhZ3MgfCBzdWJ0YWdzIH0gYXJlXG4gICAgICogaW4gcHJlZmVycmVkIGZvcm0uIFByZWZlcnJlZCBmb3JtIGlzIHZhbGlkIGFzIHNwZWNpZmllZCBieVxuICAgICAqIHtAbGluayAgaHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvcmZjL3JmYzU2NDYuaHRtbCNzZWN0aW9uLTIuMi45IHwgUkZDIDU2NDZ9IGFuZFxuICAgICAqIGFsc28gbWVldHMgYWRkaXRpb25hbCBwcmVmZXJlbmNlcyBzcGVjaWZpZWQgaW4gdGhlXG4gICAgICoge0BsaW5rIGh0dHBzOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2xhbmd1YWdlLXN1YnRhZy1yZWdpc3RyeS9sYW5ndWFnZS1zdWJ0YWctcmVnaXN0cnkgfCBsYW5ndWFnZSBzdWJ0YWcgcmVnaXN0cnl9IC1cbiAgICAgKiBleHRyYW5lb3VzIChzdXBwcmVzc2VkKSBzY3JpcHQgdGFncywgZGVwcmVjYXRlZCBsYW5ndWFnZSwgZXh0bGFuZywgc2NyaXB0IG9yIHJlZ2lvbiB0YWdzIG9yXG4gICAgICogZGVwcmVjYXRlZCBncmFuZGZhdGhlcmVkIG9yIHJlZHVuZGFudCB0YWdzICh3aXRoIGEgZGVmaW5lZCBwcmVmZXJyZWQtdmFsdWUpIGFyZSBub3QgYWxsb3dlZC5cbiAgICAgKiBAcGFyYW0gc3VidGFncyAtIFRoZSB7QGxpbmsgQmNwNDcuU3VidGFncyB8IHN1YnRhZ3MgfSB0byB0ZXN0LlxuICAgICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUge0BsaW5rIEJjcDQ3LlN1YnRhZ3MgfCBzdWJ0YWdzIH0gcmVwcmVzZW50XG4gICAgICogYSB2YWxpZCBsYW5ndWFnZSB0YWcgaW4gcHJlZmVycmVkIGZvcm0sIGZhbHNlIG90aGVyd2lzZS5cbiAgICAgKiBAZXhhbXBsZSBgZW4tVVNgIGlzIGluIHByZWZlcnJlZCBmb3JtLCBgZW4tTGF0bi1VU2AgaXMgbm90LlxuICAgICAqIEBleGFtcGxlIGBjbW5gIGlzIGluIHByZWZlcnJlZCBmb3JtLCBgemgtY21uLUhhbnNgIGlzIG5vdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGlzSW5QcmVmZXJyZWRGb3JtKHN1YnRhZ3M6IFN1YnRhZ3MpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLl9pc0luUHJlZmVycmVkRm9ybSkge1xuICAgICAgICAgICAgdGhpcy5faXNJblByZWZlcnJlZEZvcm0gPSBuZXcgSXNJblByZWZlcnJlZEZyb21WYWxpZGF0b3IoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5faXNJblByZWZlcnJlZEZvcm0udmFsaWRhdGVTdWJ0YWdzKHN1YnRhZ3MpLmlzU3VjY2VzcygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERldGVybWluZXMgaWYgc3VwcGxpZWQge0BsaW5rIEJjcDQ3LlN1YnRhZ3MgfCBzdWJ0YWdzIH0gYXJlXG4gICAgICogc3RyaWN0bHkgdmFsaWQuICBBIHN0cmljdGx5IHZhbGlkIHRhZyBpcyBib3RoXG4gICAgICoge0BsaW5rIGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM1NjQ2Lmh0bWwjc2VjdGlvbi0yLjIuOSB8IHZhbGlkIGFzIGRlZmluZWQgaW4gdGhlIFJGQ31cbiAgICAgKiBhbmQgbWVldHMgYW55IG90aGVyIHJlcXVpcmVtZW50cyBzdWNoIGFzXG4gICAgICoge0BsaW5rIGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM1NjQ2Lmh0bWwjc2VjdGlvbi0zLjEuOCB8IHByZWZpeCB2YWxpZGl0eX0uXG4gICAgICogQHBhcmFtIHN1YnRhZ3MgLSBUaGUge0BsaW5rIEJjcDQ3LlN1YnRhZ3MgfCBzdWJ0YWdzIH0gdG8gdGVzdC5cbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHtAbGluayBCY3A0Ny5TdWJ0YWdzIHwgc3VidGFncyB9IHJlcHJlc2VudFxuICAgICAqIGEgc3RyaWN0bHkgdmFsaWQgbGFuZ3VhZ2UgdGFnLCBmYWxzZSBvdGhlcndpc2UuXG4gICAgICogQGV4YW1wbGUgYGNhLXZhbGVuY2lhYCBpcyBzdHJpY3RseSB2YWxpZCwgYGVzLXZhbGVuY2lhYCBpcyBub3QuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBpc1N0cmljdGx5VmFsaWQoc3VidGFnczogU3VidGFncyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy52YWxpZGF0ZVN1YnRhZ3Moc3VidGFncywgJ3N0cmljdGx5LXZhbGlkJykuaXNTdWNjZXNzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGV0ZXJtaW5lcyBpZiBzdXBwbGllZCB7QGxpbmsgQmNwNDcuU3VidGFncyB8IHN1YnRhZ3MgfSBhcmVcbiAgICAgKiB2YWxpZCBhcyBzcGVjaWZpZWQgYnkge0BsaW5rIGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM1NjQ2Lmh0bWwjc2VjdGlvbi0yLjIuOSB8IFJGQyA1NjQ2fSxcbiAgICAgKiBtZWFuaW5nIHRoYXQgYWxsIHN1YnRhZ3MsIG9yIHRoZSB0YWcgaXRzZWxmIGZvciBncmFuZGZhdGhlcmVkIHRhZ3MsIGFyZSBkZWZpbmVkIGluIHRoZVxuICAgICAqIHtAbGluayBodHRwczovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9sYW5ndWFnZS1zdWJ0YWctcmVnaXN0cnkvbGFuZ3VhZ2Utc3VidGFnLXJlZ2lzdHJ5IHwgSUFOQSBsYW5ndWFnZSBzdWJ0YWcgcmVnaXN0cnl9LlxuICAgICAqIEBwYXJhbSBzdWJ0YWdzIC0gVGhlIHtAbGluayBCY3A0Ny5TdWJ0YWdzIHwgc3VidGFncyB9IHRvIHRlc3QuXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSB7QGxpbmsgQmNwNDcuU3VidGFncyB8IHN1YnRhZ3MgfSByZXByZXNlbnRcbiAgICAgKiBhIHZhbGlkIGxhbmd1YWdlIHRhZywgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgICAqIEBleGFtcGxlIGBlbi1VU2AgaXMgdmFsaWQsIGBlbmctVVNgIGlzIG5vdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGlzVmFsaWQoc3VidGFnczogU3VidGFncyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy52YWxpZGF0ZVN1YnRhZ3Moc3VidGFncywgJ3ZhbGlkJykuaXNTdWNjZXNzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGV0ZXJtaW5lcyBpZiBzdXBwbGllZCB7QGxpbmsgQmNwNDcuU3VidGFncyB8IHN1YnRhZ3MgfSBhcmVcbiAgICAgKiB3ZWxsLWZvcm1lZCBhcyBzcGVjaWZpZWQgYnkge0BsaW5rIGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM1NjQ2Lmh0bWwjc2VjdGlvbi0yLjIuOSB8IFJGQyA1NjQ2fSxcbiAgICAgKiBtZWFuaW5nIHRoYXQgYWxsIHN1YnRhZ3MgbWVldCB0aGUgZ3JhbW1hciBkZWZpbmVkIGluIHRoZSBzcGVjaWZpY2F0aW9uLlxuICAgICAqIEBwYXJhbSBzdWJ0YWdzIC0gVGhlIHtAbGluayBCY3A0Ny5TdWJ0YWdzIHwgc3VidGFncyB9IHRvIHRlc3QuXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSB7QGxpbmsgQmNwNDcuU3VidGFncyB8IHN1YnRhZ3MgfSByZXByZXNlbnRcbiAgICAgKiBhIHdlbGwtZm9ybWVkIGxhbmd1YWdlIHRhZywgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgICAqIEBleGFtcGxlIGBlbi1VU2AgaXMgdmFsaWQsIGBlbmdsaXNoLVVTYCBpcyBub3QuXG4gICAgICogQHB1YmxpY1xuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgaXNXZWxsRm9ybWVkKHN1YnRhZ3M6IFN1YnRhZ3MpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsaWRhdGVTdWJ0YWdzKHN1YnRhZ3MsICd3ZWxsLWZvcm1lZCcpLmlzU3VjY2VzcygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENob29zZXMgYW4gYXBwcm9wcmlhdGUgZGVmYXVsdCB0YWcgdmFsaWRhdG9yIGdpdmVuIGRlc2lyZWQgYW5kIG9wdGlvbmFsIGN1cnJlbnRcbiAgICAgKiB7QGxpbmsgQmNwNDcuVGFnVmFsaWRpdHkgfCB2YWxpZGF0aW9uIGxldmVsfS5cbiAgICAgKiBAcGFyYW0gd2FudFZhbGlkaXR5IC0gVGhlIGRlc2lyZWQge0BsaW5rIEJjcDQ3LlRhZ1ZhbGlkaXR5IHwgdmFsaWRpdHkgbGV2ZWx9LlxuICAgICAqIEBwYXJhbSBoYXZlVmFsaWRpdHkgLSAob3B0aW9uYWwpIFRoZSBjdXJyZW50IHtAbGluayBCY3A0Ny5UYWdWYWxpZGl0eSB8IHZhbGlkaXR5IGxldmVsfS5cbiAgICAgKiBAcmV0dXJucyBBbiBhcHByb3ByaWF0ZSB7QGxpbmsgQmNwNDcuVGFnVmFsaWRhdG9yIHwgdGFnIHZhbGlkYXRvcn0gb3IgYHVuZGVmaW5lZGAgaWYgbm9cbiAgICAgKiBhZGRpdGlvbmFsIHZhbGlkYXRpb24gaXMgbmVjZXNzYXJ5LlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgY2hvb3NlVmFsaWRhdG9yKHdhbnRWYWxpZGl0eTogVGFnVmFsaWRpdHksIGhhdmVWYWxpZGl0eT86IFRhZ1ZhbGlkaXR5KTogVGFnVmFsaWRhdG9yIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKGhhdmVWYWxpZGl0eSAmJiBjb21wYXJlVmFsaWRpdHkoaGF2ZVZhbGlkaXR5LCB3YW50VmFsaWRpdHkpID49IDApIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuX3ZhbGlkYXRvcnMpIHtcbiAgICAgICAgICAgIHRoaXMuX3ZhbGlkYXRvcnMgPSB7XG4gICAgICAgICAgICAgICAgLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uICovXG4gICAgICAgICAgICAgICAgdW5rbm93bjogbmV3IElzV2VsbEZvcm1lZFZhbGlkYXRvcigpLFxuICAgICAgICAgICAgICAgICd3ZWxsLWZvcm1lZCc6IG5ldyBJc1dlbGxGb3JtZWRWYWxpZGF0b3IoKSxcbiAgICAgICAgICAgICAgICB2YWxpZDogbmV3IElzVmFsaWRWYWxpZGF0b3IoKSxcbiAgICAgICAgICAgICAgICAnc3RyaWN0bHktdmFsaWQnOiBuZXcgSXNTdHJpY3RseVZhbGlkVmFsaWRhdG9yKCksXG4gICAgICAgICAgICAgICAgLyogZXNsaW50LWVuYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbGlkYXRvcnMhW3dhbnRWYWxpZGl0eV07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmFsaWRhdGVzIHN1cHBsaWVkIHtAbGluayBCY3A0Ny5TdWJ0YWdzIHwgc3VidGFncyB9IHRvIGEgcmVxdWVzdGVkXG4gICAgICoge0BsaW5rIEJjcDQ3LlRhZ1ZhbGlkaXR5IHwgdmFsaWRpdHkgbGV2ZWx9LCBpZiBuZWNlc3NhcnkuXG4gICAgICogQHBhcmFtIHN1YnRhZ3MgLSBUaGUge0BsaW5rIEJjcDQ3LlN1YnRhZ3MgfCBzdWJ0YWdzIH0gdG8gYmUgdmFsaWRhdGVkLlxuICAgICAqIEBwYXJhbSB3YW50VmFsaWRpdHkgLSBUaGUgZGVzaXJlZCB7QGxpbmsgQmNwNDcuVGFnVmFsaWRpdHkgfCB2YWxpZGl0eSBsZXZlbH0uXG4gICAgICogQHBhcmFtIGhhdmVWYWxpZGl0eSAtIChvcHRpb25hbCkgVGhlIGN1cnJlbnQge0BsaW5rIEJjcDQ3LlRhZ1ZhbGlkaXR5IHwgdmFsaWRpdHkgbGV2ZWx9LlxuICAgICAqIEByZXR1cm5zIGBTdWNjZXNzYCB3aXRoIHRoZSB2YWxpZGF0ZWQge0BsaW5rIEJjcDQ3LlN1YnRhZ3MgfCBzdWJ0YWdzIH0sIG9yXG4gICAgICogYEZhaWx1cmVgIHdpdGggZGV0YWlscyBpZiBhbiBlcnJvciBvY2N1cnMuXG4gICAgICogQHB1YmxpY1xuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgdmFsaWRhdGVTdWJ0YWdzKHN1YnRhZ3M6IFN1YnRhZ3MsIHdhbnRWYWxpZGl0eTogVGFnVmFsaWRpdHksIGhhdmVWYWxpZGl0eT86IFRhZ1ZhbGlkaXR5KTogUmVzdWx0PGJvb2xlYW4+IHtcbiAgICAgICAgY29uc3QgdmFsaWRhdG9yID0gdGhpcy5jaG9vc2VWYWxpZGF0b3Iod2FudFZhbGlkaXR5LCBoYXZlVmFsaWRpdHkpO1xuICAgICAgICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAtIGEgcGFpbiB0byB0ZXN0XG4gICAgICAgIHJldHVybiB2YWxpZGF0b3I/LnZhbGlkYXRlU3VidGFncyhzdWJ0YWdzKSA/PyBzdWNjZWVkKHRydWUpO1xuICAgIH1cbn1cbiJdfQ==
|
package/data/bcp/overrides.json
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"language": "en",
|
|
4
|
-
"defaultAffinity": "GB",
|
|
5
|
-
"affinity": {
|
|
6
|
-
"us": ["GU", "PH", "PR", "UM", "US", "VI"]
|
|
7
|
-
}
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
"language": "es",
|
|
11
|
-
"defaultAffinity": "419",
|
|
12
|
-
"affinity": {
|
|
13
|
-
"es": ["ES", "GQ", "IC"]
|
|
14
|
-
}
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
"language": "fr",
|
|
18
|
-
"preferredRegion": "FR"
|
|
19
|
-
}
|
|
20
|
-
]
|
|
21
|
-
|