@fgv/ts-bcp47 0.5.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/LICENSE +21 -0
- package/README.md +141 -0
- package/bcp47/bcp47Subtags/converters.d.ts +9 -0
- package/bcp47/bcp47Subtags/converters.d.ts.map +1 -0
- package/bcp47/bcp47Subtags/converters.js +57 -0
- package/bcp47/bcp47Subtags/index.d.ts +5 -0
- package/bcp47/bcp47Subtags/index.d.ts.map +1 -0
- package/bcp47/bcp47Subtags/index.js +54 -0
- package/bcp47/bcp47Subtags/model.d.ts +18 -0
- package/bcp47/bcp47Subtags/model.d.ts.map +1 -0
- package/bcp47/bcp47Subtags/model.js +24 -0
- package/bcp47/bcp47Subtags/validate.d.ts +16 -0
- package/bcp47/bcp47Subtags/validate.d.ts.map +1 -0
- package/bcp47/bcp47Subtags/validate.js +74 -0
- package/bcp47/common.d.ts +38 -0
- package/bcp47/common.d.ts.map +1 -0
- package/bcp47/common.js +59 -0
- package/bcp47/helpers.d.ts +66 -0
- package/bcp47/helpers.d.ts.map +1 -0
- package/bcp47/helpers.js +103 -0
- package/bcp47/index.d.ts +7 -0
- package/bcp47/index.d.ts.map +1 -0
- package/bcp47/index.js +27 -0
- package/bcp47/languageTag.d.ts +208 -0
- package/bcp47/languageTag.d.ts.map +1 -0
- package/bcp47/languageTag.js +342 -0
- package/bcp47/languageTagParser.d.ts +123 -0
- package/bcp47/languageTagParser.d.ts.map +1 -0
- package/bcp47/languageTagParser.js +310 -0
- package/bcp47/match/chooser.d.ts +70 -0
- package/bcp47/match/chooser.d.ts.map +1 -0
- package/bcp47/match/chooser.js +92 -0
- package/bcp47/match/common.d.ts +24 -0
- package/bcp47/match/common.d.ts.map +1 -0
- package/bcp47/match/common.js +42 -0
- package/bcp47/match/index.d.ts +4 -0
- package/bcp47/match/index.d.ts.map +1 -0
- package/bcp47/match/index.js +45 -0
- package/bcp47/match/similarity.d.ts +24 -0
- package/bcp47/match/similarity.d.ts.map +1 -0
- package/bcp47/match/similarity.js +230 -0
- package/bcp47/normalization/baseNormalizer.d.ts +36 -0
- package/bcp47/normalization/baseNormalizer.d.ts.map +1 -0
- package/bcp47/normalization/baseNormalizer.js +114 -0
- package/bcp47/normalization/canonicalNormalizer.d.ts +22 -0
- package/bcp47/normalization/canonicalNormalizer.d.ts.map +1 -0
- package/bcp47/normalization/canonicalNormalizer.js +110 -0
- package/bcp47/normalization/common.d.ts +23 -0
- package/bcp47/normalization/common.d.ts.map +1 -0
- package/bcp47/normalization/common.js +82 -0
- package/bcp47/normalization/index.d.ts +5 -0
- package/bcp47/normalization/index.d.ts.map +1 -0
- package/bcp47/normalization/index.js +47 -0
- package/bcp47/normalization/normalizeTag.d.ts +59 -0
- package/bcp47/normalization/normalizeTag.d.ts.map +1 -0
- package/bcp47/normalization/normalizeTag.js +105 -0
- package/bcp47/normalization/preferredTagNormalizer.d.ts +26 -0
- package/bcp47/normalization/preferredTagNormalizer.d.ts.map +1 -0
- package/bcp47/normalization/preferredTagNormalizer.js +178 -0
- package/bcp47/overrides/converters.d.ts +19 -0
- package/bcp47/overrides/converters.d.ts.map +1 -0
- package/bcp47/overrides/converters.js +75 -0
- package/bcp47/overrides/defaultRegistries.d.ts +12 -0
- package/bcp47/overrides/defaultRegistries.d.ts.map +1 -0
- package/bcp47/overrides/defaultRegistries.js +42 -0
- package/bcp47/overrides/index.d.ts +3 -0
- package/bcp47/overrides/index.d.ts.map +1 -0
- package/bcp47/overrides/index.js +30 -0
- package/bcp47/overrides/model.d.ts +11 -0
- package/bcp47/overrides/model.d.ts.map +1 -0
- package/bcp47/overrides/model.js +24 -0
- package/bcp47/overrides/overridesRegistry.d.ts +32 -0
- package/bcp47/overrides/overridesRegistry.d.ts.map +1 -0
- package/bcp47/overrides/overridesRegistry.js +101 -0
- package/bcp47/validation/baseValidator.d.ts +35 -0
- package/bcp47/validation/baseValidator.d.ts.map +1 -0
- package/bcp47/validation/baseValidator.js +111 -0
- package/bcp47/validation/common.d.ts +23 -0
- package/bcp47/validation/common.d.ts.map +1 -0
- package/bcp47/validation/common.js +84 -0
- package/bcp47/validation/index.d.ts +7 -0
- package/bcp47/validation/index.d.ts.map +1 -0
- package/bcp47/validation/index.js +51 -0
- package/bcp47/validation/isCanonical.d.ts +22 -0
- package/bcp47/validation/isCanonical.d.ts.map +1 -0
- package/bcp47/validation/isCanonical.js +101 -0
- package/bcp47/validation/isInPreferredForm.d.ts +15 -0
- package/bcp47/validation/isInPreferredForm.d.ts.map +1 -0
- package/bcp47/validation/isInPreferredForm.js +73 -0
- package/bcp47/validation/isStrictlyValid.d.ts +18 -0
- package/bcp47/validation/isStrictlyValid.d.ts.map +1 -0
- package/bcp47/validation/isStrictlyValid.js +98 -0
- package/bcp47/validation/isValid.d.ts +24 -0
- package/bcp47/validation/isValid.d.ts.map +1 -0
- package/bcp47/validation/isValid.js +115 -0
- package/bcp47/validation/isWellFormed.d.ts +22 -0
- package/bcp47/validation/isWellFormed.d.ts.map +1 -0
- package/bcp47/validation/isWellFormed.js +98 -0
- package/bcp47/validation/validateTag.d.ts +97 -0
- package/bcp47/validation/validateTag.d.ts.map +1 -0
- package/bcp47/validation/validateTag.js +159 -0
- package/data/bcp/overrides.json +21 -0
- package/data/iana/language-subtags.json +77295 -0
- package/data/iana/language-tag-extensions.json +42 -0
- package/data/unsd/m49.csv +250 -0
- package/iana/common/converters.d.ts +31 -0
- package/iana/common/converters.d.ts.map +1 -0
- package/iana/common/converters.js +84 -0
- package/iana/common/model.d.ts +30 -0
- package/iana/common/model.d.ts.map +1 -0
- package/iana/common/model.js +24 -0
- package/iana/common/registeredItems.d.ts +30 -0
- package/iana/common/registeredItems.d.ts.map +1 -0
- package/iana/common/registeredItems.js +124 -0
- package/iana/common/utils.d.ts +7 -0
- package/iana/common/utils.d.ts.map +1 -0
- package/iana/common/utils.js +34 -0
- package/iana/common/validate.d.ts +19 -0
- package/iana/common/validate.d.ts.map +1 -0
- package/iana/common/validate.js +61 -0
- package/iana/converters.d.ts +4 -0
- package/iana/converters.d.ts.map +1 -0
- package/iana/converters.js +54 -0
- package/iana/defaultRegistries.d.ts +12 -0
- package/iana/defaultRegistries.d.ts.map +1 -0
- package/iana/defaultRegistries.js +42 -0
- package/iana/index.d.ts +9 -0
- package/iana/index.d.ts.map +1 -0
- package/iana/index.js +64 -0
- package/iana/jar/converters.d.ts +4 -0
- package/iana/jar/converters.d.ts.map +1 -0
- package/iana/jar/converters.js +54 -0
- package/iana/jar/index.d.ts +4 -0
- package/iana/jar/index.d.ts.map +1 -0
- package/iana/jar/index.js +52 -0
- package/iana/jar/jarConverters.d.ts +17 -0
- package/iana/jar/jarConverters.d.ts.map +1 -0
- package/iana/jar/jarConverters.js +85 -0
- package/iana/jar/jarModel.d.ts +11 -0
- package/iana/jar/jarModel.d.ts.map +1 -0
- package/iana/jar/jarModel.js +24 -0
- package/iana/jar/language-subtags/converters.d.ts +4 -0
- package/iana/jar/language-subtags/converters.d.ts.map +1 -0
- package/iana/jar/language-subtags/converters.js +52 -0
- package/iana/jar/language-subtags/index.d.ts +4 -0
- package/iana/jar/language-subtags/index.d.ts.map +1 -0
- package/iana/jar/language-subtags/index.js +54 -0
- package/iana/jar/language-subtags/model.d.ts +4 -0
- package/iana/jar/language-subtags/model.d.ts.map +1 -0
- package/iana/jar/language-subtags/model.js +52 -0
- package/iana/jar/language-subtags/registry/converters.d.ts +10 -0
- package/iana/jar/language-subtags/registry/converters.d.ts.map +1 -0
- package/iana/jar/language-subtags/registry/converters.js +58 -0
- package/iana/jar/language-subtags/registry/index.d.ts +4 -0
- package/iana/jar/language-subtags/registry/index.d.ts.map +1 -0
- package/iana/jar/language-subtags/registry/index.js +55 -0
- package/iana/jar/language-subtags/registry/model.d.ts +88 -0
- package/iana/jar/language-subtags/registry/model.d.ts.map +1 -0
- package/iana/jar/language-subtags/registry/model.js +41 -0
- package/iana/jar/language-subtags/tags/converters.d.ts +55 -0
- package/iana/jar/language-subtags/tags/converters.d.ts.map +1 -0
- package/iana/jar/language-subtags/tags/converters.js +128 -0
- package/iana/jar/language-subtags/tags/index.d.ts +5 -0
- package/iana/jar/language-subtags/tags/index.d.ts.map +1 -0
- package/iana/jar/language-subtags/tags/index.js +56 -0
- package/iana/jar/language-subtags/tags/model.d.ts +42 -0
- package/iana/jar/language-subtags/tags/model.d.ts.map +1 -0
- package/iana/jar/language-subtags/tags/model.js +24 -0
- package/iana/jar/language-subtags/tags/tagValidation.d.ts +11 -0
- package/iana/jar/language-subtags/tags/tagValidation.d.ts.map +1 -0
- package/iana/jar/language-subtags/tags/tagValidation.js +70 -0
- package/iana/jar/language-subtags/tags/validate.d.ts +36 -0
- package/iana/jar/language-subtags/tags/validate.d.ts.map +1 -0
- package/iana/jar/language-subtags/tags/validate.js +87 -0
- package/iana/jar/model.d.ts +4 -0
- package/iana/jar/model.d.ts.map +1 -0
- package/iana/jar/model.js +54 -0
- package/iana/language-subtags/common.d.ts +5 -0
- package/iana/language-subtags/common.d.ts.map +1 -0
- package/iana/language-subtags/common.js +24 -0
- package/iana/language-subtags/converters.d.ts +52 -0
- package/iana/language-subtags/converters.d.ts.map +1 -0
- package/iana/language-subtags/converters.js +200 -0
- package/iana/language-subtags/index.d.ts +7 -0
- package/iana/language-subtags/index.d.ts.map +1 -0
- package/iana/language-subtags/index.js +60 -0
- package/iana/language-subtags/jarConverters.d.ts +55 -0
- package/iana/language-subtags/jarConverters.d.ts.map +1 -0
- package/iana/language-subtags/jarConverters.js +213 -0
- package/iana/language-subtags/model.d.ts +144 -0
- package/iana/language-subtags/model.d.ts.map +1 -0
- package/iana/language-subtags/model.js +24 -0
- package/iana/language-subtags/scope.d.ts +77 -0
- package/iana/language-subtags/scope.d.ts.map +1 -0
- package/iana/language-subtags/scope.js +179 -0
- package/iana/language-subtags/subtagRegistry.d.ts +36 -0
- package/iana/language-subtags/subtagRegistry.d.ts.map +1 -0
- package/iana/language-subtags/subtagRegistry.js +139 -0
- package/iana/language-subtags/validate.d.ts +2 -0
- package/iana/language-subtags/validate.d.ts.map +1 -0
- package/iana/language-subtags/validate.js +39 -0
- package/iana/language-tag-extensions/converters.d.ts +23 -0
- package/iana/language-tag-extensions/converters.d.ts.map +1 -0
- package/iana/language-tag-extensions/converters.js +87 -0
- package/iana/language-tag-extensions/extensionsRegistry.d.ts +26 -0
- package/iana/language-tag-extensions/extensionsRegistry.d.ts.map +1 -0
- package/iana/language-tag-extensions/extensionsRegistry.js +94 -0
- package/iana/language-tag-extensions/extensionsScope.d.ts +20 -0
- package/iana/language-tag-extensions/extensionsScope.d.ts.map +1 -0
- package/iana/language-tag-extensions/extensionsScope.js +77 -0
- package/iana/language-tag-extensions/index.d.ts +6 -0
- package/iana/language-tag-extensions/index.d.ts.map +1 -0
- package/iana/language-tag-extensions/index.js +56 -0
- package/iana/language-tag-extensions/jarConverters.d.ts +28 -0
- package/iana/language-tag-extensions/jarConverters.d.ts.map +1 -0
- package/iana/language-tag-extensions/jarConverters.js +102 -0
- package/iana/language-tag-extensions/model.d.ts +40 -0
- package/iana/language-tag-extensions/model.d.ts.map +1 -0
- package/iana/language-tag-extensions/model.js +24 -0
- package/iana/language-tag-extensions/validate.d.ts +7 -0
- package/iana/language-tag-extensions/validate.d.ts.map +1 -0
- package/iana/language-tag-extensions/validate.js +36 -0
- package/iana/languageRegistries.d.ts +13 -0
- package/iana/languageRegistries.d.ts.map +1 -0
- package/iana/languageRegistries.js +49 -0
- package/iana/model.d.ts +4 -0
- package/iana/model.d.ts.map +1 -0
- package/iana/model.js +54 -0
- package/iana/validate.d.ts +2 -0
- package/iana/validate.d.ts.map +1 -0
- package/iana/validate.js +39 -0
- package/index.d.ts +5 -0
- package/index.d.ts.map +1 -0
- package/index.js +54 -0
- package/package.json +64 -0
- package/unsd/areas.d.ts +29 -0
- package/unsd/areas.d.ts.map +1 -0
- package/unsd/areas.js +96 -0
- package/unsd/common.d.ts +49 -0
- package/unsd/common.d.ts.map +1 -0
- package/unsd/common.js +24 -0
- package/unsd/csv/converters.d.ts +21 -0
- package/unsd/csv/converters.d.ts.map +1 -0
- package/unsd/csv/converters.js +70 -0
- package/unsd/csv/index.d.ts +4 -0
- package/unsd/csv/index.d.ts.map +1 -0
- package/unsd/csv/index.js +52 -0
- package/unsd/csv/model.d.ts +22 -0
- package/unsd/csv/model.d.ts.map +1 -0
- package/unsd/csv/model.js +24 -0
- package/unsd/defaultRegistries.d.ts +12 -0
- package/unsd/defaultRegistries.d.ts.map +1 -0
- package/unsd/defaultRegistries.js +42 -0
- package/unsd/index.d.ts +4 -0
- package/unsd/index.d.ts.map +1 -0
- package/unsd/index.js +44 -0
- package/unsd/regionCodes.d.ts +38 -0
- package/unsd/regionCodes.d.ts.map +1 -0
- package/unsd/regionCodes.js +111 -0
- package/unsd/regions.d.ts +21 -0
- package/unsd/regions.d.ts.map +1 -0
- package/unsd/regions.js +77 -0
- package/utils/index.d.ts +3 -0
- package/utils/index.d.ts.map +1 -0
- package/utils/index.js +40 -0
- package/utils/jsonHelpers.d.ts +2 -0
- package/utils/jsonHelpers.d.ts.map +1 -0
- package/utils/jsonHelpers.js +29 -0
- package/utils/validationHelpers.d.ts +47 -0
- package/utils/validationHelpers.d.ts.map +1 -0
- package/utils/validationHelpers.js +88 -0
|
@@ -0,0 +1,213 @@
|
|
|
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.loadTxtSubtagRegistryFileSync = exports.loadJsonSubtagRegistryFileSync = exports.registryFile = exports.registeredItem = exports.registeredRedundantTag = exports.registeredGrandfatheredTag = exports.registeredVariant = exports.registeredRegion = exports.registeredScript = exports.registeredExtLang = exports.registeredLanguage = void 0;
|
|
48
|
+
const TagConverters = __importStar(require("../jar/language-subtags/tags/converters"));
|
|
49
|
+
const ts_utils_1 = require("@fgv/ts-utils");
|
|
50
|
+
const converters_1 = require("../common/converters");
|
|
51
|
+
const file_1 = require("@fgv/ts-json/file");
|
|
52
|
+
const jarConverters_1 = require("../jar/jarConverters");
|
|
53
|
+
const converters_2 = require("../jar/language-subtags/registry/converters");
|
|
54
|
+
/**
|
|
55
|
+
* @internal
|
|
56
|
+
*/
|
|
57
|
+
exports.registeredLanguage = ts_utils_1.Converters.transformObject({
|
|
58
|
+
type: { from: 'Type', converter: ts_utils_1.Converters.enumeratedValue(['language']) },
|
|
59
|
+
subtag: { from: 'Subtag', converter: TagConverters.tagOrStartOfTagRange(TagConverters.languageSubtag) },
|
|
60
|
+
description: { from: 'Description', converter: ts_utils_1.Converters.stringArray },
|
|
61
|
+
added: { from: 'Added', converter: converters_1.yearMonthDaySpec },
|
|
62
|
+
comments: { from: 'Comments', converter: ts_utils_1.Converters.stringArray, optional: true },
|
|
63
|
+
deprecated: { from: 'Deprecated', converter: converters_1.yearMonthDaySpec, optional: true },
|
|
64
|
+
macrolanguage: { from: 'Macrolanguage', converter: TagConverters.languageSubtag, optional: true },
|
|
65
|
+
preferredValue: { from: 'Preferred-Value', converter: TagConverters.languageSubtag, optional: true },
|
|
66
|
+
scope: { from: 'Scope', converter: converters_2.registryScopeType, optional: true },
|
|
67
|
+
suppressScript: { from: 'Suppress-Script', converter: TagConverters.scriptSubtag, optional: true },
|
|
68
|
+
subtagRangeEnd: { from: 'Subtag', converter: TagConverters.endOfTagRangeOrUndefined(TagConverters.languageSubtag), optional: true },
|
|
69
|
+
}, {
|
|
70
|
+
strict: true,
|
|
71
|
+
description: 'language subtag',
|
|
72
|
+
});
|
|
73
|
+
/**
|
|
74
|
+
* @internal
|
|
75
|
+
*/
|
|
76
|
+
exports.registeredExtLang = ts_utils_1.Converters.transformObject({
|
|
77
|
+
type: { from: 'Type', converter: ts_utils_1.Converters.enumeratedValue(['extlang']) },
|
|
78
|
+
subtag: { from: 'Subtag', converter: TagConverters.extlangSubtag },
|
|
79
|
+
preferredValue: { from: 'Preferred-Value', converter: TagConverters.extendedLanguageRange },
|
|
80
|
+
prefix: { from: 'Prefix', converter: TagConverters.extlangPrefix },
|
|
81
|
+
description: { from: 'Description', converter: ts_utils_1.Converters.stringArray },
|
|
82
|
+
added: { from: 'Added', converter: converters_1.yearMonthDaySpec },
|
|
83
|
+
comments: { from: 'Comments', converter: ts_utils_1.Converters.stringArray, optional: true },
|
|
84
|
+
deprecated: { from: 'Deprecated', converter: converters_1.yearMonthDaySpec, optional: true },
|
|
85
|
+
macrolanguage: { from: 'Macrolanguage', converter: TagConverters.languageSubtag, optional: true },
|
|
86
|
+
scope: { from: 'Scope', converter: converters_2.registryScopeType, optional: true },
|
|
87
|
+
suppressScript: { from: 'Suppress-Script', converter: TagConverters.scriptSubtag, optional: true },
|
|
88
|
+
}, {
|
|
89
|
+
strict: true,
|
|
90
|
+
description: 'extlang subtag',
|
|
91
|
+
});
|
|
92
|
+
/**
|
|
93
|
+
* @internal
|
|
94
|
+
*/
|
|
95
|
+
exports.registeredScript = ts_utils_1.Converters.transformObject({
|
|
96
|
+
type: { from: 'Type', converter: ts_utils_1.Converters.enumeratedValue(['script']) },
|
|
97
|
+
subtag: { from: 'Subtag', converter: TagConverters.tagOrStartOfTagRange(TagConverters.scriptSubtag) },
|
|
98
|
+
description: { from: 'Description', converter: ts_utils_1.Converters.stringArray },
|
|
99
|
+
added: { from: 'Added', converter: converters_1.yearMonthDaySpec },
|
|
100
|
+
comments: { from: 'Comments', converter: ts_utils_1.Converters.stringArray, optional: true },
|
|
101
|
+
deprecated: { from: 'Deprecated', converter: converters_1.yearMonthDaySpec, optional: true },
|
|
102
|
+
preferredValue: { from: 'Preferred-Value', converter: TagConverters.scriptSubtag, optional: true },
|
|
103
|
+
subtagRangeEnd: { from: 'Subtag', converter: TagConverters.endOfTagRangeOrUndefined(TagConverters.scriptSubtag), optional: true },
|
|
104
|
+
}, {
|
|
105
|
+
strict: true,
|
|
106
|
+
description: 'script subtag',
|
|
107
|
+
});
|
|
108
|
+
/**
|
|
109
|
+
* @internal
|
|
110
|
+
*/
|
|
111
|
+
exports.registeredRegion = ts_utils_1.Converters.transformObject({
|
|
112
|
+
type: { from: 'Type', converter: ts_utils_1.Converters.enumeratedValue(['region']) },
|
|
113
|
+
subtag: { from: 'Subtag', converter: TagConverters.tagOrStartOfTagRange(TagConverters.regionSubtag) },
|
|
114
|
+
description: { from: 'Description', converter: ts_utils_1.Converters.stringArray },
|
|
115
|
+
added: { from: 'Added', converter: converters_1.yearMonthDaySpec },
|
|
116
|
+
comments: { from: 'Comments', converter: ts_utils_1.Converters.stringArray, optional: true },
|
|
117
|
+
deprecated: { from: 'Deprecated', converter: converters_1.yearMonthDaySpec, optional: true },
|
|
118
|
+
preferredValue: { from: 'Preferred-Value', converter: TagConverters.regionSubtag, optional: true },
|
|
119
|
+
subtagRangeEnd: { from: 'Subtag', converter: TagConverters.endOfTagRangeOrUndefined(TagConverters.regionSubtag), optional: true },
|
|
120
|
+
}, {
|
|
121
|
+
strict: true,
|
|
122
|
+
description: 'region subtag',
|
|
123
|
+
});
|
|
124
|
+
/**
|
|
125
|
+
* @internal
|
|
126
|
+
*/
|
|
127
|
+
exports.registeredVariant = ts_utils_1.Converters.transformObject({
|
|
128
|
+
type: { from: 'Type', converter: ts_utils_1.Converters.enumeratedValue(['variant']) },
|
|
129
|
+
subtag: { from: 'Subtag', converter: TagConverters.variantSubtag },
|
|
130
|
+
description: { from: 'Description', converter: ts_utils_1.Converters.stringArray },
|
|
131
|
+
added: { from: 'Added', converter: converters_1.yearMonthDaySpec },
|
|
132
|
+
comments: { from: 'Comments', converter: ts_utils_1.Converters.stringArray, optional: true },
|
|
133
|
+
deprecated: { from: 'Deprecated', converter: converters_1.yearMonthDaySpec, optional: true },
|
|
134
|
+
preferredValue: { from: 'Preferred-Value', converter: TagConverters.variantSubtag, optional: true },
|
|
135
|
+
prefix: { from: 'Prefix', converter: ts_utils_1.Converters.arrayOf(TagConverters.extendedLanguageRange), optional: true },
|
|
136
|
+
}, {
|
|
137
|
+
strict: true,
|
|
138
|
+
description: 'variant subtag',
|
|
139
|
+
});
|
|
140
|
+
/**
|
|
141
|
+
* @internal
|
|
142
|
+
*/
|
|
143
|
+
exports.registeredGrandfatheredTag = ts_utils_1.Converters.transformObject({
|
|
144
|
+
type: { from: 'Type', converter: ts_utils_1.Converters.enumeratedValue(['grandfathered']) },
|
|
145
|
+
tag: { from: 'Tag', converter: TagConverters.grandfatheredTag },
|
|
146
|
+
description: { from: 'Description', converter: ts_utils_1.Converters.stringArray },
|
|
147
|
+
added: { from: 'Added', converter: converters_1.yearMonthDaySpec },
|
|
148
|
+
comments: { from: 'Comments', converter: ts_utils_1.Converters.stringArray, optional: true },
|
|
149
|
+
deprecated: { from: 'Deprecated', converter: converters_1.yearMonthDaySpec, optional: true },
|
|
150
|
+
preferredValue: { from: 'Preferred-Value', converter: TagConverters.extendedLanguageRange, optional: true },
|
|
151
|
+
}, {
|
|
152
|
+
strict: true,
|
|
153
|
+
description: 'grandfathered tag',
|
|
154
|
+
});
|
|
155
|
+
/**
|
|
156
|
+
* @internal
|
|
157
|
+
*/
|
|
158
|
+
exports.registeredRedundantTag = ts_utils_1.Converters.transformObject({
|
|
159
|
+
type: { from: 'Type', converter: ts_utils_1.Converters.enumeratedValue(['redundant']) },
|
|
160
|
+
tag: { from: 'Tag', converter: TagConverters.redundantTag },
|
|
161
|
+
description: { from: 'Description', converter: ts_utils_1.Converters.stringArray },
|
|
162
|
+
added: { from: 'Added', converter: converters_1.yearMonthDaySpec },
|
|
163
|
+
comments: { from: 'Comments', converter: ts_utils_1.Converters.stringArray, optional: true },
|
|
164
|
+
deprecated: { from: 'Deprecated', converter: converters_1.yearMonthDaySpec, optional: true },
|
|
165
|
+
preferredValue: { from: 'Preferred-Value', converter: TagConverters.extendedLanguageRange, optional: true },
|
|
166
|
+
}, {
|
|
167
|
+
strict: true,
|
|
168
|
+
description: 'redundant tag',
|
|
169
|
+
});
|
|
170
|
+
/**
|
|
171
|
+
* @internal
|
|
172
|
+
*/
|
|
173
|
+
exports.registeredItem = ts_utils_1.Converters.discriminatedObject('Type', {
|
|
174
|
+
language: exports.registeredLanguage,
|
|
175
|
+
extlang: exports.registeredExtLang,
|
|
176
|
+
script: exports.registeredScript,
|
|
177
|
+
region: exports.registeredRegion,
|
|
178
|
+
variant: exports.registeredVariant,
|
|
179
|
+
grandfathered: exports.registeredGrandfatheredTag,
|
|
180
|
+
redundant: exports.registeredRedundantTag,
|
|
181
|
+
});
|
|
182
|
+
/**
|
|
183
|
+
* @internal
|
|
184
|
+
*/
|
|
185
|
+
exports.registryFile = (0, converters_1.datedRegistry)(exports.registeredItem);
|
|
186
|
+
/**
|
|
187
|
+
* Loads a JSON-format language subtag registry file.
|
|
188
|
+
* @param path - The string path from which the registry is to be loaded.
|
|
189
|
+
* @returns `Success` with the resulting {@link Iana.LanguageSubtags.Model.RegistryFile | registry file}
|
|
190
|
+
* or `Failure` with details if an error occurs.
|
|
191
|
+
* @internal
|
|
192
|
+
*/
|
|
193
|
+
function loadJsonSubtagRegistryFileSync(path) {
|
|
194
|
+
return (0, file_1.convertJsonFileSync)(path, exports.registryFile);
|
|
195
|
+
}
|
|
196
|
+
exports.loadJsonSubtagRegistryFileSync = loadJsonSubtagRegistryFileSync;
|
|
197
|
+
/**
|
|
198
|
+
* Loads a text (JAR) format language subtag registry file.
|
|
199
|
+
* @param path - The string path from which the registry is to be loaded.
|
|
200
|
+
* @returns `Success` with the resulting {@link Iana.LanguageSubtags.Model.RegistryFile | registry file}
|
|
201
|
+
* or `Failure` with details if an error occurs.
|
|
202
|
+
* @internal
|
|
203
|
+
*/
|
|
204
|
+
function loadTxtSubtagRegistryFileSync(path) {
|
|
205
|
+
return ts_utils_1.RecordJar.readRecordJarFileSync(path, {
|
|
206
|
+
arrayFields: ['Comments', 'Description', 'Prefix'],
|
|
207
|
+
fixedContinuationSize: 1,
|
|
208
|
+
}).onSuccess((jar) => {
|
|
209
|
+
return (0, jarConverters_1.datedRegistryFromJarRecords)(exports.registeredItem).convert(jar);
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
exports.loadTxtSubtagRegistryFileSync = loadTxtSubtagRegistryFileSync;
|
|
213
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamFyQ29udmVydGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pYW5hL2xhbmd1YWdlLXN1YnRhZ3MvamFyQ29udmVydGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUlILHVGQUF5RTtBQUV6RSw0Q0FBOEQ7QUFDOUQscURBQXVFO0FBRXZFLDRDQUF3RDtBQUN4RCx3REFBbUU7QUFDbkUsNEVBQWdGO0FBRWhGOztHQUVHO0FBQ1UsUUFBQSxrQkFBa0IsR0FBRyxxQkFBVSxDQUFDLGVBQWUsQ0FDeEQ7SUFDSSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxxQkFBVSxDQUFDLGVBQWUsQ0FBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUU7SUFDdkYsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsYUFBYSxDQUFDLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsRUFBRTtJQUN2RyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxxQkFBVSxDQUFDLFdBQVcsRUFBRTtJQUN2RSxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSw2QkFBZ0IsRUFBRTtJQUNyRCxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxxQkFBVSxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO0lBQ2pGLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLDZCQUFnQixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7SUFDL0UsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsYUFBYSxDQUFDLGNB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QUFjLEdBQUcscUJBQVUsQ0FBQyxtQkFBbUIsQ0FBdUIsTUFBTSxFQUFFO0lBQ3ZGLFFBQVEsRUFBRSwwQkFBa0I7SUFDNUIsT0FBTyxFQUFFLHlCQUFpQjtJQUMxQixNQUFNLEVBQUUsd0JBQWdCO0lBQ3hCLE1BQU0sRUFBRSx3QkFBZ0I7SUFDeEIsT0FBTyxFQUFFLHlCQUFpQjtJQUMxQixhQUFhLEVBQUUsa0NBQTBCO0lBQ3pDLFNBQVMsRUFBRSw4QkFBc0I7Q0FDcEMsQ0FBQyxDQUFDO0FBRUg7O0dBRUc7QUFDVSxRQUFBLFlBQVksR0FBRyxJQUFBLDBCQUFhLEVBQUMsc0JBQWMsQ0FBQyxDQUFDO0FBRTFEOzs7Ozs7R0FNRztBQUNILFNBQWdCLDhCQUE4QixDQUFDLElBQVk7SUFDdkQsT0FBTyxJQUFBLDBCQUFtQixFQUFDLElBQUksRUFBRSxvQkFBWSxDQUFDLENBQUM7QUFDbkQsQ0FBQztBQUZELHdFQUVDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsNkJBQTZCLENBQUMsSUFBWTtJQUN0RCxPQUFPLG9CQUFTLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFO1FBQ3pDLFdBQVcsRUFBRSxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUUsUUFBUSxDQUFDO1FBQ2xELHFCQUFxQixFQUFFLENBQUM7S0FDM0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ2pCLE9BQU8sSUFBQSwyQ0FBMkIsRUFBQyxzQkFBYyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BFLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQVBELHNFQU9DIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyMiBFcmlrIEZvcnR1bmVcbiAqXG4gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4gKlxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4gKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuICpcbiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbiAqIFNPRlRXQVJFLlxuICovXG5cbmltcG9ydCAqIGFzIEl0ZW1zIGZyb20gJy4vbW9kZWwnO1xuaW1wb3J0ICogYXMgTW9kZWwgZnJvbSAnLi4vamFyL2xhbmd1YWdlLXN1YnRhZ3MvcmVnaXN0cnkvbW9kZWwnO1xuaW1wb3J0ICogYXMgVGFnQ29udmVydGVycyBmcm9tICcuLi9qYXIvbGFuZ3VhZ2Utc3VidGFncy90YWdzL2NvbnZlcnRlcnMnO1xuXG5pbXBvcnQgeyBDb252ZXJ0ZXJzLCBSZWNvcmRKYXIsIFJlc3VsdCB9IGZyb20gJ0BmZ3YvdHMtdXRpbHMnO1xuaW1wb3J0IHsgZGF0ZWRSZWdpc3RyeSwgeWVhck1vbnRoRGF5U3BlYyB9IGZyb20gJy4uL2NvbW1vbi9jb252ZXJ0ZXJzJztcblxuaW1wb3J0IHsgY29udmVydEpzb25GaWxlU3luYyB9IGZyb20gJ0BmZ3YvdHMtanNvbi9maWxlJztcbmltcG9ydCB7IGRhdGVkUmVnaXN0cnlGcm9tSmFyUmVjb3JkcyB9IGZyb20gJy4uL2phci9qYXJDb252ZXJ0ZXJzJztcbmltcG9ydCB7IHJlZ2lzdHJ5U2NvcGVUeXBlIH0gZnJvbSAnLi4vamFyL2xhbmd1YWdlLXN1YnRhZ3MvcmVnaXN0cnkvY29udmVydGVycyc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCByZWdpc3RlcmVkTGFuZ3VhZ2UgPSBDb252ZXJ0ZXJzLnRyYW5zZm9ybU9iamVjdDxNb2RlbC5MYW5ndWFnZVN1YnRhZ1JlZ2lzdHJ5RW50cnksIEl0ZW1zLlJlZ2lzdGVyZWRMYW5ndWFnZT4oXG4gICAge1xuICAgICAgICB0eXBlOiB7IGZyb206ICdUeXBlJywgY29udmVydGVyOiBDb252ZXJ0ZXJzLmVudW1lcmF0ZWRWYWx1ZTwnbGFuZ3VhZ2UnPihbJ2xhbmd1YWdlJ10pIH0sXG4gICAgICAgIHN1YnRhZzogeyBmcm9tOiAnU3VidGFnJywgY29udmVydGVyOiBUYWdDb252ZXJ0ZXJzLnRhZ09yU3RhcnRPZlRhZ1JhbmdlKFRhZ0NvbnZlcnRlcnMubGFuZ3VhZ2VTdWJ0YWcpIH0sXG4gICAgICAgIGRlc2NyaXB0aW9uOiB7IGZyb206ICdEZXNjcmlwdGlvbicsIGNvbnZlcnRlcjogQ29udmVydGVycy5zdHJpbmdBcnJheSB9LFxuICAgICAgICBhZGRlZDogeyBmcm9tOiAnQWRkZWQnLCBjb252ZXJ0ZXI6IHllYXJNb250aERheVNwZWMgfSxcbiAgICAgICAgY29tbWVudHM6IHsgZnJvbTogJ0NvbW1lbnRzJywgY29udmVydGVyOiBDb252ZXJ0ZXJzLnN0cmluZ0FycmF5LCBvcHRpb25hbDogdHJ1ZSB9LFxuICAgICAgICBkZXByZWNhdGVkOiB7IGZyb206ICdEZXByZWNhdGVkJywgY29udmVydGVyOiB5ZWFyTW9udGhEYXlTcGVjLCBvcHRpb25hbDogdHJ1ZSB9LFxuICAgICAgICBtYWNyb2xhbmd1YWdlOiB7IGZyb206ICdNYWNyb2xhbmd1YWdlJywgY29udmVydGVyOiBUYWdDb252ZXJ0ZXJzLmxhbmd1YWdlU3VidGFnLCBvcHRpb25hbDogdHJ1ZSB9LFxuICAgICAgICBwcmVmZXJyZWRWYWx1ZTogeyBmcm9tOiAnUHJlZmVycmVkLVZhbHVlJywgY29udmVydGVyOiBUYWdDb252ZXJ0ZXJzLmxhbmd1YWdlU3VidGFnLCBvcHRpb25hbDogdHJ1ZSB9LFxuICAgICAgICBzY29wZTogeyBmcm9tOiAnU2NvcGUnLCBjb252ZXJ0ZXI6IHJlZ2lzdHJ5U2NvcGVUeXBlLCBvcHRpb25hbDogdHJ1ZSB9LFxuICAgICAgICBzdXBwcmVzc1NjcmlwdDogeyBmcm9tOiAnU3VwcHJlc3MtU2NyaXB0JywgY29udmVydGVyOiBUYWdDb252ZXJ0ZXJzLnNjcmlwdFN1YnRhZywgb3B0aW9uYWw6IHRydWUgfSxcbiAgICAgICAgc3VidGFnUmFuZ2VFbmQ6IHsgZnJvbTogJ1N1YnRhZycsIGNvbnZlcnRlcjogVGFnQ29udmVydGVycy5lbmRPZlRhZ1JhbmdlT3JVbmRlZmluZWQoVGFnQ29udmVydGVycy5sYW5ndWFnZVN1YnRhZyksIG9wdGlvbmFsOiB0cnVlIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHN0cmljdDogdHJ1ZSxcbiAgICAgICAgZGVzY3JpcHRpb246ICdsYW5ndWFnZSBzdWJ0YWcnLFxuICAgIH1cbik7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCByZWdpc3RlcmVkRXh0TGFuZyA9IENvbnZlcnRlcnMudHJhbnNmb3JtT2JqZWN0PE1vZGVsLkV4dExhbmdTdWJ0YWdSZWdpc3RyeUVudHJ5LCBJdGVtcy5SZWdpc3RlcmVkRXh0TGFuZz4oXG4gICAge1xuICAgICAgICB0eXBlOiB7IGZyb206ICdUeXBlJywgY29udmVydGVyOiBDb252ZXJ0ZXJzLmVudW1lcmF0ZWRWYWx1ZTwnZXh0bGFuZyc+KFsnZXh0bGFuZyddKSB9LFxuICAgICAgICBzdWJ0YWc6IHsgZnJvbTogJ1N1YnRhZycsIGNvbnZlcnRlcjogVGFnQ29udmVydGVycy5leHRsYW5nU3VidGFnIH0sXG4gICAgICAgIHByZWZlcnJlZFZhbHVlOiB7IGZyb206ICdQcmVmZXJyZWQtVmFsdWUnLCBjb252ZXJ0ZXI6IFRhZ0NvbnZlcnRlcnMuZXh0ZW5kZWRMYW5ndWFnZVJhbmdlIH0sXG4gICAgICAgIHByZWZpeDogeyBmcm9tOiAnUHJlZml4JywgY29udmVydGVyOiBUYWdDb252ZXJ0ZXJzLmV4dGxhbmdQcmVmaXggfSxcbiAgICAgICAgZGVzY3JpcHRpb246IHsgZnJvbTogJ0Rlc2NyaXB0aW9uJywgY29udmVydGVyOiBDb252ZXJ0ZXJzLnN0cmluZ0FycmF5IH0sXG4gICAgICAgIGFkZGVkOiB7IGZyb206ICdBZGRlZCcsIGNvbnZlcnRlcjogeWVhck1vbnRoRGF5U3BlYyB9LFxuICAgICAgICBjb21tZW50czogeyBmcm9tOiAnQ29tbWVudHMnLCBjb252ZXJ0ZXI6IENvbnZlcnRlcnMuc3RyaW5nQXJyYXksIG9wdGlvbmFsOiB0cnVlIH0sXG4gICAgICAgIGRlcHJlY2F0ZWQ6IHsgZnJvbTogJ0RlcHJlY2F0ZWQnLCBjb252ZXJ0ZXI6IHllYXJNb250aERheVNwZWMsIG9wdGlvbmFsOiB0cnVlIH0sXG4gICAgICAgIG1hY3JvbGFuZ3VhZ2U6IHsgZnJvbTogJ01hY3JvbGFuZ3VhZ2UnLCBjb252ZXJ0ZXI6IFRhZ0NvbnZlcnRlcnMubGFuZ3VhZ2VTdWJ0YWcsIG9wdGlvbmFsOiB0cnVlIH0sXG4gICAgICAgIHNjb3BlOiB7IGZyb206ICdTY29wZScsIGNvbnZlcnRlcjogcmVnaXN0cnlTY29wZVR5cGUsIG9wdGlvbmFsOiB0cnVlIH0sXG4gICAgICAgIHN1cHByZXNzU2NyaXB0OiB7IGZyb206ICdTdXBwcmVzcy1TY3JpcHQnLCBjb252ZXJ0ZXI6IFRhZ0NvbnZlcnRlcnMuc2NyaXB0U3VidGFnLCBvcHRpb25hbDogdHJ1ZSB9LFxuICAgIH0sXG4gICAge1xuICAgICAgICBzdHJpY3Q6IHRydWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnZXh0bGFuZyBzdWJ0YWcnLFxuICAgIH1cbik7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCByZWdpc3RlcmVkU2NyaXB0ID0gQ29udmVydGVycy50cmFuc2Zvcm1PYmplY3Q8TW9kZWwuU2NyaXB0U3VidGFnUmVnaXN0cnlFbnRyeSwgSXRlbXMuUmVnaXN0ZXJlZFNjcmlwdD4oXG4gICAge1xuICAgICAgICB0eXBlOiB7IGZyb206ICdUeXBlJywgY29udmVydGVyOiBDb252ZXJ0ZXJzLmVudW1lcmF0ZWRWYWx1ZTwnc2NyaXB0Jz4oWydzY3JpcHQnXSkgfSxcbiAgICAgICAgc3VidGFnOiB7IGZyb206ICdTdWJ0YWcnLCBjb252ZXJ0ZXI6IFRhZ0NvbnZlcnRlcnMudGFnT3JTdGFydE9mVGFnUmFuZ2UoVGFnQ29udmVydGVycy5zY3JpcHRTdWJ0YWcpIH0sXG4gICAgICAgIGRlc2NyaXB0aW9uOiB7IGZyb206ICdEZXNjcmlwdGlvbicsIGNvbnZlcnRlcjogQ29udmVydGVycy5zdHJpbmdBcnJheSB9LFxuICAgICAgICBhZGRlZDogeyBmcm9tOiAnQWRkZWQnLCBjb252ZXJ0ZXI6IHllYXJNb250aERheVNwZWMgfSxcbiAgICAgICAgY29tbWVudHM6IHsgZnJvbTogJ0NvbW1lbnRzJywgY29udmVydGVyOiBDb252ZXJ0ZXJzLnN0cmluZ0FycmF5LCBvcHRpb25hbDogdHJ1ZSB9LFxuICAgICAgICBkZXByZWNhdGVkOiB7IGZyb206ICdEZXByZWNhdGVkJywgY29udmVydGVyOiB5ZWFyTW9udGhEYXlTcGVjLCBvcHRpb25hbDogdHJ1ZSB9LFxuICAgICAgICBwcmVmZXJyZWRWYWx1ZTogeyBmcm9tOiAnUHJlZmVycmVkLVZhbHVlJywgY29udmVydGVyOiBUYWdDb252ZXJ0ZXJzLnNjcmlwdFN1YnRhZywgb3B0aW9uYWw6IHRydWUgfSxcbiAgICAgICAgc3VidGFnUmFuZ2VFbmQ6IHsgZnJvbTogJ1N1YnRhZycsIGNvbnZlcnRlcjogVGFnQ29udmVydGVycy5lbmRPZlRhZ1JhbmdlT3JVbmRlZmluZWQoVGFnQ29udmVydGVycy5zY3JpcHRTdWJ0YWcpLCBvcHRpb25hbDogdHJ1ZSB9LFxuICAgIH0sXG4gICAge1xuICAgICAgICBzdHJpY3Q6IHRydWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnc2NyaXB0IHN1YnRhZycsXG4gICAgfVxuKTtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IHJlZ2lzdGVyZWRSZWdpb24gPSBDb252ZXJ0ZXJzLnRyYW5zZm9ybU9iamVjdDxNb2RlbC5SZWdpb25TdWJ0YWdSZWdpc3RyeUVudHJ5LCBJdGVtcy5SZWdpc3RlcmVkUmVnaW9uPihcbiAgICB7XG4gICAgICAgIHR5cGU6IHsgZnJvbTogJ1R5cGUnLCBjb252ZXJ0ZXI6IENvbnZlcnRlcnMuZW51bWVyYXRlZFZhbHVlPCdyZWdpb24nPihbJ3JlZ2lvbiddKSB9LFxuICAgICAgICBzdWJ0YWc6IHsgZnJvbTogJ1N1YnRhZycsIGNvbnZlcnRlcjogVGFnQ29udmVydGVycy50YWdPclN0YXJ0T2ZUYWdSYW5nZShUYWdDb252ZXJ0ZXJzLnJlZ2lvblN1YnRhZykgfSxcbiAgICAgICAgZGVzY3JpcHRpb246IHsgZnJvbTogJ0Rlc2NyaXB0aW9uJywgY29udmVydGVyOiBDb252ZXJ0ZXJzLnN0cmluZ0FycmF5IH0sXG4gICAgICAgIGFkZGVkOiB7IGZyb206ICdBZGRlZCcsIGNvbnZlcnRlcjogeWVhck1vbnRoRGF5U3BlYyB9LFxuICAgICAgICBjb21tZW50czogeyBmcm9tOiAnQ29tbWVudHMnLCBjb252ZXJ0ZXI6IENvbnZlcnRlcnMuc3RyaW5nQXJyYXksIG9wdGlvbmFsOiB0cnVlIH0sXG4gICAgICAgIGRlcHJlY2F0ZWQ6IHsgZnJvbTogJ0RlcHJlY2F0ZWQnLCBjb252ZXJ0ZXI6IHllYXJNb250aERheVNwZWMsIG9wdGlvbmFsOiB0cnVlIH0sXG4gICAgICAgIHByZWZlcnJlZFZhbHVlOiB7IGZyb206ICdQcmVmZXJyZWQtVmFsdWUnLCBjb252ZXJ0ZXI6IFRhZ0NvbnZlcnRlcnMucmVnaW9uU3VidGFnLCBvcHRpb25hbDogdHJ1ZSB9LFxuICAgICAgICBzdWJ0YWdSYW5nZUVuZDogeyBmcm9tOiAnU3VidGFnJywgY29udmVydGVyOiBUYWdDb252ZXJ0ZXJzLmVuZE9mVGFnUmFuZ2VPclVuZGVmaW5lZChUYWdDb252ZXJ0ZXJzLnJlZ2lvblN1YnRhZyksIG9wdGlvbmFsOiB0cnVlIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHN0cmljdDogdHJ1ZSxcbiAgICAgICAgZGVzY3JpcHRpb246ICdyZWdpb24gc3VidGFnJyxcbiAgICB9XG4pO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJlZFZhcmlhbnQgPSBDb252ZXJ0ZXJzLnRyYW5zZm9ybU9iamVjdDxNb2RlbC5WYXJpYW50U3VidGFnUmVnaXN0cnlFbnRyeSwgSXRlbXMuUmVnaXN0ZXJlZFZhcmlhbnQ+KFxuICAgIHtcbiAgICAgICAgdHlwZTogeyBmcm9tOiAnVHlwZScsIGNvbnZlcnRlcjogQ29udmVydGVycy5lbnVtZXJhdGVkVmFsdWU8J3ZhcmlhbnQnPihbJ3ZhcmlhbnQnXSkgfSxcbiAgICAgICAgc3VidGFnOiB7IGZyb206ICdTdWJ0YWcnLCBjb252ZXJ0ZXI6IFRhZ0NvbnZlcnRlcnMudmFyaWFudFN1YnRhZyB9LFxuICAgICAgICBkZXNjcmlwdGlvbjogeyBmcm9tOiAnRGVzY3JpcHRpb24nLCBjb252ZXJ0ZXI6IENvbnZlcnRlcnMuc3RyaW5nQXJyYXkgfSxcbiAgICAgICAgYWRkZWQ6IHsgZnJvbTogJ0FkZGVkJywgY29udmVydGVyOiB5ZWFyTW9udGhEYXlTcGVjIH0sXG4gICAgICAgIGNvbW1lbnRzOiB7IGZyb206ICdDb21tZW50cycsIGNvbnZlcnRlcjogQ29udmVydGVycy5zdHJpbmdBcnJheSwgb3B0aW9uYWw6IHRydWUgfSxcbiAgICAgICAgZGVwcmVjYXRlZDogeyBmcm9tOiAnRGVwcmVjYXRlZCcsIGNvbnZlcnRlcjogeWVhck1vbnRoRGF5U3BlYywgb3B0aW9uYWw6IHRydWUgfSxcbiAgICAgICAgcHJlZmVycmVkVmFsdWU6IHsgZnJvbTogJ1ByZWZlcnJlZC1WYWx1ZScsIGNvbnZlcnRlcjogVGFnQ29udmVydGVycy52YXJpYW50U3VidGFnLCBvcHRpb25hbDogdHJ1ZSB9LFxuICAgICAgICBwcmVmaXg6IHsgZnJvbTogJ1ByZWZpeCcsIGNvbnZlcnRlcjogQ29udmVydGVycy5hcnJheU9mKFRhZ0NvbnZlcnRlcnMuZXh0ZW5kZWRMYW5ndWFnZVJhbmdlKSwgb3B0aW9uYWw6IHRydWUgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgICAgc3RyaWN0OiB0cnVlLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ3ZhcmlhbnQgc3VidGFnJyxcbiAgICB9XG4pO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJlZEdyYW5kZmF0aGVyZWRUYWcgPSBDb252ZXJ0ZXJzLnRyYW5zZm9ybU9iamVjdDxNb2RlbC5HcmFuZGZhdGhlcmVkVGFnUmVnaXN0cnlFbnRyeSwgSXRlbXMuUmVnaXN0ZXJlZEdyYW5kZmF0aGVyZWRUYWc+KFxuICAgIHtcbiAgICAgICAgdHlwZTogeyBmcm9tOiAnVHlwZScsIGNvbnZlcnRlcjogQ29udmVydGVycy5lbnVtZXJhdGVkVmFsdWU8J2dyYW5kZmF0aGVyZWQnPihbJ2dyYW5kZmF0aGVyZWQnXSkgfSxcbiAgICAgICAgdGFnOiB7IGZyb206ICdUYWcnLCBjb252ZXJ0ZXI6IFRhZ0NvbnZlcnRlcnMuZ3JhbmRmYXRoZXJlZFRhZyB9LFxuICAgICAgICBkZXNjcmlwdGlvbjogeyBmcm9tOiAnRGVzY3JpcHRpb24nLCBjb252ZXJ0ZXI6IENvbnZlcnRlcnMuc3RyaW5nQXJyYXkgfSxcbiAgICAgICAgYWRkZWQ6IHsgZnJvbTogJ0FkZGVkJywgY29udmVydGVyOiB5ZWFyTW9udGhEYXlTcGVjIH0sXG4gICAgICAgIGNvbW1lbnRzOiB7IGZyb206ICdDb21tZW50cycsIGNvbnZlcnRlcjogQ29udmVydGVycy5zdHJpbmdBcnJheSwgb3B0aW9uYWw6IHRydWUgfSxcbiAgICAgICAgZGVwcmVjYXRlZDogeyBmcm9tOiAnRGVwcmVjYXRlZCcsIGNvbnZlcnRlcjogeWVhck1vbnRoRGF5U3BlYywgb3B0aW9uYWw6IHRydWUgfSxcbiAgICAgICAgcHJlZmVycmVkVmFsdWU6IHsgZnJvbTogJ1ByZWZlcnJlZC1WYWx1ZScsIGNvbnZlcnRlcjogVGFnQ29udmVydGVycy5leHRlbmRlZExhbmd1YWdlUmFuZ2UsIG9wdGlvbmFsOiB0cnVlIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHN0cmljdDogdHJ1ZSxcbiAgICAgICAgZGVzY3JpcHRpb246ICdncmFuZGZhdGhlcmVkIHRhZycsXG4gICAgfVxuKTtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IHJlZ2lzdGVyZWRSZWR1bmRhbnRUYWcgPSBDb252ZXJ0ZXJzLnRyYW5zZm9ybU9iamVjdDxNb2RlbC5SZWR1bmRhbnRUYWdSZWdpc3RyeUVudHJ5LCBJdGVtcy5SZWdpc3RlcmVkUmVkdW5kYW50VGFnPihcbiAgICB7XG4gICAgICAgIHR5cGU6IHsgZnJvbTogJ1R5cGUnLCBjb252ZXJ0ZXI6IENvbnZlcnRlcnMuZW51bWVyYXRlZFZhbHVlPCdyZWR1bmRhbnQnPihbJ3JlZHVuZGFudCddKSB9LFxuICAgICAgICB0YWc6IHsgZnJvbTogJ1RhZycsIGNvbnZlcnRlcjogVGFnQ29udmVydGVycy5yZWR1bmRhbnRUYWcgfSxcbiAgICAgICAgZGVzY3JpcHRpb246IHsgZnJvbTogJ0Rlc2NyaXB0aW9uJywgY29udmVydGVyOiBDb252ZXJ0ZXJzLnN0cmluZ0FycmF5IH0sXG4gICAgICAgIGFkZGVkOiB7IGZyb206ICdBZGRlZCcsIGNvbnZlcnRlcjogeWVhck1vbnRoRGF5U3BlYyB9LFxuICAgICAgICBjb21tZW50czogeyBmcm9tOiAnQ29tbWVudHMnLCBjb252ZXJ0ZXI6IENvbnZlcnRlcnMuc3RyaW5nQXJyYXksIG9wdGlvbmFsOiB0cnVlIH0sXG4gICAgICAgIGRlcHJlY2F0ZWQ6IHsgZnJvbTogJ0RlcHJlY2F0ZWQnLCBjb252ZXJ0ZXI6IHllYXJNb250aERheVNwZWMsIG9wdGlvbmFsOiB0cnVlIH0sXG4gICAgICAgIHByZWZlcnJlZFZhbHVlOiB7IGZyb206ICdQcmVmZXJyZWQtVmFsdWUnLCBjb252ZXJ0ZXI6IFRhZ0NvbnZlcnRlcnMuZXh0ZW5kZWRMYW5ndWFnZVJhbmdlLCBvcHRpb25hbDogdHJ1ZSB9LFxuICAgIH0sXG4gICAge1xuICAgICAgICBzdHJpY3Q6IHRydWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAncmVkdW5kYW50IHRhZycsXG4gICAgfVxuKTtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IHJlZ2lzdGVyZWRJdGVtID0gQ29udmVydGVycy5kaXNjcmltaW5hdGVkT2JqZWN0PEl0ZW1zLlJlZ2lzdGVyZWRJdGVtPignVHlwZScsIHtcbiAgICBsYW5ndWFnZTogcmVnaXN0ZXJlZExhbmd1YWdlLFxuICAgIGV4dGxhbmc6IHJlZ2lzdGVyZWRFeHRMYW5nLFxuICAgIHNjcmlwdDogcmVnaXN0ZXJlZFNjcmlwdCxcbiAgICByZWdpb246IHJlZ2lzdGVyZWRSZWdpb24sXG4gICAgdmFyaWFudDogcmVnaXN0ZXJlZFZhcmlhbnQsXG4gICAgZ3JhbmRmYXRoZXJlZDogcmVnaXN0ZXJlZEdyYW5kZmF0aGVyZWRUYWcsXG4gICAgcmVkdW5kYW50OiByZWdpc3RlcmVkUmVkdW5kYW50VGFnLFxufSk7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCByZWdpc3RyeUZpbGUgPSBkYXRlZFJlZ2lzdHJ5KHJlZ2lzdGVyZWRJdGVtKTtcblxuLyoqXG4gKiBMb2FkcyBhIEpTT04tZm9ybWF0IGxhbmd1YWdlIHN1YnRhZyByZWdpc3RyeSBmaWxlLlxuICogQHBhcmFtIHBhdGggLSBUaGUgc3RyaW5nIHBhdGggZnJvbSB3aGljaCB0aGUgcmVnaXN0cnkgaXMgdG8gYmUgbG9hZGVkLlxuICogQHJldHVybnMgYFN1Y2Nlc3NgIHdpdGggdGhlIHJlc3VsdGluZyB7QGxpbmsgSWFuYS5MYW5ndWFnZVN1YnRhZ3MuTW9kZWwuUmVnaXN0cnlGaWxlIHwgcmVnaXN0cnkgZmlsZX1cbiAqIG9yIGBGYWlsdXJlYCB3aXRoIGRldGFpbHMgaWYgYW4gZXJyb3Igb2NjdXJzLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsb2FkSnNvblN1YnRhZ1JlZ2lzdHJ5RmlsZVN5bmMocGF0aDogc3RyaW5nKTogUmVzdWx0PEl0ZW1zLlJlZ2lzdHJ5RmlsZT4ge1xuICAgIHJldHVybiBjb252ZXJ0SnNvbkZpbGVTeW5jKHBhdGgsIHJlZ2lzdHJ5RmlsZSk7XG59XG5cbi8qKlxuICogTG9hZHMgYSB0ZXh0IChKQVIpIGZvcm1hdCBsYW5ndWFnZSBzdWJ0YWcgcmVnaXN0cnkgZmlsZS5cbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHN0cmluZyBwYXRoIGZyb20gd2hpY2ggdGhlIHJlZ2lzdHJ5IGlzIHRvIGJlIGxvYWRlZC5cbiAqIEByZXR1cm5zIGBTdWNjZXNzYCB3aXRoIHRoZSByZXN1bHRpbmcge0BsaW5rIElhbmEuTGFuZ3VhZ2VTdWJ0YWdzLk1vZGVsLlJlZ2lzdHJ5RmlsZSB8IHJlZ2lzdHJ5IGZpbGV9XG4gKiBvciBgRmFpbHVyZWAgd2l0aCBkZXRhaWxzIGlmIGFuIGVycm9yIG9jY3Vycy5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gbG9hZFR4dFN1YnRhZ1JlZ2lzdHJ5RmlsZVN5bmMocGF0aDogc3RyaW5nKTogUmVzdWx0PEl0ZW1zLlJlZ2lzdHJ5RmlsZT4ge1xuICAgIHJldHVybiBSZWNvcmRKYXIucmVhZFJlY29yZEphckZpbGVTeW5jKHBhdGgsIHtcbiAgICAgICAgYXJyYXlGaWVsZHM6IFsnQ29tbWVudHMnLCAnRGVzY3JpcHRpb24nLCAnUHJlZml4J10sXG4gICAgICAgIGZpeGVkQ29udGludWF0aW9uU2l6ZTogMSxcbiAgICB9KS5vblN1Y2Nlc3MoKGphcikgPT4ge1xuICAgICAgICByZXR1cm4gZGF0ZWRSZWdpc3RyeUZyb21KYXJSZWNvcmRzKHJlZ2lzdGVyZWRJdGVtKS5jb252ZXJ0KGphcik7XG4gICAgfSk7XG59XG4iXX0=
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import * as Model from '../jar/language-subtags/registry/model';
|
|
2
|
+
import { ExtLangSubtag, ExtendedLanguageRange, GrandfatheredTag, LanguageSubtag, RedundantTag, RegionSubtag, ScriptSubtag, VariantSubtag } from './common';
|
|
3
|
+
import { DatedRegistry } from '../common/model';
|
|
4
|
+
/**
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
7
|
+
export interface RegisteredSubtag<TTYPE extends Model.RegistryEntryType, TTAG extends string> {
|
|
8
|
+
readonly type: TTYPE;
|
|
9
|
+
readonly subtag: TTAG;
|
|
10
|
+
readonly description: string[];
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* @public
|
|
14
|
+
*/
|
|
15
|
+
export interface RegisteredSubtagWithRange<TTYPE extends Model.RegistryEntryType, TTAG extends string> extends RegisteredSubtag<TTYPE, TTAG> {
|
|
16
|
+
readonly type: TTYPE;
|
|
17
|
+
readonly subtag: TTAG;
|
|
18
|
+
readonly description: string[];
|
|
19
|
+
readonly subtagRangeEnd?: TTAG;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* @public
|
|
23
|
+
*/
|
|
24
|
+
export interface RegisteredTag<TTYPE extends Model.RegistryEntryType, TTAG extends string> {
|
|
25
|
+
readonly type: TTYPE;
|
|
26
|
+
readonly tag: TTAG;
|
|
27
|
+
readonly description: string[];
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* @public
|
|
31
|
+
*/
|
|
32
|
+
export type RegisteredTagOrSubtag<TTYPE extends Model.RegistryEntryType, TTAG extends string> = RegisteredSubtag<TTYPE, TTAG> | RegisteredSubtagWithRange<TTYPE, TTAG> | RegisteredTag<TTYPE, TTAG>;
|
|
33
|
+
/**
|
|
34
|
+
* @public
|
|
35
|
+
*/
|
|
36
|
+
export interface RegisteredLanguage extends RegisteredSubtagWithRange<'language', LanguageSubtag> {
|
|
37
|
+
readonly type: 'language';
|
|
38
|
+
readonly subtag: LanguageSubtag;
|
|
39
|
+
readonly description: string[];
|
|
40
|
+
readonly added: Model.YearMonthDaySpec;
|
|
41
|
+
readonly comments?: string[];
|
|
42
|
+
readonly deprecated?: Model.YearMonthDaySpec;
|
|
43
|
+
readonly macrolanguage?: LanguageSubtag;
|
|
44
|
+
readonly preferredValue?: LanguageSubtag;
|
|
45
|
+
readonly scope?: Model.RegistryEntryScope;
|
|
46
|
+
readonly suppressScript?: ScriptSubtag;
|
|
47
|
+
readonly subtagRangeEnd?: LanguageSubtag;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* @public
|
|
51
|
+
*/
|
|
52
|
+
export interface RegisteredExtLang extends RegisteredSubtag<'extlang', ExtLangSubtag> {
|
|
53
|
+
readonly type: 'extlang';
|
|
54
|
+
readonly subtag: ExtLangSubtag;
|
|
55
|
+
readonly preferredValue: ExtendedLanguageRange;
|
|
56
|
+
readonly prefix: LanguageSubtag;
|
|
57
|
+
readonly description: string[];
|
|
58
|
+
readonly added: Model.YearMonthDaySpec;
|
|
59
|
+
readonly comments?: string[];
|
|
60
|
+
readonly deprecated?: Model.YearMonthDaySpec;
|
|
61
|
+
readonly macrolanguage?: LanguageSubtag;
|
|
62
|
+
readonly scope?: Model.RegistryEntryScope;
|
|
63
|
+
readonly suppressScript?: ScriptSubtag;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* @public
|
|
67
|
+
*/
|
|
68
|
+
export interface RegisteredScript extends RegisteredSubtagWithRange<'script', ScriptSubtag> {
|
|
69
|
+
readonly type: 'script';
|
|
70
|
+
readonly subtag: ScriptSubtag;
|
|
71
|
+
readonly description: string[];
|
|
72
|
+
readonly added: Model.YearMonthDaySpec;
|
|
73
|
+
readonly comments?: string[];
|
|
74
|
+
readonly deprecated?: Model.YearMonthDaySpec;
|
|
75
|
+
readonly preferredValue?: ScriptSubtag;
|
|
76
|
+
readonly subtagRangeEnd?: ScriptSubtag;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* @public
|
|
80
|
+
*/
|
|
81
|
+
export interface RegisteredRegion extends RegisteredSubtagWithRange<'region', RegionSubtag> {
|
|
82
|
+
readonly type: 'region';
|
|
83
|
+
readonly subtag: RegionSubtag;
|
|
84
|
+
readonly description: string[];
|
|
85
|
+
readonly added: Model.YearMonthDaySpec;
|
|
86
|
+
readonly comments?: string[];
|
|
87
|
+
readonly deprecated?: Model.YearMonthDaySpec;
|
|
88
|
+
readonly preferredValue?: RegionSubtag;
|
|
89
|
+
readonly subtagRangeEnd?: RegionSubtag;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* @public
|
|
93
|
+
*/
|
|
94
|
+
export interface RegisteredVariant extends RegisteredSubtag<'variant', VariantSubtag> {
|
|
95
|
+
readonly type: 'variant';
|
|
96
|
+
readonly subtag: VariantSubtag;
|
|
97
|
+
readonly description: string[];
|
|
98
|
+
readonly added: Model.YearMonthDaySpec;
|
|
99
|
+
readonly comments?: string[];
|
|
100
|
+
readonly deprecated?: Model.YearMonthDaySpec;
|
|
101
|
+
readonly preferredValue?: VariantSubtag;
|
|
102
|
+
readonly prefix?: ExtendedLanguageRange[];
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* @public
|
|
106
|
+
*/
|
|
107
|
+
export interface RegisteredGrandfatheredTag extends RegisteredTag<'grandfathered', GrandfatheredTag> {
|
|
108
|
+
readonly type: 'grandfathered';
|
|
109
|
+
readonly tag: GrandfatheredTag;
|
|
110
|
+
readonly description: string[];
|
|
111
|
+
readonly added: Model.YearMonthDaySpec;
|
|
112
|
+
readonly comments?: string[];
|
|
113
|
+
readonly deprecated?: Model.YearMonthDaySpec;
|
|
114
|
+
readonly preferredValue?: ExtendedLanguageRange;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* @public
|
|
118
|
+
*/
|
|
119
|
+
export interface RegisteredRedundantTag extends RegisteredTag<'redundant', RedundantTag> {
|
|
120
|
+
readonly type: 'redundant';
|
|
121
|
+
readonly tag: RedundantTag;
|
|
122
|
+
readonly description: string[];
|
|
123
|
+
readonly added: Model.YearMonthDaySpec;
|
|
124
|
+
readonly comments?: string[];
|
|
125
|
+
readonly deprecated?: Model.YearMonthDaySpec;
|
|
126
|
+
readonly preferredValue?: ExtendedLanguageRange;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* @public
|
|
130
|
+
*/
|
|
131
|
+
export type RegisteredSubtagItem = RegisteredLanguage | RegisteredExtLang | RegisteredScript | RegisteredRegion | RegisteredVariant;
|
|
132
|
+
/**
|
|
133
|
+
* @public
|
|
134
|
+
*/
|
|
135
|
+
export type RegisteredTagItem = RegisteredGrandfatheredTag | RegisteredRedundantTag;
|
|
136
|
+
/**
|
|
137
|
+
* @public
|
|
138
|
+
*/
|
|
139
|
+
export type RegisteredItem = RegisteredSubtagItem | RegisteredTagItem;
|
|
140
|
+
/**
|
|
141
|
+
* @public
|
|
142
|
+
*/
|
|
143
|
+
export type RegistryFile = DatedRegistry<RegisteredItem>;
|
|
144
|
+
//# sourceMappingURL=model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/iana/language-subtags/model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWFuYS9sYW5ndWFnZS1zdWJ0YWdzL21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkciLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIyIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuaW1wb3J0ICogYXMgTW9kZWwgZnJvbSAnLi4vamFyL2xhbmd1YWdlLXN1YnRhZ3MvcmVnaXN0cnkvbW9kZWwnO1xuXG5pbXBvcnQge1xuICAgIEV4dExhbmdTdWJ0YWcsXG4gICAgRXh0ZW5kZWRMYW5ndWFnZVJhbmdlLFxuICAgIEdyYW5kZmF0aGVyZWRUYWcsXG4gICAgTGFuZ3VhZ2VTdWJ0YWcsXG4gICAgUmVkdW5kYW50VGFnLFxuICAgIFJlZ2lvblN1YnRhZyxcbiAgICBTY3JpcHRTdWJ0YWcsXG4gICAgVmFyaWFudFN1YnRhZyxcbn0gZnJvbSAnLi9jb21tb24nO1xuXG5pbXBvcnQgeyBEYXRlZFJlZ2lzdHJ5IH0gZnJvbSAnLi4vY29tbW9uL21vZGVsJztcblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0ZXJlZFN1YnRhZzxUVFlQRSBleHRlbmRzIE1vZGVsLlJlZ2lzdHJ5RW50cnlUeXBlLCBUVEFHIGV4dGVuZHMgc3RyaW5nPiB7XG4gICAgcmVhZG9ubHkgdHlwZTogVFRZUEU7XG4gICAgcmVhZG9ubHkgc3VidGFnOiBUVEFHO1xuICAgIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0ZXJlZFN1YnRhZ1dpdGhSYW5nZTxUVFlQRSBleHRlbmRzIE1vZGVsLlJlZ2lzdHJ5RW50cnlUeXBlLCBUVEFHIGV4dGVuZHMgc3RyaW5nPlxuICAgIGV4dGVuZHMgUmVnaXN0ZXJlZFN1YnRhZzxUVFlQRSwgVFRBRz4ge1xuICAgIHJlYWRvbmx5IHR5cGU6IFRUWVBFO1xuICAgIHJlYWRvbmx5IHN1YnRhZzogVFRBRztcbiAgICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nW107XG5cbiAgICByZWFkb25seSBzdWJ0YWdSYW5nZUVuZD86IFRUQUc7XG59XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdGVyZWRUYWc8VFRZUEUgZXh0ZW5kcyBNb2RlbC5SZWdpc3RyeUVudHJ5VHlwZSwgVFRBRyBleHRlbmRzIHN0cmluZz4ge1xuICAgIHJlYWRvbmx5IHR5cGU6IFRUWVBFO1xuICAgIHJlYWRvbmx5IHRhZzogVFRBRztcbiAgICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nW107XG59XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBSZWdpc3RlcmVkVGFnT3JTdWJ0YWc8VFRZUEUgZXh0ZW5kcyBNb2RlbC5SZWdpc3RyeUVudHJ5VHlwZSwgVFRBRyBleHRlbmRzIHN0cmluZz4gPVxuICAgIHwgUmVnaXN0ZXJlZFN1YnRhZzxUVFlQRSwgVFRBRz5cbiAgICB8IFJlZ2lzdGVyZWRTdWJ0YWdXaXRoUmFuZ2U8VFRZUEUsIFRUQUc+XG4gICAgfCBSZWdpc3RlcmVkVGFnPFRUWVBFLCBUVEFHPjtcblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0ZXJlZExhbmd1YWdlIGV4dGVuZHMgUmVnaXN0ZXJlZFN1YnRhZ1dpdGhSYW5nZTwnbGFuZ3VhZ2UnLCBMYW5ndWFnZVN1YnRhZz4ge1xuICAgIHJlYWRvbmx5IHR5cGU6ICdsYW5ndWFnZSc7XG4gICAgcmVhZG9ubHkgc3VidGFnOiBMYW5ndWFnZVN1YnRhZztcbiAgICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nW107XG4gICAgcmVhZG9ubHkgYWRkZWQ6IE1vZGVsLlllYXJNb250aERheVNwZWM7XG5cbiAgICByZWFkb25seSBjb21tZW50cz86IHN0cmluZ1tdO1xuICAgIHJlYWRvbmx5IGRlcHJlY2F0ZWQ/OiBNb2RlbC5ZZWFyTW9udGhEYXlTcGVjO1xuXG4gICAgcmVhZG9ubHkgbWFjcm9sYW5ndWFnZT86IExhbmd1YWdlU3VidGFnO1xuICAgIHJlYWRvbmx5IHByZWZlcnJlZFZhbHVlPzogTGFuZ3VhZ2VTdWJ0YWc7XG4gICAgcmVhZG9ubHkgc2NvcGU/OiBNb2RlbC5SZWdpc3RyeUVudHJ5U2NvcGU7XG4gICAgcmVhZG9ubHkgc3VwcHJlc3NTY3JpcHQ/OiBTY3JpcHRTdWJ0YWc7XG5cbiAgICByZWFkb25seSBzdWJ0YWdSYW5nZUVuZD86IExhbmd1YWdlU3VidGFnO1xufVxuXG4vKipcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RlcmVkRXh0TGFuZyBleHRlbmRzIFJlZ2lzdGVyZWRTdWJ0YWc8J2V4dGxhbmcnLCBFeHRMYW5nU3VidGFnPiB7XG4gICAgcmVhZG9ubHkgdHlwZTogJ2V4dGxhbmcnO1xuICAgIHJlYWRvbmx5IHN1YnRhZzogRXh0TGFuZ1N1YnRhZztcbiAgICByZWFkb25seSBwcmVmZXJyZWRWYWx1ZTogRXh0ZW5kZWRMYW5ndWFnZVJhbmdlO1xuICAgIHJlYWRvbmx5IHByZWZpeDogTGFuZ3VhZ2VTdWJ0YWc7XG4gICAgcmVhZG9ubHkgZGVzY3JpcHRpb246IHN0cmluZ1tdO1xuICAgIHJlYWRvbmx5IGFkZGVkOiBNb2RlbC5ZZWFyTW9udGhEYXlTcGVjO1xuXG4gICAgcmVhZG9ubHkgY29tbWVudHM/OiBzdHJpbmdbXTtcbiAgICByZWFkb25seSBkZXByZWNhdGVkPzogTW9kZWwuWWVhck1vbnRoRGF5U3BlYztcblxuICAgIHJlYWRvbmx5IG1hY3JvbGFuZ3VhZ2U/OiBMYW5ndWFnZVN1YnRhZztcbiAgICByZWFkb25seSBzY29wZT86IE1vZGVsLlJlZ2lzdHJ5RW50cnlTY29wZTtcbiAgICByZWFkb25seSBzdXBwcmVzc1NjcmlwdD86IFNjcmlwdFN1YnRhZztcbn1cblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0ZXJlZFNjcmlwdCBleHRlbmRzIFJlZ2lzdGVyZWRTdWJ0YWdXaXRoUmFuZ2U8J3NjcmlwdCcsIFNjcmlwdFN1YnRhZz4ge1xuICAgIHJlYWRvbmx5IHR5cGU6ICdzY3JpcHQnO1xuICAgIHJlYWRvbmx5IHN1YnRhZzogU2NyaXB0U3VidGFnO1xuICAgIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmdbXTtcbiAgICByZWFkb25seSBhZGRlZDogTW9kZWwuWWVhck1vbnRoRGF5U3BlYztcblxuICAgIHJlYWRvbmx5IGNvbW1lbnRzPzogc3RyaW5nW107XG4gICAgcmVhZG9ubHkgZGVwcmVjYXRlZD86IE1vZGVsLlllYXJNb250aERheVNwZWM7XG4gICAgcmVhZG9ubHkgcHJlZmVycmVkVmFsdWU/OiBTY3JpcHRTdWJ0YWc7XG5cbiAgICByZWFkb25seSBzdWJ0YWdSYW5nZUVuZD86IFNjcmlwdFN1YnRhZztcbn1cblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0ZXJlZFJlZ2lvbiBleHRlbmRzIFJlZ2lzdGVyZWRTdWJ0YWdXaXRoUmFuZ2U8J3JlZ2lvbicsIFJlZ2lvblN1YnRhZz4ge1xuICAgIHJlYWRvbmx5IHR5cGU6ICdyZWdpb24nO1xuICAgIHJlYWRvbmx5IHN1YnRhZzogUmVnaW9uU3VidGFnO1xuICAgIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmdbXTtcbiAgICByZWFkb25seSBhZGRlZDogTW9kZWwuWWVhck1vbnRoRGF5U3BlYztcblxuICAgIHJlYWRvbmx5IGNvbW1lbnRzPzogc3RyaW5nW107XG4gICAgcmVhZG9ubHkgZGVwcmVjYXRlZD86IE1vZGVsLlllYXJNb250aERheVNwZWM7XG4gICAgcmVhZG9ubHkgcHJlZmVycmVkVmFsdWU/OiBSZWdpb25TdWJ0YWc7XG5cbiAgICByZWFkb25seSBzdWJ0YWdSYW5nZUVuZD86IFJlZ2lvblN1YnRhZztcbn1cblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0ZXJlZFZhcmlhbnQgZXh0ZW5kcyBSZWdpc3RlcmVkU3VidGFnPCd2YXJpYW50JywgVmFyaWFudFN1YnRhZz4ge1xuICAgIHJlYWRvbmx5IHR5cGU6ICd2YXJpYW50JztcbiAgICByZWFkb25seSBzdWJ0YWc6IFZhcmlhbnRTdWJ0YWc7XG4gICAgcmVhZG9ubHkgZGVzY3JpcHRpb246IHN0cmluZ1tdO1xuICAgIHJlYWRvbmx5IGFkZGVkOiBNb2RlbC5ZZWFyTW9udGhEYXlTcGVjO1xuXG4gICAgcmVhZG9ubHkgY29tbWVudHM/OiBzdHJpbmdbXTtcbiAgICByZWFkb25seSBkZXByZWNhdGVkPzogTW9kZWwuWWVhck1vbnRoRGF5U3BlYztcbiAgICByZWFkb25seSBwcmVmZXJyZWRWYWx1ZT86IFZhcmlhbnRTdWJ0YWc7XG4gICAgcmVhZG9ubHkgcHJlZml4PzogRXh0ZW5kZWRMYW5ndWFnZVJhbmdlW107XG59XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdGVyZWRHcmFuZGZhdGhlcmVkVGFnIGV4dGVuZHMgUmVnaXN0ZXJlZFRhZzwnZ3JhbmRmYXRoZXJlZCcsIEdyYW5kZmF0aGVyZWRUYWc+IHtcbiAgICByZWFkb25seSB0eXBlOiAnZ3JhbmRmYXRoZXJlZCc7XG4gICAgcmVhZG9ubHkgdGFnOiBHcmFuZGZhdGhlcmVkVGFnO1xuICAgIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmdbXTtcbiAgICByZWFkb25seSBhZGRlZDogTW9kZWwuWWVhck1vbnRoRGF5U3BlYztcblxuICAgIHJlYWRvbmx5IGNvbW1lbnRzPzogc3RyaW5nW107XG4gICAgcmVhZG9ubHkgZGVwcmVjYXRlZD86IE1vZGVsLlllYXJNb250aERheVNwZWM7XG4gICAgcmVhZG9ubHkgcHJlZmVycmVkVmFsdWU/OiBFeHRlbmRlZExhbmd1YWdlUmFuZ2U7XG59XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdGVyZWRSZWR1bmRhbnRUYWcgZXh0ZW5kcyBSZWdpc3RlcmVkVGFnPCdyZWR1bmRhbnQnLCBSZWR1bmRhbnRUYWc+IHtcbiAgICByZWFkb25seSB0eXBlOiAncmVkdW5kYW50JztcbiAgICByZWFkb25seSB0YWc6IFJlZHVuZGFudFRhZztcbiAgICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nW107XG4gICAgcmVhZG9ubHkgYWRkZWQ6IE1vZGVsLlllYXJNb250aERheVNwZWM7XG5cbiAgICByZWFkb25seSBjb21tZW50cz86IHN0cmluZ1tdO1xuICAgIHJlYWRvbmx5IGRlcHJlY2F0ZWQ/OiBNb2RlbC5ZZWFyTW9udGhEYXlTcGVjO1xuICAgIHJlYWRvbmx5IHByZWZlcnJlZFZhbHVlPzogRXh0ZW5kZWRMYW5ndWFnZVJhbmdlO1xufVxuXG4vKipcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgUmVnaXN0ZXJlZFN1YnRhZ0l0ZW0gPSBSZWdpc3RlcmVkTGFuZ3VhZ2UgfCBSZWdpc3RlcmVkRXh0TGFuZyB8IFJlZ2lzdGVyZWRTY3JpcHQgfCBSZWdpc3RlcmVkUmVnaW9uIHwgUmVnaXN0ZXJlZFZhcmlhbnQ7XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBSZWdpc3RlcmVkVGFnSXRlbSA9IFJlZ2lzdGVyZWRHcmFuZGZhdGhlcmVkVGFnIHwgUmVnaXN0ZXJlZFJlZHVuZGFudFRhZztcblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIFJlZ2lzdGVyZWRJdGVtID0gUmVnaXN0ZXJlZFN1YnRhZ0l0ZW0gfCBSZWdpc3RlcmVkVGFnSXRlbTtcblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIFJlZ2lzdHJ5RmlsZSA9IERhdGVkUmVnaXN0cnk8UmVnaXN0ZXJlZEl0ZW0+O1xuIl19
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import * as Items from './model';
|
|
2
|
+
import * as Model from '../jar/language-subtags/registry/model';
|
|
3
|
+
import { ExtLangSubtag, GrandfatheredTag, LanguageSubtag, RedundantTag, RegionSubtag, ScriptSubtag, VariantSubtag } from '../jar/language-subtags/tags';
|
|
4
|
+
import { Result } from '@fgv/ts-utils';
|
|
5
|
+
import { ValidationHelpers } from '../../utils';
|
|
6
|
+
import { RegisteredItemScope } from '../common/registeredItems';
|
|
7
|
+
/**
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
declare class SubtagScope<TTYPE extends Model.RegistryEntryType, TTAG extends string, TITEM extends Items.RegisteredSubtag<TTYPE, TTAG>> extends RegisteredItemScope<TTYPE, TTAG, TITEM> {
|
|
11
|
+
protected constructor(type: TTYPE, validate: ValidationHelpers<TTAG>);
|
|
12
|
+
add(entry: TITEM): Result<true>;
|
|
13
|
+
protected _validateEntry(entry: TITEM): Result<true>;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
18
|
+
declare class SubtagScopeWithRange<TTYPE extends Model.RegistryEntryType, TTAG extends string, TITEM extends Items.RegisteredSubtagWithRange<TTYPE, TTAG>> extends SubtagScope<TTYPE, TTAG, TITEM> {
|
|
19
|
+
protected constructor(type: TTYPE, validate: ValidationHelpers<TTAG>);
|
|
20
|
+
add(entry: TITEM): Result<true>;
|
|
21
|
+
protected _validateEntry(entry: TITEM): Result<true>;
|
|
22
|
+
protected _validateRange(start: TTAG, end: TTAG): Result<true>;
|
|
23
|
+
protected _addRange(entry: TITEM): Result<true>;
|
|
24
|
+
protected _nextInRange(current: TTAG, end: TTAG): TTAG | undefined;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
29
|
+
declare class TagScope<TTYPE extends Model.RegistryEntryType, TTAG extends string, TITEM extends Items.RegisteredTag<TTYPE, TTAG>> extends RegisteredItemScope<TTYPE, TTAG, TITEM> {
|
|
30
|
+
protected constructor(type: TTYPE, validate: ValidationHelpers<TTAG>);
|
|
31
|
+
add(entry: TITEM): Result<true>;
|
|
32
|
+
protected _validateEntry(entry: TITEM): Result<true>;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* @public
|
|
36
|
+
*/
|
|
37
|
+
export declare class LanguageSubtagScope extends SubtagScopeWithRange<'language', LanguageSubtag, Items.RegisteredLanguage> {
|
|
38
|
+
constructor();
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* @public
|
|
42
|
+
*/
|
|
43
|
+
export declare class ExtLangSubtagScope extends SubtagScope<'extlang', ExtLangSubtag, Items.RegisteredExtLang> {
|
|
44
|
+
constructor();
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* @public
|
|
48
|
+
*/
|
|
49
|
+
export declare class ScriptSubtagScope extends SubtagScopeWithRange<'script', ScriptSubtag, Items.RegisteredScript> {
|
|
50
|
+
constructor();
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* @public
|
|
54
|
+
*/
|
|
55
|
+
export declare class RegionSubtagScope extends SubtagScopeWithRange<'region', RegionSubtag, Items.RegisteredRegion> {
|
|
56
|
+
constructor();
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* @public
|
|
60
|
+
*/
|
|
61
|
+
export declare class VariantSubtagScope extends SubtagScope<'variant', VariantSubtag, Items.RegisteredVariant> {
|
|
62
|
+
constructor();
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* @public
|
|
66
|
+
*/
|
|
67
|
+
export declare class GrandfatheredTagScope extends TagScope<'grandfathered', GrandfatheredTag, Items.RegisteredGrandfatheredTag> {
|
|
68
|
+
constructor();
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* @public
|
|
72
|
+
*/
|
|
73
|
+
export declare class RedundantTagScope extends TagScope<'redundant', RedundantTag, Items.RegisteredRedundantTag> {
|
|
74
|
+
constructor();
|
|
75
|
+
}
|
|
76
|
+
export {};
|
|
77
|
+
//# sourceMappingURL=scope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../../src/iana/language-subtags/scope.ts"],"names":[],"mappings":"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"}
|