@fgv/ts-bcp47 4.0.2 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +18 -0
- package/CHANGELOG.md +13 -1
- package/dist/tsdoc-metadata.json +1 -1
- package/lib/index.js +17 -7
- package/lib/index.js.map +1 -1
- package/lib/packlets/bcp47/bcp47Subtags/converters.js +17 -7
- package/lib/packlets/bcp47/bcp47Subtags/converters.js.map +1 -1
- package/lib/packlets/bcp47/bcp47Subtags/index.js +17 -7
- package/lib/packlets/bcp47/bcp47Subtags/index.js.map +1 -1
- package/lib/packlets/bcp47/bcp47Subtags/validate.js +17 -7
- package/lib/packlets/bcp47/bcp47Subtags/validate.js.map +1 -1
- package/lib/packlets/bcp47/common.js +2 -2
- package/lib/packlets/bcp47/common.js.map +1 -1
- package/lib/packlets/bcp47/helpers.js +4 -5
- package/lib/packlets/bcp47/helpers.js.map +1 -1
- package/lib/packlets/bcp47/index.js +17 -7
- package/lib/packlets/bcp47/index.js.map +1 -1
- package/lib/packlets/bcp47/languageTag.js +17 -7
- package/lib/packlets/bcp47/languageTag.js.map +1 -1
- package/lib/packlets/bcp47/languageTagParser.js +17 -7
- package/lib/packlets/bcp47/languageTagParser.js.map +1 -1
- package/lib/packlets/bcp47/match/similarity.js +17 -7
- package/lib/packlets/bcp47/match/similarity.js.map +1 -1
- package/lib/packlets/bcp47/normalization/baseNormalizer.js +17 -7
- package/lib/packlets/bcp47/normalization/baseNormalizer.js.map +1 -1
- package/lib/packlets/bcp47/normalization/canonicalNormalizer.js +17 -7
- package/lib/packlets/bcp47/normalization/canonicalNormalizer.js.map +1 -1
- package/lib/packlets/bcp47/normalization/common.js +2 -3
- package/lib/packlets/bcp47/normalization/common.js.map +1 -1
- package/lib/packlets/bcp47/normalization/preferredTagNormalizer.js +17 -7
- package/lib/packlets/bcp47/normalization/preferredTagNormalizer.js.map +1 -1
- package/lib/packlets/bcp47/overrides/converters.js +19 -9
- package/lib/packlets/bcp47/overrides/converters.js.map +1 -1
- package/lib/packlets/bcp47/overrides/overridesRegistry.js +17 -7
- package/lib/packlets/bcp47/overrides/overridesRegistry.js.map +1 -1
- package/lib/packlets/bcp47/validation/baseValidator.js +17 -7
- package/lib/packlets/bcp47/validation/baseValidator.js.map +1 -1
- package/lib/packlets/bcp47/validation/common.js +2 -3
- package/lib/packlets/bcp47/validation/common.js.map +1 -1
- package/lib/packlets/bcp47/validation/isCanonical.js +17 -7
- package/lib/packlets/bcp47/validation/isCanonical.js.map +1 -1
- package/lib/packlets/bcp47/validation/isInPreferredForm.js +17 -7
- package/lib/packlets/bcp47/validation/isInPreferredForm.js.map +1 -1
- package/lib/packlets/bcp47/validation/isValid.js +17 -7
- package/lib/packlets/bcp47/validation/isValid.js.map +1 -1
- package/lib/packlets/bcp47/validation/isWellFormed.js +17 -7
- package/lib/packlets/bcp47/validation/isWellFormed.js.map +1 -1
- package/lib/packlets/iana/common/converters.js +19 -9
- package/lib/packlets/iana/common/converters.js.map +1 -1
- package/lib/packlets/iana/common/utils.js +1 -2
- package/lib/packlets/iana/common/utils.js.map +1 -1
- package/lib/packlets/iana/converters.js +17 -7
- package/lib/packlets/iana/converters.js.map +1 -1
- package/lib/packlets/iana/index.js +17 -7
- package/lib/packlets/iana/index.js.map +1 -1
- package/lib/packlets/iana/jar/converters.js +17 -7
- package/lib/packlets/iana/jar/converters.js.map +1 -1
- package/lib/packlets/iana/jar/index.js +17 -7
- package/lib/packlets/iana/jar/index.js.map +1 -1
- package/lib/packlets/iana/jar/jarConverters.js +19 -9
- package/lib/packlets/iana/jar/jarConverters.js.map +1 -1
- package/lib/packlets/iana/jar/language-subtags/converters.js +17 -7
- package/lib/packlets/iana/jar/language-subtags/converters.js.map +1 -1
- package/lib/packlets/iana/jar/language-subtags/index.js +17 -7
- package/lib/packlets/iana/jar/language-subtags/index.js.map +1 -1
- package/lib/packlets/iana/jar/language-subtags/model.js +17 -7
- package/lib/packlets/iana/jar/language-subtags/model.js.map +1 -1
- package/lib/packlets/iana/jar/language-subtags/registry/converters.js +17 -7
- package/lib/packlets/iana/jar/language-subtags/registry/converters.js.map +1 -1
- package/lib/packlets/iana/jar/language-subtags/registry/index.js +17 -7
- package/lib/packlets/iana/jar/language-subtags/registry/index.js.map +1 -1
- package/lib/packlets/iana/jar/language-subtags/tags/converters.js +22 -12
- package/lib/packlets/iana/jar/language-subtags/tags/converters.js.map +1 -1
- package/lib/packlets/iana/jar/language-subtags/tags/index.js +17 -7
- package/lib/packlets/iana/jar/language-subtags/tags/index.js.map +1 -1
- package/lib/packlets/iana/jar/model.js +17 -7
- package/lib/packlets/iana/jar/model.js.map +1 -1
- package/lib/packlets/iana/language-subtags/converters.js +19 -9
- package/lib/packlets/iana/language-subtags/converters.js.map +1 -1
- package/lib/packlets/iana/language-subtags/index.js +17 -7
- package/lib/packlets/iana/language-subtags/index.js.map +1 -1
- package/lib/packlets/iana/language-subtags/jarConverters.js +20 -10
- package/lib/packlets/iana/language-subtags/jarConverters.js.map +1 -1
- package/lib/packlets/iana/language-subtags/subtagRegistry.js +17 -7
- package/lib/packlets/iana/language-subtags/subtagRegistry.js.map +1 -1
- package/lib/packlets/iana/language-tag-extensions/converters.js +19 -9
- package/lib/packlets/iana/language-tag-extensions/converters.js.map +1 -1
- package/lib/packlets/iana/language-tag-extensions/extensionsRegistry.js +17 -7
- package/lib/packlets/iana/language-tag-extensions/extensionsRegistry.js.map +1 -1
- package/lib/packlets/iana/language-tag-extensions/extensionsScope.js +17 -7
- package/lib/packlets/iana/language-tag-extensions/extensionsScope.js.map +1 -1
- package/lib/packlets/iana/language-tag-extensions/index.js +17 -7
- package/lib/packlets/iana/language-tag-extensions/index.js.map +1 -1
- package/lib/packlets/iana/language-tag-extensions/jarConverters.js +3 -3
- package/lib/packlets/iana/language-tag-extensions/jarConverters.js.map +1 -1
- package/lib/packlets/iana/model.js +17 -7
- package/lib/packlets/iana/model.js.map +1 -1
- package/lib/packlets/unsd/csv/converters.js +2 -2
- package/lib/packlets/unsd/csv/converters.js.map +1 -1
- package/lib/packlets/unsd/csv/index.js +17 -7
- package/lib/packlets/unsd/csv/index.js.map +1 -1
- package/lib/packlets/unsd/index.js +17 -7
- package/lib/packlets/unsd/index.js.map +1 -1
- package/lib/packlets/utils/jsonHelpers.js +1 -2
- package/lib/packlets/utils/jsonHelpers.js.map +1 -1
- package/package.json +29 -30
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overridesRegistry.js","sourceRoot":"","sources":["../../../../src/packlets/bcp47/overrides/overridesRegistry.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG
|
|
1
|
+
{"version":3,"file":"overridesRegistry.js","sourceRoot":"","sources":["../../../../src/packlets/bcp47/overrides/overridesRegistry.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGH,yDAA2C;AAG3C,4CAA4D;AAC5D,yDAAyD;AACzD,sFAAgE;AAYhE;;GAEG;AACH,MAAa,iBAAiB;IAG5B;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;IAC7B,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,SAA8B;QACjD,MAAM,QAAQ,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACzC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QAChE,OAAO,IAAA,kBAAO,EAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,IAAa;QACxC,OAAO,UAAU,CAAC,qBAAqB;aACpC,OAAO,CAAC,IAAI,CAAC;aACb,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE;YACrB,OAAO,IAAA,qBAAU,EAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC;aACD,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE;YACvB,OAAO,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,MAAM,CAAC,WAAW;QACvB,OAAO,IAAI,CAAC,cAAc,CAAC,wBAAgB,CAAC,CAAC;IAC/C,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,IAAY;QACjC,OAAO,UAAU,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACpG,CAAC;IAED;;;;;;;;OAQG;IACO,MAAM,CAAC,mBAAmB,CAAC,MAAqC;QACxE,MAAM,QAAQ,GAAsB,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClE,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC3B,QAAQ,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;QACpD,CAAC;QACD,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC3B,QAAQ,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;QACpD,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA6C,CAAC;YACtE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClD,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5B,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;YACD,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC/B,CAAC;QACD,OAAO,IAAA,kBAAO,EAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC;CACF;AA5DD,8CA4DC","sourcesContent":["/*\n * Copyright (c) 2022 Erik Fortune\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\nimport * as Iana from '../../iana';\nimport * as Converters from './converters';\nimport * as Model from './model';\n\nimport { Result, mapResults, succeed } from '@fgv/ts-utils';\n// eslint-disable-next-line @rushstack/packlets/mechanics\nimport defaultOverrides from '../../../data/bcp/overrides.json';\n\n/**\n * @public\n */\nexport interface ILanguageOverride {\n language: Iana.LanguageSubtags.LanguageSubtag;\n preferredRegion?: Iana.LanguageSubtags.RegionSubtag;\n defaultAffinity?: string;\n affinity?: Map<Iana.LanguageSubtags.RegionSubtag, string>;\n}\n\n/**\n * @public\n */\nexport class OverridesRegistry {\n public readonly overrides: Map<Iana.LanguageSubtags.LanguageSubtag, ILanguageOverride>;\n\n protected constructor() {\n this.overrides = new Map();\n }\n\n public static create(overrides: ILanguageOverride[]): Result<OverridesRegistry> {\n const registry = new OverridesRegistry();\n overrides.forEach((o) => registry.overrides.set(o.language, o));\n return succeed(registry);\n }\n\n public static createFromJson(from: unknown): Result<OverridesRegistry> {\n return Converters.languageOverridesFile\n .convert(from)\n .onSuccess((records) => {\n return mapResults(records.map(OverridesRegistry._overrideFromRecord));\n })\n .onSuccess((overrides) => {\n return OverridesRegistry.create(overrides);\n });\n }\n\n public static loadDefault(): Result<OverridesRegistry> {\n return this.createFromJson(defaultOverrides);\n }\n\n public static loadJson(path: string): Result<OverridesRegistry> {\n return Converters.loadLanguageOverridesFileSync(path).onSuccess(OverridesRegistry.createFromJson);\n }\n\n /**\n * Converts a file {@link Bcp47.Overrides.Model.LanguageOverrideRecord | LanguageOverrideRecord }\n * to a runtime {@link Bcp47.Overrides.LanguageOverride | LanguageOverride}.\n * @param record - The {@link Bcp47.Overrides.Model.LanguageOverrideRecord | LanguageOverrideRecord } to\n * be converted.\n * @returns `Success` with the resulting {@link Bcp47.Overrides.LanguageOverride | LanguageOverride}\n * or `Error` with details if an error occurs.\n * @internal\n */\n protected static _overrideFromRecord(record: Model.ILanguageOverrideRecord): Result<ILanguageOverride> {\n const override: ILanguageOverride = { language: record.language };\n if (record.preferredRegion) {\n override.preferredRegion = record.preferredRegion;\n }\n if (record.defaultAffinity) {\n override.defaultAffinity = record.defaultAffinity;\n }\n if (record.affinity) {\n const affinity = new Map<Iana.LanguageSubtags.RegionSubtag, string>();\n for (const kvp of Object.entries(record.affinity)) {\n for (const region of kvp[1]) {\n affinity.set(region, kvp[0]);\n }\n }\n override.affinity = affinity;\n }\n return succeed(override);\n }\n}\n"]}
|
|
@@ -36,13 +36,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
36
36
|
}) : function(o, v) {
|
|
37
37
|
o["default"] = v;
|
|
38
38
|
});
|
|
39
|
-
var __importStar = (this && this.__importStar) || function (
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
};
|
|
39
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
40
|
+
var ownKeys = function(o) {
|
|
41
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
42
|
+
var ar = [];
|
|
43
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
44
|
+
return ar;
|
|
45
|
+
};
|
|
46
|
+
return ownKeys(o);
|
|
47
|
+
};
|
|
48
|
+
return function (mod) {
|
|
49
|
+
if (mod && mod.__esModule) return mod;
|
|
50
|
+
var result = {};
|
|
51
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
52
|
+
__setModuleDefault(result, mod);
|
|
53
|
+
return result;
|
|
54
|
+
};
|
|
55
|
+
})();
|
|
46
56
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
57
|
exports.TagValidatorBase = void 0;
|
|
48
58
|
const Iana = __importStar(require("../../iana"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseValidator.js","sourceRoot":"","sources":["../../../../src/packlets/bcp47/validation/baseValidator.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG
|
|
1
|
+
{"version":3,"file":"baseValidator.js","sourceRoot":"","sources":["../../../../src/packlets/bcp47/validation/baseValidator.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (c) 2022 Erik Fortune\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\nimport * as Iana from '../../iana';\n\nimport { Result, allSucceed, fail, succeed } from '@fgv/ts-utils';\nimport { ExtensionSingleton, ExtensionSubtag } from '../bcp47Subtags/model';\nimport { IExtensionSubtagValue, ISubtags, subtagsToString } from '../common';\nimport { TagValidity } from './common';\n\n/**\n * @public\n */\nexport interface ITagValidator {\n readonly validity: TagValidity;\n\n validateSubtags(subtags: ISubtags): Result<true>;\n}\n\n/**\n * @internal\n */\nexport abstract class TagValidatorBase implements ITagValidator {\n public readonly iana: Iana.LanguageRegistries;\n public abstract readonly validity: TagValidity;\n\n public constructor(iana?: Iana.LanguageRegistries) {\n /* c8 ignore next */\n this.iana = iana ?? Iana.DefaultRegistries.languageRegistries;\n }\n\n public validateSubtags(subtags: ISubtags): Result<true> {\n return allSucceed(\n [\n this._checkLanguage(subtags),\n this._checkExtlangs(subtags),\n this._checkScript(subtags),\n this._checkRegion(subtags),\n this._checkVariants(subtags),\n this._checkExtensions(subtags),\n this._checkPrivateUseTags(subtags),\n this._checkGrandfatheredTags(subtags)\n ],\n true\n ).onSuccess(() => {\n return this._postValidate(subtags).onSuccess(() => succeed(true));\n });\n }\n\n protected _basicPostValidation(subtags: ISubtags): Result<ISubtags> {\n if (\n subtags.primaryLanguage === undefined &&\n subtags.grandfathered === undefined &&\n subtags.privateUse === undefined\n ) {\n return fail(`${subtagsToString(subtags)}: missing primary language subtag.`);\n }\n if (subtags.extlangs && subtags.extlangs.length > 3) {\n return fail(`${subtagsToString(subtags)}: too many extlang subtags`);\n }\n return succeed(subtags);\n }\n\n protected _postValidate(subtags: ISubtags): Result<ISubtags> {\n return this._basicPostValidation(subtags);\n }\n\n protected _checkExtensions(subtags: ISubtags): Result<IExtensionSubtagValue[] | undefined> {\n if (subtags.extensions) {\n return allSucceed(\n subtags.extensions.map((ext) => {\n return this._checkExtensionSingleton(ext.singleton).onSuccess(() => {\n return this._checkExtensionSubtagValue(ext.value);\n });\n }),\n subtags.extensions\n );\n }\n return succeed(undefined);\n }\n\n protected _verifyUnique<T, TK extends string>(\n description: string,\n items: T[] | undefined,\n getKey: (item: T) => TK\n ): Result<T[] | undefined> {\n if (items) {\n const present = new Set<TK>();\n return allSucceed(\n items.map((i) => {\n const key = getKey(i);\n if (present.has(key)) {\n return fail(`${key}: duplicate ${description}`);\n }\n present.add(key);\n return succeed(key);\n }),\n items\n );\n }\n return succeed(items);\n }\n\n protected abstract _checkLanguage(subtags: ISubtags): Result<unknown>;\n protected abstract _checkExtlangs(subtags: ISubtags): Result<unknown>;\n protected abstract _checkScript(subtags: ISubtags): Result<unknown>;\n protected abstract _checkRegion(subtags: ISubtags): Result<unknown>;\n protected abstract _checkVariants(subtags: ISubtags): Result<unknown>;\n protected abstract _checkExtensionSingleton(singleton: ExtensionSingleton): Result<unknown>;\n protected abstract _checkExtensionSubtagValue(value: ExtensionSubtag): Result<unknown>;\n protected abstract _checkPrivateUseTags(subtags: ISubtags): Result<unknown>;\n protected abstract _checkGrandfatheredTags(subtags: ISubtags): Result<unknown>;\n}\n"]}
|
|
@@ -21,7 +21,8 @@
|
|
|
21
21
|
* SOFTWARE.
|
|
22
22
|
*/
|
|
23
23
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
-
exports.
|
|
24
|
+
exports.compareValidity = compareValidity;
|
|
25
|
+
exports.mostValid = mostValid;
|
|
25
26
|
/**
|
|
26
27
|
* Ordered ranking of the degrees of validity, from `unknown` (least
|
|
27
28
|
* validation) to `strictly-valid` (fully validated).
|
|
@@ -69,7 +70,6 @@ function compareValidity(v1, v2) {
|
|
|
69
70
|
}
|
|
70
71
|
return 0;
|
|
71
72
|
}
|
|
72
|
-
exports.compareValidity = compareValidity;
|
|
73
73
|
/**
|
|
74
74
|
* Chooses the most valid of two normalization ranks.
|
|
75
75
|
* @param v1 - The first {@link TagValidity} to be compared.
|
|
@@ -80,5 +80,4 @@ exports.compareValidity = compareValidity;
|
|
|
80
80
|
function mostValid(v1, v2) {
|
|
81
81
|
return validityRank[v1] >= validityRank[v2] ? v1 : v2;
|
|
82
82
|
}
|
|
83
|
-
exports.mostValid = mostValid;
|
|
84
83
|
//# sourceMappingURL=common.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/packlets/bcp47/validation/common.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/packlets/bcp47/validation/common.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;AA+CH,0CAOC;AASD,8BAEC;AAzDD;;;;GAIG;AACH,MAAM,YAAY,GAAgC;IAChD,yDAAyD;IACzD;;OAEG;IACH,OAAO,EAAE,CAAC;IACV;;OAEG;IACH,aAAa,EAAE,GAAG;IAClB;;;;OAIG;IACH,KAAK,EAAE,GAAG;IACV;;;;;OAKG;IACH,gBAAgB,EAAE,GAAG;IACrB,wDAAwD;CACzD,CAAC;AAEF;;;;;;;GAOG;AACH,SAAgB,eAAe,CAAC,EAAe,EAAE,EAAe;IAC9D,IAAI,YAAY,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,CAAC;IACX,CAAC;SAAM,IAAI,YAAY,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;QAC/C,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,SAAS,CAAC,EAAe,EAAE,EAAe;IACxD,OAAO,YAAY,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACxD,CAAC","sourcesContent":["/*\n * Copyright (c) 2022 Erik Fortune\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * Describes the validation level of a particular tag.\n * @public\n */\nexport type TagValidity = 'unknown' | 'well-formed' | 'valid' | 'strictly-valid';\n\n/**\n * Ordered ranking of the degrees of validity, from `unknown` (least\n * validation) to `strictly-valid` (fully validated).\n * @public\n */\nconst validityRank: Record<TagValidity, number> = {\n /* eslint-disable @typescript-eslint/naming-convention */\n /**\n * No validation has been performed.\n */\n unknown: 0,\n /**\n * Tag is well-formed {@link https://www.rfc-editor.org/rfc/rfc5646.html#section-2.2.9 | according to RFC 5646}.\n */\n 'well-formed': 0.5,\n /**\n * Tag is valid {@link https://www.rfc-editor.org/rfc/rfc5646.html#section-2.2.9 | according to RFC 5646} -\n * well-formed, and is a registered grandfathered tag or all subtags are registered,\n * with no duplicate extensions or variant subtags.\n */\n valid: 0.9,\n /**\n * Tag is valid {@link https://www.rfc-editor.org/rfc/rfc5646.html#section-2.2.9 | according to RFC 5646} and meets\n * other constraints described by the RFC - e.g. if present, any extlang or variant subtags have a\n * {@link https://www.rfc-editor.org/rfc/rfc5646.html#section-3.1.8 | valid prefix} as specified by\n * the registry.\n */\n 'strictly-valid': 1.0\n /* eslint-enable @typescript-eslint/naming-convention */\n};\n\n/**\n * Determines which of two validity ranks is most normalized.\n * @param v1 - The first {@link TagValidity} to be compared.\n * @param v2 - The second {@link TagValidity} to be compared.\n * @returns `1` if `v1` is more normalized, `-1` if `v2` is more\n * normalized, or `0` if they are identical.\n * @public\n */\nexport function compareValidity(v1: TagValidity, v2: TagValidity): -1 | 0 | 1 {\n if (validityRank[v1] > validityRank[v2]) {\n return 1;\n } else if (validityRank[v1] < validityRank[v2]) {\n return -1;\n }\n return 0;\n}\n\n/**\n * Chooses the most valid of two normalization ranks.\n * @param v1 - The first {@link TagValidity} to be compared.\n * @param v2 - The second {@link TagValidity} to be compared.\n * @returns The most validated of `v1` or `v2`.\n * @public\n */\nexport function mostValid(v1: TagValidity, v2: TagValidity): TagValidity {\n return validityRank[v1] >= validityRank[v2] ? v1 : v2;\n}\n"]}
|
|
@@ -36,13 +36,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
36
36
|
}) : function(o, v) {
|
|
37
37
|
o["default"] = v;
|
|
38
38
|
});
|
|
39
|
-
var __importStar = (this && this.__importStar) || function (
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
};
|
|
39
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
40
|
+
var ownKeys = function(o) {
|
|
41
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
42
|
+
var ar = [];
|
|
43
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
44
|
+
return ar;
|
|
45
|
+
};
|
|
46
|
+
return ownKeys(o);
|
|
47
|
+
};
|
|
48
|
+
return function (mod) {
|
|
49
|
+
if (mod && mod.__esModule) return mod;
|
|
50
|
+
var result = {};
|
|
51
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
52
|
+
__setModuleDefault(result, mod);
|
|
53
|
+
return result;
|
|
54
|
+
};
|
|
55
|
+
})();
|
|
46
56
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
57
|
exports.IsCanonicalValidator = void 0;
|
|
48
58
|
const Iana = __importStar(require("../../iana"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isCanonical.js","sourceRoot":"","sources":["../../../../src/packlets/bcp47/validation/isCanonical.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG
|
|
1
|
+
{"version":3,"file":"isCanonical.js","sourceRoot":"","sources":["../../../../src/packlets/bcp47/validation/isCanonical.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (c) 2022 Erik Fortune\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\nimport * as Iana from '../../iana';\nimport * as Bcp47Subtags from '../bcp47Subtags';\n\nimport { Result, allSucceed, fail, succeed } from '@fgv/ts-utils';\nimport { ExtensionSingleton, ExtensionSubtag } from '../bcp47Subtags/model';\n\nimport { ISubtags } from '../common';\nimport { TagValidatorBase } from './baseValidator';\nimport { TagValidity } from './common';\n\n/**\n * @internal\n */\nexport class IsCanonicalValidator extends TagValidatorBase {\n public validity: TagValidity = 'well-formed';\n\n protected _checkLanguage(subtags: ISubtags): Result<Iana.LanguageSubtags.LanguageSubtag | undefined> {\n if (subtags.primaryLanguage) {\n return this.iana.subtags.languages.verifyIsCanonical(subtags.primaryLanguage);\n }\n return succeed(undefined);\n }\n\n protected _checkExtlangs(subtags: ISubtags): Result<Iana.LanguageSubtags.ExtLangSubtag[] | undefined> {\n if (subtags.extlangs) {\n return allSucceed(\n subtags.extlangs.map((e) => this.iana.subtags.extlangs.verifyIsCanonical(e)),\n subtags.extlangs\n );\n }\n return succeed(undefined);\n }\n\n protected _checkScript(subtags: ISubtags): Result<Iana.LanguageSubtags.ScriptSubtag | undefined> {\n return subtags.script ? this.iana.subtags.scripts.verifyIsCanonical(subtags.script) : succeed(undefined);\n }\n\n protected _checkRegion(subtags: ISubtags): Result<Iana.LanguageSubtags.RegionSubtag | undefined> {\n return subtags.region ? this.iana.subtags.regions.verifyIsCanonical(subtags.region) : succeed(undefined);\n }\n\n protected _checkVariants(subtags: ISubtags): Result<Iana.LanguageSubtags.VariantSubtag[] | undefined> {\n if (subtags.variants) {\n return allSucceed(\n subtags.variants.map((v) => this.iana.subtags.variants.verifyIsCanonical(v)),\n subtags.variants\n );\n }\n return succeed(undefined);\n }\n\n protected _checkExtensionSingleton(singleton: ExtensionSingleton): Result<ExtensionSingleton> {\n return this.iana.extensions.extensions.verifyIsCanonical(singleton);\n }\n\n protected _checkExtensionSubtagValue(value: ExtensionSubtag): Result<ExtensionSubtag> {\n return Bcp47Subtags.Validate.extensionSubtag.verifyIsCanonical(value);\n }\n\n protected _checkPrivateUseTags(\n subtags: ISubtags\n ): Result<Iana.LanguageSubtags.ExtendedLanguageRange[] | undefined> {\n if (subtags.privateUse) {\n const result = Iana.LanguageSubtags.Validate.extendedLanguageRange.verifyIsCanonical(\n subtags.privateUse.join('-') as Iana.LanguageSubtags.ExtendedLanguageRange\n );\n if (result.isFailure()) {\n return fail(result.message);\n }\n }\n return succeed(subtags.privateUse);\n }\n\n protected _checkGrandfatheredTags(\n subtags: ISubtags\n ): Result<Iana.LanguageSubtags.GrandfatheredTag | undefined> {\n return subtags.grandfathered\n ? this.iana.subtags.grandfathered.verifyIsCanonical(subtags.grandfathered)\n : succeed(undefined);\n }\n}\n"]}
|
|
@@ -36,13 +36,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
36
36
|
}) : function(o, v) {
|
|
37
37
|
o["default"] = v;
|
|
38
38
|
});
|
|
39
|
-
var __importStar = (this && this.__importStar) || function (
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
};
|
|
39
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
40
|
+
var ownKeys = function(o) {
|
|
41
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
42
|
+
var ar = [];
|
|
43
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
44
|
+
return ar;
|
|
45
|
+
};
|
|
46
|
+
return ownKeys(o);
|
|
47
|
+
};
|
|
48
|
+
return function (mod) {
|
|
49
|
+
if (mod && mod.__esModule) return mod;
|
|
50
|
+
var result = {};
|
|
51
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
52
|
+
__setModuleDefault(result, mod);
|
|
53
|
+
return result;
|
|
54
|
+
};
|
|
55
|
+
})();
|
|
46
56
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
57
|
exports.IsInPreferredFromValidator = void 0;
|
|
48
58
|
const Iana = __importStar(require("../../iana"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isInPreferredForm.js","sourceRoot":"","sources":["../../../../src/packlets/bcp47/validation/isInPreferredForm.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG
|
|
1
|
+
{"version":3,"file":"isInPreferredForm.js","sourceRoot":"","sources":["../../../../src/packlets/bcp47/validation/isInPreferredForm.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,iDAAmC;AAEnC,4CAAsD;AACtD,sCAAsD;AACtD,oDAAgD;AAIhD;;GAEG;AACH,MAAa,0BAA0B;IAIrC,YAAmB,IAA8B;QAFjC,aAAQ,GAAgB,OAAO,CAAC;QAG9C,oBAAoB;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC;IAChE,CAAC;IAEM,eAAe,CAAC,OAAiB;QACtC,OAAO,4BAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE;YAC/D,MAAM,IAAI,GAAG,IAAA,wBAAe,EAAC,SAAS,CAAC,CAAC;YACxC,MAAM,IAAI,GAAG,IAAA,wBAAe,EAAC,OAAO,CAAC,CAAC;YACtC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,OAAO,IAAA,eAAI,EAAC,GAAG,IAAI,mCAAmC,IAAI,EAAE,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,IAAA,kBAAO,EAAC,IAAI,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAnBD,gEAmBC","sourcesContent":["/*\n * Copyright (c) 2022 Erik Fortune\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\nimport * as Iana from '../../iana';\n\nimport { Result, fail, succeed } from '@fgv/ts-utils';\nimport { ISubtags, subtagsToString } from '../common';\nimport { NormalizeTag } from '../normalization';\nimport { ITagValidator } from './baseValidator';\nimport { TagValidity } from './common';\n\n/**\n * @internal\n */\nexport class IsInPreferredFromValidator implements ITagValidator {\n public readonly iana: Iana.LanguageRegistries;\n public readonly validity: TagValidity = 'valid';\n\n public constructor(iana?: Iana.LanguageRegistries) {\n /* c8 ignore next */\n this.iana = iana ?? Iana.DefaultRegistries.languageRegistries;\n }\n\n public validateSubtags(subtags: ISubtags): Result<true> {\n return NormalizeTag.toPreferred(subtags).onSuccess((preferred) => {\n const want = subtagsToString(preferred);\n const have = subtagsToString(subtags);\n if (want !== have) {\n return fail(`${have}: does not match preferred form ${want}`);\n }\n return succeed(true);\n });\n }\n}\n"]}
|
|
@@ -36,13 +36,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
36
36
|
}) : function(o, v) {
|
|
37
37
|
o["default"] = v;
|
|
38
38
|
});
|
|
39
|
-
var __importStar = (this && this.__importStar) || function (
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
};
|
|
39
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
40
|
+
var ownKeys = function(o) {
|
|
41
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
42
|
+
var ar = [];
|
|
43
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
44
|
+
return ar;
|
|
45
|
+
};
|
|
46
|
+
return ownKeys(o);
|
|
47
|
+
};
|
|
48
|
+
return function (mod) {
|
|
49
|
+
if (mod && mod.__esModule) return mod;
|
|
50
|
+
var result = {};
|
|
51
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
52
|
+
__setModuleDefault(result, mod);
|
|
53
|
+
return result;
|
|
54
|
+
};
|
|
55
|
+
})();
|
|
46
56
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
57
|
exports.IsValidValidator = void 0;
|
|
48
58
|
const Iana = __importStar(require("../../iana"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isValid.js","sourceRoot":"","sources":["../../../../src/packlets/bcp47/validation/isValid.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG
|
|
1
|
+
{"version":3,"file":"isValid.js","sourceRoot":"","sources":["../../../../src/packlets/bcp47/validation/isValid.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (c) 2022 Erik Fortune\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\nimport * as Iana from '../../iana';\nimport * as Bcp47Subtags from '../bcp47Subtags';\n\nimport { Result, allSucceed, fail, mapResults, succeed } from '@fgv/ts-utils';\nimport { ExtensionSingleton, ExtensionSubtag } from '../bcp47Subtags/model';\nimport { IExtensionSubtagValue, ISubtags } from '../common';\nimport { TagValidatorBase } from './baseValidator';\nimport { TagValidity } from './common';\n\n/**\n * @internal\n */\nexport class IsValidValidator extends TagValidatorBase {\n public validity: TagValidity = 'valid';\n\n protected _checkLanguage(subtags: ISubtags): Result<Iana.LanguageSubtags.LanguageSubtag | undefined> {\n return subtags.primaryLanguage\n ? this.iana.subtags.languages.verifyIsValid(subtags.primaryLanguage)\n : succeed(undefined);\n }\n\n protected _checkExtlangs(subtags: ISubtags): Result<Iana.LanguageSubtags.ExtLangSubtag[] | undefined> {\n if (subtags.extlangs) {\n return allSucceed(\n subtags.extlangs.map((e) => this.iana.subtags.extlangs.verifyIsValid(e)),\n subtags.extlangs\n );\n }\n return succeed(undefined);\n }\n\n protected _checkScript(subtags: ISubtags): Result<Iana.LanguageSubtags.ScriptSubtag | undefined> {\n return subtags.script ? this.iana.subtags.scripts.verifyIsValid(subtags.script) : succeed(undefined);\n }\n\n protected _checkRegion(subtags: ISubtags): Result<Iana.LanguageSubtags.RegionSubtag | undefined> {\n return subtags.region ? this.iana.subtags.regions.verifyIsValid(subtags.region) : succeed(undefined);\n }\n\n protected _checkVariants(subtags: ISubtags): Result<Iana.LanguageSubtags.VariantSubtag[] | undefined> {\n if (subtags.variants) {\n return allSucceed(\n subtags.variants.map((v) => this.iana.subtags.variants.verifyIsValid(v)),\n subtags.variants\n ).onSuccess((v) => {\n return mapResults(v.map((vc) => this.iana.subtags.variants.toCanonical(vc))).onSuccess(\n (canonical) => {\n return this._verifyUnique('variant subtag', canonical, (v) => v);\n }\n );\n });\n }\n return succeed(undefined);\n }\n\n protected _checkExtensionSingleton(singleton: ExtensionSingleton): Result<ExtensionSingleton> {\n return this.iana.extensions.extensions.verifyIsValid(singleton);\n }\n\n protected _checkExtensionSubtagValue(value: ExtensionSubtag): Result<ExtensionSubtag> {\n return Bcp47Subtags.Validate.extensionSubtag.verifyIsWellFormed(value);\n }\n\n protected _checkExtensions(subtags: ISubtags): Result<IExtensionSubtagValue[] | undefined> {\n return super._checkExtensions(subtags).onSuccess((extensions) => {\n return this._verifyUnique('extensions', extensions, (e) => e.singleton.toLowerCase());\n });\n }\n\n protected _checkPrivateUseTags(\n subtags: ISubtags\n ): Result<Iana.LanguageSubtags.ExtendedLanguageRange[] | undefined> {\n if (subtags.privateUse) {\n return allSucceed(\n subtags.privateUse.map((pu) =>\n Iana.LanguageSubtags.Validate.extendedLanguageRange.verifyIsWellFormed(pu)\n ),\n subtags.privateUse\n );\n }\n return succeed(subtags.privateUse);\n }\n\n protected _checkGrandfatheredTags(\n subtags: ISubtags\n ): Result<Iana.LanguageSubtags.GrandfatheredTag | undefined> {\n return subtags.grandfathered\n ? this.iana.subtags.grandfathered.verifyIsValid(subtags.grandfathered)\n : succeed(undefined);\n }\n\n protected _postValidate(subtags: ISubtags): Result<ISubtags> {\n return this._basicPostValidation(subtags).onSuccess((validated) => {\n if (validated.extlangs && validated.extlangs.length > 1) {\n return fail(`${validated.extlangs.join('-')}: multiple extlang subtags is invalid`);\n }\n return succeed(validated);\n });\n }\n}\n"]}
|
|
@@ -36,13 +36,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
36
36
|
}) : function(o, v) {
|
|
37
37
|
o["default"] = v;
|
|
38
38
|
});
|
|
39
|
-
var __importStar = (this && this.__importStar) || function (
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
};
|
|
39
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
40
|
+
var ownKeys = function(o) {
|
|
41
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
42
|
+
var ar = [];
|
|
43
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
44
|
+
return ar;
|
|
45
|
+
};
|
|
46
|
+
return ownKeys(o);
|
|
47
|
+
};
|
|
48
|
+
return function (mod) {
|
|
49
|
+
if (mod && mod.__esModule) return mod;
|
|
50
|
+
var result = {};
|
|
51
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
52
|
+
__setModuleDefault(result, mod);
|
|
53
|
+
return result;
|
|
54
|
+
};
|
|
55
|
+
})();
|
|
46
56
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
57
|
exports.IsWellFormedValidator = void 0;
|
|
48
58
|
const Iana = __importStar(require("../../iana"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isWellFormed.js","sourceRoot":"","sources":["../../../../src/packlets/bcp47/validation/isWellFormed.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG
|
|
1
|
+
{"version":3,"file":"isWellFormed.js","sourceRoot":"","sources":["../../../../src/packlets/bcp47/validation/isWellFormed.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (c) 2022 Erik Fortune\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\nimport * as Iana from '../../iana';\nimport * as Bcp47Subtags from '../bcp47Subtags';\n\nimport { Result, allSucceed, succeed } from '@fgv/ts-utils';\nimport { ExtensionSingleton, ExtensionSubtag } from '../bcp47Subtags/model';\n\nimport { ISubtags } from '../common';\nimport { TagValidatorBase } from './baseValidator';\nimport { TagValidity } from './common';\n\n/**\n * @internal\n */\nexport class IsWellFormedValidator extends TagValidatorBase {\n public validity: TagValidity = 'well-formed';\n\n protected _checkLanguage(subtags: ISubtags): Result<Iana.LanguageSubtags.LanguageSubtag | undefined> {\n return subtags.primaryLanguage\n ? this.iana.subtags.languages.verifyIsWellFormed(subtags.primaryLanguage)\n : succeed(undefined);\n }\n\n protected _checkExtlangs(subtags: ISubtags): Result<Iana.LanguageSubtags.ExtLangSubtag[] | undefined> {\n if (subtags.extlangs) {\n return allSucceed(\n subtags.extlangs.map((e) => this.iana.subtags.extlangs.verifyIsWellFormed(e)),\n subtags.extlangs\n );\n }\n return succeed(undefined);\n }\n\n protected _checkScript(subtags: ISubtags): Result<Iana.LanguageSubtags.ScriptSubtag | undefined> {\n return subtags.script ? this.iana.subtags.scripts.verifyIsWellFormed(subtags.script) : succeed(undefined);\n }\n\n protected _checkRegion(subtags: ISubtags): Result<Iana.LanguageSubtags.RegionSubtag | undefined> {\n return subtags.region ? this.iana.subtags.regions.verifyIsWellFormed(subtags.region) : succeed(undefined);\n }\n\n protected _checkVariants(subtags: ISubtags): Result<Iana.LanguageSubtags.VariantSubtag[] | undefined> {\n if (subtags.variants) {\n return allSucceed(\n subtags.variants.map((v) => this.iana.subtags.variants.verifyIsWellFormed(v)),\n subtags.variants\n );\n }\n return succeed(undefined);\n }\n\n protected _checkExtensionSingleton(singleton: ExtensionSingleton): Result<ExtensionSingleton> {\n return this.iana.extensions.extensions.verifyIsWellFormed(singleton);\n }\n\n protected _checkExtensionSubtagValue(value: ExtensionSubtag): Result<ExtensionSubtag> {\n return Bcp47Subtags.Validate.extensionSubtag.verifyIsWellFormed(value);\n }\n\n protected _checkPrivateUseTags(\n subtags: ISubtags\n ): Result<Iana.LanguageSubtags.ExtendedLanguageRange[] | undefined> {\n if (subtags.privateUse) {\n return allSucceed(\n subtags.privateUse.map((pu) =>\n Iana.LanguageSubtags.Validate.extendedLanguageRange.verifyIsWellFormed(pu)\n ),\n subtags.privateUse\n );\n }\n return succeed(subtags.privateUse);\n }\n\n protected _checkGrandfatheredTags(\n subtags: ISubtags\n ): Result<Iana.LanguageSubtags.GrandfatheredTag | undefined> {\n return subtags.grandfathered\n ? this.iana.subtags.grandfathered.verifyIsWellFormed(subtags.grandfathered)\n : succeed(undefined);\n }\n}\n"]}
|
|
@@ -37,15 +37,26 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
37
37
|
}) : function(o, v) {
|
|
38
38
|
o["default"] = v;
|
|
39
39
|
});
|
|
40
|
-
var __importStar = (this && this.__importStar) || function (
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
};
|
|
40
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
41
|
+
var ownKeys = function(o) {
|
|
42
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
43
|
+
var ar = [];
|
|
44
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
45
|
+
return ar;
|
|
46
|
+
};
|
|
47
|
+
return ownKeys(o);
|
|
48
|
+
};
|
|
49
|
+
return function (mod) {
|
|
50
|
+
if (mod && mod.__esModule) return mod;
|
|
51
|
+
var result = {};
|
|
52
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
53
|
+
__setModuleDefault(result, mod);
|
|
54
|
+
return result;
|
|
55
|
+
};
|
|
56
|
+
})();
|
|
47
57
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
|
-
exports.
|
|
58
|
+
exports.unM49RegionCode = exports.isoAlpha3RegionCode = exports.isoAlpha2RegionCode = exports.yearMonthDaySpec = void 0;
|
|
59
|
+
exports.datedRegistry = datedRegistry;
|
|
49
60
|
const Validate = __importStar(require("./validate"));
|
|
50
61
|
const ts_utils_1 = require("@fgv/ts-utils");
|
|
51
62
|
/**
|
|
@@ -81,5 +92,4 @@ function datedRegistry(entryConverter) {
|
|
|
81
92
|
entries: ts_utils_1.Converters.arrayOf(entryConverter)
|
|
82
93
|
});
|
|
83
94
|
}
|
|
84
|
-
exports.datedRegistry = datedRegistry;
|
|
85
95
|
//# sourceMappingURL=converters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"converters.js","sourceRoot":"","sources":["../../../../src/packlets/iana/common/converters.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,2CAA2C
|
|
1
|
+
{"version":3,"file":"converters.js","sourceRoot":"","sources":["../../../../src/packlets/iana/common/converters.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,2CAA2C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsC3C,sCAOC;AA3CD,qDAAuC;AAEvC,4CAAsD;AAGtD;;;GAGG;AACU,QAAA,gBAAgB,GAAG,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC;AAErE;;;GAGG;AACU,QAAA,mBAAmB,GAAG,QAAQ,CAAC,mBAAmB,CAAC,SAAS,CAAC;AAE1E;;;GAGG;AACU,QAAA,mBAAmB,GAAG,QAAQ,CAAC,mBAAmB,CAAC,SAAS,CAAC;AAE1E;;;GAGG;AACU,QAAA,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC;AAElE;;;;;;GAMG;AACH,SAAgB,aAAa,CAC3B,cAAgC;IAEhC,OAAO,qBAAU,CAAC,YAAY,CAAoB;QAChD,QAAQ,EAAE,wBAAgB;QAC1B,OAAO,EAAE,qBAAU,CAAC,OAAO,CAAC,cAAc,CAAC;KAC5C,CAAC,CAAC;AACL,CAAC","sourcesContent":["/*\n * Copyright (c) 2022 Erik Fortune\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n/* eslint-disable @rushstack/typedef-var */\n\nimport * as Validate from './validate';\n\nimport { Converter, Converters } from '@fgv/ts-utils';\nimport { IDatedRegistry } from './model';\n\n/**\n * Validating converter from string {@link Iana.Model.YearMonthDaySpec}.\n * @public\n */\nexport const yearMonthDaySpec = Validate.yearMonthDateSpec.converter;\n\n/**\n * Validating converter from string {@link Iana.Model.IsoAlpha2RegionCode}.\n * @public\n */\nexport const isoAlpha2RegionCode = Validate.isoAlpha2RegionCode.converter;\n\n/**\n * Validating converter from string {@link Iana.Model.IsoAlpha3RegionCode}.\n * @public\n */\nexport const isoAlpha3RegionCode = Validate.isoAlpha3RegionCode.converter;\n\n/**\n * Validating converter from string {@link Iana.Model.UnM49RegionCode}.\n * @public\n */\nexport const unM49RegionCode = Validate.unM49RegionCode.converter;\n\n/**\n * Helper function which creates a converter that returns a validated {@Link Iana.Model.IDatedRegistry | DatedRegistry}\n * containing entries of supplied template type `T`.\n * @param entryConverter - A `Converter<T>` to validate each entry\n * @returns A new validating `Converter` which yields {@Link Iana.Model.IDatedRegistry | DatedRegistry<T>}\n * @public\n */\nexport function datedRegistry<T, TC = unknown>(\n entryConverter: Converter<T, TC>\n): Converter<IDatedRegistry<T>, TC> {\n return Converters.strictObject<IDatedRegistry<T>>({\n fileDate: yearMonthDaySpec,\n entries: Converters.arrayOf(entryConverter)\n });\n}\n"]}
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
* SOFTWARE.
|
|
22
22
|
*/
|
|
23
23
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
-
exports.nowAsYearMonthDay =
|
|
24
|
+
exports.nowAsYearMonthDay = nowAsYearMonthDay;
|
|
25
25
|
const luxon_1 = require("luxon");
|
|
26
26
|
/**
|
|
27
27
|
* Gets the current date as an {@link Iana.Model.YearMonthDaySpec | YearMonthDaySpec }.
|
|
@@ -30,5 +30,4 @@ const luxon_1 = require("luxon");
|
|
|
30
30
|
function nowAsYearMonthDay() {
|
|
31
31
|
return luxon_1.DateTime.now().toFormat('yyyy-LL-dd');
|
|
32
32
|
}
|
|
33
|
-
exports.nowAsYearMonthDay = nowAsYearMonthDay;
|
|
34
33
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/packlets/iana/common/utils.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/packlets/iana/common/utils.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;AASH,8CAEC;AATD,iCAAiC;AAGjC;;;GAGG;AACH,SAAgB,iBAAiB;IAC/B,OAAO,gBAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAqB,CAAC;AACnE,CAAC","sourcesContent":["/*\n * Copyright (c) 2021 Erik Fortune\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\nimport { DateTime } from 'luxon';\nimport { YearMonthDaySpec } from './model';\n\n/**\n * Gets the current date as an {@link Iana.Model.YearMonthDaySpec | YearMonthDaySpec }.\n * @public\n */\nexport function nowAsYearMonthDay(): YearMonthDaySpec {\n return DateTime.now().toFormat('yyyy-LL-dd') as YearMonthDaySpec;\n}\n"]}
|
|
@@ -36,13 +36,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
36
36
|
}) : function(o, v) {
|
|
37
37
|
o["default"] = v;
|
|
38
38
|
});
|
|
39
|
-
var __importStar = (this && this.__importStar) || function (
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
};
|
|
39
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
40
|
+
var ownKeys = function(o) {
|
|
41
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
42
|
+
var ar = [];
|
|
43
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
44
|
+
return ar;
|
|
45
|
+
};
|
|
46
|
+
return ownKeys(o);
|
|
47
|
+
};
|
|
48
|
+
return function (mod) {
|
|
49
|
+
if (mod && mod.__esModule) return mod;
|
|
50
|
+
var result = {};
|
|
51
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
52
|
+
__setModuleDefault(result, mod);
|
|
53
|
+
return result;
|
|
54
|
+
};
|
|
55
|
+
})();
|
|
46
56
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
47
57
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
48
58
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"converters.js","sourceRoot":"","sources":["../../../src/packlets/iana/converters.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG
|
|
1
|
+
{"version":3,"file":"converters.js","sourceRoot":"","sources":["../../../src/packlets/iana/converters.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,yDAA2C;AAGlC,kBAAG;AADZ,sDAAoC","sourcesContent":["/*\n * Copyright (c) 2022 Erik Fortune\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\nimport * as Jar from './jar/jarConverters';\n\nexport * from './common/converters';\nexport { Jar };\n"]}
|
|
@@ -36,13 +36,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
36
36
|
}) : function(o, v) {
|
|
37
37
|
o["default"] = v;
|
|
38
38
|
});
|
|
39
|
-
var __importStar = (this && this.__importStar) || function (
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
};
|
|
39
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
40
|
+
var ownKeys = function(o) {
|
|
41
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
42
|
+
var ar = [];
|
|
43
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
44
|
+
return ar;
|
|
45
|
+
};
|
|
46
|
+
return ownKeys(o);
|
|
47
|
+
};
|
|
48
|
+
return function (mod) {
|
|
49
|
+
if (mod && mod.__esModule) return mod;
|
|
50
|
+
var result = {};
|
|
51
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
52
|
+
__setModuleDefault(result, mod);
|
|
53
|
+
return result;
|
|
54
|
+
};
|
|
55
|
+
})();
|
|
46
56
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
47
57
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
48
58
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/packlets/iana/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/packlets/iana/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,0CAAmD;AAUgC,kGAV1E,yBAAiB,OAU0E;AATpG,yDAA2C;AASlC,gCAAU;AARnB,2CAA6B;AAQR,kBAAG;AAPxB,oEAAsD;AAOrB,0CAAe;AANhD,iFAAmE;AAMjB,sDAAqB;AALvE,+CAAiC;AAKP,sBAAK;AAJ/B,qDAAuC;AAIkC,4BAAQ;AAFjF,yDAAwD;AAA/C,sHAAA,iBAAiB,OAAA;AAC1B,uDAAqC","sourcesContent":["/*\n * Copyright (c) 2022 Erik Fortune\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\nimport { nowAsYearMonthDay } from './common/utils';\nimport * as Converters from './converters';\nimport * as Jar from './jar';\nimport * as LanguageSubtags from './language-subtags';\nimport * as LanguageTagExtensions from './language-tag-extensions';\nimport * as Model from './model';\nimport * as Validate from './validate';\n\nexport { DefaultRegistries } from './defaultRegistries';\nexport * from './languageRegistries';\nexport { Converters, Jar, Model, LanguageSubtags, LanguageTagExtensions, Validate, nowAsYearMonthDay };\n"]}
|