@fgv/ts-bcp47 0.5.1 → 0.5.2
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/{src/bcp47 → bcp47}/bcp47Subtags/converters.d.ts +0 -0
- package/bcp47/bcp47Subtags/converters.d.ts.map +1 -0
- package/{src/bcp47 → bcp47}/bcp47Subtags/converters.js +1 -1
- package/{src/bcp47 → bcp47}/bcp47Subtags/index.d.ts +0 -0
- package/bcp47/bcp47Subtags/index.d.ts.map +1 -0
- package/{src/iana/jar/language-subtags/converters.js → bcp47/bcp47Subtags/index.js} +8 -6
- package/{src/bcp47 → bcp47}/bcp47Subtags/model.d.ts +0 -0
- package/bcp47/bcp47Subtags/model.d.ts.map +1 -0
- package/{src/bcp47/overrides → bcp47/bcp47Subtags}/model.js +1 -1
- package/{src/bcp47 → bcp47}/bcp47Subtags/validate.d.ts +0 -0
- package/bcp47/bcp47Subtags/validate.d.ts.map +1 -0
- package/bcp47/bcp47Subtags/validate.js +74 -0
- package/{src/bcp47 → bcp47}/common.d.ts +0 -0
- package/bcp47/common.d.ts.map +1 -0
- package/bcp47/common.js +59 -0
- package/{src/bcp47 → bcp47}/helpers.d.ts +0 -0
- package/bcp47/helpers.d.ts.map +1 -0
- package/bcp47/helpers.js +103 -0
- package/{src/bcp47 → bcp47}/index.d.ts +0 -0
- package/bcp47/index.d.ts.map +1 -0
- package/bcp47/index.js +27 -0
- package/bcp47/languageRegistryData.d.ts +88 -0
- package/bcp47/languageRegistryData.d.ts.map +1 -0
- package/bcp47/languageRegistryData.js +144 -0
- package/{src/bcp47 → bcp47}/languageTag.d.ts +6 -0
- package/bcp47/languageTag.d.ts.map +1 -0
- package/bcp47/languageTag.js +344 -0
- package/{src/bcp47 → bcp47}/languageTagParser.d.ts +0 -0
- package/bcp47/languageTagParser.d.ts.map +1 -0
- package/bcp47/languageTagParser.js +310 -0
- package/{src/bcp47 → bcp47}/match/chooser.d.ts +1 -1
- package/bcp47/match/chooser.d.ts.map +1 -0
- package/bcp47/match/chooser.js +92 -0
- package/{src/bcp47 → bcp47}/match/common.d.ts +0 -0
- package/bcp47/match/common.d.ts.map +1 -0
- package/bcp47/match/common.js +42 -0
- package/{src/bcp47 → bcp47}/match/index.d.ts +0 -0
- package/bcp47/match/index.d.ts.map +1 -0
- package/{src/iana/jar/language-subtags/registry/converters.js → bcp47/match/index.js} +10 -23
- package/{src/bcp47 → bcp47}/match/similarity.d.ts +0 -0
- package/bcp47/match/similarity.d.ts.map +1 -0
- package/bcp47/match/similarity.js +230 -0
- package/{src/bcp47 → bcp47}/normalization/baseNormalizer.d.ts +0 -0
- package/bcp47/normalization/baseNormalizer.d.ts.map +1 -0
- package/bcp47/normalization/baseNormalizer.js +114 -0
- package/{src/bcp47 → bcp47}/normalization/canonicalNormalizer.d.ts +0 -0
- package/bcp47/normalization/canonicalNormalizer.d.ts.map +1 -0
- package/bcp47/normalization/canonicalNormalizer.js +110 -0
- package/{src/bcp47 → bcp47}/normalization/common.d.ts +0 -0
- package/bcp47/normalization/common.d.ts.map +1 -0
- package/bcp47/normalization/common.js +82 -0
- package/{src/bcp47 → bcp47}/normalization/index.d.ts +0 -0
- package/bcp47/normalization/index.d.ts.map +1 -0
- package/{src/bcp47 → bcp47}/normalization/index.js +1 -1
- package/{src/bcp47 → bcp47}/normalization/normalizeTag.d.ts +0 -0
- package/bcp47/normalization/normalizeTag.d.ts.map +1 -0
- package/bcp47/normalization/normalizeTag.js +105 -0
- package/{src/bcp47 → bcp47}/normalization/preferredTagNormalizer.d.ts +0 -0
- package/bcp47/normalization/preferredTagNormalizer.d.ts.map +1 -0
- package/bcp47/normalization/preferredTagNormalizer.js +178 -0
- package/{src/bcp47 → bcp47}/overrides/converters.d.ts +0 -0
- package/bcp47/overrides/converters.d.ts.map +1 -0
- package/bcp47/overrides/converters.js +75 -0
- package/{src/bcp47 → bcp47}/overrides/defaultRegistries.d.ts +0 -0
- package/bcp47/overrides/defaultRegistries.d.ts.map +1 -0
- package/bcp47/overrides/defaultRegistries.js +42 -0
- package/{src/bcp47 → bcp47}/overrides/index.d.ts +0 -0
- package/bcp47/overrides/index.d.ts.map +1 -0
- package/bcp47/overrides/index.js +30 -0
- package/{src/bcp47 → bcp47}/overrides/model.d.ts +0 -0
- package/bcp47/overrides/model.d.ts.map +1 -0
- package/bcp47/overrides/model.js +24 -0
- package/{src/bcp47 → bcp47}/overrides/overridesRegistry.d.ts +0 -0
- package/bcp47/overrides/overridesRegistry.d.ts.map +1 -0
- package/bcp47/overrides/overridesRegistry.js +112 -0
- package/{src/bcp47 → bcp47}/validation/baseValidator.d.ts +0 -0
- package/bcp47/validation/baseValidator.d.ts.map +1 -0
- package/bcp47/validation/baseValidator.js +111 -0
- package/{src/bcp47 → bcp47}/validation/common.d.ts +0 -0
- package/bcp47/validation/common.d.ts.map +1 -0
- package/bcp47/validation/common.js +84 -0
- package/{src/bcp47 → bcp47}/validation/index.d.ts +0 -0
- package/bcp47/validation/index.d.ts.map +1 -0
- package/{src/iana/jar/language-subtags → bcp47/validation}/index.js +14 -17
- package/{src/bcp47 → bcp47}/validation/isCanonical.d.ts +0 -0
- package/bcp47/validation/isCanonical.d.ts.map +1 -0
- package/bcp47/validation/isCanonical.js +101 -0
- package/{src/bcp47 → bcp47}/validation/isInPreferredForm.d.ts +0 -0
- package/bcp47/validation/isInPreferredForm.d.ts.map +1 -0
- package/bcp47/validation/isInPreferredForm.js +73 -0
- package/{src/bcp47 → bcp47}/validation/isStrictlyValid.d.ts +0 -0
- package/bcp47/validation/isStrictlyValid.d.ts.map +1 -0
- package/bcp47/validation/isStrictlyValid.js +98 -0
- package/{src/bcp47 → bcp47}/validation/isValid.d.ts +0 -0
- package/bcp47/validation/isValid.d.ts.map +1 -0
- package/bcp47/validation/isValid.js +115 -0
- package/{src/bcp47 → bcp47}/validation/isWellFormed.d.ts +0 -0
- package/bcp47/validation/isWellFormed.d.ts.map +1 -0
- package/bcp47/validation/isWellFormed.js +98 -0
- package/{src/bcp47 → bcp47}/validation/validateTag.d.ts +0 -0
- package/bcp47/validation/validateTag.d.ts.map +1 -0
- package/bcp47/validation/validateTag.js +159 -0
- package/{src/iana → iana}/common/converters.d.ts +0 -0
- package/iana/common/converters.d.ts.map +1 -0
- package/iana/common/converters.js +84 -0
- package/{src/iana → iana}/common/model.d.ts +0 -0
- package/iana/common/model.d.ts.map +1 -0
- package/{src/unsd/csv → iana/common}/model.js +1 -1
- package/{src/iana → iana}/common/registeredItems.d.ts +0 -0
- package/iana/common/registeredItems.d.ts.map +1 -0
- package/iana/common/registeredItems.js +124 -0
- package/{src/iana → iana}/common/utils.d.ts +0 -0
- package/iana/common/utils.d.ts.map +1 -0
- package/iana/common/utils.js +34 -0
- package/{src/iana → iana}/common/validate.d.ts +0 -0
- package/iana/common/validate.d.ts.map +1 -0
- package/iana/common/validate.js +61 -0
- package/{src/iana → iana}/converters.d.ts +0 -0
- package/iana/converters.d.ts.map +1 -0
- package/{src/iana/jar/model.js → iana/converters.js} +8 -8
- package/{src/iana → iana}/defaultRegistries.d.ts +0 -0
- package/iana/defaultRegistries.d.ts.map +1 -0
- package/iana/defaultRegistries.js +42 -0
- package/{src/iana → iana}/index.d.ts +0 -0
- package/iana/index.d.ts.map +1 -0
- package/{src/iana → iana}/index.js +1 -1
- package/{src/iana → iana}/jar/converters.d.ts +0 -0
- package/iana/jar/converters.d.ts.map +1 -0
- package/{src/iana → iana}/jar/converters.js +1 -1
- package/{src/iana → iana}/jar/index.d.ts +0 -0
- package/iana/jar/index.d.ts.map +1 -0
- package/{src/iana/jar/language-subtags/tags → iana/jar}/index.js +4 -8
- package/{src/iana → iana}/jar/jarConverters.d.ts +0 -0
- package/iana/jar/jarConverters.d.ts.map +1 -0
- package/iana/jar/jarConverters.js +85 -0
- package/{src/iana → iana}/jar/jarModel.d.ts +0 -0
- package/iana/jar/jarModel.d.ts.map +1 -0
- package/{src/iana/common/model.js → iana/jar/jarModel.js} +1 -1
- package/{src/iana → iana}/jar/language-subtags/converters.d.ts +0 -0
- package/iana/jar/language-subtags/converters.d.ts.map +1 -0
- package/{src/iana/jar/language-subtags/model.js → iana/jar/language-subtags/converters.js} +3 -3
- package/{src/iana → iana}/jar/language-subtags/index.d.ts +0 -0
- package/iana/jar/language-subtags/index.d.ts.map +1 -0
- package/{src/utils → iana/jar/language-subtags}/index.js +18 -4
- package/{src/iana → iana}/jar/language-subtags/model.d.ts +0 -0
- package/iana/jar/language-subtags/model.d.ts.map +1 -0
- package/{src/unsd/common.js → iana/jar/language-subtags/model.js} +29 -1
- package/{src/iana → iana}/jar/language-subtags/registry/converters.d.ts +0 -0
- package/iana/jar/language-subtags/registry/converters.d.ts.map +1 -0
- package/{src/iana/language-subtags/common.js → iana/jar/language-subtags/registry/converters.js} +35 -1
- package/{src/iana → iana}/jar/language-subtags/registry/index.d.ts +0 -0
- package/iana/jar/language-subtags/registry/index.d.ts.map +1 -0
- package/{src/bcp47/bcp47Subtags → iana/jar/language-subtags/registry}/index.js +28 -27
- package/{src/iana → iana}/jar/language-subtags/registry/model.d.ts +0 -0
- package/iana/jar/language-subtags/registry/model.d.ts.map +1 -0
- package/iana/jar/language-subtags/registry/model.js +41 -0
- package/{src/iana → iana}/jar/language-subtags/tags/converters.d.ts +0 -0
- package/iana/jar/language-subtags/tags/converters.d.ts.map +1 -0
- package/iana/jar/language-subtags/tags/converters.js +128 -0
- package/{src/iana → iana}/jar/language-subtags/tags/index.d.ts +0 -0
- package/iana/jar/language-subtags/tags/index.d.ts.map +1 -0
- package/{src/iana/converters.js → iana/jar/language-subtags/tags/index.js} +10 -8
- package/{src/iana → iana}/jar/language-subtags/tags/model.d.ts +0 -0
- package/iana/jar/language-subtags/tags/model.d.ts.map +1 -0
- package/{src/unsd/csv/index.js → iana/jar/language-subtags/tags/model.js} +1 -29
- package/{src/iana → iana}/jar/language-subtags/tags/tagValidation.d.ts +0 -0
- package/iana/jar/language-subtags/tags/tagValidation.d.ts.map +1 -0
- package/iana/jar/language-subtags/tags/tagValidation.js +70 -0
- package/{src/iana → iana}/jar/language-subtags/tags/validate.d.ts +0 -0
- package/iana/jar/language-subtags/tags/validate.d.ts.map +1 -0
- package/iana/jar/language-subtags/tags/validate.js +87 -0
- package/{src/iana → iana}/jar/model.d.ts +0 -0
- package/iana/jar/model.d.ts.map +1 -0
- package/{src/iana/jar/language-subtags/registry/index.js → iana/jar/model.js} +26 -27
- package/{src/iana → iana}/language-subtags/common.d.ts +0 -0
- package/iana/language-subtags/common.d.ts.map +1 -0
- package/iana/language-subtags/common.js +24 -0
- package/{src/iana → iana}/language-subtags/converters.d.ts +0 -0
- package/iana/language-subtags/converters.d.ts.map +1 -0
- package/iana/language-subtags/converters.js +200 -0
- package/{src/iana → iana}/language-subtags/index.d.ts +0 -0
- package/iana/language-subtags/index.d.ts.map +1 -0
- package/{src/iana → iana}/language-subtags/index.js +1 -1
- package/{src/iana → iana}/language-subtags/jarConverters.d.ts +12 -12
- package/iana/language-subtags/jarConverters.d.ts.map +1 -0
- package/iana/language-subtags/jarConverters.js +213 -0
- package/{src/iana → iana}/language-subtags/model.d.ts +0 -0
- package/iana/language-subtags/model.d.ts.map +1 -0
- package/iana/language-subtags/model.js +24 -0
- package/{src/iana → iana}/language-subtags/scope.d.ts +0 -0
- package/iana/language-subtags/scope.d.ts.map +1 -0
- package/iana/language-subtags/scope.js +179 -0
- package/{src/iana → iana}/language-subtags/subtagRegistry.d.ts +0 -0
- package/iana/language-subtags/subtagRegistry.d.ts.map +1 -0
- package/iana/language-subtags/subtagRegistry.js +149 -0
- package/{src/iana → iana}/language-subtags/validate.d.ts +0 -0
- package/iana/language-subtags/validate.d.ts.map +1 -0
- package/{src/iana → iana}/language-subtags/validate.js +1 -1
- package/{src/iana → iana}/language-tag-extensions/converters.d.ts +0 -0
- package/iana/language-tag-extensions/converters.d.ts.map +1 -0
- package/iana/language-tag-extensions/converters.js +87 -0
- package/{src/iana → iana}/language-tag-extensions/extensionsRegistry.d.ts +0 -0
- package/iana/language-tag-extensions/extensionsRegistry.d.ts.map +1 -0
- package/iana/language-tag-extensions/extensionsRegistry.js +104 -0
- package/{src/iana → iana}/language-tag-extensions/extensionsScope.d.ts +0 -0
- package/iana/language-tag-extensions/extensionsScope.d.ts.map +1 -0
- package/iana/language-tag-extensions/extensionsScope.js +77 -0
- package/{src/iana → iana}/language-tag-extensions/index.d.ts +0 -0
- package/iana/language-tag-extensions/index.d.ts.map +1 -0
- package/{src/iana → iana}/language-tag-extensions/index.js +1 -1
- package/{src/iana → iana}/language-tag-extensions/jarConverters.d.ts +0 -0
- package/iana/language-tag-extensions/jarConverters.d.ts.map +1 -0
- package/iana/language-tag-extensions/jarConverters.js +102 -0
- package/{src/iana → iana}/language-tag-extensions/model.d.ts +0 -0
- package/iana/language-tag-extensions/model.d.ts.map +1 -0
- package/{src/bcp47/overrides/defaultRegistries.js → iana/language-tag-extensions/model.js} +1 -19
- package/{src/iana → iana}/language-tag-extensions/validate.d.ts +0 -0
- package/iana/language-tag-extensions/validate.d.ts.map +1 -0
- package/iana/language-tag-extensions/validate.js +36 -0
- package/{src/iana → iana}/languageRegistries.d.ts +0 -0
- package/iana/languageRegistries.d.ts.map +1 -0
- package/iana/languageRegistries.js +56 -0
- package/{src/iana → iana}/model.d.ts +0 -0
- package/iana/model.d.ts.map +1 -0
- package/{src/iana → iana}/model.js +1 -1
- package/{src/iana → iana}/validate.d.ts +0 -0
- package/iana/validate.d.ts.map +1 -0
- package/{src/iana → iana}/validate.js +1 -1
- package/{src/index.d.ts → index.d.ts} +0 -0
- package/index.d.ts.map +1 -0
- package/{src/index.js → index.js} +1 -1
- package/package.json +1 -1
- package/{src/unsd → unsd}/areas.d.ts +0 -0
- package/unsd/areas.d.ts.map +1 -0
- package/unsd/areas.js +96 -0
- package/{src/unsd → unsd}/common.d.ts +0 -0
- package/unsd/common.d.ts.map +1 -0
- package/unsd/common.js +24 -0
- package/{src/unsd → unsd}/csv/converters.d.ts +0 -0
- package/unsd/csv/converters.d.ts.map +1 -0
- package/unsd/csv/converters.js +70 -0
- package/{src/unsd → unsd}/csv/index.d.ts +0 -0
- package/unsd/csv/index.d.ts.map +1 -0
- package/{src/iana/jar → unsd/csv}/index.js +1 -1
- package/{src/unsd → unsd}/csv/model.d.ts +0 -0
- package/unsd/csv/model.d.ts.map +1 -0
- package/{src/unsd/index.js → unsd/csv/model.js} +1 -21
- package/{src/unsd → unsd}/defaultRegistries.d.ts +0 -0
- package/unsd/defaultRegistries.d.ts.map +1 -0
- package/unsd/defaultRegistries.js +42 -0
- package/{src/unsd → unsd}/index.d.ts +0 -0
- package/unsd/index.d.ts.map +1 -0
- package/unsd/index.js +44 -0
- package/{src/unsd → unsd}/regionCodes.d.ts +0 -0
- package/unsd/regionCodes.d.ts.map +1 -0
- package/unsd/regionCodes.js +121 -0
- package/{src/unsd → unsd}/regions.d.ts +0 -0
- package/unsd/regions.d.ts.map +1 -0
- package/unsd/regions.js +77 -0
- package/{src/utils → utils}/index.d.ts +0 -0
- package/utils/index.d.ts.map +1 -0
- package/{src/utils/jsonHelpers.js → utils/index.js} +17 -6
- package/{src/utils → utils}/jsonHelpers.d.ts +0 -0
- package/utils/jsonHelpers.d.ts.map +1 -0
- package/{src/iana/jar/language-subtags/tags/model.js → utils/jsonHelpers.js} +7 -2
- package/{src/utils → utils}/validationHelpers.d.ts +0 -0
- package/utils/validationHelpers.d.ts.map +1 -0
- package/utils/validationHelpers.js +88 -0
- package/src/bcp47/bcp47Subtags/converters.d.ts.map +0 -1
- package/src/bcp47/bcp47Subtags/index.d.ts.map +0 -1
- package/src/bcp47/bcp47Subtags/model.d.ts.map +0 -1
- package/src/bcp47/bcp47Subtags/model.js +0 -24
- package/src/bcp47/bcp47Subtags/validate.d.ts.map +0 -1
- package/src/bcp47/bcp47Subtags/validate.js +0 -74
- package/src/bcp47/common.d.ts.map +0 -1
- package/src/bcp47/common.js +0 -59
- package/src/bcp47/helpers.d.ts.map +0 -1
- package/src/bcp47/helpers.js +0 -103
- package/src/bcp47/index.d.ts.map +0 -1
- package/src/bcp47/index.js +0 -27
- package/src/bcp47/languageTag.d.ts.map +0 -1
- package/src/bcp47/languageTag.js +0 -342
- package/src/bcp47/languageTagParser.d.ts.map +0 -1
- package/src/bcp47/languageTagParser.js +0 -310
- package/src/bcp47/match/chooser.d.ts.map +0 -1
- package/src/bcp47/match/chooser.js +0 -92
- package/src/bcp47/match/common.d.ts.map +0 -1
- package/src/bcp47/match/common.js +0 -42
- package/src/bcp47/match/index.d.ts.map +0 -1
- package/src/bcp47/match/index.js +0 -45
- package/src/bcp47/match/similarity.d.ts.map +0 -1
- package/src/bcp47/match/similarity.js +0 -230
- package/src/bcp47/normalization/baseNormalizer.d.ts.map +0 -1
- package/src/bcp47/normalization/baseNormalizer.js +0 -114
- package/src/bcp47/normalization/canonicalNormalizer.d.ts.map +0 -1
- package/src/bcp47/normalization/canonicalNormalizer.js +0 -110
- package/src/bcp47/normalization/common.d.ts.map +0 -1
- package/src/bcp47/normalization/common.js +0 -82
- package/src/bcp47/normalization/index.d.ts.map +0 -1
- package/src/bcp47/normalization/normalizeTag.d.ts.map +0 -1
- package/src/bcp47/normalization/normalizeTag.js +0 -105
- package/src/bcp47/normalization/preferredTagNormalizer.d.ts.map +0 -1
- package/src/bcp47/normalization/preferredTagNormalizer.js +0 -178
- package/src/bcp47/overrides/converters.d.ts.map +0 -1
- package/src/bcp47/overrides/converters.js +0 -75
- package/src/bcp47/overrides/defaultRegistries.d.ts.map +0 -1
- package/src/bcp47/overrides/index.d.ts.map +0 -1
- package/src/bcp47/overrides/index.js +0 -30
- package/src/bcp47/overrides/model.d.ts.map +0 -1
- package/src/bcp47/overrides/overridesRegistry.d.ts.map +0 -1
- package/src/bcp47/overrides/overridesRegistry.js +0 -112
- package/src/bcp47/validation/baseValidator.d.ts.map +0 -1
- package/src/bcp47/validation/baseValidator.js +0 -111
- package/src/bcp47/validation/common.d.ts.map +0 -1
- package/src/bcp47/validation/common.js +0 -84
- package/src/bcp47/validation/index.d.ts.map +0 -1
- package/src/bcp47/validation/index.js +0 -51
- package/src/bcp47/validation/isCanonical.d.ts.map +0 -1
- package/src/bcp47/validation/isCanonical.js +0 -101
- package/src/bcp47/validation/isInPreferredForm.d.ts.map +0 -1
- package/src/bcp47/validation/isInPreferredForm.js +0 -73
- package/src/bcp47/validation/isStrictlyValid.d.ts.map +0 -1
- package/src/bcp47/validation/isStrictlyValid.js +0 -98
- package/src/bcp47/validation/isValid.d.ts.map +0 -1
- package/src/bcp47/validation/isValid.js +0 -115
- package/src/bcp47/validation/isWellFormed.d.ts.map +0 -1
- package/src/bcp47/validation/isWellFormed.js +0 -98
- package/src/bcp47/validation/validateTag.d.ts.map +0 -1
- package/src/bcp47/validation/validateTag.js +0 -159
- package/src/iana/common/converters.d.ts.map +0 -1
- package/src/iana/common/converters.js +0 -84
- package/src/iana/common/model.d.ts.map +0 -1
- package/src/iana/common/registeredItems.d.ts.map +0 -1
- package/src/iana/common/registeredItems.js +0 -124
- package/src/iana/common/utils.d.ts.map +0 -1
- package/src/iana/common/utils.js +0 -34
- package/src/iana/common/validate.d.ts.map +0 -1
- package/src/iana/common/validate.js +0 -61
- package/src/iana/converters.d.ts.map +0 -1
- package/src/iana/defaultRegistries.d.ts.map +0 -1
- package/src/iana/defaultRegistries.js +0 -42
- package/src/iana/index.d.ts.map +0 -1
- package/src/iana/jar/converters.d.ts.map +0 -1
- package/src/iana/jar/index.d.ts.map +0 -1
- package/src/iana/jar/jarConverters.d.ts.map +0 -1
- package/src/iana/jar/jarConverters.js +0 -85
- package/src/iana/jar/jarModel.d.ts.map +0 -1
- package/src/iana/jar/jarModel.js +0 -24
- package/src/iana/jar/language-subtags/converters.d.ts.map +0 -1
- package/src/iana/jar/language-subtags/index.d.ts.map +0 -1
- package/src/iana/jar/language-subtags/model.d.ts.map +0 -1
- package/src/iana/jar/language-subtags/registry/converters.d.ts.map +0 -1
- package/src/iana/jar/language-subtags/registry/index.d.ts.map +0 -1
- package/src/iana/jar/language-subtags/registry/model.d.ts.map +0 -1
- package/src/iana/jar/language-subtags/registry/model.js +0 -41
- package/src/iana/jar/language-subtags/tags/converters.d.ts.map +0 -1
- package/src/iana/jar/language-subtags/tags/converters.js +0 -128
- package/src/iana/jar/language-subtags/tags/index.d.ts.map +0 -1
- package/src/iana/jar/language-subtags/tags/model.d.ts.map +0 -1
- package/src/iana/jar/language-subtags/tags/tagValidation.d.ts.map +0 -1
- package/src/iana/jar/language-subtags/tags/tagValidation.js +0 -70
- package/src/iana/jar/language-subtags/tags/validate.d.ts.map +0 -1
- package/src/iana/jar/language-subtags/tags/validate.js +0 -87
- package/src/iana/jar/model.d.ts.map +0 -1
- package/src/iana/language-subtags/common.d.ts.map +0 -1
- package/src/iana/language-subtags/converters.d.ts.map +0 -1
- package/src/iana/language-subtags/converters.js +0 -200
- package/src/iana/language-subtags/index.d.ts.map +0 -1
- package/src/iana/language-subtags/jarConverters.d.ts.map +0 -1
- package/src/iana/language-subtags/jarConverters.js +0 -213
- package/src/iana/language-subtags/model.d.ts.map +0 -1
- package/src/iana/language-subtags/model.js +0 -24
- package/src/iana/language-subtags/scope.d.ts.map +0 -1
- package/src/iana/language-subtags/scope.js +0 -179
- package/src/iana/language-subtags/subtagRegistry.d.ts.map +0 -1
- package/src/iana/language-subtags/subtagRegistry.js +0 -149
- package/src/iana/language-subtags/validate.d.ts.map +0 -1
- package/src/iana/language-tag-extensions/converters.d.ts.map +0 -1
- package/src/iana/language-tag-extensions/converters.js +0 -87
- package/src/iana/language-tag-extensions/extensionsRegistry.d.ts.map +0 -1
- package/src/iana/language-tag-extensions/extensionsRegistry.js +0 -104
- package/src/iana/language-tag-extensions/extensionsScope.d.ts.map +0 -1
- package/src/iana/language-tag-extensions/extensionsScope.js +0 -77
- package/src/iana/language-tag-extensions/index.d.ts.map +0 -1
- package/src/iana/language-tag-extensions/jarConverters.d.ts.map +0 -1
- package/src/iana/language-tag-extensions/jarConverters.js +0 -102
- package/src/iana/language-tag-extensions/model.d.ts.map +0 -1
- package/src/iana/language-tag-extensions/model.js +0 -24
- package/src/iana/language-tag-extensions/validate.d.ts.map +0 -1
- package/src/iana/language-tag-extensions/validate.js +0 -36
- package/src/iana/languageRegistries.d.ts.map +0 -1
- package/src/iana/languageRegistries.js +0 -56
- package/src/iana/model.d.ts.map +0 -1
- package/src/iana/validate.d.ts.map +0 -1
- package/src/index.d.ts.map +0 -1
- package/src/unsd/areas.d.ts.map +0 -1
- package/src/unsd/areas.js +0 -96
- package/src/unsd/common.d.ts.map +0 -1
- package/src/unsd/csv/converters.d.ts.map +0 -1
- package/src/unsd/csv/converters.js +0 -70
- package/src/unsd/csv/index.d.ts.map +0 -1
- package/src/unsd/csv/model.d.ts.map +0 -1
- package/src/unsd/defaultRegistries.d.ts.map +0 -1
- package/src/unsd/defaultRegistries.js +0 -42
- package/src/unsd/index.d.ts.map +0 -1
- package/src/unsd/regionCodes.d.ts.map +0 -1
- package/src/unsd/regionCodes.js +0 -121
- package/src/unsd/regions.d.ts.map +0 -1
- package/src/unsd/regions.js +0 -77
- package/src/utils/index.d.ts.map +0 -1
- package/src/utils/jsonHelpers.d.ts.map +0 -1
- package/src/utils/validationHelpers.d.ts.map +0 -1
- package/src/utils/validationHelpers.js +0 -88
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JjcDQ3L25vcm1hbGl6YXRpb24vY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7OztBQVFIOzs7O0dBSUc7QUFDSCxNQUFNLGlCQUFpQixHQUFxQztJQUN4RDs7T0FFRztJQUNILE9BQU8sRUFBRSxDQUFDO0lBQ1Y7O09BRUc7SUFDSCxJQUFJLEVBQUUsR0FBRztJQUNUOzs7O09BSUc7SUFDSCxTQUFTLEVBQUUsR0FBRztJQUNkOzs7O09BSUc7SUFDSCxTQUFTLEVBQUUsR0FBRztDQUNqQixDQUFDO0FBRUY7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLG9CQUFvQixDQUFDLEVBQW9CLEVBQUUsRUFBb0I7SUFDM0UsSUFBSSxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsRUFBRTtRQUMvQyxPQUFPLENBQUMsQ0FBQztLQUNaO1NBQU0sSUFBSSxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsRUFBRTtRQUN0RCxPQUFPLENBQUMsQ0FBQyxDQUFDO0tBQ2I7SUFDRCxPQUFPLENBQUMsQ0FBQztBQUNiLENBQUM7QUFQRCxvREFPQztBQUVEOzs7Ozs7R0FNRztBQUNILFNBQWdCLGNBQWMsQ0FBQyxFQUFvQixFQUFFLEVBQW9CO0lBQ3JFLG1EQUFtRDtJQUNuRCxPQUFPLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxHQUFHLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNuRSxDQUFDO0FBSEQsd0NBR0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIyIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuLyoqXG4gKiBEZXNjcmliZXMgdGhlIGRlZ3JlZSBvZiBub3JtYWxpemF0aW9uIG9mIGEgbGFuZ3VhZ2UgdGFnLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBUYWdOb3JtYWxpemF0aW9uID0gJ3Vua25vd24nIHwgJ25vbmUnIHwgJ2Nhbm9uaWNhbCcgfCAncHJlZmVycmVkJztcblxuLyoqXG4gKiBPcmRlcmVkIHJhbmtpbmcgb2YgdGhlIGRlZ3JlZXMgb2Ygbm9ybWFsaXphdGlvbiwgZnJvbSBgdW5rbm93bmAgKGxlYXN0XG4gKiBub3JtYWxpemVkKSB0byBgcHJlZmVycmVkYCAobW9zdCBub3JtYWxpemVkKS5cbiAqIEBwdWJsaWNcbiAqL1xuY29uc3Qgbm9ybWFsaXphdGlvblJhbms6IFJlY29yZDxUYWdOb3JtYWxpemF0aW9uLCBudW1iZXI+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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsaXplVGFnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JjcDQ3L25vcm1hbGl6YXRpb24vbm9ybWFsaXplVGFnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7OztBQUVILDRDQUFnRDtBQUNoRCxxQ0FBa0U7QUFFbEUsK0RBQTREO0FBQzVELHFFQUErRDtBQUkvRDs7O0dBR0c7QUFDSCxNQUFhLFlBQVk7SUFNckI7Ozs7Ozs7O09BUUc7SUFDSSxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQWdCO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSSxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQWdCO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsaUJBQW1DLEVBQUUsaUJBQW9DO1FBQ3BHLElBQUksaUJBQWlCLElBQUksSUFBQSw2QkFBb0IsRUFBQyxpQkFBaUIsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN0RixPQUFPLFNBQVMsQ0FBQztTQUNwQjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxZQUFZLEdBQUc7Z0JBQ2hCLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixJQUFJLEVBQUUsU0FBUztnQkFDZixTQUFTLEVBQUUsSUFBSSx5Q0FBbUIsRUFBRTtnQkFDcEMsU0FBUyxFQUFFLElBQUksNENBQW1CLEVBQUU7YUFDdkMsQ0FBQztTQUNMO1FBQ0QsT0FBTyxJQUFJLENBQUMsWUFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FDMUIsT0FBZ0IsRUFDaEIsaUJBQW1DLEVBQ25DLGlCQUFvQzs7UUFFcEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFDL0UsT0FBTyxNQUFBLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxjQUFjLENBQUMsT0FBTyxDQUFDLG1DQUFJLElBQUEsa0JBQU8sRUFBQyxPQUFPLENBQUMsQ0FBQztJQUNuRSxDQUFDOztBQTdFTCxvQ0E4RUM7QUE3RUc7O0dBRUc7QUFDWSx5QkFBWSxHQUFvRSxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIyIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuaW1wb3J0IHsgUmVzdWx0LCBzdWNjZWVkIH0gZnJvbSAnQGZndi90cy11dGlscyc7XG5pbXBvcnQgeyBUYWdOb3JtYWxpemF0aW9uLCBjb21wYXJlTm9ybWFsaXphdGlvbiB9IGZyb20gJy4vY29tbW9uJztcblxuaW1wb3J0IHsgQ2Fub25pY2FsTm9ybWFsaXplciB9IGZyb20gJy4vY2Fub25pY2FsTm9ybWFsaXplcic7XG5pbXBvcnQgeyBQcmVmZXJyZWROb3JtYWxpemVyIH0gZnJvbSAnLi9wcmVmZXJyZWRUYWdOb3JtYWxpemVyJztcbmltcG9ydCB7IFN1YnRhZ3MgfSBmcm9tICcuLi9jb21tb24nO1xuaW1wb3J0IHsgVGFnTm9ybWFsaXplciB9IGZyb20gJy4vYmFzZU5vcm1hbGl6ZXInO1xuXG4vKipcbiAqIE5vcm1hbGl6YXRpb24gaGVscGVycyBmb3IgQkNQLTQ3IGxhbmd1YWdlIHRhZ3MuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjbGFzcyBOb3JtYWxpemVUYWcge1xuICAgIC8qKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHByaXZhdGUgc3RhdGljIF9ub3JtYWxpemVyczogUmVjb3JkPFRhZ05vcm1hbGl6YXRpb24sIFRhZ05vcm1hbGl6ZXIgfCB1bmRlZmluZWQ+IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYSBCQ1AtNDcgbGFuZ3VhZ2UgdGFnIHRvIGNhbm9uaWNhbCBmb3JtLiAgQ2Fub25pY2FsIGZvcm0gdXNlcyB0aGUgcmVjb21tZW5kZWQgY2FwaXRhbGl6YXRpb24gcnVsZXNcbiAgICAgKiBzcGVjaWZpZWQgaW4ge0BsaW5rIGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM1NjQ2Lmh0bWwjc2VjdGlvbi0yLjEuMSB8IFJGQyA1NjQ2fSBidXQgYXJlIG5vdFxuICAgICAqIG90aGVyd2lzZSBtb2RpZmllZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBzdWJ0YWdzIC0gVGhlIGluZGl2aWR1YWwge0BsaW5rIEJjcDQ3LlN1YnRhZ3MgfCBzdWJ0YWdzfSB0byBiZSBub3JtYWxpemVkLlxuICAgICAqIEByZXR1cm5zIGBTdWNjZXNzYCB3aXRoIHRoZSBub3JtYWxpemVkIGVxdWl2YWxlbnQge0BsaW5rIEJjcDQ3LlN1YnRhZ3MgfCBzdWJ0YWdzfSxcbiAgICAgKiBvciBgRmFpbHVyZWAgd2l0aCBkZXRhaWxzIGlmIGFuIGVycm9yIG9jY3Vycy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHRvQ2Fub25pY2FsKHN1YnRhZ3M6IFN1YnRhZ3MpOiBSZXN1bHQ8U3VidGFncz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5ub3JtYWxpemVTdWJ0YWdzKHN1YnRhZ3MsICdjYW5vbmljYWwnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBhIEJDUC00NyBsYW5ndWFnZSB0YWcgdG8gcHJlZmVycmVkIGZvcm0uICBQcmVmZXJyZWQgZm9ybSB1c2VzIHRoZSByZWNvbW1lbmRlZCBjYXBpdGFsaXphdGlvbiBydWxlc1xuICAgICAqIHNwZWNpZmllZCBpbiB7QGxpbmsgaHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvcmZjL3JmYzU2NDYuaHRtbCNzZWN0aW9uLTIuMS4xIHwgUkZDIDU2NDZ9IGFuZCBhbHNvXG4gICAgICogYXBwbGllcyBhZGRpdGlvbmFsIHByZWZlcnJlZCB2YWx1ZXMgc3BlY2lmaWVkIGluIHRoZVxuICAgICAqIHtAbGluayBodHRwczovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9sYW5ndWFnZS1zdWJ0YWctcmVnaXN0cnkvbGFuZ3VhZ2Utc3VidGFnLXJlZ2lzdHJ5IHwgbGFuZ3VhZ2Ugc3VidGFnIHJlZ2lzdHJ5fTpcbiAgICAgKiBleHRyYW5lb3VzIChzdXBwcmVzc2VkKSBzY3JpcHQgdGFncyBhcmUgcmVtb3ZlZCwgZGVwcmVjYXRlZCBsYW5ndWFnZSwgZXh0bGFuZywgc2NyaXB0IG9yIHJlZ2lvbiB0YWdzIGFyZSByZXBsYWNlZFxuICAgICAqIHdpdGggdXAtdG8tZGF0ZSBwcmVmZXJyZWQgdmFsdWVzLCBhbmQgZ3JhbmRmYXRoZXJlZCBvciByZWR1bmRhbnQgdGFncyB3aXRoIGEgZGVmaW5lZCBwcmVmZXJyZWQtdmFsdWUgYXJlIHJlcGxhY2VkXG4gICAgICogaW4gdGhlaXIgZW50aXJldHkgd2l0aCB0aGUgbmV3IHByZWZlcnJlZCB2YWx1ZS5cbiAgICAgKiBAcGFyYW0gc3VidGFncyAtIFRoZSBpbmRpdmlkdWFsIHtAbGluayBCY3A0Ny5TdWJ0YWdzIHwgc3VidGFnc30gdG8gYmUgbm9ybWFsaXplZC5cbiAgICAgKiBAcmV0dXJucyBgU3VjY2Vzc2Agd2l0aCB0aGUgbm9ybWFsaXplZCBlcXVpdmFsZW50IHtAbGluayBCY3A0Ny5TdWJ0YWdzIHwgc3VidGFnc30sXG4gICAgICogb3IgYEZhaWx1cmVgIHdpdGggZGV0YWlscyBpZiBhbiBlcnJvciBvY2N1cnMuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyB0b1ByZWZlcnJlZChzdWJ0YWdzOiBTdWJ0YWdzKTogUmVzdWx0PFN1YnRhZ3M+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubm9ybWFsaXplU3VidGFncyhzdWJ0YWdzLCAncHJlZmVycmVkJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hvb3NlcyBhbiBhcHByb3ByaWF0ZSBkZWZhdWx0IHRhZyBub3JtYWxpemVyIGdpdmVuIGRlc2lyZWQgYW5kIG9wdGlvbmFsIGN1cnJlbnRcbiAgICAgKiB7QGxpbmsgQmNwNDcuVGFnTm9ybWFsaXphdGlvbiB8IG5vcm1hbGl6YXRpb24gbGV2ZWx9LlxuICAgICAqIEBwYXJhbSB3YW50Tm9ybWFsaXphdGlvbiAtIFRoZSBkZXNpcmVkIHtAbGluayBCY3A0Ny5UYWdOb3JtYWxpemF0aW9uIHwgbm9ybWFsaXphdGlvbiBsZXZlbH0uXG4gICAgICogQHBhcmFtIGhhdmVOb3JtYWxpemF0aW9uIC0gKG9wdGlvbmFsKSBUaGUgY3VycmVudCB7QGxpbmsgQmNwNDcuVGFnTm9ybWFsaXphdGlvbiB8IG5vcm1hbGl6YXRpb24gbGV2ZWx9LlxuICAgICAqIEByZXR1cm5zIEFuIGFwcHJvcHJpYXRlIHtAbGluayBCY3A0Ny5UYWdOb3JtYWxpemVyIHwgdGFnIG5vcm1hbGl6ZXJ9IG9yIGB1bmRlZmluZWRgIGlmIG5vIGFkZGl0aW9uYWxcbiAgICAgKiBub3JtYWxpemF0aW9uIGlzIG5lY2Vzc2FyeS5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGNob29zZU5vcm1hbGl6ZXIod2FudE5vcm1hbGl6YXRpb246IFRhZ05vcm1hbGl6YXRpb24sIGhhdmVOb3JtYWxpemF0aW9uPzogVGFnTm9ybWFsaXphdGlvbik6IFRhZ05vcm1hbGl6ZXIgfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAoaGF2ZU5vcm1hbGl6YXRpb24gJiYgY29tcGFyZU5vcm1hbGl6YXRpb24oaGF2ZU5vcm1hbGl6YXRpb24sIHdhbnROb3JtYWxpemF0aW9uKSA+PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLl9ub3JtYWxpemVycykge1xuICAgICAgICAgICAgdGhpcy5fbm9ybWFsaXplcnMgPSB7XG4gICAgICAgICAgICAgICAgdW5rbm93bjogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIG5vbmU6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBjYW5vbmljYWw6IG5ldyBDYW5vbmljYWxOb3JtYWxpemVyKCksXG4gICAgICAgICAgICAgICAgcHJlZmVycmVkOiBuZXcgUHJlZmVycmVkTm9ybWFsaXplcigpLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fbm9ybWFsaXplcnMhW3dhbnROb3JtYWxpemF0aW9uXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBOb3JtYWxpemVzIHN1cHBsaWVkIHtAbGluayBCY3A0Ny5TdWJ0YWdzIHwgc3VidGFnc30gdG8gYSByZXF1ZXN0ZWRcbiAgICAgKiB7QGxpbmsgQmNwNDcuVGFnTm9ybWFsaXphdGlvbiB8IG5vcm1hbGl6YXRpb24gbGV2ZWx9LCBpZiBuZWNlc3NhcnkuICBJZlxuICAgICAqIG5vIG5vcm1hbGl6YXRpb24gaXMgbmVjZXNzYXJ5LCByZXR1cm5zIHRoZSBzdXBwbGllZCBzdWJ0YWdzLlxuICAgICAqIEBwYXJhbSBzdWJ0YWdzIC0gVGhlIHtAbGluayBCY3A0Ny5TdWJ0YWdzIHwgc3VidGFnc30gdG8gYmUgbm9ybWFsaXplZC5cbiAgICAgKiBAcGFyYW0gd2FudE5vcm1hbGl6YXRpb24gLSBUaGUgZGVzaXJlZCB7QGxpbmsgQmNwNDcuVGFnTm9ybWFsaXphdGlvbiB8IG5vcm1hbGl6YXRpb24gbGV2ZWx9LlxuICAgICAqIEBwYXJhbSBoYXZlTm9ybWFsaXphdGlvbiAtIChvcHRpb25hbCkgVGhlIGN1cnJlbnQge0BsaW5rIEJjcDQ3LlRhZ05vcm1hbGl6YXRpb24gfCBub3JtYWxpemF0aW9uIGxldmVsfS5cbiAgICAgKiBAcmV0dXJucyBgU3VjY2Vzc2Agd2l0aCB0aGUgbm9ybWFsaXplZCB7QGxpbmsgQmNwNDcuU3VidGFncyB8IHN1YnRhZ3N9LCBvclxuICAgICAqIGBGYWlsdXJlYCB3aXRoIGRldGFpbHMgaWYgYW4gZXJyb3Igb2NjdXJzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgbm9ybWFsaXplU3VidGFncyhcbiAgICAgICAgc3VidGFnczogU3VidGFncyxcbiAgICAgICAgd2FudE5vcm1hbGl6YXRpb246IFRhZ05vcm1hbGl6YXRpb24sXG4gICAgICAgIGhhdmVOb3JtYWxpemF0aW9uPzogVGFnTm9ybWFsaXphdGlvblxuICAgICk6IFJlc3VsdDxTdWJ0YWdzPiB7XG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZXIgPSB0aGlzLmNob29zZU5vcm1hbGl6ZXIod2FudE5vcm1hbGl6YXRpb24sIGhhdmVOb3JtYWxpemF0aW9uKTtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZXI/LnByb2Nlc3NTdWJ0YWdzKHN1YnRhZ3MpID8/IHN1Y2NlZWQoc3VidGFncyk7XG4gICAgfVxufVxuIl19
|
|
@@ -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;AAErD;;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;IAOpH,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,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;CAU7D"}
|
|
@@ -1,178 +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
|
-
/**
|
|
55
|
-
* @public
|
|
56
|
-
*/
|
|
57
|
-
class PreferredNormalizer extends baseNormalizer_1.TagNormalizerBase {
|
|
58
|
-
constructor() {
|
|
59
|
-
super(...arguments);
|
|
60
|
-
this.normalization = 'preferred';
|
|
61
|
-
}
|
|
62
|
-
_processLanguage(subtags) {
|
|
63
|
-
var _a;
|
|
64
|
-
if (subtags.primaryLanguage) {
|
|
65
|
-
const language = this._iana.subtags.languages.tryGet(subtags.primaryLanguage);
|
|
66
|
-
if (!language) {
|
|
67
|
-
return (0, ts_utils_1.fail)(`invalid language subtag "${subtags.primaryLanguage}"`);
|
|
68
|
-
}
|
|
69
|
-
return (0, ts_utils_1.succeed)((_a = language.preferredValue) !== null && _a !== void 0 ? _a : language.subtag);
|
|
70
|
-
}
|
|
71
|
-
return (0, ts_utils_1.succeed)(undefined);
|
|
72
|
-
}
|
|
73
|
-
_processExtlangs(subtags) {
|
|
74
|
-
if (subtags.extlangs) {
|
|
75
|
-
return (0, ts_utils_1.mapResults)(subtags.extlangs.map((e) => this._iana.subtags.extlangs.toValidCanonical(e)));
|
|
76
|
-
}
|
|
77
|
-
return (0, ts_utils_1.succeed)(undefined);
|
|
78
|
-
}
|
|
79
|
-
_processScript(subtags) {
|
|
80
|
-
if (subtags.primaryLanguage && subtags.script) {
|
|
81
|
-
const language = this._iana.subtags.languages.tryGet(subtags.primaryLanguage);
|
|
82
|
-
// istanbul ignore next - internal error difficult to test
|
|
83
|
-
if (!language) {
|
|
84
|
-
return (0, ts_utils_1.fail)(`invalid primary language subtag "${subtags.primaryLanguage}.`);
|
|
85
|
-
}
|
|
86
|
-
const script = this._iana.subtags.scripts.toValidCanonical(subtags.script).orDefault();
|
|
87
|
-
if (!script) {
|
|
88
|
-
return (0, ts_utils_1.fail)(`invalid script subtag "${subtags.script}`);
|
|
89
|
-
}
|
|
90
|
-
if (language.suppressScript !== script) {
|
|
91
|
-
return (0, ts_utils_1.succeed)(script);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
return (0, ts_utils_1.succeed)(undefined);
|
|
95
|
-
}
|
|
96
|
-
_processRegion(subtags) {
|
|
97
|
-
if (subtags.region) {
|
|
98
|
-
return this._iana.subtags.regions.get(subtags.region).onSuccess((region) => {
|
|
99
|
-
var _a;
|
|
100
|
-
return (0, ts_utils_1.succeed)((_a = region.preferredValue) !== null && _a !== void 0 ? _a : region.subtag);
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
return (0, ts_utils_1.succeed)(undefined);
|
|
104
|
-
}
|
|
105
|
-
_processVariants(subtags) {
|
|
106
|
-
if (subtags.variants) {
|
|
107
|
-
return (0, ts_utils_1.mapResults)(subtags.variants.map((v) => this._iana.subtags.variants.toValidCanonical(v))).onSuccess((v) => this._verifyUnique('variant', v, (v) => v));
|
|
108
|
-
}
|
|
109
|
-
return (0, ts_utils_1.succeed)(undefined);
|
|
110
|
-
}
|
|
111
|
-
_processExtensionSingleton(singleton) {
|
|
112
|
-
return this._iana.extensions.extensions.toValidCanonical(singleton);
|
|
113
|
-
}
|
|
114
|
-
_processExtensionSubtagValue(value) {
|
|
115
|
-
return Bcp47Subtags.Validate.extensionSubtag.toCanonical(value);
|
|
116
|
-
}
|
|
117
|
-
_processExtensions(subtags) {
|
|
118
|
-
return super._processExtensions(subtags).onSuccess((extensions) => {
|
|
119
|
-
return this._verifyUnique('extensions', extensions, (e) => e.singleton);
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
_processPrivateUseTags(subtags) {
|
|
123
|
-
if (subtags.privateUse) {
|
|
124
|
-
return (0, ts_utils_1.mapResults)(subtags.privateUse.map((pu) => Iana.LanguageSubtags.Validate.extendedLanguageRange.toCanonical(pu)));
|
|
125
|
-
}
|
|
126
|
-
return (0, ts_utils_1.succeed)(subtags.privateUse);
|
|
127
|
-
}
|
|
128
|
-
_processGrandfatheredTags(subtags) {
|
|
129
|
-
if (subtags.grandfathered) {
|
|
130
|
-
return this._iana.subtags.grandfathered.toValidCanonical(subtags.grandfathered);
|
|
131
|
-
}
|
|
132
|
-
return (0, ts_utils_1.succeed)(undefined);
|
|
133
|
-
}
|
|
134
|
-
_postValidateGrandfatheredTag(subtags) {
|
|
135
|
-
if (subtags.grandfathered) {
|
|
136
|
-
return this._iana.subtags.grandfathered.get(subtags.grandfathered).onSuccess((grandfathered) => {
|
|
137
|
-
if (grandfathered.preferredValue) {
|
|
138
|
-
return languageTagParser_1.LanguageTagParser.parse(grandfathered.preferredValue, this._iana)
|
|
139
|
-
.onSuccess((gfSubtags) => {
|
|
140
|
-
// istanbul ignore next - would require a registry error too hard to test
|
|
141
|
-
if (gfSubtags.grandfathered !== undefined) {
|
|
142
|
-
return (0, ts_utils_1.fail)(`preferred value ${grandfathered.preferredValue} of grandfathered tag ${subtags.grandfathered} is also grandfathered.`);
|
|
143
|
-
}
|
|
144
|
-
return this.processSubtags(gfSubtags);
|
|
145
|
-
})
|
|
146
|
-
.onFailure(
|
|
147
|
-
// istanbul ignore next - would require a registry error too hard to test
|
|
148
|
-
(message) => {
|
|
149
|
-
// istanbul ignore next - would require a registry error too hard to test
|
|
150
|
-
return (0, ts_utils_1.fail)(`grandfathered tag "${subtags.grandfathered}" has invalid preferred value "${grandfathered.preferredValue}":\n${message}`);
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
return (0, ts_utils_1.succeed)(subtags);
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
return (0, ts_utils_1.succeed)(subtags);
|
|
157
|
-
}
|
|
158
|
-
_postValidateRedundantTag(subtags) {
|
|
159
|
-
const tag = (0, common_1.subtagsToString)(subtags);
|
|
160
|
-
const redundant = this._iana.subtags.redundant.tryGetCanonical(tag);
|
|
161
|
-
if (redundant === null || redundant === void 0 ? void 0 : redundant.preferredValue) {
|
|
162
|
-
return languageTagParser_1.LanguageTagParser.parse(redundant.preferredValue, this._iana);
|
|
163
|
-
}
|
|
164
|
-
return (0, ts_utils_1.succeed)(subtags);
|
|
165
|
-
}
|
|
166
|
-
_postValidate(subtags) {
|
|
167
|
-
return super._postValidate(subtags).onSuccess((subtags) => {
|
|
168
|
-
if (subtags.extlangs && subtags.extlangs.length > 1) {
|
|
169
|
-
return (0, ts_utils_1.fail)(`${subtags.extlangs.join('-')}: multiple extlang subtags is invalid`);
|
|
170
|
-
}
|
|
171
|
-
return this._postValidateGrandfatheredTag(subtags).onSuccess((subtags) => {
|
|
172
|
-
return this._postValidateRedundantTag(subtags);
|
|
173
|
-
});
|
|
174
|
-
});
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
exports.PreferredNormalizer = PreferredNormalizer;
|
|
178
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZmVycmVkVGFnTm9ybWFsaXplci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iY3A0Ny9ub3JtYWxpemF0aW9uL3ByZWZlcnJlZFRhZ05vcm1hbGl6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCw4REFBZ0Q7QUFDaEQsaURBQW1DO0FBRW5DLHNDQUEyRTtBQUMzRSw0Q0FBa0U7QUFFbEUsNERBQXlEO0FBRXpELHFEQUFxRDtBQUVyRDs7R0FFRztBQUNILE1BQWEsbUJBQW9CLFNBQVEsa0NBQWlCO0lBQTFEOztRQUNvQixrQkFBYSxHQUFxQixXQUFXLENBQUM7SUF1SWxFLENBQUM7SUFySWEsZ0JBQWdCLENBQUMsT0FBZ0I7O1FBQ3ZDLElBQUksT0FBTyxDQUFDLGVBQWUsRUFBRTtZQUN6QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUM5RSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNYLE9BQU8sSUFBQSxlQUFJLEVBQUMsNEJBQTRCLE9BQU8sQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDO2FBQ3ZFO1lBQ0QsT0FBTyxJQUFBLGtCQUFPLEVBQUMsTUFBQSxRQUFRLENBQUMsY0FBYyxtQ0FBSSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDOUQ7UUFDRCxPQUFPLElBQUEsa0JBQU8sRUFBQyxTQUFTLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRVMsZ0JBQWdCLENBQUMsT0FBZ0I7UUFDdkMsSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ2xCLE9BQU8sSUFBQSxxQkFBVSxFQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FB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QUFhLENBQUMsT0FBZ0I7UUFDcEMsT0FBTyxLQUFLLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3RELElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ2pELE9BQU8sSUFBQSxlQUFJLEVBQUMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsdUNBQXVDLENBQUMsQ0FBQzthQUNyRjtZQUNELE9BQU8sSUFBSSxDQUFDLDZCQUE2QixDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUNyRSxPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuRCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKO0FBeElELGtEQXdJQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjIgRXJpayBGb3J0dW5lXG4gKlxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuICpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gKiBTT0ZUV0FSRS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBCY3A0N1N1YnRhZ3MgZnJvbSAnLi4vYmNwNDdTdWJ0YWdzJztcbmltcG9ydCAqIGFzIElhbmEgZnJvbSAnLi4vLi4vaWFuYSc7XG5cbmltcG9ydCB7IEV4dGVuc2lvblN1YnRhZ1ZhbHVlLCBTdWJ0YWdzLCBzdWJ0YWdzVG9TdHJpbmcgfSBmcm9tICcuLi9jb21tb24nO1xuaW1wb3J0IHsgUmVzdWx0LCBmYWlsLCBtYXBSZXN1bHRzLCBzdWNjZWVkIH0gZnJvbSAnQGZndi90cy11dGlscyc7XG5cbmltcG9ydCB7IExhbmd1YWdlVGFnUGFyc2VyIH0gZnJvbSAnLi4vbGFuZ3VhZ2VUYWdQYXJzZXInO1xuaW1wb3J0IHsgVGFnTm9ybWFsaXphdGlvbiB9IGZyb20gJy4vY29tbW9uJztcbmltcG9ydCB7IFRhZ05vcm1hbGl6ZXJCYXNlIH0gZnJvbSAnLi9iYXNlTm9ybWFsaXplcic7XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY2xhc3MgUHJlZmVycmVkTm9ybWFsaXplciBleHRlbmRzIFRhZ05vcm1hbGl6ZXJCYXNlIHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbm9ybWFsaXphdGlvbjogVGFnTm9ybWFsaXphdGlvbiA9ICdwcmVmZXJyZWQnO1xuXG4gICAgcHJvdGVjdGVkIF9wcm9jZXNzTGFuZ3VhZ2Uoc3VidGFnczogU3VidGFncyk6IFJlc3VsdDxJYW5hLkxhbmd1YWdlU3VidGFncy5MYW5ndWFnZVN1YnRhZyB8IHVuZGVmaW5lZD4ge1xuICAgICAgICBpZiAoc3VidGFncy5wcmltYXJ5TGFuZ3VhZ2UpIHtcbiAgICAgICAgICAgIGNvbnN0IGxhbmd1YWdlID0gdGhpcy5faWFuYS5zdWJ0YWdzLmxhbmd1YWdlcy50cnlHZXQoc3VidGFncy5wcmltYXJ5TGFuZ3VhZ2UpO1xuICAgICAgICAgICAgaWYgKCFsYW5ndWFnZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWlsKGBpbnZhbGlkIGxhbmd1YWdlIHN1YnRhZyBcIiR7c3VidGFncy5wcmltYXJ5TGFuZ3VhZ2V9XCJgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBzdWNjZWVkKGxhbmd1YWdlLnByZWZlcnJlZFZhbHVlID8/IGxhbmd1YWdlLnN1YnRhZyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN1Y2NlZWQodW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3Byb2Nlc3NFeHRsYW5ncyhzdWJ0YWdzOiBTdWJ0YWdzKTogUmVzdWx0PElhbmEuTGFuZ3VhZ2VTdWJ0YWdzLkV4dExhbmdTdWJ0YWdbXSB8IHVuZGVmaW5lZD4ge1xuICAgICAgICBpZiAoc3VidGFncy5leHRsYW5ncykge1xuICAgICAgICAgICAgcmV0dXJuIG1hcFJlc3VsdHMoc3VidGFncy5leHRsYW5ncy5tYXAoKGUpID0+IHRoaXMuX2lhbmEuc3VidGFncy5leHRsYW5ncy50b1ZhbGlkQ2Fub25pY2FsKGUpKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN1Y2NlZWQodW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3Byb2Nlc3NTY3JpcHQoc3VidGFnczogU3VidGFncyk6IFJlc3VsdDxJYW5hLkxhbmd1YWdlU3VidGFncy5TY3JpcHRTdWJ0YWcgfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgaWYgKHN1YnRhZ3MucHJpbWFyeUxhbmd1YWdlICYmIHN1YnRhZ3Muc2NyaXB0KSB7XG4gICAgICAgICAgICBjb25zdCBsYW5ndWFnZSA9IHRoaXMuX2lhbmEuc3VidGFncy5sYW5ndWFnZXMudHJ5R2V0KHN1YnRhZ3MucHJpbWFyeUxhbmd1YWdlKTtcbiAgICAgICAgICAgIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0IC0gaW50ZXJuYWwgZXJyb3IgZGlmZmljdWx0IHRvIHRlc3RcbiAgICAgICAgICAgIGlmICghbGFuZ3VhZ2UpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFpbChgaW52YWxpZCBwcmltYXJ5IGxhbmd1YWdlIHN1YnRhZyBcIiR7c3VidGFncy5wcmltYXJ5TGFuZ3VhZ2V9LmApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBzY3JpcHQgPSB0aGlzLl9pYW5hLnN1YnRhZ3Muc2NyaXB0cy50b1ZhbGlkQ2Fub25pY2FsKHN1YnRhZ3Muc2NyaXB0KS5vckRlZmF1bHQoKTtcbiAgICAgICAgICAgIGlmICghc2NyaXB0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhaWwoYGludmFsaWQgc2NyaXB0IHN1YnRhZyBcIiR7c3VidGFncy5zY3JpcHR9YCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChsYW5ndWFnZS5zdXBwcmVzc1NjcmlwdCAhPT0gc2NyaXB0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN1Y2NlZWQoc2NyaXB0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3VjY2VlZCh1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfcHJvY2Vzc1JlZ2lvbihzdWJ0YWdzOiBTdWJ0YWdzKTogUmVzdWx0PElhbmEuTGFuZ3VhZ2VTdWJ0YWdzLlJlZ2lvblN1YnRhZyB8IHVuZGVmaW5lZD4ge1xuICAgICAgICBpZiAoc3VidGFncy5yZWdpb24pIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9pYW5hLnN1YnRhZ3MucmVnaW9ucy5nZXQoc3VidGFncy5yZWdpb24pLm9uU3VjY2VzcygocmVnaW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN1Y2NlZWQocmVnaW9uLnByZWZlcnJlZFZhbHVlID8/IHJlZ2lvbi5zdWJ0YWcpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN1Y2NlZWQodW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3Byb2Nlc3NWYXJpYW50cyhzdWJ0YWdzOiBTdWJ0YWdzKTogUmVzdWx0PElhbmEuTGFuZ3VhZ2VTdWJ0YWdzLlZhcmlhbnRTdWJ0YWdbXSB8IHVuZGVmaW5lZD4ge1xuICAgICAgICBpZiAoc3VidGFncy52YXJpYW50cykge1xuICAgICAgICAgICAgcmV0dXJuIG1hcFJlc3VsdHMoc3VidGFncy52YXJpYW50cy5tYXAoKHYpID0+IHRoaXMuX2lhbmEuc3VidGFncy52YXJpYW50cy50b1ZhbGlkQ2Fub25pY2FsKHYpKSkub25TdWNjZXNzKCh2KSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuX3ZlcmlmeVVuaXF1ZSgndmFyaWFudCcsIHYsICh2KSA9PiB2KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3VjY2VlZCh1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfcHJvY2Vzc0V4dGVuc2lvblNpbmdsZXRvbihzaW5nbGV0b246IEJjcDQ3U3VidGFncy5Nb2RlbC5FeHRlbnNpb25TaW5nbGV0b24pOiBSZXN1bHQ8QmNwNDdTdWJ0YWdzLk1vZGVsLkV4dGVuc2lvblNpbmdsZXRvbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faWFuYS5leHRlbnNpb25zLmV4dGVuc2lvbnMudG9WYWxpZENhbm9uaWNhbChzaW5nbGV0b24pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfcHJvY2Vzc0V4dGVuc2lvblN1YnRhZ1ZhbHVlKHZhbHVlOiBCY3A0N1N1YnRhZ3MuTW9kZWwuRXh0ZW5zaW9uU3VidGFnKTogUmVzdWx0PEJjcDQ3U3VidGFncy5Nb2RlbC5FeHRlbnNpb25TdWJ0YWc+IHtcbiAgICAgICAgcmV0dXJuIEJjcDQ3U3VidGFncy5WYWxpZGF0ZS5leHRlbnNpb25TdWJ0YWcudG9DYW5vbmljYWwodmFsdWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfcHJvY2Vzc0V4dGVuc2lvbnMoc3VidGFnczogU3VidGFncyk6IFJlc3VsdDxFeHRlbnNpb25TdWJ0YWdWYWx1ZVtdIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIHJldHVybiBzdXBlci5fcHJvY2Vzc0V4dGVuc2lvbnMoc3VidGFncykub25TdWNjZXNzKChleHRlbnNpb25zKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fdmVyaWZ5VW5pcXVlKCdleHRlbnNpb25zJywgZXh0ZW5zaW9ucywgKGUpID0+IGUuc2luZ2xldG9uKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9wcm9jZXNzUHJpdmF0ZVVzZVRhZ3Moc3VidGFnczogU3VidGFncyk6IFJlc3VsdDxJYW5hLkxhbmd1YWdlU3VidGFncy5FeHRlbmRlZExhbmd1YWdlUmFuZ2VbXSB8IHVuZGVmaW5lZD4ge1xuICAgICAgICBpZiAoc3VidGFncy5wcml2YXRlVXNlKSB7XG4gICAgICAgICAgICByZXR1cm4gbWFwUmVzdWx0cyhzdWJ0YWdzLnByaXZhdGVVc2UubWFwKChwdSkgPT4gSWFuYS5MYW5ndWFnZVN1YnRhZ3MuVmFsaWRhdGUuZXh0ZW5kZWRMYW5ndWFnZVJhbmdlLnRvQ2Fub25pY2FsKHB1KSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdWNjZWVkKHN1YnRhZ3MucHJpdmF0ZVVzZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9wcm9jZXNzR3JhbmRmYXRoZXJlZFRhZ3Moc3VidGFnczogU3VidGFncyk6IFJlc3VsdDxJYW5hLkxhbmd1YWdlU3VidGFncy5HcmFuZGZhdGhlcmVkVGFnIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIGlmIChzdWJ0YWdzLmdyYW5kZmF0aGVyZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9pYW5hLnN1YnRhZ3MuZ3JhbmRmYXRoZXJlZC50b1ZhbGlkQ2Fub25pY2FsKHN1YnRhZ3MuZ3JhbmRmYXRoZXJlZCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN1Y2NlZWQodW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3Bvc3RWYWxpZGF0ZUdyYW5kZmF0aGVyZWRUYWcoc3VidGFnczogU3VidGFncyk6IFJlc3VsdDxTdWJ0YWdzPiB7XG4gICAgICAgIGlmIChzdWJ0YWdzLmdyYW5kZmF0aGVyZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9pYW5hLnN1YnRhZ3MuZ3JhbmRmYXRoZXJlZC5nZXQoc3VidGFncy5ncmFuZGZhdGhlcmVkKS5vblN1Y2Nlc3MoKGdyYW5kZmF0aGVyZWQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZ3JhbmRmYXRoZXJlZC5wcmVmZXJyZWRWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gTGFuZ3VhZ2VUYWdQYXJzZXIucGFyc2UoZ3JhbmRmYXRoZXJlZC5wcmVmZXJyZWRWYWx1ZSwgdGhpcy5faWFuYSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5vblN1Y2Nlc3MoKGdmU3VidGFncykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0IC0gd291bGQgcmVxdWlyZSBhIHJlZ2lzdHJ5IGVycm9yIHRvbyBoYXJkIHRvIHRlc3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZ2ZTdWJ0YWdzLmdyYW5kZmF0aGVyZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFpbDxTdWJ0YWdzPihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBwcmVmZXJyZWQgdmFsdWUgJHtncmFuZGZhdGhlcmVkLnByZWZlcnJlZFZhbHVlfSBvZiBncmFuZGZhdGhlcmVkIHRhZyAke3N1YnRhZ3MuZ3JhbmRmYXRoZXJlZH0gaXMgYWxzbyBncmFuZGZhdGhlcmVkLmBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc1N1YnRhZ3MoZ2ZTdWJ0YWdzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAub25GYWlsdXJlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0IC0gd291bGQgcmVxdWlyZSBhIHJlZ2lzdHJ5IGVycm9yIHRvbyBoYXJkIHRvIHRlc3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWVzc2FnZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAtIHdvdWxkIHJlcXVpcmUgYSByZWdpc3RyeSBlcnJvciB0b28gaGFyZCB0byB0ZXN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWlsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGdyYW5kZmF0aGVyZWQgdGFnIFwiJHtzdWJ0YWdzLmdyYW5kZmF0aGVyZWR9XCIgaGFzIGludmFsaWQgcHJlZmVycmVkIHZhbHVlIFwiJHtncmFuZGZhdGhlcmVkLnByZWZlcnJlZFZhbHVlfVwiOlxcbiR7bWVzc2FnZX1gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN1Y2NlZWQoc3VidGFncyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3VjY2VlZChzdWJ0YWdzKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3Bvc3RWYWxpZGF0ZVJlZHVuZGFudFRhZyhzdWJ0YWdzOiBTdWJ0YWdzKTogUmVzdWx0PFN1YnRhZ3M+IHtcbiAgICAgICAgY29uc3QgdGFnID0gc3VidGFnc1RvU3RyaW5nKHN1YnRhZ3MpO1xuICAgICAgICBjb25zdCByZWR1bmRhbnQgPSB0aGlzLl9pYW5hLnN1YnRhZ3MucmVkdW5kYW50LnRyeUdldENhbm9uaWNhbCh0YWcpO1xuICAgICAgICBpZiAocmVkdW5kYW50Py5wcmVmZXJyZWRWYWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIExhbmd1YWdlVGFnUGFyc2VyLnBhcnNlKHJlZHVuZGFudC5wcmVmZXJyZWRWYWx1ZSwgdGhpcy5faWFuYSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN1Y2NlZWQoc3VidGFncyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9wb3N0VmFsaWRhdGUoc3VidGFnczogU3VidGFncyk6IFJlc3VsdDxTdWJ0YWdzPiB7XG4gICAgICAgIHJldHVybiBzdXBlci5fcG9zdFZhbGlkYXRlKHN1YnRhZ3MpLm9uU3VjY2Vzcygoc3VidGFncykgPT4ge1xuICAgICAgICAgICAgaWYgKHN1YnRhZ3MuZXh0bGFuZ3MgJiYgc3VidGFncy5leHRsYW5ncy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhaWwoYCR7c3VidGFncy5leHRsYW5ncy5qb2luKCctJyl9OiBtdWx0aXBsZSBleHRsYW5nIHN1YnRhZ3MgaXMgaW52YWxpZGApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3Bvc3RWYWxpZGF0ZUdyYW5kZmF0aGVyZWRUYWcoc3VidGFncykub25TdWNjZXNzKChzdWJ0YWdzKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3Bvc3RWYWxpZGF0ZVJlZHVuZGFudFRhZyhzdWJ0YWdzKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iY3A0Ny9vdmVycmlkZXMvY29udmVydGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVILGlEQUFtQztBQUduQyw0Q0FBbUQ7QUFDbkQsNENBQXdEO0FBRXhEOztHQUVHO0FBQ1UsUUFBQSxzQkFBc0IsR0FBRyxxQkFBVSxDQUFDLFlBQVksQ0FDekQ7SUFDSSxRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWM7SUFDN0QsZUFBZSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZO0lBQ2xFLGVBQWUsRUFBRSxxQkFBVSxDQUFDLE1BQU07SUFDbEMsUUFBUSxFQUFFLHFCQUFVLENBQUMsUUFBUSxDQUFDLHFCQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztDQUN2RyxFQUNELEVBQUUsY0FBYyxFQUFFLENBQUMsVUFBVSxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixDQUFDLEVBQUUsQ0FDekUsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSxxQkFBcUIsR0FBRyxxQkFBVSxDQUFDLE9BQU8sQ0FBQyw4QkFBc0IsQ0FBQyxDQUFDO0FBRWhGOzs7Ozs7R0FNRztBQUNILFNBQWdCLDZCQUE2QixDQUFDLElBQVk7SUFDdEQsT0FBTyxJQUFBLDBCQUFtQixFQUFDLElBQUksRUFBRSw2QkFBcUIsQ0FBQyxDQUFDO0FBQzVELENBQUM7QUFGRCxzRUFFQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjIgRXJpayBGb3J0dW5lXG4gKlxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuICpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gKiBTT0ZUV0FSRS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBJYW5hIGZyb20gJy4uLy4uL2lhbmEnO1xuaW1wb3J0ICogYXMgTW9kZWwgZnJvbSAnLi9tb2RlbCc7XG5cbmltcG9ydCB7IENvbnZlcnRlcnMsIFJlc3VsdCB9IGZyb20gJ0BmZ3YvdHMtdXRpbHMnO1xuaW1wb3J0IHsgY29udmVydEpzb25GaWxlU3luYyB9IGZyb20gJ0BmZ3YvdHMtanNvbi9maWxlJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IGxhbmd1YWdlT3ZlcnJpZGVSZWNvcmQgPSBDb252ZXJ0ZXJzLnN0cmljdE9iamVjdDxNb2RlbC5MYW5ndWFnZU92ZXJyaWRlUmVjb3JkPihcbiAgICB7XG4gICAgICAgIGxhbmd1YWdlOiBJYW5hLkxhbmd1YWdlU3VidGFncy5Db252ZXJ0ZXJzLlRhZ3MubGFuZ3VhZ2VTdWJ0YWcsXG4gICAgICAgIHByZWZlcnJlZFJlZ2lvbjogSWFuYS5MYW5ndWFnZVN1YnRhZ3MuQ29udmVydGVycy5UYWdzLnJlZ2lvblN1YnRhZyxcbiAgICAgICAgZGVmYXVsdEFmZmluaXR5OiBDb252ZXJ0ZXJzLnN0cmluZyxcbiAgICAgICAgYWZmaW5pdHk6IENvbnZlcnRlcnMucmVjb3JkT2YoQ29udmVydGVycy5hcnJheU9mKElhbmEuTGFuZ3VhZ2VTdWJ0YWdzLkNvbnZlcnRlcnMuVGFncy5yZWdpb25TdWJ0YWcpKSxcbiAgICB9LFxuICAgIHsgb3B0aW9uYWxGaWVsZHM6IFsnYWZmaW5pdHknLCAnZGVmYXVsdEFmZmluaXR5JywgJ3ByZWZlcnJlZFJlZ2lvbiddIH1cbik7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCBsYW5ndWFnZU92ZXJyaWRlc0ZpbGUgPSBDb252ZXJ0ZXJzLmFycmF5T2YobGFuZ3VhZ2VPdmVycmlkZVJlY29yZCk7XG5cbi8qKlxuICogTG9hZHMgYSBsYW5ndWFnZSBvdmVycmlkZXMgSlNPTiBmaWxlLlxuICogQGludGVybmFsXG4gKiBAcGFyYW0gcGF0aCAtIFBhdGggZnJvbSB3aGljaCBvdmVycmlkZXMgc2hvdWxkIGJlIGxvYWRlZC5cbiAqIEByZXR1cm5zIGBTdWNjZXNzYCB3aXRoIHRoZSBsb2FkZWQgb3ZlcnJpZGVzIG9yIGBGYWlsdXJlYCB3aXRoIGRldGFpbHMgaWYgYW5cbiAqIGVycm9yIG9jY3Vycy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvYWRMYW5ndWFnZU92ZXJyaWRlc0ZpbGVTeW5jKHBhdGg6IHN0cmluZyk6IFJlc3VsdDxNb2RlbC5MYW5ndWFnZU92ZXJyaWRlUmVjb3JkW10+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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bcp47/overrides/index.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright (c) 2022 Erik Fortune
|
|
4
|
-
*
|
|
5
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
* of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
* in the Software without restriction, including without limitation the rights
|
|
8
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
* copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
* furnished to do so, subject to the following conditions:
|
|
11
|
-
*
|
|
12
|
-
* The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
* copies or substantial portions of the Software.
|
|
14
|
-
*
|
|
15
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
* SOFTWARE.
|
|
22
|
-
*/
|
|
23
|
-
// istanbul ignore file
|
|
24
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
exports.DefaultRegistries = exports.OverridesRegistry = void 0;
|
|
26
|
-
var overridesRegistry_1 = require("./overridesRegistry");
|
|
27
|
-
Object.defineProperty(exports, "OverridesRegistry", { enumerable: true, get: function () { return overridesRegistry_1.OverridesRegistry; } });
|
|
28
|
-
var defaultRegistries_1 = require("./defaultRegistries");
|
|
29
|
-
Object.defineProperty(exports, "DefaultRegistries", { enumerable: true, get: function () { return defaultRegistries_1.DefaultRegistries; } });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmNwNDcvb3ZlcnJpZGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFDSCx1QkFBdUI7OztBQUV2Qix5REFBd0Q7QUFBL0Msc0hBQUEsaUJBQWlCLE9BQUE7QUFDMUIseURBQXdEO0FBQS9DLHNIQUFBLGlCQUFpQixPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyMiBFcmlrIEZvcnR1bmVcbiAqXG4gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4gKlxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4gKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuICpcbiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbiAqIFNPRlRXQVJFLlxuICovXG4vLyBpc3RhbmJ1bCBpZ25vcmUgZmlsZVxuXG5leHBvcnQgeyBPdmVycmlkZXNSZWdpc3RyeSB9IGZyb20gJy4vb3ZlcnJpZGVzUmVnaXN0cnknO1xuZXhwb3J0IHsgRGVmYXVsdFJlZ2lzdHJpZXMgfSBmcm9tICcuL2RlZmF1bHRSZWdpc3RyaWVzJztcbiJdfQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../src/bcp47/overrides/model.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,QAAQ,EAAE,cAAc,CAAC;IACzB,eAAe,CAAC,EAAE,YAAY,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;CAC7C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"overridesRegistry.d.ts","sourceRoot":"","sources":["../../../../src/bcp47/overrides/overridesRegistry.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAuB,MAAM,eAAe,CAAC;AAG5D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,cAAc,CAAC;IACzB,eAAe,CAAC,EAAE,YAAY,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;CACxC;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAC1B,SAAgB,SAAS,EAAE,GAAG,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;IAEjE,SAAS;WAIK,MAAM,CAAC,SAAS,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC,iBAAiB,CAAC;WAMhE,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,iBAAiB,CAAC;WAWxD,WAAW,IAAI,MAAM,CAAC,iBAAiB,CAAC;WAIxC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAI/D;;;;;;;;OAQG;IACH,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,sBAAsB,GAAG,MAAM,CAAC,gBAAgB,CAAC;CAmBvG"}
|