@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,112 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright (c) 2022 Erik Fortune
|
|
4
|
-
*
|
|
5
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
* of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
* in the Software without restriction, including without limitation the rights
|
|
8
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
* copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
* furnished to do so, subject to the following conditions:
|
|
11
|
-
*
|
|
12
|
-
* The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
* copies or substantial portions of the Software.
|
|
14
|
-
*
|
|
15
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
* SOFTWARE.
|
|
22
|
-
*/
|
|
23
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
24
|
-
if (k2 === undefined) k2 = k;
|
|
25
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
26
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
27
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
28
|
-
}
|
|
29
|
-
Object.defineProperty(o, k2, desc);
|
|
30
|
-
}) : (function(o, m, k, k2) {
|
|
31
|
-
if (k2 === undefined) k2 = k;
|
|
32
|
-
o[k2] = m[k];
|
|
33
|
-
}));
|
|
34
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
35
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
36
|
-
}) : function(o, v) {
|
|
37
|
-
o["default"] = v;
|
|
38
|
-
});
|
|
39
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
40
|
-
if (mod && mod.__esModule) return mod;
|
|
41
|
-
var result = {};
|
|
42
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
43
|
-
__setModuleDefault(result, mod);
|
|
44
|
-
return result;
|
|
45
|
-
};
|
|
46
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
47
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
48
|
-
};
|
|
49
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
-
exports.OverridesRegistry = void 0;
|
|
51
|
-
const Converters = __importStar(require("./converters"));
|
|
52
|
-
const ts_utils_1 = require("@fgv/ts-utils");
|
|
53
|
-
const overrides_json_1 = __importDefault(require("../../../data/bcp/overrides.json"));
|
|
54
|
-
/**
|
|
55
|
-
* @public
|
|
56
|
-
*/
|
|
57
|
-
class OverridesRegistry {
|
|
58
|
-
constructor() {
|
|
59
|
-
this.overrides = new Map();
|
|
60
|
-
}
|
|
61
|
-
static create(overrides) {
|
|
62
|
-
const registry = new OverridesRegistry();
|
|
63
|
-
overrides.forEach((o) => registry.overrides.set(o.language, o));
|
|
64
|
-
return (0, ts_utils_1.succeed)(registry);
|
|
65
|
-
}
|
|
66
|
-
static createFromJson(from) {
|
|
67
|
-
return Converters.languageOverridesFile
|
|
68
|
-
.convert(from)
|
|
69
|
-
.onSuccess((records) => {
|
|
70
|
-
return (0, ts_utils_1.mapResults)(records.map(OverridesRegistry._overrideFromRecord));
|
|
71
|
-
})
|
|
72
|
-
.onSuccess((overrides) => {
|
|
73
|
-
return OverridesRegistry.create(overrides);
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
static loadDefault() {
|
|
77
|
-
return this.createFromJson(overrides_json_1.default);
|
|
78
|
-
}
|
|
79
|
-
static loadJson(path) {
|
|
80
|
-
return Converters.loadLanguageOverridesFileSync(path).onSuccess(OverridesRegistry.createFromJson);
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Converts a file {@link Bcp47.Overrides.Model.LanguageOverrideRecord | LanguageOverrideRecord }
|
|
84
|
-
* to a runtime {@link Bcp47.Overrides.LanguageOverride | LanguageOverride}.
|
|
85
|
-
* @param record - The {@link Bcp47.Overrides.Model.LanguageOverrideRecord | LanguageOverrideRecord } to
|
|
86
|
-
* be converted.
|
|
87
|
-
* @returns `Success` with the resulting {@link Bcp47.Overrides.LanguageOverride | LanguageOverride}
|
|
88
|
-
* or `Error` with details if an error occurs.
|
|
89
|
-
* @internal
|
|
90
|
-
*/
|
|
91
|
-
static _overrideFromRecord(record) {
|
|
92
|
-
const override = { language: record.language };
|
|
93
|
-
if (record.preferredRegion) {
|
|
94
|
-
override.preferredRegion = record.preferredRegion;
|
|
95
|
-
}
|
|
96
|
-
if (record.defaultAffinity) {
|
|
97
|
-
override.defaultAffinity = record.defaultAffinity;
|
|
98
|
-
}
|
|
99
|
-
if (record.affinity) {
|
|
100
|
-
const affinity = new Map();
|
|
101
|
-
for (const kvp of Object.entries(record.affinity)) {
|
|
102
|
-
for (const region of kvp[1]) {
|
|
103
|
-
affinity.set(region, kvp[0]);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
override.affinity = affinity;
|
|
107
|
-
}
|
|
108
|
-
return (0, ts_utils_1.succeed)(override);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
exports.OverridesRegistry = OverridesRegistry;
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcnJpZGVzUmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmNwNDcvb3ZlcnJpZGVzL292ZXJyaWRlc1JlZ2lzdHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUgseURBQTJDO0FBSTNDLDRDQUE0RDtBQUM1RCxzRkFBZ0U7QUFZaEU7O0dBRUc7QUFDSCxNQUFhLGlCQUFpQjtJQUcxQjtRQUNJLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUE2QjtRQUM5QyxNQUFNLFFBQVEsR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDekMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLE9BQU8sSUFBQSxrQkFBTyxFQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFTSxNQUFNLENBQUMsY0FBYyxDQUFDLElBQWE7UUFDdEMsT0FBTyxVQUFVLENBQUMscUJBQXFCO2FBQ2xDLE9BQU8sQ0FBQyxJQUFJLENBQUM7YUFDYixTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNuQixPQUFPLElBQUEscUJBQVUsRUFBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztRQUMxRSxDQUFDLENBQUM7YUFDRCxTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNyQixPQUFPLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvQyxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFTSxNQUFNLENBQUMsV0FBVztRQUNyQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsd0JBQWdCLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFZO1FBQy9CLE9BQU8sVUFBVSxDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0RyxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDTyxNQUFNLENBQUMsbUJBQW1CLENBQUMsTUFBb0M7UUFDckUsTUFBTSxRQUFRLEdBQXFCLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqRSxJQUFJLE1BQU0sQ0FBQyxlQUFlLEVBQUU7WUFDeEIsUUFBUSxDQUFDLGVBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDO1NBQ3JEO1FBQ0QsSUFBSSxNQUFNLENBQUMsZUFBZSxFQUFFO1lBQ3hCLFFBQVEsQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQztTQUNyRDtRQUNELElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUNqQixNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBd0IsQ0FBQztZQUNqRCxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUMvQyxLQUFLLE1BQU0sTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDekIsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ2hDO2FBQ0o7WUFDRCxRQUFRLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztTQUNoQztRQUNELE9BQU8sSUFBQSxrQkFBTyxFQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdCLENBQUM7Q0FDSjtBQTVERCw4Q0E0REMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIyIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuaW1wb3J0ICogYXMgQ29udmVydGVycyBmcm9tICcuL2NvbnZlcnRlcnMnO1xuaW1wb3J0ICogYXMgTW9kZWwgZnJvbSAnLi9tb2RlbCc7XG5cbmltcG9ydCB7IExhbmd1YWdlU3VidGFnLCBSZWdpb25TdWJ0YWcgfSBmcm9tICcuLi8uLi9pYW5hL2xhbmd1YWdlLXN1YnRhZ3MnO1xuaW1wb3J0IHsgUmVzdWx0LCBtYXBSZXN1bHRzLCBzdWNjZWVkIH0gZnJvbSAnQGZndi90cy11dGlscyc7XG5pbXBvcnQgZGVmYXVsdE92ZXJyaWRlcyBmcm9tICcuLi8uLi8uLi9kYXRhL2JjcC9vdmVycmlkZXMuanNvbic7XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgaW50ZXJmYWNlIExhbmd1YWdlT3ZlcnJpZGUge1xuICAgIGxhbmd1YWdlOiBMYW5ndWFnZVN1YnRhZztcbiAgICBwcmVmZXJyZWRSZWdpb24/OiBSZWdpb25TdWJ0YWc7XG4gICAgZGVmYXVsdEFmZmluaXR5Pzogc3RyaW5nO1xuICAgIGFmZmluaXR5PzogTWFwPFJlZ2lvblN1YnRhZywgc3RyaW5nPjtcbn1cblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjbGFzcyBPdmVycmlkZXNSZWdpc3RyeSB7XG4gICAgcHVibGljIHJlYWRvbmx5IG92ZXJyaWRlczogTWFwPExhbmd1YWdlU3VidGFnLCBMYW5ndWFnZU92ZXJyaWRlPjtcblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5vdmVycmlkZXMgPSBuZXcgTWFwKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGUob3ZlcnJpZGVzOiBMYW5ndWFnZU92ZXJyaWRlW10pOiBSZXN1bHQ8T3ZlcnJpZGVzUmVnaXN0cnk+IHtcbiAgICAgICAgY29uc3QgcmVnaXN0cnkgPSBuZXcgT3ZlcnJpZGVzUmVnaXN0cnkoKTtcbiAgICAgICAgb3ZlcnJpZGVzLmZvckVhY2goKG8pID0+IHJlZ2lzdHJ5Lm92ZXJyaWRlcy5zZXQoby5sYW5ndWFnZSwgbykpO1xuICAgICAgICByZXR1cm4gc3VjY2VlZChyZWdpc3RyeSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGVGcm9tSnNvbihmcm9tOiB1bmtub3duKTogUmVzdWx0PE92ZXJyaWRlc1JlZ2lzdHJ5PiB7XG4gICAgICAgIHJldHVybiBDb252ZXJ0ZXJzLmxhbmd1YWdlT3ZlcnJpZGVzRmlsZVxuICAgICAgICAgICAgLmNvbnZlcnQoZnJvbSlcbiAgICAgICAgICAgIC5vblN1Y2Nlc3MoKHJlY29yZHMpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbWFwUmVzdWx0cyhyZWNvcmRzLm1hcChPdmVycmlkZXNSZWdpc3RyeS5fb3ZlcnJpZGVGcm9tUmVjb3JkKSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLm9uU3VjY2Vzcygob3ZlcnJpZGVzKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIE92ZXJyaWRlc1JlZ2lzdHJ5LmNyZWF0ZShvdmVycmlkZXMpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBsb2FkRGVmYXVsdCgpOiBSZXN1bHQ8T3ZlcnJpZGVzUmVnaXN0cnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlRnJvbUpzb24oZGVmYXVsdE92ZXJyaWRlcyk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBsb2FkSnNvbihwYXRoOiBzdHJpbmcpOiBSZXN1bHQ8T3ZlcnJpZGVzUmVnaXN0cnk+IHtcbiAgICAgICAgcmV0dXJuIENvbnZlcnRlcnMubG9hZExhbmd1YWdlT3ZlcnJpZGVzRmlsZVN5bmMocGF0aCkub25TdWNjZXNzKE92ZXJyaWRlc1JlZ2lzdHJ5LmNyZWF0ZUZyb21Kc29uKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBhIGZpbGUge0BsaW5rIEJjcDQ3Lk92ZXJyaWRlcy5Nb2RlbC5MYW5ndWFnZU92ZXJyaWRlUmVjb3JkIHwgTGFuZ3VhZ2VPdmVycmlkZVJlY29yZCB9XG4gICAgICogdG8gYSBydW50aW1lIHtAbGluayBCY3A0Ny5PdmVycmlkZXMuTGFuZ3VhZ2VPdmVycmlkZSB8IExhbmd1YWdlT3ZlcnJpZGV9LlxuICAgICAqIEBwYXJhbSByZWNvcmQgLSBUaGUge0BsaW5rIEJjcDQ3Lk92ZXJyaWRlcy5Nb2RlbC5MYW5ndWFnZU92ZXJyaWRlUmVjb3JkIHwgTGFuZ3VhZ2VPdmVycmlkZVJlY29yZCB9IHRvXG4gICAgICogYmUgY29udmVydGVkLlxuICAgICAqIEByZXR1cm5zIGBTdWNjZXNzYCB3aXRoIHRoZSByZXN1bHRpbmcge0BsaW5rIEJjcDQ3Lk92ZXJyaWRlcy5MYW5ndWFnZU92ZXJyaWRlIHwgTGFuZ3VhZ2VPdmVycmlkZX1cbiAgICAgKiBvciBgRXJyb3JgIHdpdGggZGV0YWlscyBpZiBhbiBlcnJvciBvY2N1cnMuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHN0YXRpYyBfb3ZlcnJpZGVGcm9tUmVjb3JkKHJlY29yZDogTW9kZWwuTGFuZ3VhZ2VPdmVycmlkZVJlY29yZCk6IFJlc3VsdDxMYW5ndWFnZU92ZXJyaWRlPiB7XG4gICAgICAgIGNvbnN0IG92ZXJyaWRlOiBMYW5ndWFnZU92ZXJyaWRlID0geyBsYW5ndWFnZTogcmVjb3JkLmxhbmd1YWdlIH07XG4gICAgICAgIGlmIChyZWNvcmQucHJlZmVycmVkUmVnaW9uKSB7XG4gICAgICAgICAgICBvdmVycmlkZS5wcmVmZXJyZWRSZWdpb24gPSByZWNvcmQucHJlZmVycmVkUmVnaW9uO1xuICAgICAgICB9XG4gICAgICAgIGlmIChyZWNvcmQuZGVmYXVsdEFmZmluaXR5KSB7XG4gICAgICAgICAgICBvdmVycmlkZS5kZWZhdWx0QWZmaW5pdHkgPSByZWNvcmQuZGVmYXVsdEFmZmluaXR5O1xuICAgICAgICB9XG4gICAgICAgIGlmIChyZWNvcmQuYWZmaW5pdHkpIHtcbiAgICAgICAgICAgIGNvbnN0IGFmZmluaXR5ID0gbmV3IE1hcDxSZWdpb25TdWJ0YWcsIHN0cmluZz4oKTtcbiAgICAgICAgICAgIGZvciAoY29uc3Qga3ZwIG9mIE9iamVjdC5lbnRyaWVzKHJlY29yZC5hZmZpbml0eSkpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHJlZ2lvbiBvZiBrdnBbMV0pIHtcbiAgICAgICAgICAgICAgICAgICAgYWZmaW5pdHkuc2V0KHJlZ2lvbiwga3ZwWzBdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvdmVycmlkZS5hZmZpbml0eSA9IGFmZmluaXR5O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdWNjZWVkKG92ZXJyaWRlKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"baseValidator.d.ts","sourceRoot":"","sources":["../../../../src/bcp47/validation/baseValidator.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAmB,MAAM,WAAW,CAAC;AAC3E,OAAO,EAAE,MAAM,EAA6B,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAE/B,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;CACnD;AAED;;GAEG;AACH,8BAAsB,gBAAiB,YAAW,YAAY;IAC1D,SAAgB,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC;IAC9C,kBAAyB,QAAQ,EAAE,WAAW,CAAC;gBAE5B,IAAI,CAAC,EAAE,IAAI,CAAC,kBAAkB;IAK1C,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;IAkBtD,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAUjE,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAI1D,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,oBAAoB,EAAE,GAAG,SAAS,CAAC;IAcxF,SAAS,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,SAAS,MAAM,EACxC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,CAAC,EAAE,GAAG,SAAS,EACtB,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,GACxB,MAAM,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC;IAkB1B,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IACpE,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IACpE,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAClE,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAClE,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IACpE,SAAS,CAAC,QAAQ,CAAC,wBAAwB,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,CAAC,OAAO,CAAC;IAC3F,SAAS,CAAC,QAAQ,CAAC,0BAA0B,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC;IACtF,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC1E,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;CAChF"}
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright (c) 2022 Erik Fortune
|
|
4
|
-
*
|
|
5
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
* of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
* in the Software without restriction, including without limitation the rights
|
|
8
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
* copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
* furnished to do so, subject to the following conditions:
|
|
11
|
-
*
|
|
12
|
-
* The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
* copies or substantial portions of the Software.
|
|
14
|
-
*
|
|
15
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
* SOFTWARE.
|
|
22
|
-
*/
|
|
23
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
24
|
-
if (k2 === undefined) k2 = k;
|
|
25
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
26
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
27
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
28
|
-
}
|
|
29
|
-
Object.defineProperty(o, k2, desc);
|
|
30
|
-
}) : (function(o, m, k, k2) {
|
|
31
|
-
if (k2 === undefined) k2 = k;
|
|
32
|
-
o[k2] = m[k];
|
|
33
|
-
}));
|
|
34
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
35
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
36
|
-
}) : function(o, v) {
|
|
37
|
-
o["default"] = v;
|
|
38
|
-
});
|
|
39
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
40
|
-
if (mod && mod.__esModule) return mod;
|
|
41
|
-
var result = {};
|
|
42
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
43
|
-
__setModuleDefault(result, mod);
|
|
44
|
-
return result;
|
|
45
|
-
};
|
|
46
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
|
-
exports.TagValidatorBase = void 0;
|
|
48
|
-
const Iana = __importStar(require("../../iana"));
|
|
49
|
-
const common_1 = require("../common");
|
|
50
|
-
const ts_utils_1 = require("@fgv/ts-utils");
|
|
51
|
-
/**
|
|
52
|
-
* @internal
|
|
53
|
-
*/
|
|
54
|
-
class TagValidatorBase {
|
|
55
|
-
constructor(iana) {
|
|
56
|
-
// istanbul ignore next
|
|
57
|
-
this.iana = iana !== null && iana !== void 0 ? iana : Iana.DefaultRegistries.languageRegistries;
|
|
58
|
-
}
|
|
59
|
-
validateSubtags(subtags) {
|
|
60
|
-
return (0, ts_utils_1.allSucceed)([
|
|
61
|
-
this._checkLanguage(subtags),
|
|
62
|
-
this._checkExtlangs(subtags),
|
|
63
|
-
this._checkScript(subtags),
|
|
64
|
-
this._checkRegion(subtags),
|
|
65
|
-
this._checkVariants(subtags),
|
|
66
|
-
this._checkExtensions(subtags),
|
|
67
|
-
this._checkPrivateUseTags(subtags),
|
|
68
|
-
this._checkGrandfatheredTags(subtags),
|
|
69
|
-
], true).onSuccess(() => {
|
|
70
|
-
return this._postValidate(subtags).onSuccess(() => (0, ts_utils_1.succeed)(true));
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
_basicPostValidation(subtags) {
|
|
74
|
-
if (subtags.primaryLanguage === undefined && subtags.grandfathered === undefined && subtags.privateUse === undefined) {
|
|
75
|
-
return (0, ts_utils_1.fail)(`${(0, common_1.subtagsToString)(subtags)}: missing primary language subtag.`);
|
|
76
|
-
}
|
|
77
|
-
if (subtags.extlangs && subtags.extlangs.length > 3) {
|
|
78
|
-
return (0, ts_utils_1.fail)(`${(0, common_1.subtagsToString)(subtags)}: too many extlang subtags`);
|
|
79
|
-
}
|
|
80
|
-
return (0, ts_utils_1.succeed)(subtags);
|
|
81
|
-
}
|
|
82
|
-
_postValidate(subtags) {
|
|
83
|
-
return this._basicPostValidation(subtags);
|
|
84
|
-
}
|
|
85
|
-
_checkExtensions(subtags) {
|
|
86
|
-
if (subtags.extensions) {
|
|
87
|
-
return (0, ts_utils_1.allSucceed)(subtags.extensions.map((ext) => {
|
|
88
|
-
return this._checkExtensionSingleton(ext.singleton).onSuccess(() => {
|
|
89
|
-
return this._checkExtensionSubtagValue(ext.value);
|
|
90
|
-
});
|
|
91
|
-
}), subtags.extensions);
|
|
92
|
-
}
|
|
93
|
-
return (0, ts_utils_1.succeed)(undefined);
|
|
94
|
-
}
|
|
95
|
-
_verifyUnique(description, items, getKey) {
|
|
96
|
-
if (items) {
|
|
97
|
-
const present = new Set();
|
|
98
|
-
return (0, ts_utils_1.allSucceed)(items.map((i) => {
|
|
99
|
-
const key = getKey(i);
|
|
100
|
-
if (present.has(key)) {
|
|
101
|
-
return (0, ts_utils_1.fail)(`${key}: duplicate ${description}`);
|
|
102
|
-
}
|
|
103
|
-
present.add(key);
|
|
104
|
-
return (0, ts_utils_1.succeed)(key);
|
|
105
|
-
}), items);
|
|
106
|
-
}
|
|
107
|
-
return (0, ts_utils_1.succeed)(items);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
exports.TagValidatorBase = TagValidatorBase;
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZVZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iY3A0Ny92YWxpZGF0aW9uL2Jhc2VWYWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCxpREFBbUM7QUFHbkMsc0NBQTJFO0FBQzNFLDRDQUFrRTtBQVlsRTs7R0FFRztBQUNILE1BQXNCLGdCQUFnQjtJQUlsQyxZQUFtQixJQUE4QjtRQUM3Qyx1QkFBdUI7UUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLGFBQUosSUFBSSxjQUFKLElBQUksR0FBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUM7SUFDbEUsQ0FBQztJQUVNLGVBQWUsQ0FBQyxPQUFnQjtRQUNuQyxPQUFPLElBQUEscUJBQVUsRUFDYjtZQUNJLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDO1lBQzVCLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDO1lBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDO1lBQzFCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDO1lBQzFCLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDO1lBQzVCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7WUFDOUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQztZQUNsQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsT0FBTyxDQUFDO1NBQ3hDLEVBQ0QsSUFBSSxDQUNQLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNiLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBQSxrQkFBTyxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdEUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRVMsb0JBQW9CLENBQUMsT0FBZ0I7UUFDM0MsSUFBSSxPQUFPLENBQUMsZUFBZSxLQUFLLFNBQVMsSUFBSSxPQUFPLENBQUMsYUFBYSxLQUFLLFNBQVMsSUFBSSxPQUFPLENBQUMsVUFBVSxLQUFLLFNBQVMsRUFBRTtZQUNsSCxPQUFPLElBQUEsZUFBSSxFQUFDLEdBQUcsSUFBQSx3QkFBZSxFQUFDLE9BQU8sQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1NBQ2hGO1FBQ0QsSUFBSSxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNqRCxPQUFPLElBQUEsZUFBSSxFQUFDLEdBQUcsSUFBQSx3QkFBZSxFQUFDLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1NBQ3hFO1FBQ0QsT0FBTyxJQUFBLGtCQUFPLEVBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVTLGFBQWEsQ0FBQyxPQUFnQjtRQUNwQyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRVMsZ0JBQWdCLENBQUMsT0FBZ0I7UUFDdkMsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFO1lBQ3BCLE9BQU8sSUFBQSxxQkFBVSxFQUNiLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQzNCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO29CQUMvRCxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3RELENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLEVBQ0YsT0FBTyxDQUFDLFVBQVUsQ0FDckIsQ0FBQztTQUNMO1FBQ0QsT0FBTyxJQUFBLGtCQUFPLEVBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVTLGFBQWEsQ0FDbkIsV0FBbUIsRUFDbkIsS0FBc0IsRUFDdEIsTUFBdUI7UUFFdkIsSUFBSSxLQUFLLEVBQUU7WUFDUCxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsRUFBTSxDQUFDO1lBQzlCLE9BQU8sSUFBQSxxQkFBVSxFQUNiLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDWixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RCLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDbEIsT0FBTyxJQUFBLGVBQUksRUFBQyxHQUFHLEdBQUcsZUFBZSxXQUFXLEVBQUUsQ0FBQyxDQUFDO2lCQUNuRDtnQkFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNqQixPQUFPLElBQUEsa0JBQU8sRUFBQyxHQUFHLENBQUMsQ0FBQztZQUN4QixDQUFDLENBQUMsRUFDRixLQUFLLENBQ1IsQ0FBQztTQUNMO1FBQ0QsT0FBTyxJQUFBLGtCQUFPLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztDQVdKO0FBdEZELDRDQXNGQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjIgRXJpayBGb3J0dW5lXG4gKlxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuICpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gKiBTT0ZUV0FSRS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBJYW5hIGZyb20gJy4uLy4uL2lhbmEnO1xuXG5pbXBvcnQgeyBFeHRlbnNpb25TaW5nbGV0b24sIEV4dGVuc2lvblN1YnRhZyB9IGZyb20gJy4uL2JjcDQ3U3VidGFncy9tb2RlbCc7XG5pbXBvcnQgeyBFeHRlbnNpb25TdWJ0YWdWYWx1ZSwgU3VidGFncywgc3VidGFnc1RvU3RyaW5nIH0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7IFJlc3VsdCwgYWxsU3VjY2VlZCwgZmFpbCwgc3VjY2VlZCB9IGZyb20gJ0BmZ3YvdHMtdXRpbHMnO1xuaW1wb3J0IHsgVGFnVmFsaWRpdHkgfSBmcm9tICcuL2NvbW1vbic7XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhZ1ZhbGlkYXRvciB7XG4gICAgcmVhZG9ubHkgdmFsaWRpdHk6IFRhZ1ZhbGlkaXR5O1xuXG4gICAgdmFsaWRhdGVTdWJ0YWdzKHN1YnRhZ3M6IFN1YnRhZ3MpOiBSZXN1bHQ8dHJ1ZT47XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUYWdWYWxpZGF0b3JCYXNlIGltcGxlbWVudHMgVGFnVmFsaWRhdG9yIHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgaWFuYTogSWFuYS5MYW5ndWFnZVJlZ2lzdHJpZXM7XG4gICAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHZhbGlkaXR5OiBUYWdWYWxpZGl0eTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihpYW5hPzogSWFuYS5MYW5ndWFnZVJlZ2lzdHJpZXMpIHtcbiAgICAgICAgLy8gaXN0YW5idWwgaWdub3JlIG5leHRcbiAgICAgICAgdGhpcy5pYW5hID0gaWFuYSA/PyBJYW5hLkRlZmF1bHRSZWdpc3RyaWVzLmxhbmd1YWdlUmVnaXN0cmllcztcbiAgICB9XG5cbiAgICBwdWJsaWMgdmFsaWRhdGVTdWJ0YWdzKHN1YnRhZ3M6IFN1YnRhZ3MpOiBSZXN1bHQ8dHJ1ZT4ge1xuICAgICAgICByZXR1cm4gYWxsU3VjY2VlZChcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICB0aGlzLl9jaGVja0xhbmd1YWdlKHN1YnRhZ3MpLFxuICAgICAgICAgICAgICAgIHRoaXMuX2NoZWNrRXh0bGFuZ3Moc3VidGFncyksXG4gICAgICAgICAgICAgICAgdGhpcy5fY2hlY2tTY3JpcHQoc3VidGFncyksXG4gICAgICAgICAgICAgICAgdGhpcy5fY2hlY2tSZWdpb24oc3VidGFncyksXG4gICAgICAgICAgICAgICAgdGhpcy5fY2hlY2tWYXJpYW50cyhzdWJ0YWdzKSxcbiAgICAgICAgICAgICAgICB0aGlzLl9jaGVja0V4dGVuc2lvbnMoc3VidGFncyksXG4gICAgICAgICAgICAgICAgdGhpcy5fY2hlY2tQcml2YXRlVXNlVGFncyhzdWJ0YWdzKSxcbiAgICAgICAgICAgICAgICB0aGlzLl9jaGVja0dyYW5kZmF0aGVyZWRUYWdzKHN1YnRhZ3MpLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHRydWVcbiAgICAgICAgKS5vblN1Y2Nlc3MoKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3Bvc3RWYWxpZGF0ZShzdWJ0YWdzKS5vblN1Y2Nlc3MoKCkgPT4gc3VjY2VlZCh0cnVlKSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfYmFzaWNQb3N0VmFsaWRhdGlvbihzdWJ0YWdzOiBTdWJ0YWdzKTogUmVzdWx0PFN1YnRhZ3M+IHtcbiAgICAgICAgaWYgKHN1YnRhZ3MucHJpbWFyeUxhbmd1YWdlID09PSB1bmRlZmluZWQgJiYgc3VidGFncy5ncmFuZGZhdGhlcmVkID09PSB1bmRlZmluZWQgJiYgc3VidGFncy5wcml2YXRlVXNlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWlsKGAke3N1YnRhZ3NUb1N0cmluZyhzdWJ0YWdzKX06IG1pc3NpbmcgcHJpbWFyeSBsYW5ndWFnZSBzdWJ0YWcuYCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN1YnRhZ3MuZXh0bGFuZ3MgJiYgc3VidGFncy5leHRsYW5ncy5sZW5ndGggPiAzKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFpbChgJHtzdWJ0YWdzVG9TdHJpbmcoc3VidGFncyl9OiB0b28gbWFueSBleHRsYW5nIHN1YnRhZ3NgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3VjY2VlZChzdWJ0YWdzKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3Bvc3RWYWxpZGF0ZShzdWJ0YWdzOiBTdWJ0YWdzKTogUmVzdWx0PFN1YnRhZ3M+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Jhc2ljUG9zdFZhbGlkYXRpb24oc3VidGFncyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9jaGVja0V4dGVuc2lvbnMoc3VidGFnczogU3VidGFncyk6IFJlc3VsdDxFeHRlbnNpb25TdWJ0YWdWYWx1ZVtdIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIGlmIChzdWJ0YWdzLmV4dGVuc2lvbnMpIHtcbiAgICAgICAgICAgIHJldHVybiBhbGxTdWNjZWVkKFxuICAgICAgICAgICAgICAgIHN1YnRhZ3MuZXh0ZW5zaW9ucy5tYXAoKGV4dCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fY2hlY2tFeHRlbnNpb25TaW5nbGV0b24oZXh0LnNpbmdsZXRvbikub25TdWNjZXNzKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9jaGVja0V4dGVuc2lvblN1YnRhZ1ZhbHVlKGV4dC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHN1YnRhZ3MuZXh0ZW5zaW9uc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3VjY2VlZCh1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfdmVyaWZ5VW5pcXVlPFQsIFRLIGV4dGVuZHMgc3RyaW5nPihcbiAgICAgICAgZGVzY3JpcHRpb246IHN0cmluZyxcbiAgICAgICAgaXRlbXM6IFRbXSB8IHVuZGVmaW5lZCxcbiAgICAgICAgZ2V0S2V5OiAoaXRlbTogVCkgPT4gVEtcbiAgICApOiBSZXN1bHQ8VFtdIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIGlmIChpdGVtcykge1xuICAgICAgICAgICAgY29uc3QgcHJlc2VudCA9IG5ldyBTZXQ8VEs+KCk7XG4gICAgICAgICAgICByZXR1cm4gYWxsU3VjY2VlZChcbiAgICAgICAgICAgICAgICBpdGVtcy5tYXAoKGkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qga2V5ID0gZ2V0S2V5KGkpO1xuICAgICAgICAgICAgICAgICAgICBpZiAocHJlc2VudC5oYXMoa2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhaWwoYCR7a2V5fTogZHVwbGljYXRlICR7ZGVzY3JpcHRpb259YCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcHJlc2VudC5hZGQoa2V5KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN1Y2NlZWQoa2V5KTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBpdGVtc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3VjY2VlZChpdGVtcyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IF9jaGVja0xhbmd1YWdlKHN1YnRhZ3M6IFN1YnRhZ3MpOiBSZXN1bHQ8dW5rbm93bj47XG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IF9jaGVja0V4dGxhbmdzKHN1YnRhZ3M6IFN1YnRhZ3MpOiBSZXN1bHQ8dW5rbm93bj47XG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IF9jaGVja1NjcmlwdChzdWJ0YWdzOiBTdWJ0YWdzKTogUmVzdWx0PHVua25vd24+O1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBfY2hlY2tSZWdpb24oc3VidGFnczogU3VidGFncyk6IFJlc3VsdDx1bmtub3duPjtcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgX2NoZWNrVmFyaWFudHMoc3VidGFnczogU3VidGFncyk6IFJlc3VsdDx1bmtub3duPjtcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgX2NoZWNrRXh0ZW5zaW9uU2luZ2xldG9uKHNpbmdsZXRvbjogRXh0ZW5zaW9uU2luZ2xldG9uKTogUmVzdWx0PHVua25vd24+O1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBfY2hlY2tFeHRlbnNpb25TdWJ0YWdWYWx1ZSh2YWx1ZTogRXh0ZW5zaW9uU3VidGFnKTogUmVzdWx0PHVua25vd24+O1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBfY2hlY2tQcml2YXRlVXNlVGFncyhzdWJ0YWdzOiBTdWJ0YWdzKTogUmVzdWx0PHVua25vd24+O1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBfY2hlY2tHcmFuZGZhdGhlcmVkVGFncyhzdWJ0YWdzOiBTdWJ0YWdzKTogUmVzdWx0PHVua25vd24+O1xufVxuIl19
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/bcp47/validation/common.ts"],"names":[],"mappings":"AAsBA;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,aAAa,GAAG,OAAO,GAAG,gBAAgB,CAAC;AAiCjF;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAO5E;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,GAAG,WAAW,CAEvE"}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright (c) 2022 Erik Fortune
|
|
4
|
-
*
|
|
5
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
* of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
* in the Software without restriction, including without limitation the rights
|
|
8
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
* copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
* furnished to do so, subject to the following conditions:
|
|
11
|
-
*
|
|
12
|
-
* The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
* copies or substantial portions of the Software.
|
|
14
|
-
*
|
|
15
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
* SOFTWARE.
|
|
22
|
-
*/
|
|
23
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
-
exports.mostValid = exports.compareValidity = void 0;
|
|
25
|
-
/**
|
|
26
|
-
* Ordered ranking of the degrees of validity, from `unknown` (least
|
|
27
|
-
* validation) to `strictly-valid` (fully validated).
|
|
28
|
-
* @public
|
|
29
|
-
*/
|
|
30
|
-
const validityRank = {
|
|
31
|
-
/* eslint-disable @typescript-eslint/naming-convention */
|
|
32
|
-
/**
|
|
33
|
-
* No validation has been performed.
|
|
34
|
-
*/
|
|
35
|
-
unknown: 0,
|
|
36
|
-
/**
|
|
37
|
-
* Tag is well-formed {@link https://www.rfc-editor.org/rfc/rfc5646.html#section-2.2.9 | according to RFC 5646}.
|
|
38
|
-
*/
|
|
39
|
-
'well-formed': 0.5,
|
|
40
|
-
/**
|
|
41
|
-
* Tag is valid {@link https://www.rfc-editor.org/rfc/rfc5646.html#section-2.2.9 | according to RFC 5646} -
|
|
42
|
-
* well-formed, and is a registered grandfathered tag or all subtags are registered,
|
|
43
|
-
* with no duplicate extensions or variant subtags.
|
|
44
|
-
*/
|
|
45
|
-
valid: 0.9,
|
|
46
|
-
/**
|
|
47
|
-
* Tag is valid {@link https://www.rfc-editor.org/rfc/rfc5646.html#section-2.2.9 | according to RFC 5646} and meets
|
|
48
|
-
* other constraints described by the RFC - e.g. if present, any extlang or variant subtags have a
|
|
49
|
-
* {@link https://www.rfc-editor.org/rfc/rfc5646.html#section-3.1.8 | valid prefix} as specified by
|
|
50
|
-
* the registry.
|
|
51
|
-
*/
|
|
52
|
-
'strictly-valid': 1.0,
|
|
53
|
-
/* eslint-enable @typescript-eslint/naming-convention */
|
|
54
|
-
};
|
|
55
|
-
/**
|
|
56
|
-
* Determines which of two validity ranks is most normalized.
|
|
57
|
-
* @param v1 - The first {@link TagValidity} to be compared.
|
|
58
|
-
* @param v2 - The second {@link TagValidity} to be compared.
|
|
59
|
-
* @returns `1' if `v1` is more normalized, `-1` if `v2` is more
|
|
60
|
-
* normalized, or `0` if they are identical.
|
|
61
|
-
* @public
|
|
62
|
-
*/
|
|
63
|
-
function compareValidity(v1, v2) {
|
|
64
|
-
if (validityRank[v1] > validityRank[v2]) {
|
|
65
|
-
return 1;
|
|
66
|
-
}
|
|
67
|
-
else if (validityRank[v1] < validityRank[v2]) {
|
|
68
|
-
return -1;
|
|
69
|
-
}
|
|
70
|
-
return 0;
|
|
71
|
-
}
|
|
72
|
-
exports.compareValidity = compareValidity;
|
|
73
|
-
/**
|
|
74
|
-
* Chooses the most valid of two normalization ranks.
|
|
75
|
-
* @param v1 - The first {@link TagValidity} to be compared.
|
|
76
|
-
* @param v2 - The second {@link TagValidity} to be compared.
|
|
77
|
-
* @returns The most validated of `v1` or `v2`.
|
|
78
|
-
* @public
|
|
79
|
-
*/
|
|
80
|
-
function mostValid(v1, v2) {
|
|
81
|
-
return validityRank[v1] >= validityRank[v2] ? v1 : v2;
|
|
82
|
-
}
|
|
83
|
-
exports.mostValid = mostValid;
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JjcDQ3L3ZhbGlkYXRpb24vY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7OztBQVFIOzs7O0dBSUc7QUFDSCxNQUFNLFlBQVksR0FBZ0M7SUFDOUMseURBQXlEO0lBQ3pEOztPQUVHO0lBQ0gsT0FBTyxFQUFFLENBQUM7SUFDVjs7T0FFRztJQUNILGFBQWEsRUFBRSxHQUFHO0lBQ2xCOzs7O09BSUc7SUFDSCxLQUFLLEVBQUUsR0FBRztJQUNWOzs7OztPQUtHO0lBQ0gsZ0JBQWdCLEVBQUUsR0FBRztJQUNyQix3REFBd0Q7Q0FDM0QsQ0FBQztBQUVGOzs7Ozs7O0dBT0c7QUFDSCxTQUFnQixlQUFlLENBQUMsRUFBZSxFQUFFLEVBQWU7SUFDNUQsSUFBSSxZQUFZLENBQUMsRUFBRSxDQUFDLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1FBQ3JDLE9BQU8sQ0FBQyxDQUFDO0tBQ1o7U0FBTSxJQUFJLFlBQVksQ0FBQyxFQUFFLENBQUMsR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLEVBQUU7UUFDNUMsT0FBTyxDQUFDLENBQUMsQ0FBQztLQUNiO0lBQ0QsT0FBTyxDQUFDLENBQUM7QUFDYixDQUFDO0FBUEQsMENBT0M7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFnQixTQUFTLENBQUMsRUFBZSxFQUFFLEVBQWU7SUFDdEQsT0FBTyxZQUFZLENBQUMsRUFBRSxDQUFDLElBQUksWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUMxRCxDQUFDO0FBRkQsOEJBRUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIyIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuLyoqXG4gKiBEZXNjcmliZXMgdGhlIHZhbGlkYXRpb24gbGV2ZWwgb2YgYSBwYXJ0aWN1bGFyIHRhZy5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgVGFnVmFsaWRpdHkgPSAndW5rbm93bicgfCAnd2VsbC1mb3JtZWQnIHwgJ3ZhbGlkJyB8ICdzdHJpY3RseS12YWxpZCc7XG5cbi8qKlxuICogT3JkZXJlZCByYW5raW5nIG9mIHRoZSBkZWdyZWVzIG9mIHZhbGlkaXR5LCBmcm9tIGB1bmtub3duYCAobGVhc3RcbiAqIHZhbGlkYXRpb24pIHRvIGBzdHJpY3RseS12YWxpZGAgKGZ1bGx5IHZhbGlkYXRlZCkuXG4gKiBAcHVibGljXG4gKi9cbmNvbnN0IHZhbGlkaXR5UmFuazogUmVjb3JkPFRhZ1ZhbGlkaXR5LCBudW1iZXI+ID0ge1xuICAgIC8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuICAgIC8qKlxuICAgICAqIE5vIHZhbGlkYXRpb24gaGFzIGJlZW4gcGVyZm9ybWVkLlxuICAgICAqL1xuICAgIHVua25vd246IDAsXG4gICAgLyoqXG4gICAgICogVGFnIGlzIHdlbGwtZm9ybWVkIHtAbGluayBodHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9yZmMvcmZjNTY0Ni5odG1sI3NlY3Rpb24tMi4yLjkgfCBhY2NvcmRpbmcgdG8gUkZDIDU2NDZ9LlxuICAgICAqL1xuICAgICd3ZWxsLWZvcm1lZCc6IDAuNSxcbiAgICAvKipcbiAgICAgKiBUYWcgaXMgdmFsaWQge0BsaW5rIGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM1NjQ2Lmh0bWwjc2VjdGlvbi0yLjIuOSB8IGFjY29yZGluZyB0byBSRkMgNTY0Nn0gLVxuICAgICAqIHdlbGwtZm9ybWVkLCBhbmQgaXMgYSByZWdpc3RlcmVkIGdyYW5kZmF0aGVyZWQgdGFnIG9yIGFsbCBzdWJ0YWdzIGFyZSByZWdpc3RlcmVkLFxuICAgICAqIHdpdGggbm8gZHVwbGljYXRlIGV4dGVuc2lvbnMgb3IgdmFyaWFudCBzdWJ0YWdzLlxuICAgICAqL1xuICAgIHZhbGlkOiAwLjksXG4gICAgLyoqXG4gICAgICogVGFnIGlzIHZhbGlkIHtAbGluayBodHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9yZmMvcmZjNTY0Ni5odG1sI3NlY3Rpb24tMi4yLjkgfCBhY2NvcmRpbmcgdG8gUkZDIDU2NDZ9IGFuZCBtZWV0c1xuICAgICAqIG90aGVyIGNvbnN0cmFpbnRzIGRlc2NyaWJlZCBieSB0aGUgUkZDIC0gZS5nLiBpZiBwcmVzZW50LCBhbnkgZXh0bGFuZyBvciB2YXJpYW50IHN1YnRhZ3MgaGF2ZSBhXG4gICAgICoge0BsaW5rIGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM1NjQ2Lmh0bWwjc2VjdGlvbi0zLjEuOCB8IHZhbGlkIHByZWZpeH0gYXMgc3BlY2lmaWVkIGJ5XG4gICAgICogdGhlIHJlZ2lzdHJ5LlxuICAgICAqL1xuICAgICdzdHJpY3RseS12YWxpZCc6IDEuMCxcbiAgICAvKiBlc2xpbnQtZW5hYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xufTtcblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoaWNoIG9mIHR3byB2YWxpZGl0eSByYW5rcyBpcyBtb3N0IG5vcm1hbGl6ZWQuXG4gKiBAcGFyYW0gdjEgLSBUaGUgZmlyc3Qge0BsaW5rIFRhZ1ZhbGlkaXR5fSB0byBiZSBjb21wYXJlZC5cbiAqIEBwYXJhbSB2MiAtIFRoZSBzZWNvbmQge0BsaW5rIFRhZ1ZhbGlkaXR5fSB0byBiZSBjb21wYXJlZC5cbiAqIEByZXR1cm5zIGAxJyBpZiBgdjFgIGlzIG1vcmUgbm9ybWFsaXplZCwgYC0xYCBpZiBgdjJgIGlzIG1vcmVcbiAqIG5vcm1hbGl6ZWQsIG9yIGAwYCBpZiB0aGV5IGFyZSBpZGVudGljYWwuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21wYXJlVmFsaWRpdHkodjE6IFRhZ1ZhbGlkaXR5LCB2MjogVGFnVmFsaWRpdHkpOiAtMSB8IDAgfCAxIHtcbiAgICBpZiAodmFsaWRpdHlSYW5rW3YxXSA+IHZhbGlkaXR5UmFua1t2Ml0pIHtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgfSBlbHNlIGlmICh2YWxpZGl0eVJhbmtbdjFdIDwgdmFsaWRpdHlSYW5rW3YyXSkge1xuICAgICAgICByZXR1cm4gLTE7XG4gICAgfVxuICAgIHJldHVybiAwO1xufVxuXG4vKipcbiAqIENob29zZXMgdGhlIG1vc3QgdmFsaWQgb2YgdHdvIG5vcm1hbGl6YXRpb24gcmFua3MuXG4gKiBAcGFyYW0gdjEgLSBUaGUgZmlyc3Qge0BsaW5rIFRhZ1ZhbGlkaXR5fSB0byBiZSBjb21wYXJlZC5cbiAqIEBwYXJhbSB2MiAtIFRoZSBzZWNvbmQge0BsaW5rIFRhZ1ZhbGlkaXR5fSB0byBiZSBjb21wYXJlZC5cbiAqIEByZXR1cm5zIFRoZSBtb3N0IHZhbGlkYXRlZCBvZiBgdjFgIG9yIGB2MmAuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtb3N0VmFsaWQodjE6IFRhZ1ZhbGlkaXR5LCB2MjogVGFnVmFsaWRpdHkpOiBUYWdWYWxpZGl0eSB7XG4gICAgcmV0dXJuIHZhbGlkaXR5UmFua1t2MV0gPj0gdmFsaWRpdHlSYW5rW3YyXSA/IHYxIDogdjI7XG59XG4iXX0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bcp47/validation/index.ts"],"names":[],"mappings":"AAuBA,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -1,51 +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
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
25
|
-
if (k2 === undefined) k2 = k;
|
|
26
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
27
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
28
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
29
|
-
}
|
|
30
|
-
Object.defineProperty(o, k2, desc);
|
|
31
|
-
}) : (function(o, m, k, k2) {
|
|
32
|
-
if (k2 === undefined) k2 = k;
|
|
33
|
-
o[k2] = m[k];
|
|
34
|
-
}));
|
|
35
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
36
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.ValidateTag = exports.IsWellFormedValidator = exports.IsValidValidator = exports.IsStrictlyValidValidator = exports.IsCanonicalValidator = void 0;
|
|
40
|
-
__exportStar(require("./common"), exports);
|
|
41
|
-
var isCanonical_1 = require("./isCanonical");
|
|
42
|
-
Object.defineProperty(exports, "IsCanonicalValidator", { enumerable: true, get: function () { return isCanonical_1.IsCanonicalValidator; } });
|
|
43
|
-
var isStrictlyValid_1 = require("./isStrictlyValid");
|
|
44
|
-
Object.defineProperty(exports, "IsStrictlyValidValidator", { enumerable: true, get: function () { return isStrictlyValid_1.IsStrictlyValidValidator; } });
|
|
45
|
-
var isValid_1 = require("./isValid");
|
|
46
|
-
Object.defineProperty(exports, "IsValidValidator", { enumerable: true, get: function () { return isValid_1.IsValidValidator; } });
|
|
47
|
-
var isWellFormed_1 = require("./isWellFormed");
|
|
48
|
-
Object.defineProperty(exports, "IsWellFormedValidator", { enumerable: true, get: function () { return isWellFormed_1.IsWellFormedValidator; } });
|
|
49
|
-
var validateTag_1 = require("./validateTag");
|
|
50
|
-
Object.defineProperty(exports, "ValidateTag", { enumerable: true, get: function () { return validateTag_1.ValidateTag; } });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmNwNDcvdmFsaWRhdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBQ0gsdUJBQXVCOzs7Ozs7Ozs7Ozs7Ozs7OztBQUV2QiwyQ0FBeUI7QUFDekIsNkNBQXFEO0FBQTVDLG1IQUFBLG9CQUFvQixPQUFBO0FBQzdCLHFEQUE2RDtBQUFwRCwySEFBQSx3QkFBd0IsT0FBQTtBQUNqQyxxQ0FBNkM7QUFBcEMsMkdBQUEsZ0JBQWdCLE9BQUE7QUFDekIsK0NBQXVEO0FBQTlDLHFIQUFBLHFCQUFxQixPQUFBO0FBQzlCLDZDQUE0QztBQUFuQywwR0FBQSxXQUFXLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIyIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cbi8vIGlzdGFuYnVsIGlnbm9yZSBmaWxlXG5cbmV4cG9ydCAqIGZyb20gJy4vY29tbW9uJztcbmV4cG9ydCB7IElzQ2Fub25pY2FsVmFsaWRhdG9yIH0gZnJvbSAnLi9pc0Nhbm9uaWNhbCc7XG5leHBvcnQgeyBJc1N0cmljdGx5VmFsaWRWYWxpZGF0b3IgfSBmcm9tICcuL2lzU3RyaWN0bHlWYWxpZCc7XG5leHBvcnQgeyBJc1ZhbGlkVmFsaWRhdG9yIH0gZnJvbSAnLi9pc1ZhbGlkJztcbmV4cG9ydCB7IElzV2VsbEZvcm1lZFZhbGlkYXRvciB9IGZyb20gJy4vaXNXZWxsRm9ybWVkJztcbmV4cG9ydCB7IFZhbGlkYXRlVGFnIH0gZnJvbSAnLi92YWxpZGF0ZVRhZyc7XG4iXX0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"isCanonical.d.ts","sourceRoot":"","sources":["../../../../src/bcp47/validation/isCanonical.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAuB,MAAM,eAAe,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,gBAAgB;IAC/C,QAAQ,EAAE,WAAW,CAAiB;IAE7C,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,GAAG,SAAS,CAAC;IAOnG,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,GAAG,SAAS,CAAC;IAUpG,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,GAAG,SAAS,CAAC;IAI/F,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,GAAG,SAAS,CAAC;IAI/F,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,GAAG,SAAS,CAAC;IAUpG,SAAS,CAAC,wBAAwB,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;IAI7F,SAAS,CAAC,0BAA0B,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;IAIrF,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,qBAAqB,EAAE,GAAG,SAAS,CAAC;IAUlH,SAAS,CAAC,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,GAAG,SAAS,CAAC;CAGjH"}
|
|
@@ -1,101 +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.IsCanonicalValidator = 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 IsCanonicalValidator extends baseValidator_1.TagValidatorBase {
|
|
56
|
-
constructor() {
|
|
57
|
-
super(...arguments);
|
|
58
|
-
this.validity = 'well-formed';
|
|
59
|
-
}
|
|
60
|
-
_checkLanguage(subtags) {
|
|
61
|
-
if (subtags.primaryLanguage) {
|
|
62
|
-
return this.iana.subtags.languages.verifyIsCanonical(subtags.primaryLanguage);
|
|
63
|
-
}
|
|
64
|
-
return (0, ts_utils_1.succeed)(undefined);
|
|
65
|
-
}
|
|
66
|
-
_checkExtlangs(subtags) {
|
|
67
|
-
if (subtags.extlangs) {
|
|
68
|
-
return (0, ts_utils_1.allSucceed)(subtags.extlangs.map((e) => this.iana.subtags.extlangs.verifyIsCanonical(e)), subtags.extlangs);
|
|
69
|
-
}
|
|
70
|
-
return (0, ts_utils_1.succeed)(undefined);
|
|
71
|
-
}
|
|
72
|
-
_checkScript(subtags) {
|
|
73
|
-
return subtags.script ? this.iana.subtags.scripts.verifyIsCanonical(subtags.script) : (0, ts_utils_1.succeed)(undefined);
|
|
74
|
-
}
|
|
75
|
-
_checkRegion(subtags) {
|
|
76
|
-
return subtags.region ? this.iana.subtags.regions.verifyIsCanonical(subtags.region) : (0, ts_utils_1.succeed)(undefined);
|
|
77
|
-
}
|
|
78
|
-
_checkVariants(subtags) {
|
|
79
|
-
if (subtags.variants) {
|
|
80
|
-
return (0, ts_utils_1.allSucceed)(subtags.variants.map((v) => this.iana.subtags.variants.verifyIsCanonical(v)), subtags.variants);
|
|
81
|
-
}
|
|
82
|
-
return (0, ts_utils_1.succeed)(undefined);
|
|
83
|
-
}
|
|
84
|
-
_checkExtensionSingleton(singleton) {
|
|
85
|
-
return this.iana.extensions.extensions.verifyIsCanonical(singleton);
|
|
86
|
-
}
|
|
87
|
-
_checkExtensionSubtagValue(value) {
|
|
88
|
-
return Bcp47Subtags.Validate.extensionSubtag.verifyIsCanonical(value);
|
|
89
|
-
}
|
|
90
|
-
_checkPrivateUseTags(subtags) {
|
|
91
|
-
if (subtags.privateUse) {
|
|
92
|
-
return (0, ts_utils_1.allSucceed)(subtags.privateUse.map((pu) => Iana.LanguageSubtags.Validate.extendedLanguageRange.verifyIsCanonical(pu)), subtags.privateUse);
|
|
93
|
-
}
|
|
94
|
-
return (0, ts_utils_1.succeed)(subtags.privateUse);
|
|
95
|
-
}
|
|
96
|
-
_checkGrandfatheredTags(subtags) {
|
|
97
|
-
return subtags.grandfathered ? this.iana.subtags.grandfathered.verifyIsCanonical(subtags.grandfathered) : (0, ts_utils_1.succeed)(undefined);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
exports.IsCanonicalValidator = IsCanonicalValidator;
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNDYW5vbmljYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmNwNDcvdmFsaWRhdGlvbi9pc0Nhbm9uaWNhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVILDhEQUFnRDtBQUNoRCxpREFBbUM7QUFHbkMsNENBQTREO0FBRzVELG1EQUFtRDtBQUduRDs7R0FFRztBQUNILE1BQWEsb0JBQXFCLFNBQVEsZ0NBQWdCO0lBQTFEOztRQUNXLGFBQVEsR0FBZ0IsYUFBYSxDQUFDO0lBMERqRCxDQUFDO0lBeERhLGNBQWMsQ0FBQyxPQUFnQjtRQUNyQyxJQUFJLE9BQU8sQ0FBQyxlQUFlLEVBQUU7WUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQ2pGO1FBQ0QsT0FBTyxJQUFBLGtCQUFPLEVBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVTLGNBQWMsQ0FBQyxPQUFnQjtRQUNyQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDbEIsT0FBTyxJQUFBLHFCQUFVLEVBQ2IsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUM1RSxPQUFPLENBQUMsUUFBUSxDQUNuQixDQUFDO1NBQ0w7UUFDRCxPQUFPLElBQUEsa0JBQU8sRUFBQyxTQUFTLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRVMsWUFBWSxDQUFDLE9BQWdCO1FBQ25DLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBQSxrQkFBTyxFQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzdHLENBQUM7SUFFUyxZQUFZLENBQUMsT0FBZ0I7UUFDbkMsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFBLGtCQUFPLEVBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0csQ0FBQztJQUVTLGNBQWMsQ0FBQyxPQUFnQjtRQUNyQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDbEIsT0FBTyxJQUFBLHFCQUFVLEVBQ2IsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUM1RSxPQUFPLENBQUMsUUFBUSxDQUNuQixDQUFDO1NBQ0w7UUFDRCxPQUFPLElBQUEsa0JBQU8sRUFBQyxTQUFTLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRVMsd0JBQXdCLENBQUMsU0FBNkI7UUFDNUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVTLDBCQUEwQixDQUFDLEtBQXNCO1FBQ3ZELE9BQU8sWUFBWSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVTLG9CQUFvQixDQUFDLE9BQWdCO1FBQzNDLElBQUksT0FBTyxDQUFDLFVBQVUsRUFBRTtZQUNwQixPQUFPLElBQUEscUJBQVUsRUFDYixPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsRUFDekcsT0FBTyxDQUFDLFVBQVUsQ0FDckIsQ0FBQztTQUNMO1FBQ0QsT0FBTyxJQUFBLGtCQUFPLEVBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFUyx1QkFBdUIsQ0FBQyxPQUFnQjtRQUM5QyxPQUFPLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUEsa0JBQU8sRUFBQyxTQUFTLENBQUMsQ0FBQztJQUNqSSxDQUFDO0NBQ0o7QUEzREQsb0RBMkRDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyMiBFcmlrIEZvcnR1bmVcbiAqXG4gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4gKlxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4gKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuICpcbiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbiAqIFNPRlRXQVJFLlxuICovXG5cbmltcG9ydCAqIGFzIEJjcDQ3U3VidGFncyBmcm9tICcuLi9iY3A0N1N1YnRhZ3MnO1xuaW1wb3J0ICogYXMgSWFuYSBmcm9tICcuLi8uLi9pYW5hJztcblxuaW1wb3J0IHsgRXh0ZW5zaW9uU2luZ2xldG9uLCBFeHRlbnNpb25TdWJ0YWcgfSBmcm9tICcuLi9iY3A0N1N1YnRhZ3MvbW9kZWwnO1xuaW1wb3J0IHsgUmVzdWx0LCBhbGxTdWNjZWVkLCBzdWNjZWVkIH0gZnJvbSAnQGZndi90cy11dGlscyc7XG5cbmltcG9ydCB7IFN1YnRhZ3MgfSBmcm9tICcuLi9jb21tb24nO1xuaW1wb3J0IHsgVGFnVmFsaWRhdG9yQmFzZSB9IGZyb20gJy4vYmFzZVZhbGlkYXRvcic7XG5pbXBvcnQgeyBUYWdWYWxpZGl0eSB9IGZyb20gJy4vY29tbW9uJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIElzQ2Fub25pY2FsVmFsaWRhdG9yIGV4dGVuZHMgVGFnVmFsaWRhdG9yQmFzZSB7XG4gICAgcHVibGljIHZhbGlkaXR5OiBUYWdWYWxpZGl0eSA9ICd3ZWxsLWZvcm1lZCc7XG5cbiAgICBwcm90ZWN0ZWQgX2NoZWNrTGFuZ3VhZ2Uoc3VidGFnczogU3VidGFncyk6IFJlc3VsdDxJYW5hLkxhbmd1YWdlU3VidGFncy5MYW5ndWFnZVN1YnRhZyB8IHVuZGVmaW5lZD4ge1xuICAgICAgICBpZiAoc3VidGFncy5wcmltYXJ5TGFuZ3VhZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmlhbmEuc3VidGFncy5sYW5ndWFnZXMudmVyaWZ5SXNDYW5vbmljYWwoc3VidGFncy5wcmltYXJ5TGFuZ3VhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdWNjZWVkKHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9jaGVja0V4dGxhbmdzKHN1YnRhZ3M6IFN1YnRhZ3MpOiBSZXN1bHQ8SWFuYS5MYW5ndWFnZVN1YnRhZ3MuRXh0TGFuZ1N1YnRhZ1tdIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIGlmIChzdWJ0YWdzLmV4dGxhbmdzKSB7XG4gICAgICAgICAgICByZXR1cm4gYWxsU3VjY2VlZChcbiAgICAgICAgICAgICAgICBzdWJ0YWdzLmV4dGxhbmdzLm1hcCgoZSkgPT4gdGhpcy5pYW5hLnN1YnRhZ3MuZXh0bGFuZ3MudmVyaWZ5SXNDYW5vbmljYWwoZSkpLFxuICAgICAgICAgICAgICAgIHN1YnRhZ3MuZXh0bGFuZ3NcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN1Y2NlZWQodW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX2NoZWNrU2NyaXB0KHN1YnRhZ3M6IFN1YnRhZ3MpOiBSZXN1bHQ8SWFuYS5MYW5ndWFnZVN1YnRhZ3MuU2NyaXB0U3VidGFnIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIHJldHVybiBzdWJ0YWdzLnNjcmlwdCA/IHRoaXMuaWFuYS5zdWJ0YWdzLnNjcmlwdHMudmVyaWZ5SXNDYW5vbmljYWwoc3VidGFncy5zY3JpcHQpIDogc3VjY2VlZCh1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfY2hlY2tSZWdpb24oc3VidGFnczogU3VidGFncyk6IFJlc3VsdDxJYW5hLkxhbmd1YWdlU3VidGFncy5SZWdpb25TdWJ0YWcgfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHN1YnRhZ3MucmVnaW9uID8gdGhpcy5pYW5hLnN1YnRhZ3MucmVnaW9ucy52ZXJpZnlJc0Nhbm9uaWNhbChzdWJ0YWdzLnJlZ2lvbikgOiBzdWNjZWVkKHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9jaGVja1ZhcmlhbnRzKHN1YnRhZ3M6IFN1YnRhZ3MpOiBSZXN1bHQ8SWFuYS5MYW5ndWFnZVN1YnRhZ3MuVmFyaWFudFN1YnRhZ1tdIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIGlmIChzdWJ0YWdzLnZhcmlhbnRzKSB7XG4gICAgICAgICAgICByZXR1cm4gYWxsU3VjY2VlZChcbiAgICAgICAgICAgICAgICBzdWJ0YWdzLnZhcmlhbnRzLm1hcCgodikgPT4gdGhpcy5pYW5hLnN1YnRhZ3MudmFyaWFudHMudmVyaWZ5SXNDYW5vbmljYWwodikpLFxuICAgICAgICAgICAgICAgIHN1YnRhZ3MudmFyaWFudHNcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN1Y2NlZWQodW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX2NoZWNrRXh0ZW5zaW9uU2luZ2xldG9uKHNpbmdsZXRvbjogRXh0ZW5zaW9uU2luZ2xldG9uKTogUmVzdWx0PEV4dGVuc2lvblNpbmdsZXRvbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pYW5hLmV4dGVuc2lvbnMuZXh0ZW5zaW9ucy52ZXJpZnlJc0Nhbm9uaWNhbChzaW5nbGV0b24pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfY2hlY2tFeHRlbnNpb25TdWJ0YWdWYWx1ZSh2YWx1ZTogRXh0ZW5zaW9uU3VidGFnKTogUmVzdWx0PEV4dGVuc2lvblN1YnRhZz4ge1xuICAgICAgICByZXR1cm4gQmNwNDdTdWJ0YWdzLlZhbGlkYXRlLmV4dGVuc2lvblN1YnRhZy52ZXJpZnlJc0Nhbm9uaWNhbCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9jaGVja1ByaXZhdGVVc2VUYWdzKHN1YnRhZ3M6IFN1YnRhZ3MpOiBSZXN1bHQ8SWFuYS5MYW5ndWFnZVN1YnRhZ3MuRXh0ZW5kZWRMYW5ndWFnZVJhbmdlW10gfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgaWYgKHN1YnRhZ3MucHJpdmF0ZVVzZSkge1xuICAgICAgICAgICAgcmV0dXJuIGFsbFN1Y2NlZWQoXG4gICAgICAgICAgICAgICAgc3VidGFncy5wcml2YXRlVXNlLm1hcCgocHUpID0+IElhbmEuTGFuZ3VhZ2VTdWJ0YWdzLlZhbGlkYXRlLmV4dGVuZGVkTGFuZ3VhZ2VSYW5nZS52ZXJpZnlJc0Nhbm9uaWNhbChwdSkpLFxuICAgICAgICAgICAgICAgIHN1YnRhZ3MucHJpdmF0ZVVzZVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3VjY2VlZChzdWJ0YWdzLnByaXZhdGVVc2UpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfY2hlY2tHcmFuZGZhdGhlcmVkVGFncyhzdWJ0YWdzOiBTdWJ0YWdzKTogUmVzdWx0PElhbmEuTGFuZ3VhZ2VTdWJ0YWdzLkdyYW5kZmF0aGVyZWRUYWcgfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHN1YnRhZ3MuZ3JhbmRmYXRoZXJlZCA/IHRoaXMuaWFuYS5zdWJ0YWdzLmdyYW5kZmF0aGVyZWQudmVyaWZ5SXNDYW5vbmljYWwoc3VidGFncy5ncmFuZGZhdGhlcmVkKSA6IHN1Y2NlZWQodW5kZWZpbmVkKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"isInPreferredForm.d.ts","sourceRoot":"","sources":["../../../../src/bcp47/validation/isInPreferredForm.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,MAAM,EAAiB,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,OAAO,EAAmB,MAAM,WAAW,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC;;GAEG;AACH,qBAAa,0BAA2B,YAAW,YAAY;IAC3D,SAAgB,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC;IAC9C,SAAgB,QAAQ,EAAE,WAAW,CAAW;gBAE7B,IAAI,CAAC,EAAE,IAAI,CAAC,kBAAkB;IAK1C,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;CAUzD"}
|
|
@@ -1,73 +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.IsInPreferredFromValidator = void 0;
|
|
48
|
-
const Iana = __importStar(require("../../iana"));
|
|
49
|
-
const ts_utils_1 = require("@fgv/ts-utils");
|
|
50
|
-
const common_1 = require("../common");
|
|
51
|
-
const normalization_1 = require("../normalization");
|
|
52
|
-
/**
|
|
53
|
-
* @internal
|
|
54
|
-
*/
|
|
55
|
-
class IsInPreferredFromValidator {
|
|
56
|
-
constructor(iana) {
|
|
57
|
-
this.validity = 'valid';
|
|
58
|
-
// istanbul ignore next
|
|
59
|
-
this.iana = iana !== null && iana !== void 0 ? iana : Iana.DefaultRegistries.languageRegistries;
|
|
60
|
-
}
|
|
61
|
-
validateSubtags(subtags) {
|
|
62
|
-
return normalization_1.NormalizeTag.toPreferred(subtags).onSuccess((preferred) => {
|
|
63
|
-
const want = (0, common_1.subtagsToString)(preferred);
|
|
64
|
-
const have = (0, common_1.subtagsToString)(subtags);
|
|
65
|
-
if (want !== have) {
|
|
66
|
-
return (0, ts_utils_1.fail)(`${have}: does not match preferred form ${want}`);
|
|
67
|
-
}
|
|
68
|
-
return (0, ts_utils_1.succeed)(true);
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
exports.IsInPreferredFromValidator = IsInPreferredFromValidator;
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNJblByZWZlcnJlZEZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmNwNDcvdmFsaWRhdGlvbi9pc0luUHJlZmVycmVkRm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVILGlEQUFtQztBQUVuQyw0Q0FBc0Q7QUFDdEQsc0NBQXFEO0FBQ3JELG9EQUFnRDtBQUloRDs7R0FFRztBQUNILE1BQWEsMEJBQTBCO0lBSW5DLFlBQW1CLElBQThCO1FBRmpDLGFBQVEsR0FBZ0IsT0FBTyxDQUFDO1FBRzVDLHVCQUF1QjtRQUN2QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksYUFBSixJQUFJLGNBQUosSUFBSSxHQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQztJQUNsRSxDQUFDO0lBRU0sZUFBZSxDQUFDLE9BQWdCO1FBQ25DLE9BQU8sNEJBQVksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDN0QsTUFBTSxJQUFJLEdBQUcsSUFBQSx3QkFBZSxFQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3hDLE1BQU0sSUFBSSxHQUFHLElBQUEsd0JBQWUsRUFBQyxPQUFPLENBQUMsQ0FBQztZQUN0QyxJQUFJLElBQUksS0FBSyxJQUFJLEVBQUU7Z0JBQ2YsT0FBTyxJQUFBLGVBQUksRUFBQyxHQUFHLElBQUksbUNBQW1DLElBQUksRUFBRSxDQUFDLENBQUM7YUFDakU7WUFDRCxPQUFPLElBQUEsa0JBQU8sRUFBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSjtBQW5CRCxnRUFtQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIyIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuaW1wb3J0ICogYXMgSWFuYSBmcm9tICcuLi8uLi9pYW5hJztcblxuaW1wb3J0IHsgUmVzdWx0LCBmYWlsLCBzdWNjZWVkIH0gZnJvbSAnQGZndi90cy11dGlscyc7XG5pbXBvcnQgeyBTdWJ0YWdzLCBzdWJ0YWdzVG9TdHJpbmcgfSBmcm9tICcuLi9jb21tb24nO1xuaW1wb3J0IHsgTm9ybWFsaXplVGFnIH0gZnJvbSAnLi4vbm9ybWFsaXphdGlvbic7XG5pbXBvcnQgeyBUYWdWYWxpZGF0b3IgfSBmcm9tICcuL2Jhc2VWYWxpZGF0b3InO1xuaW1wb3J0IHsgVGFnVmFsaWRpdHkgfSBmcm9tICcuL2NvbW1vbic7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBJc0luUHJlZmVycmVkRnJvbVZhbGlkYXRvciBpbXBsZW1lbnRzIFRhZ1ZhbGlkYXRvciB7XG4gICAgcHVibGljIHJlYWRvbmx5IGlhbmE6IElhbmEuTGFuZ3VhZ2VSZWdpc3RyaWVzO1xuICAgIHB1YmxpYyByZWFkb25seSB2YWxpZGl0eTogVGFnVmFsaWRpdHkgPSAndmFsaWQnO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGlhbmE/OiBJYW5hLkxhbmd1YWdlUmVnaXN0cmllcykge1xuICAgICAgICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxuICAgICAgICB0aGlzLmlhbmEgPSBpYW5hID8/IElhbmEuRGVmYXVsdFJlZ2lzdHJpZXMubGFuZ3VhZ2VSZWdpc3RyaWVzO1xuICAgIH1cblxuICAgIHB1YmxpYyB2YWxpZGF0ZVN1YnRhZ3Moc3VidGFnczogU3VidGFncyk6IFJlc3VsdDx0cnVlPiB7XG4gICAgICAgIHJldHVybiBOb3JtYWxpemVUYWcudG9QcmVmZXJyZWQoc3VidGFncykub25TdWNjZXNzKChwcmVmZXJyZWQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHdhbnQgPSBzdWJ0YWdzVG9TdHJpbmcocHJlZmVycmVkKTtcbiAgICAgICAgICAgIGNvbnN0IGhhdmUgPSBzdWJ0YWdzVG9TdHJpbmcoc3VidGFncyk7XG4gICAgICAgICAgICBpZiAod2FudCAhPT0gaGF2ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWlsKGAke2hhdmV9OiBkb2VzIG5vdCBtYXRjaCBwcmVmZXJyZWQgZm9ybSAke3dhbnR9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gc3VjY2VlZCh0cnVlKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"isStrictlyValid.d.ts","sourceRoot":"","sources":["../../../../src/bcp47/validation/isStrictlyValid.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAgB,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,MAAM,EAA6B,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,OAAO,EAAmB,MAAM,WAAW,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,gBAAgB;IACnD,QAAQ,EAAE,WAAW,CAAoB;IACzC,aAAa,EAAE,gBAAgB,CAAa;IAEnD,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,GAAG,SAAS,CAAC;IAOpG,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,GAAG,SAAS,CAAC;IAOpG,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,GAAG,SAAS,CAAC;IAyBtH,SAAS,CAAC,sBAAsB,CAC5B,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,EAC1B,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,GAC/C,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,GAAG,SAAS,CAAC;CA4B9D"}
|