@fgv/ts-bcp47 2.1.1-alpha.0 → 2.1.1-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.json ADDED
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "@fgv/ts-bcp47",
3
+ "entries": [
4
+ {
5
+ "version": "2.2.0",
6
+ "tag": "@fgv/ts-bcp47_v2.2.0",
7
+ "date": "Thu, 18 Jan 2024 05:45:04 GMT",
8
+ "comments": {
9
+ "none": [
10
+ {
11
+ "comment": "refactor, clean up, port tests"
12
+ },
13
+ {
14
+ "comment": "fix peers"
15
+ },
16
+ {
17
+ "comment": "bump versions"
18
+ },
19
+ {
20
+ "comment": "refactor"
21
+ },
22
+ {
23
+ "comment": "Update for ts-utils refactor, dependencies"
24
+ },
25
+ {
26
+ "comment": "update dependences"
27
+ },
28
+ {
29
+ "comment": "update peer dependencies"
30
+ }
31
+ ]
32
+ }
33
+ }
34
+ ]
35
+ }
package/CHANGELOG.md ADDED
@@ -0,0 +1,17 @@
1
+ # Change Log - @fgv/ts-bcp47
2
+
3
+ This log was last generated on Thu, 18 Jan 2024 05:45:04 GMT and should not be manually modified.
4
+
5
+ ## 2.2.0
6
+ Thu, 18 Jan 2024 05:45:04 GMT
7
+
8
+ ### Updates
9
+
10
+ - refactor, clean up, port tests
11
+ - fix peers
12
+ - bump versions
13
+ - refactor
14
+ - Update for ts-utils refactor, dependencies
15
+ - update dependences
16
+ - update peer dependencies
17
+
@@ -47,7 +47,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
47
47
  Object.defineProperty(exports, "__esModule", { value: true });
48
48
  exports.loadLanguageOverridesFileSync = exports.languageOverridesFile = exports.languageOverrideRecord = void 0;
49
49
  const Iana = __importStar(require("../../iana"));
50
- const ts_json_1 = require("@fgv/ts-json");
50
+ const ts_json_base_1 = require("@fgv/ts-json-base");
51
51
  const ts_utils_1 = require("@fgv/ts-utils");
52
52
  /**
53
53
  * @internal
@@ -70,7 +70,7 @@ exports.languageOverridesFile = ts_utils_1.Converters.arrayOf(exports.languageOv
70
70
  * error occurs.
71
71
  */
72
72
  function loadLanguageOverridesFileSync(path) {
73
- return ts_json_1.File.convertJsonFileSync(path, exports.languageOverridesFile);
73
+ return ts_json_base_1.JsonFile.convertJsonFileSync(path, exports.languageOverridesFile);
74
74
  }
75
75
  exports.loadLanguageOverridesFileSync = loadLanguageOverridesFileSync;
76
76
  //# sourceMappingURL=converters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"converters.js","sourceRoot":"","sources":["../../../../src/packlets/bcp47/overrides/converters.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,2CAA2C;;;;;;;;;;;;;;;;;;;;;;;;;;AAE3C,iDAAmC;AAGnC,0CAAoC;AACpC,4CAA8D;AAE9D;;GAEG;AACU,QAAA,sBAAsB,GACjC,qBAAU,CAAC,YAAY,CACrB;IACE,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc;IAC7D,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY;IAClE,eAAe,EAAE,qBAAU,CAAC,MAAM;IAClC,QAAQ,EAAE,qBAAU,CAAC,QAAQ,CAAC,qBAAU,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;CACrG,EACD,EAAE,cAAc,EAAE,CAAC,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,EAAE,CACvE,CAAC;AAEJ;;GAEG;AACU,QAAA,qBAAqB,GAAG,qBAAU,CAAC,OAAO,CAAC,8BAAsB,CAAC,CAAC;AAEhF;;;;;;GAMG;AACH,SAAgB,6BAA6B,CAAC,IAAY;IACxD,OAAO,cAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,6BAAqB,CAAC,CAAC;AAC/D,CAAC;AAFD,sEAEC","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 Iana from '../../iana';\nimport * as Model from './model';\n\nimport { File } from '@fgv/ts-json';\nimport { Converter, Converters, Result } from '@fgv/ts-utils';\n\n/**\n * @internal\n */\nexport const languageOverrideRecord: Converter<Model.ILanguageOverrideRecord, unknown> =\n Converters.strictObject<Model.ILanguageOverrideRecord>(\n {\n language: Iana.LanguageSubtags.Converters.Tags.languageSubtag,\n preferredRegion: Iana.LanguageSubtags.Converters.Tags.regionSubtag,\n defaultAffinity: Converters.string,\n affinity: Converters.recordOf(Converters.arrayOf(Iana.LanguageSubtags.Converters.Tags.regionSubtag))\n },\n { optionalFields: ['affinity', 'defaultAffinity', 'preferredRegion'] }\n );\n\n/**\n * @internal\n */\nexport const languageOverridesFile = Converters.arrayOf(languageOverrideRecord);\n\n/**\n * Loads a language overrides JSON file.\n * @internal\n * @param path - Path from which overrides should be loaded.\n * @returns `Success` with the loaded overrides or `Failure` with details if an\n * error occurs.\n */\nexport function loadLanguageOverridesFileSync(path: string): Result<Model.ILanguageOverrideRecord[]> {\n return File.convertJsonFileSync(path, languageOverridesFile);\n}\n"]}
1
+ {"version":3,"file":"converters.js","sourceRoot":"","sources":["../../../../src/packlets/bcp47/overrides/converters.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,2CAA2C;;;;;;;;;;;;;;;;;;;;;;;;;;AAE3C,iDAAmC;AAGnC,oDAA6C;AAC7C,4CAA8D;AAE9D;;GAEG;AACU,QAAA,sBAAsB,GACjC,qBAAU,CAAC,YAAY,CACrB;IACE,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc;IAC7D,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY;IAClE,eAAe,EAAE,qBAAU,CAAC,MAAM;IAClC,QAAQ,EAAE,qBAAU,CAAC,QAAQ,CAAC,qBAAU,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;CACrG,EACD,EAAE,cAAc,EAAE,CAAC,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,EAAE,CACvE,CAAC;AAEJ;;GAEG;AACU,QAAA,qBAAqB,GAAG,qBAAU,CAAC,OAAO,CAAC,8BAAsB,CAAC,CAAC;AAEhF;;;;;;GAMG;AACH,SAAgB,6BAA6B,CAAC,IAAY;IACxD,OAAO,uBAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE,6BAAqB,CAAC,CAAC;AACnE,CAAC;AAFD,sEAEC","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 Iana from '../../iana';\nimport * as Model from './model';\n\nimport { JsonFile } from '@fgv/ts-json-base';\nimport { Converter, Converters, Result } from '@fgv/ts-utils';\n\n/**\n * @internal\n */\nexport const languageOverrideRecord: Converter<Model.ILanguageOverrideRecord, unknown> =\n Converters.strictObject<Model.ILanguageOverrideRecord>(\n {\n language: Iana.LanguageSubtags.Converters.Tags.languageSubtag,\n preferredRegion: Iana.LanguageSubtags.Converters.Tags.regionSubtag,\n defaultAffinity: Converters.string,\n affinity: Converters.recordOf(Converters.arrayOf(Iana.LanguageSubtags.Converters.Tags.regionSubtag))\n },\n { optionalFields: ['affinity', 'defaultAffinity', 'preferredRegion'] }\n );\n\n/**\n * @internal\n */\nexport const languageOverridesFile = Converters.arrayOf(languageOverrideRecord);\n\n/**\n * Loads a language overrides JSON file.\n * @internal\n * @param path - Path from which overrides should be loaded.\n * @returns `Success` with the loaded overrides or `Failure` with details if an\n * error occurs.\n */\nexport function loadLanguageOverridesFileSync(path: string): Result<Model.ILanguageOverrideRecord[]> {\n return JsonFile.convertJsonFileSync(path, languageOverridesFile);\n}\n"]}
@@ -50,7 +50,7 @@ const TagConverters = __importStar(require("../jar/language-subtags/tags/convert
50
50
  exports.Tags = TagConverters;
51
51
  const ts_utils_1 = require("@fgv/ts-utils");
52
52
  const converters_1 = require("../common/converters");
53
- const ts_json_1 = require("@fgv/ts-json");
53
+ const ts_json_base_1 = require("@fgv/ts-json-base");
54
54
  const converters_2 = require("../jar/language-subtags/registry/converters");
55
55
  /**
56
56
  * @public
@@ -203,7 +203,7 @@ exports.registryFile = (0, converters_1.datedRegistry)(exports.registeredItem);
203
203
  * or `Failure` with details if an error occurs.
204
204
  */
205
205
  function loadLanguageSubtagsJsonFileSync(path) {
206
- return ts_json_1.File.convertJsonFileSync(path, exports.registryFile);
206
+ return ts_json_base_1.JsonFile.convertJsonFileSync(path, exports.registryFile);
207
207
  }
208
208
  exports.loadLanguageSubtagsJsonFileSync = loadLanguageSubtagsJsonFileSync;
209
209
  //# sourceMappingURL=converters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"converters.js","sourceRoot":"","sources":["../../../../src/packlets/iana/language-subtags/converters.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\n/* eslint-disable @rushstack/typedef-var */\n\nimport * as TagConverters from '../jar/language-subtags/tags/converters';\nimport * as Model from './model';\n\nimport { Converter, Converters, Result } from '@fgv/ts-utils';\nimport { datedRegistry, yearMonthDaySpec } from '../common/converters';\n\nimport { File } from '@fgv/ts-json';\nimport { registryScopeType } from '../jar/language-subtags/registry/converters';\n\nexport { TagConverters as Tags };\n\n/**\n * @public\n */\nexport const extendedLanguageRange = TagConverters.extendedLanguageRange;\n\n/**\n * @internal\n */\nexport const registeredLanguage: Converter<Model.IRegisteredLanguage, unknown> =\n Converters.strictObject<Model.IRegisteredLanguage>(\n {\n type: Converters.enumeratedValue<'language'>(['language']),\n subtag: TagConverters.languageSubtag,\n description: Converters.stringArray,\n added: yearMonthDaySpec,\n comments: Converters.stringArray,\n deprecated: yearMonthDaySpec,\n macrolanguage: TagConverters.languageSubtag,\n preferredValue: TagConverters.languageSubtag,\n scope: registryScopeType,\n suppressScript: TagConverters.scriptSubtag,\n subtagRangeEnd: TagConverters.languageSubtag\n },\n {\n description: 'language subtag registry entry',\n optionalFields: [\n 'comments',\n 'deprecated',\n 'macrolanguage',\n 'preferredValue',\n 'scope',\n 'suppressScript',\n 'subtagRangeEnd'\n ]\n }\n );\n\n/**\n * @internal\n */\nexport const registeredExtLang: Converter<Model.IRegisteredExtLang, unknown> =\n Converters.strictObject<Model.IRegisteredExtLang>(\n {\n type: Converters.enumeratedValue<'extlang'>(['extlang']),\n subtag: TagConverters.tagOrStartOfTagRange(TagConverters.extlangSubtag),\n preferredValue: TagConverters.extendedLanguageRange,\n prefix: TagConverters.extlangPrefix,\n description: Converters.stringArray,\n added: yearMonthDaySpec,\n comments: Converters.stringArray,\n deprecated: yearMonthDaySpec,\n macrolanguage: TagConverters.languageSubtag,\n scope: registryScopeType,\n suppressScript: TagConverters.scriptSubtag\n },\n {\n description: 'extlang subtag registry entry',\n optionalFields: ['comments', 'deprecated', 'macrolanguage', 'scope', 'suppressScript']\n }\n );\n\n/**\n * @internal\n */\nexport const registeredScript: Converter<Model.IRegisteredScript, unknown> =\n Converters.strictObject<Model.IRegisteredScript>(\n {\n type: Converters.enumeratedValue<'script'>(['script']),\n subtag: TagConverters.scriptSubtag,\n description: Converters.stringArray,\n added: yearMonthDaySpec,\n comments: Converters.stringArray,\n deprecated: yearMonthDaySpec,\n preferredValue: TagConverters.scriptSubtag,\n subtagRangeEnd: TagConverters.scriptSubtag\n },\n {\n description: 'script subtag registry entry',\n optionalFields: ['comments', 'deprecated', 'preferredValue', 'subtagRangeEnd']\n }\n );\n\n/**\n * @internal\n */\nexport const registeredRegion: Converter<Model.IRegisteredRegion, unknown> =\n Converters.strictObject<Model.IRegisteredRegion>(\n {\n type: Converters.enumeratedValue<'region'>(['region']),\n subtag: TagConverters.regionSubtag,\n description: Converters.stringArray,\n added: yearMonthDaySpec,\n comments: Converters.stringArray,\n deprecated: yearMonthDaySpec,\n preferredValue: TagConverters.regionSubtag,\n subtagRangeEnd: TagConverters.regionSubtag\n },\n {\n description: 'region subtag registry entry',\n optionalFields: ['comments', 'deprecated', 'preferredValue', 'subtagRangeEnd']\n }\n );\n\n/**\n * @internal\n */\nexport const registeredVariant: Converter<Model.IRegisteredVariant, unknown> =\n Converters.strictObject<Model.IRegisteredVariant>(\n {\n type: Converters.enumeratedValue<'variant'>(['variant']),\n subtag: TagConverters.variantSubtag,\n description: Converters.stringArray,\n added: yearMonthDaySpec,\n comments: Converters.stringArray,\n deprecated: yearMonthDaySpec,\n preferredValue: TagConverters.variantSubtag,\n prefix: Converters.arrayOf(TagConverters.extendedLanguageRange)\n },\n {\n description: 'variant subtag registry entry',\n optionalFields: ['comments', 'deprecated', 'preferredValue', 'prefix']\n }\n );\n\n/**\n * @internal\n */\nexport const registeredGrandfatheredTag: Converter<Model.IRegisteredGrandfatheredTag, unknown> =\n Converters.strictObject<Model.IRegisteredGrandfatheredTag>(\n {\n type: Converters.enumeratedValue<'grandfathered'>(['grandfathered']),\n tag: TagConverters.grandfatheredTag,\n description: Converters.stringArray,\n added: yearMonthDaySpec,\n comments: Converters.stringArray,\n deprecated: yearMonthDaySpec,\n preferredValue: TagConverters.extendedLanguageRange\n },\n {\n description: 'grandfathered tag registry entry',\n optionalFields: ['comments', 'deprecated', 'preferredValue']\n }\n );\n\n/**\n * @internal\n */\nexport const registeredRedundantTag: Converter<Model.IRegisteredRedundantTag, unknown> =\n Converters.strictObject<Model.IRegisteredRedundantTag>(\n {\n type: Converters.enumeratedValue<'redundant'>(['redundant']),\n tag: TagConverters.redundantTag,\n description: Converters.stringArray,\n added: yearMonthDaySpec,\n comments: Converters.stringArray,\n deprecated: yearMonthDaySpec,\n preferredValue: TagConverters.extendedLanguageRange\n },\n {\n description: 'redundant tag registry entry',\n optionalFields: ['comments', 'deprecated', 'preferredValue']\n }\n );\n\n/**\n * @internal\n */\nexport const registeredItem = Converters.discriminatedObject<Model.RegisteredItem>('type', {\n language: registeredLanguage,\n extlang: registeredExtLang,\n script: registeredScript,\n region: registeredRegion,\n variant: registeredVariant,\n grandfathered: registeredGrandfatheredTag,\n redundant: registeredRedundantTag\n});\n\n/**\n * @internal\n */\nexport const registryFile = datedRegistry(registeredItem);\n\n/**\n * @public\n * @param path - String path from which file is to be loaded.\n * @returns `Success` with the resulting {@link Iana.LanguageSubtags.Model.RegistryFile | registry file}\n * or `Failure` with details if an error occurs.\n */\nexport function loadLanguageSubtagsJsonFileSync(path: string): Result<Model.RegistryFile> {\n return File.convertJsonFileSync(path, registryFile);\n}\n"]}
1
+ {"version":3,"file":"converters.js","sourceRoot":"","sources":["../../../../src/packlets/iana/language-subtags/converters.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\n/* eslint-disable @rushstack/typedef-var */\n\nimport * as TagConverters from '../jar/language-subtags/tags/converters';\nimport * as Model from './model';\n\nimport { Converter, Converters, Result } from '@fgv/ts-utils';\nimport { datedRegistry, yearMonthDaySpec } from '../common/converters';\n\nimport { JsonFile } from '@fgv/ts-json-base';\nimport { registryScopeType } from '../jar/language-subtags/registry/converters';\n\nexport { TagConverters as Tags };\n\n/**\n * @public\n */\nexport const extendedLanguageRange = TagConverters.extendedLanguageRange;\n\n/**\n * @internal\n */\nexport const registeredLanguage: Converter<Model.IRegisteredLanguage, unknown> =\n Converters.strictObject<Model.IRegisteredLanguage>(\n {\n type: Converters.enumeratedValue<'language'>(['language']),\n subtag: TagConverters.languageSubtag,\n description: Converters.stringArray,\n added: yearMonthDaySpec,\n comments: Converters.stringArray,\n deprecated: yearMonthDaySpec,\n macrolanguage: TagConverters.languageSubtag,\n preferredValue: TagConverters.languageSubtag,\n scope: registryScopeType,\n suppressScript: TagConverters.scriptSubtag,\n subtagRangeEnd: TagConverters.languageSubtag\n },\n {\n description: 'language subtag registry entry',\n optionalFields: [\n 'comments',\n 'deprecated',\n 'macrolanguage',\n 'preferredValue',\n 'scope',\n 'suppressScript',\n 'subtagRangeEnd'\n ]\n }\n );\n\n/**\n * @internal\n */\nexport const registeredExtLang: Converter<Model.IRegisteredExtLang, unknown> =\n Converters.strictObject<Model.IRegisteredExtLang>(\n {\n type: Converters.enumeratedValue<'extlang'>(['extlang']),\n subtag: TagConverters.tagOrStartOfTagRange(TagConverters.extlangSubtag),\n preferredValue: TagConverters.extendedLanguageRange,\n prefix: TagConverters.extlangPrefix,\n description: Converters.stringArray,\n added: yearMonthDaySpec,\n comments: Converters.stringArray,\n deprecated: yearMonthDaySpec,\n macrolanguage: TagConverters.languageSubtag,\n scope: registryScopeType,\n suppressScript: TagConverters.scriptSubtag\n },\n {\n description: 'extlang subtag registry entry',\n optionalFields: ['comments', 'deprecated', 'macrolanguage', 'scope', 'suppressScript']\n }\n );\n\n/**\n * @internal\n */\nexport const registeredScript: Converter<Model.IRegisteredScript, unknown> =\n Converters.strictObject<Model.IRegisteredScript>(\n {\n type: Converters.enumeratedValue<'script'>(['script']),\n subtag: TagConverters.scriptSubtag,\n description: Converters.stringArray,\n added: yearMonthDaySpec,\n comments: Converters.stringArray,\n deprecated: yearMonthDaySpec,\n preferredValue: TagConverters.scriptSubtag,\n subtagRangeEnd: TagConverters.scriptSubtag\n },\n {\n description: 'script subtag registry entry',\n optionalFields: ['comments', 'deprecated', 'preferredValue', 'subtagRangeEnd']\n }\n );\n\n/**\n * @internal\n */\nexport const registeredRegion: Converter<Model.IRegisteredRegion, unknown> =\n Converters.strictObject<Model.IRegisteredRegion>(\n {\n type: Converters.enumeratedValue<'region'>(['region']),\n subtag: TagConverters.regionSubtag,\n description: Converters.stringArray,\n added: yearMonthDaySpec,\n comments: Converters.stringArray,\n deprecated: yearMonthDaySpec,\n preferredValue: TagConverters.regionSubtag,\n subtagRangeEnd: TagConverters.regionSubtag\n },\n {\n description: 'region subtag registry entry',\n optionalFields: ['comments', 'deprecated', 'preferredValue', 'subtagRangeEnd']\n }\n );\n\n/**\n * @internal\n */\nexport const registeredVariant: Converter<Model.IRegisteredVariant, unknown> =\n Converters.strictObject<Model.IRegisteredVariant>(\n {\n type: Converters.enumeratedValue<'variant'>(['variant']),\n subtag: TagConverters.variantSubtag,\n description: Converters.stringArray,\n added: yearMonthDaySpec,\n comments: Converters.stringArray,\n deprecated: yearMonthDaySpec,\n preferredValue: TagConverters.variantSubtag,\n prefix: Converters.arrayOf(TagConverters.extendedLanguageRange)\n },\n {\n description: 'variant subtag registry entry',\n optionalFields: ['comments', 'deprecated', 'preferredValue', 'prefix']\n }\n );\n\n/**\n * @internal\n */\nexport const registeredGrandfatheredTag: Converter<Model.IRegisteredGrandfatheredTag, unknown> =\n Converters.strictObject<Model.IRegisteredGrandfatheredTag>(\n {\n type: Converters.enumeratedValue<'grandfathered'>(['grandfathered']),\n tag: TagConverters.grandfatheredTag,\n description: Converters.stringArray,\n added: yearMonthDaySpec,\n comments: Converters.stringArray,\n deprecated: yearMonthDaySpec,\n preferredValue: TagConverters.extendedLanguageRange\n },\n {\n description: 'grandfathered tag registry entry',\n optionalFields: ['comments', 'deprecated', 'preferredValue']\n }\n );\n\n/**\n * @internal\n */\nexport const registeredRedundantTag: Converter<Model.IRegisteredRedundantTag, unknown> =\n Converters.strictObject<Model.IRegisteredRedundantTag>(\n {\n type: Converters.enumeratedValue<'redundant'>(['redundant']),\n tag: TagConverters.redundantTag,\n description: Converters.stringArray,\n added: yearMonthDaySpec,\n comments: Converters.stringArray,\n deprecated: yearMonthDaySpec,\n preferredValue: TagConverters.extendedLanguageRange\n },\n {\n description: 'redundant tag registry entry',\n optionalFields: ['comments', 'deprecated', 'preferredValue']\n }\n );\n\n/**\n * @internal\n */\nexport const registeredItem = Converters.discriminatedObject<Model.RegisteredItem>('type', {\n language: registeredLanguage,\n extlang: registeredExtLang,\n script: registeredScript,\n region: registeredRegion,\n variant: registeredVariant,\n grandfathered: registeredGrandfatheredTag,\n redundant: registeredRedundantTag\n});\n\n/**\n * @internal\n */\nexport const registryFile = datedRegistry(registeredItem);\n\n/**\n * @public\n * @param path - String path from which file is to be loaded.\n * @returns `Success` with the resulting {@link Iana.LanguageSubtags.Model.RegistryFile | registry file}\n * or `Failure` with details if an error occurs.\n */\nexport function loadLanguageSubtagsJsonFileSync(path: string): Result<Model.RegistryFile> {\n return JsonFile.convertJsonFileSync(path, registryFile);\n}\n"]}
@@ -49,7 +49,7 @@ const TagConverters = __importStar(require("../jar/language-subtags/tags/convert
49
49
  const ts_extras_1 = require("@fgv/ts-extras");
50
50
  const ts_utils_1 = require("@fgv/ts-utils");
51
51
  const converters_1 = require("../common/converters");
52
- const ts_json_1 = require("@fgv/ts-json");
52
+ const ts_json_base_1 = require("@fgv/ts-json-base");
53
53
  const jarConverters_1 = require("../jar/jarConverters");
54
54
  const converters_2 = require("../jar/language-subtags/registry/converters");
55
55
  /**
@@ -216,7 +216,7 @@ exports.registryFile = (0, converters_1.datedRegistry)(exports.registeredItem);
216
216
  * @internal
217
217
  */
218
218
  function loadJsonSubtagRegistryFileSync(path) {
219
- return ts_json_1.File.convertJsonFileSync(path, exports.registryFile);
219
+ return ts_json_base_1.JsonFile.convertJsonFileSync(path, exports.registryFile);
220
220
  }
221
221
  exports.loadJsonSubtagRegistryFileSync = loadJsonSubtagRegistryFileSync;
222
222
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"jarConverters.js","sourceRoot":"","sources":["../../../../src/packlets/iana/language-subtags/jarConverters.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\n/* eslint-disable @rushstack/typedef-var */\n\nimport * as JarModel from '../jar/language-subtags/registry/model';\nimport * as TagConverters from '../jar/language-subtags/tags/converters';\nimport * as Model from './model';\n\nimport { RecordJar } from '@fgv/ts-extras';\nimport { Converters, Result } from '@fgv/ts-utils';\nimport { datedRegistry, yearMonthDaySpec } from '../common/converters';\n\nimport { File } from '@fgv/ts-json';\nimport { datedRegistryFromJarRecords } from '../jar/jarConverters';\nimport { registryScopeType } from '../jar/language-subtags/registry/converters';\n\n/**\n * @internal\n */\nexport const registeredLanguage = Converters.transformObject<\n JarModel.LanguageSubtagRegistryEntry,\n Model.IRegisteredLanguage\n>(\n {\n type: { from: 'Type', converter: Converters.enumeratedValue<'language'>(['language']) },\n subtag: { from: 'Subtag', converter: TagConverters.tagOrStartOfTagRange(TagConverters.languageSubtag) },\n description: { from: 'Description', converter: Converters.stringArray },\n added: { from: 'Added', converter: yearMonthDaySpec },\n comments: { from: 'Comments', converter: Converters.stringArray, optional: true },\n deprecated: { from: 'Deprecated', converter: yearMonthDaySpec, optional: true },\n macrolanguage: { from: 'Macrolanguage', converter: TagConverters.languageSubtag, optional: true },\n preferredValue: { from: 'Preferred-Value', converter: TagConverters.languageSubtag, optional: true },\n scope: { from: 'Scope', converter: registryScopeType, optional: true },\n suppressScript: { from: 'Suppress-Script', converter: TagConverters.scriptSubtag, optional: true },\n subtagRangeEnd: {\n from: 'Subtag',\n converter: TagConverters.endOfTagRangeOrUndefined(TagConverters.languageSubtag),\n optional: true\n }\n },\n {\n strict: true,\n description: 'language subtag'\n }\n);\n\n/**\n * @internal\n */\nexport const registeredExtLang = Converters.transformObject<\n JarModel.ExtLangSubtagRegistryEntry,\n Model.IRegisteredExtLang\n>(\n {\n type: { from: 'Type', converter: Converters.enumeratedValue<'extlang'>(['extlang']) },\n subtag: { from: 'Subtag', converter: TagConverters.extlangSubtag },\n preferredValue: { from: 'Preferred-Value', converter: TagConverters.extendedLanguageRange },\n prefix: { from: 'Prefix', converter: TagConverters.extlangPrefix },\n description: { from: 'Description', converter: Converters.stringArray },\n added: { from: 'Added', converter: yearMonthDaySpec },\n comments: { from: 'Comments', converter: Converters.stringArray, optional: true },\n deprecated: { from: 'Deprecated', converter: yearMonthDaySpec, optional: true },\n macrolanguage: { from: 'Macrolanguage', converter: TagConverters.languageSubtag, optional: true },\n scope: { from: 'Scope', converter: registryScopeType, optional: true },\n suppressScript: { from: 'Suppress-Script', converter: TagConverters.scriptSubtag, optional: true }\n },\n {\n strict: true,\n description: 'extlang subtag'\n }\n);\n\n/**\n * @internal\n */\nexport const registeredScript = Converters.transformObject<\n JarModel.ScriptSubtagRegistryEntry,\n Model.IRegisteredScript\n>(\n {\n type: { from: 'Type', converter: Converters.enumeratedValue<'script'>(['script']) },\n subtag: { from: 'Subtag', converter: TagConverters.tagOrStartOfTagRange(TagConverters.scriptSubtag) },\n description: { from: 'Description', converter: Converters.stringArray },\n added: { from: 'Added', converter: yearMonthDaySpec },\n comments: { from: 'Comments', converter: Converters.stringArray, optional: true },\n deprecated: { from: 'Deprecated', converter: yearMonthDaySpec, optional: true },\n preferredValue: { from: 'Preferred-Value', converter: TagConverters.scriptSubtag, optional: true },\n subtagRangeEnd: {\n from: 'Subtag',\n converter: TagConverters.endOfTagRangeOrUndefined(TagConverters.scriptSubtag),\n optional: true\n }\n },\n {\n strict: true,\n description: 'script subtag'\n }\n);\n\n/**\n * @internal\n */\nexport const registeredRegion = Converters.transformObject<\n JarModel.RegionSubtagRegistryEntry,\n Model.IRegisteredRegion\n>(\n {\n type: { from: 'Type', converter: Converters.enumeratedValue<'region'>(['region']) },\n subtag: { from: 'Subtag', converter: TagConverters.tagOrStartOfTagRange(TagConverters.regionSubtag) },\n description: { from: 'Description', converter: Converters.stringArray },\n added: { from: 'Added', converter: yearMonthDaySpec },\n comments: { from: 'Comments', converter: Converters.stringArray, optional: true },\n deprecated: { from: 'Deprecated', converter: yearMonthDaySpec, optional: true },\n preferredValue: { from: 'Preferred-Value', converter: TagConverters.regionSubtag, optional: true },\n subtagRangeEnd: {\n from: 'Subtag',\n converter: TagConverters.endOfTagRangeOrUndefined(TagConverters.regionSubtag),\n optional: true\n }\n },\n {\n strict: true,\n description: 'region subtag'\n }\n);\n\n/**\n * @internal\n */\nexport const registeredVariant = Converters.transformObject<\n JarModel.VariantSubtagRegistryEntry,\n Model.IRegisteredVariant\n>(\n {\n type: { from: 'Type', converter: Converters.enumeratedValue<'variant'>(['variant']) },\n subtag: { from: 'Subtag', converter: TagConverters.variantSubtag },\n description: { from: 'Description', converter: Converters.stringArray },\n added: { from: 'Added', converter: yearMonthDaySpec },\n comments: { from: 'Comments', converter: Converters.stringArray, optional: true },\n deprecated: { from: 'Deprecated', converter: yearMonthDaySpec, optional: true },\n preferredValue: { from: 'Preferred-Value', converter: TagConverters.variantSubtag, optional: true },\n prefix: {\n from: 'Prefix',\n converter: Converters.arrayOf(TagConverters.extendedLanguageRange),\n optional: true\n }\n },\n {\n strict: true,\n description: 'variant subtag'\n }\n);\n\n/**\n * @internal\n */\nexport const registeredGrandfatheredTag = Converters.transformObject<\n JarModel.GrandfatheredTagRegistryEntry,\n Model.IRegisteredGrandfatheredTag\n>(\n {\n type: { from: 'Type', converter: Converters.enumeratedValue<'grandfathered'>(['grandfathered']) },\n tag: { from: 'Tag', converter: TagConverters.grandfatheredTag },\n description: { from: 'Description', converter: Converters.stringArray },\n added: { from: 'Added', converter: yearMonthDaySpec },\n comments: { from: 'Comments', converter: Converters.stringArray, optional: true },\n deprecated: { from: 'Deprecated', converter: yearMonthDaySpec, optional: true },\n preferredValue: {\n from: 'Preferred-Value',\n converter: TagConverters.extendedLanguageRange,\n optional: true\n }\n },\n {\n strict: true,\n description: 'grandfathered tag'\n }\n);\n\n/**\n * @internal\n */\nexport const registeredRedundantTag = Converters.transformObject<\n JarModel.RedundantTagRegistryEntry,\n Model.IRegisteredRedundantTag\n>(\n {\n type: { from: 'Type', converter: Converters.enumeratedValue<'redundant'>(['redundant']) },\n tag: { from: 'Tag', converter: TagConverters.redundantTag },\n description: { from: 'Description', converter: Converters.stringArray },\n added: { from: 'Added', converter: yearMonthDaySpec },\n comments: { from: 'Comments', converter: Converters.stringArray, optional: true },\n deprecated: { from: 'Deprecated', converter: yearMonthDaySpec, optional: true },\n preferredValue: {\n from: 'Preferred-Value',\n converter: TagConverters.extendedLanguageRange,\n optional: true\n }\n },\n {\n strict: true,\n description: 'redundant tag'\n }\n);\n\n/**\n * @internal\n */\nexport const registeredItem = Converters.discriminatedObject<Model.RegisteredItem>('Type', {\n language: registeredLanguage,\n extlang: registeredExtLang,\n script: registeredScript,\n region: registeredRegion,\n variant: registeredVariant,\n grandfathered: registeredGrandfatheredTag,\n redundant: registeredRedundantTag\n});\n\n/**\n * @internal\n */\nexport const registryFile = datedRegistry(registeredItem);\n\n/**\n * Loads a JSON-format language subtag registry file.\n * @param path - The string path from which the registry is to be loaded.\n * @returns `Success` with the resulting {@link Iana.LanguageSubtags.Model.RegistryFile | registry file}\n * or `Failure` with details if an error occurs.\n * @internal\n */\nexport function loadJsonSubtagRegistryFileSync(path: string): Result<Model.RegistryFile> {\n return File.convertJsonFileSync(path, registryFile);\n}\n\n/**\n * Loads a text (JAR) format language subtag registry file.\n * @param path - The string path from which the registry is to be loaded.\n * @returns `Success` with the resulting {@link Iana.LanguageSubtags.Model.RegistryFile | registry file}\n * or `Failure` with details if an error occurs.\n * @internal\n */\nexport function loadTxtSubtagRegistryFileSync(path: string): Result<Model.RegistryFile> {\n return RecordJar.readRecordJarFileSync(path, {\n arrayFields: ['Comments', 'Description', 'Prefix'],\n fixedContinuationSize: 1\n }).onSuccess((jar) => {\n return datedRegistryFromJarRecords(registeredItem).convert(jar);\n });\n}\n"]}
1
+ {"version":3,"file":"jarConverters.js","sourceRoot":"","sources":["../../../../src/packlets/iana/language-subtags/jarConverters.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\n/* eslint-disable @rushstack/typedef-var */\n\nimport * as JarModel from '../jar/language-subtags/registry/model';\nimport * as TagConverters from '../jar/language-subtags/tags/converters';\nimport * as Model from './model';\n\nimport { RecordJar } from '@fgv/ts-extras';\nimport { Converters, Result } from '@fgv/ts-utils';\nimport { datedRegistry, yearMonthDaySpec } from '../common/converters';\n\nimport { JsonFile } from '@fgv/ts-json-base';\nimport { datedRegistryFromJarRecords } from '../jar/jarConverters';\nimport { registryScopeType } from '../jar/language-subtags/registry/converters';\n\n/**\n * @internal\n */\nexport const registeredLanguage = Converters.transformObject<\n JarModel.LanguageSubtagRegistryEntry,\n Model.IRegisteredLanguage\n>(\n {\n type: { from: 'Type', converter: Converters.enumeratedValue<'language'>(['language']) },\n subtag: { from: 'Subtag', converter: TagConverters.tagOrStartOfTagRange(TagConverters.languageSubtag) },\n description: { from: 'Description', converter: Converters.stringArray },\n added: { from: 'Added', converter: yearMonthDaySpec },\n comments: { from: 'Comments', converter: Converters.stringArray, optional: true },\n deprecated: { from: 'Deprecated', converter: yearMonthDaySpec, optional: true },\n macrolanguage: { from: 'Macrolanguage', converter: TagConverters.languageSubtag, optional: true },\n preferredValue: { from: 'Preferred-Value', converter: TagConverters.languageSubtag, optional: true },\n scope: { from: 'Scope', converter: registryScopeType, optional: true },\n suppressScript: { from: 'Suppress-Script', converter: TagConverters.scriptSubtag, optional: true },\n subtagRangeEnd: {\n from: 'Subtag',\n converter: TagConverters.endOfTagRangeOrUndefined(TagConverters.languageSubtag),\n optional: true\n }\n },\n {\n strict: true,\n description: 'language subtag'\n }\n);\n\n/**\n * @internal\n */\nexport const registeredExtLang = Converters.transformObject<\n JarModel.ExtLangSubtagRegistryEntry,\n Model.IRegisteredExtLang\n>(\n {\n type: { from: 'Type', converter: Converters.enumeratedValue<'extlang'>(['extlang']) },\n subtag: { from: 'Subtag', converter: TagConverters.extlangSubtag },\n preferredValue: { from: 'Preferred-Value', converter: TagConverters.extendedLanguageRange },\n prefix: { from: 'Prefix', converter: TagConverters.extlangPrefix },\n description: { from: 'Description', converter: Converters.stringArray },\n added: { from: 'Added', converter: yearMonthDaySpec },\n comments: { from: 'Comments', converter: Converters.stringArray, optional: true },\n deprecated: { from: 'Deprecated', converter: yearMonthDaySpec, optional: true },\n macrolanguage: { from: 'Macrolanguage', converter: TagConverters.languageSubtag, optional: true },\n scope: { from: 'Scope', converter: registryScopeType, optional: true },\n suppressScript: { from: 'Suppress-Script', converter: TagConverters.scriptSubtag, optional: true }\n },\n {\n strict: true,\n description: 'extlang subtag'\n }\n);\n\n/**\n * @internal\n */\nexport const registeredScript = Converters.transformObject<\n JarModel.ScriptSubtagRegistryEntry,\n Model.IRegisteredScript\n>(\n {\n type: { from: 'Type', converter: Converters.enumeratedValue<'script'>(['script']) },\n subtag: { from: 'Subtag', converter: TagConverters.tagOrStartOfTagRange(TagConverters.scriptSubtag) },\n description: { from: 'Description', converter: Converters.stringArray },\n added: { from: 'Added', converter: yearMonthDaySpec },\n comments: { from: 'Comments', converter: Converters.stringArray, optional: true },\n deprecated: { from: 'Deprecated', converter: yearMonthDaySpec, optional: true },\n preferredValue: { from: 'Preferred-Value', converter: TagConverters.scriptSubtag, optional: true },\n subtagRangeEnd: {\n from: 'Subtag',\n converter: TagConverters.endOfTagRangeOrUndefined(TagConverters.scriptSubtag),\n optional: true\n }\n },\n {\n strict: true,\n description: 'script subtag'\n }\n);\n\n/**\n * @internal\n */\nexport const registeredRegion = Converters.transformObject<\n JarModel.RegionSubtagRegistryEntry,\n Model.IRegisteredRegion\n>(\n {\n type: { from: 'Type', converter: Converters.enumeratedValue<'region'>(['region']) },\n subtag: { from: 'Subtag', converter: TagConverters.tagOrStartOfTagRange(TagConverters.regionSubtag) },\n description: { from: 'Description', converter: Converters.stringArray },\n added: { from: 'Added', converter: yearMonthDaySpec },\n comments: { from: 'Comments', converter: Converters.stringArray, optional: true },\n deprecated: { from: 'Deprecated', converter: yearMonthDaySpec, optional: true },\n preferredValue: { from: 'Preferred-Value', converter: TagConverters.regionSubtag, optional: true },\n subtagRangeEnd: {\n from: 'Subtag',\n converter: TagConverters.endOfTagRangeOrUndefined(TagConverters.regionSubtag),\n optional: true\n }\n },\n {\n strict: true,\n description: 'region subtag'\n }\n);\n\n/**\n * @internal\n */\nexport const registeredVariant = Converters.transformObject<\n JarModel.VariantSubtagRegistryEntry,\n Model.IRegisteredVariant\n>(\n {\n type: { from: 'Type', converter: Converters.enumeratedValue<'variant'>(['variant']) },\n subtag: { from: 'Subtag', converter: TagConverters.variantSubtag },\n description: { from: 'Description', converter: Converters.stringArray },\n added: { from: 'Added', converter: yearMonthDaySpec },\n comments: { from: 'Comments', converter: Converters.stringArray, optional: true },\n deprecated: { from: 'Deprecated', converter: yearMonthDaySpec, optional: true },\n preferredValue: { from: 'Preferred-Value', converter: TagConverters.variantSubtag, optional: true },\n prefix: {\n from: 'Prefix',\n converter: Converters.arrayOf(TagConverters.extendedLanguageRange),\n optional: true\n }\n },\n {\n strict: true,\n description: 'variant subtag'\n }\n);\n\n/**\n * @internal\n */\nexport const registeredGrandfatheredTag = Converters.transformObject<\n JarModel.GrandfatheredTagRegistryEntry,\n Model.IRegisteredGrandfatheredTag\n>(\n {\n type: { from: 'Type', converter: Converters.enumeratedValue<'grandfathered'>(['grandfathered']) },\n tag: { from: 'Tag', converter: TagConverters.grandfatheredTag },\n description: { from: 'Description', converter: Converters.stringArray },\n added: { from: 'Added', converter: yearMonthDaySpec },\n comments: { from: 'Comments', converter: Converters.stringArray, optional: true },\n deprecated: { from: 'Deprecated', converter: yearMonthDaySpec, optional: true },\n preferredValue: {\n from: 'Preferred-Value',\n converter: TagConverters.extendedLanguageRange,\n optional: true\n }\n },\n {\n strict: true,\n description: 'grandfathered tag'\n }\n);\n\n/**\n * @internal\n */\nexport const registeredRedundantTag = Converters.transformObject<\n JarModel.RedundantTagRegistryEntry,\n Model.IRegisteredRedundantTag\n>(\n {\n type: { from: 'Type', converter: Converters.enumeratedValue<'redundant'>(['redundant']) },\n tag: { from: 'Tag', converter: TagConverters.redundantTag },\n description: { from: 'Description', converter: Converters.stringArray },\n added: { from: 'Added', converter: yearMonthDaySpec },\n comments: { from: 'Comments', converter: Converters.stringArray, optional: true },\n deprecated: { from: 'Deprecated', converter: yearMonthDaySpec, optional: true },\n preferredValue: {\n from: 'Preferred-Value',\n converter: TagConverters.extendedLanguageRange,\n optional: true\n }\n },\n {\n strict: true,\n description: 'redundant tag'\n }\n);\n\n/**\n * @internal\n */\nexport const registeredItem = Converters.discriminatedObject<Model.RegisteredItem>('Type', {\n language: registeredLanguage,\n extlang: registeredExtLang,\n script: registeredScript,\n region: registeredRegion,\n variant: registeredVariant,\n grandfathered: registeredGrandfatheredTag,\n redundant: registeredRedundantTag\n});\n\n/**\n * @internal\n */\nexport const registryFile = datedRegistry(registeredItem);\n\n/**\n * Loads a JSON-format language subtag registry file.\n * @param path - The string path from which the registry is to be loaded.\n * @returns `Success` with the resulting {@link Iana.LanguageSubtags.Model.RegistryFile | registry file}\n * or `Failure` with details if an error occurs.\n * @internal\n */\nexport function loadJsonSubtagRegistryFileSync(path: string): Result<Model.RegistryFile> {\n return JsonFile.convertJsonFileSync(path, registryFile);\n}\n\n/**\n * Loads a text (JAR) format language subtag registry file.\n * @param path - The string path from which the registry is to be loaded.\n * @returns `Success` with the resulting {@link Iana.LanguageSubtags.Model.RegistryFile | registry file}\n * or `Failure` with details if an error occurs.\n * @internal\n */\nexport function loadTxtSubtagRegistryFileSync(path: string): Result<Model.RegistryFile> {\n return RecordJar.readRecordJarFileSync(path, {\n arrayFields: ['Comments', 'Description', 'Prefix'],\n fixedContinuationSize: 1\n }).onSuccess((jar) => {\n return datedRegistryFromJarRecords(registeredItem).convert(jar);\n });\n}\n"]}
@@ -46,7 +46,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
46
46
  Object.defineProperty(exports, "__esModule", { value: true });
47
47
  exports.loadLanguageTagExtensionsJsonFileSync = exports.languageTagExtensions = exports.languageTagExtension = exports.extensionSingleton = void 0;
48
48
  const Validate = __importStar(require("./validate"));
49
- const ts_json_1 = require("@fgv/ts-json");
49
+ const ts_json_base_1 = require("@fgv/ts-json-base");
50
50
  const ts_utils_1 = require("@fgv/ts-utils");
51
51
  const converters_1 = require("../common/converters");
52
52
  /**
@@ -80,7 +80,7 @@ exports.languageTagExtensions = (0, converters_1.datedRegistry)(exports.language
80
80
  * or `Failure` with details if an error occurs.
81
81
  */
82
82
  function loadLanguageTagExtensionsJsonFileSync(path) {
83
- return ts_json_1.File.convertJsonFileSync(path, exports.languageTagExtensions);
83
+ return ts_json_base_1.JsonFile.convertJsonFileSync(path, exports.languageTagExtensions);
84
84
  }
85
85
  exports.loadLanguageTagExtensionsJsonFileSync = loadLanguageTagExtensionsJsonFileSync;
86
86
  //# sourceMappingURL=converters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"converters.js","sourceRoot":"","sources":["../../../../src/packlets/iana/language-tag-extensions/converters.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;;;;;;;;;;;;;;;;;;;;;;;;;AAKH,qDAAuC;AAEvC,0CAAoC;AACpC,4CAA8D;AAC9D,qDAAuE;AAEvE;;GAEG;AACU,QAAA,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC;AAExE;;GAEG;AACU,QAAA,oBAAoB,GAC/B,qBAAU,CAAC,YAAY,CACrB;IACE,UAAU,EAAE,0BAAkB;IAC9B,WAAW,EAAE,qBAAU,CAAC,WAAW;IACnC,QAAQ,EAAE,qBAAU,CAAC,WAAW;IAChC,KAAK,EAAE,6BAAgB;IACvB,GAAG,EAAE,qBAAU,CAAC,MAAM;IACtB,SAAS,EAAE,qBAAU,CAAC,MAAM;IAC5B,YAAY,EAAE,qBAAU,CAAC,MAAM;IAC/B,WAAW,EAAE,qBAAU,CAAC,MAAM;IAC9B,GAAG,EAAE,qBAAU,CAAC,MAAM;CACvB,EACD;IACE,WAAW,EAAE,mCAAmC;CACjD,CACF,CAAC;AAEJ;;GAEG;AACU,QAAA,qBAAqB,GAAG,IAAA,0BAAa,EAAC,4BAAoB,CAAC,CAAC;AAEzE;;;;;GAKG;AACH,SAAgB,qCAAqC,CAAC,IAAY;IAChE,OAAO,cAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,6BAAqB,CAAC,CAAC;AAC/D,CAAC;AAFD,sFAEC","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/* eslint-disable @rushstack/typedef-var */\n\nimport * as Model from './model';\nimport * as Validate from './validate';\n\nimport { File } from '@fgv/ts-json';\nimport { Converter, Converters, Result } from '@fgv/ts-utils';\nimport { datedRegistry, yearMonthDaySpec } from '../common/converters';\n\n/**\n * @public\n */\nexport const extensionSingleton = Validate.extensionSingleton.converter;\n\n/**\n * @internal\n */\nexport const languageTagExtension: Converter<Model.ILanguageTagExtension, unknown> =\n Converters.strictObject<Model.ILanguageTagExtension>(\n {\n identifier: extensionSingleton,\n description: Converters.stringArray,\n comments: Converters.stringArray,\n added: yearMonthDaySpec,\n rfc: Converters.string,\n authority: Converters.string,\n contactEmail: Converters.string,\n mailingList: Converters.string,\n url: Converters.string\n },\n {\n description: 'registered language tag extension'\n }\n );\n\n/**\n * @internal\n */\nexport const languageTagExtensions = datedRegistry(languageTagExtension);\n\n/**\n * @internal\n * @param path - path from which the extensions registry is to be loaded.\n * @returns `Success` with the loaded language tag extensions data, o\n * or `Failure` with details if an error occurs.\n */\nexport function loadLanguageTagExtensionsJsonFileSync(path: string): Result<Model.LanguageTagExtensions> {\n return File.convertJsonFileSync(path, languageTagExtensions);\n}\n"]}
1
+ {"version":3,"file":"converters.js","sourceRoot":"","sources":["../../../../src/packlets/iana/language-tag-extensions/converters.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;;;;;;;;;;;;;;;;;;;;;;;;;AAKH,qDAAuC;AAEvC,oDAA6C;AAC7C,4CAA8D;AAC9D,qDAAuE;AAEvE;;GAEG;AACU,QAAA,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC;AAExE;;GAEG;AACU,QAAA,oBAAoB,GAC/B,qBAAU,CAAC,YAAY,CACrB;IACE,UAAU,EAAE,0BAAkB;IAC9B,WAAW,EAAE,qBAAU,CAAC,WAAW;IACnC,QAAQ,EAAE,qBAAU,CAAC,WAAW;IAChC,KAAK,EAAE,6BAAgB;IACvB,GAAG,EAAE,qBAAU,CAAC,MAAM;IACtB,SAAS,EAAE,qBAAU,CAAC,MAAM;IAC5B,YAAY,EAAE,qBAAU,CAAC,MAAM;IAC/B,WAAW,EAAE,qBAAU,CAAC,MAAM;IAC9B,GAAG,EAAE,qBAAU,CAAC,MAAM;CACvB,EACD;IACE,WAAW,EAAE,mCAAmC;CACjD,CACF,CAAC;AAEJ;;GAEG;AACU,QAAA,qBAAqB,GAAG,IAAA,0BAAa,EAAC,4BAAoB,CAAC,CAAC;AAEzE;;;;;GAKG;AACH,SAAgB,qCAAqC,CAAC,IAAY;IAChE,OAAO,uBAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE,6BAAqB,CAAC,CAAC;AACnE,CAAC;AAFD,sFAEC","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/* eslint-disable @rushstack/typedef-var */\n\nimport * as Model from './model';\nimport * as Validate from './validate';\n\nimport { JsonFile } from '@fgv/ts-json-base';\nimport { Converter, Converters, Result } from '@fgv/ts-utils';\nimport { datedRegistry, yearMonthDaySpec } from '../common/converters';\n\n/**\n * @public\n */\nexport const extensionSingleton = Validate.extensionSingleton.converter;\n\n/**\n * @internal\n */\nexport const languageTagExtension: Converter<Model.ILanguageTagExtension, unknown> =\n Converters.strictObject<Model.ILanguageTagExtension>(\n {\n identifier: extensionSingleton,\n description: Converters.stringArray,\n comments: Converters.stringArray,\n added: yearMonthDaySpec,\n rfc: Converters.string,\n authority: Converters.string,\n contactEmail: Converters.string,\n mailingList: Converters.string,\n url: Converters.string\n },\n {\n description: 'registered language tag extension'\n }\n );\n\n/**\n * @internal\n */\nexport const languageTagExtensions = datedRegistry(languageTagExtension);\n\n/**\n * @internal\n * @param path - path from which the extensions registry is to be loaded.\n * @returns `Success` with the loaded language tag extensions data, o\n * or `Failure` with details if an error occurs.\n */\nexport function loadLanguageTagExtensionsJsonFileSync(path: string): Result<Model.LanguageTagExtensions> {\n return JsonFile.convertJsonFileSync(path, languageTagExtensions);\n}\n"]}
@@ -24,7 +24,7 @@
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
25
  exports.loadTxtLanguageTagExtensionsRegistryFileSync = exports.loadJsonLanguageTagExtensionsRegistryFileSync = exports.languageTagExtensions = exports.languageTagExtension = void 0;
26
26
  const ts_extras_1 = require("@fgv/ts-extras");
27
- const ts_json_1 = require("@fgv/ts-json");
27
+ const ts_json_base_1 = require("@fgv/ts-json-base");
28
28
  const ts_utils_1 = require("@fgv/ts-utils");
29
29
  const converters_1 = require("../common/converters");
30
30
  const jarConverters_1 = require("../jar/jarConverters");
@@ -58,7 +58,7 @@ exports.languageTagExtensions = (0, converters_1.datedRegistry)(exports.language
58
58
  * @internal
59
59
  */
60
60
  function loadJsonLanguageTagExtensionsRegistryFileSync(path) {
61
- return ts_json_1.File.convertJsonFileSync(path, exports.languageTagExtensions);
61
+ return ts_json_base_1.JsonFile.convertJsonFileSync(path, exports.languageTagExtensions);
62
62
  }
63
63
  exports.loadJsonLanguageTagExtensionsRegistryFileSync = loadJsonLanguageTagExtensionsRegistryFileSync;
64
64
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"jarConverters.js","sourceRoot":"","sources":["../../../../src/packlets/iana/language-tag-extensions/jarConverters.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,2CAA2C;;;AAI3C,8CAA2C;AAC3C,0CAAoC;AACpC,4CAAmD;AACnD,qDAAuE;AACvE,wDAAmE;AACnE,yCAAgD;AAEhD;;GAEG;AACU,QAAA,oBAAoB,GAAG,qBAAU,CAAC,eAAe,CAI5D;IACE,UAAU,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,6BAAkB,CAAC,SAAS,EAAE;IAC3E,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,qBAAU,CAAC,WAAW,EAAE;IACvE,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,qBAAU,CAAC,WAAW,EAAE;IACjE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,6BAAgB,EAAE;IACrD,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,qBAAU,CAAC,MAAM,EAAE;IAClD,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,qBAAU,CAAC,MAAM,EAAE;IAC9D,YAAY,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,qBAAU,CAAC,MAAM,EAAE;IACrE,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,qBAAU,CAAC,MAAM,EAAE;IACnE,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,qBAAU,CAAC,MAAM,EAAE;CACnD,EACD;IACE,MAAM,EAAE,IAAI;IACZ,WAAW,EAAE,mCAAmC;CACjD,CACF,CAAC;AAEF;;GAEG;AACU,QAAA,qBAAqB,GAAG,IAAA,0BAAa,EAAC,4BAAoB,CAAC,CAAC;AAEzE;;;;;;GAMG;AACH,SAAgB,6CAA6C,CAC3D,IAAY;IAEZ,OAAO,cAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,6BAAqB,CAAC,CAAC;AAC/D,CAAC;AAJD,sGAIC;AAED;;;;;;GAMG;AACH,SAAgB,4CAA4C,CAC1D,IAAY;IAEZ,OAAO,qBAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE;QAC3C,WAAW,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC;QACxC,qBAAqB,EAAE,CAAC;KACzB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;QACnB,OAAO,IAAA,2CAA2B,EAAC,4BAAoB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC;AATD,oGASC","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 Model from './model';\n\nimport { RecordJar } from '@fgv/ts-extras';\nimport { File } from '@fgv/ts-json';\nimport { Converters, Result } from '@fgv/ts-utils';\nimport { datedRegistry, yearMonthDaySpec } from '../common/converters';\nimport { datedRegistryFromJarRecords } from '../jar/jarConverters';\nimport { extensionSingleton } from './validate';\n\n/**\n * @internal\n */\nexport const languageTagExtension = Converters.transformObject<\n Model.LanguageTagExtensionRegistryEntry,\n Model.ILanguageTagExtension\n>(\n {\n identifier: { from: 'Identifier', converter: extensionSingleton.converter },\n description: { from: 'Description', converter: Converters.stringArray },\n comments: { from: 'Comments', converter: Converters.stringArray },\n added: { from: 'Added', converter: yearMonthDaySpec },\n rfc: { from: 'RFC', converter: Converters.string },\n authority: { from: 'Authority', converter: Converters.string },\n contactEmail: { from: 'Contact_Email', converter: Converters.string },\n mailingList: { from: 'Mailing_List', converter: Converters.string },\n url: { from: 'URL', converter: Converters.string }\n },\n {\n strict: true,\n description: 'registered language tag extension'\n }\n);\n\n/**\n * @internal\n */\nexport const languageTagExtensions = datedRegistry(languageTagExtension);\n\n/**\n * Loads language tag extensions registry data from a JSON-formatted file.\n * @param path - String path from which registry data is to be read.\n * @returns `Success` with the loaded language tag extension data\n * or `Failure` with details if an error occurs.\n * @internal\n */\nexport function loadJsonLanguageTagExtensionsRegistryFileSync(\n path: string\n): Result<Model.LanguageTagExtensions> {\n return File.convertJsonFileSync(path, languageTagExtensions);\n}\n\n/**\n * Loads language tag extensions registry data from a text (JAR-formatted) file.\n * @param path - String path from which registry data is to be read.\n * @returns `Success` with the loaded language tag extension data\n * or `Failure` with details if an error occurs.\n * @internal\n */\nexport function loadTxtLanguageTagExtensionsRegistryFileSync(\n path: string\n): Result<Model.LanguageTagExtensions> {\n return RecordJar.readRecordJarFileSync(path, {\n arrayFields: ['Comments', 'Description'],\n fixedContinuationSize: 1\n }).onSuccess((jar) => {\n return datedRegistryFromJarRecords(languageTagExtension).convert(jar);\n });\n}\n"]}
1
+ {"version":3,"file":"jarConverters.js","sourceRoot":"","sources":["../../../../src/packlets/iana/language-tag-extensions/jarConverters.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,2CAA2C;;;AAI3C,8CAA2C;AAC3C,oDAA6C;AAC7C,4CAAmD;AACnD,qDAAuE;AACvE,wDAAmE;AACnE,yCAAgD;AAEhD;;GAEG;AACU,QAAA,oBAAoB,GAAG,qBAAU,CAAC,eAAe,CAI5D;IACE,UAAU,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,6BAAkB,CAAC,SAAS,EAAE;IAC3E,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,qBAAU,CAAC,WAAW,EAAE;IACvE,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,qBAAU,CAAC,WAAW,EAAE;IACjE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,6BAAgB,EAAE;IACrD,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,qBAAU,CAAC,MAAM,EAAE;IAClD,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,qBAAU,CAAC,MAAM,EAAE;IAC9D,YAAY,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,qBAAU,CAAC,MAAM,EAAE;IACrE,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,qBAAU,CAAC,MAAM,EAAE;IACnE,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,qBAAU,CAAC,MAAM,EAAE;CACnD,EACD;IACE,MAAM,EAAE,IAAI;IACZ,WAAW,EAAE,mCAAmC;CACjD,CACF,CAAC;AAEF;;GAEG;AACU,QAAA,qBAAqB,GAAG,IAAA,0BAAa,EAAC,4BAAoB,CAAC,CAAC;AAEzE;;;;;;GAMG;AACH,SAAgB,6CAA6C,CAC3D,IAAY;IAEZ,OAAO,uBAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE,6BAAqB,CAAC,CAAC;AACnE,CAAC;AAJD,sGAIC;AAED;;;;;;GAMG;AACH,SAAgB,4CAA4C,CAC1D,IAAY;IAEZ,OAAO,qBAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE;QAC3C,WAAW,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC;QACxC,qBAAqB,EAAE,CAAC;KACzB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;QACnB,OAAO,IAAA,2CAA2B,EAAC,4BAAoB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC;AATD,oGASC","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 Model from './model';\n\nimport { RecordJar } from '@fgv/ts-extras';\nimport { JsonFile } from '@fgv/ts-json-base';\nimport { Converters, Result } from '@fgv/ts-utils';\nimport { datedRegistry, yearMonthDaySpec } from '../common/converters';\nimport { datedRegistryFromJarRecords } from '../jar/jarConverters';\nimport { extensionSingleton } from './validate';\n\n/**\n * @internal\n */\nexport const languageTagExtension = Converters.transformObject<\n Model.LanguageTagExtensionRegistryEntry,\n Model.ILanguageTagExtension\n>(\n {\n identifier: { from: 'Identifier', converter: extensionSingleton.converter },\n description: { from: 'Description', converter: Converters.stringArray },\n comments: { from: 'Comments', converter: Converters.stringArray },\n added: { from: 'Added', converter: yearMonthDaySpec },\n rfc: { from: 'RFC', converter: Converters.string },\n authority: { from: 'Authority', converter: Converters.string },\n contactEmail: { from: 'Contact_Email', converter: Converters.string },\n mailingList: { from: 'Mailing_List', converter: Converters.string },\n url: { from: 'URL', converter: Converters.string }\n },\n {\n strict: true,\n description: 'registered language tag extension'\n }\n);\n\n/**\n * @internal\n */\nexport const languageTagExtensions = datedRegistry(languageTagExtension);\n\n/**\n * Loads language tag extensions registry data from a JSON-formatted file.\n * @param path - String path from which registry data is to be read.\n * @returns `Success` with the loaded language tag extension data\n * or `Failure` with details if an error occurs.\n * @internal\n */\nexport function loadJsonLanguageTagExtensionsRegistryFileSync(\n path: string\n): Result<Model.LanguageTagExtensions> {\n return JsonFile.convertJsonFileSync(path, languageTagExtensions);\n}\n\n/**\n * Loads language tag extensions registry data from a text (JAR-formatted) file.\n * @param path - String path from which registry data is to be read.\n * @returns `Success` with the loaded language tag extension data\n * or `Failure` with details if an error occurs.\n * @internal\n */\nexport function loadTxtLanguageTagExtensionsRegistryFileSync(\n path: string\n): Result<Model.LanguageTagExtensions> {\n return RecordJar.readRecordJarFileSync(path, {\n arrayFields: ['Comments', 'Description'],\n fixedContinuationSize: 1\n }).onSuccess((jar) => {\n return datedRegistryFromJarRecords(languageTagExtension).convert(jar);\n });\n}\n"]}
package/package.json CHANGED
@@ -1,13 +1,9 @@
1
1
  {
2
2
  "name": "@fgv/ts-bcp47",
3
- "version": "2.1.1-alpha.0",
3
+ "version": "2.1.1-alpha.2",
4
4
  "description": "BCP-47 Tag Utilities",
5
5
  "main": "lib/index.js",
6
6
  "types": "dist/ts-bcp47.d.ts",
7
- "repository": {
8
- "type": "git",
9
- "url": "git+https://github.com/ErikFortune/ts-bcp47.git"
10
- },
11
7
  "keywords": [
12
8
  "bcp-47",
13
9
  "internationalization",
@@ -17,13 +13,15 @@
17
13
  "author": "Erik Fortune",
18
14
  "license": "MIT",
19
15
  "bugs": {
20
- "url": "https://github.com/ErikFortune/ts-bcp47/issues"
16
+ "url": "https://github.com/ErikFortune/fgv/issues"
21
17
  },
22
- "homepage": "https://github.com/ErikFortune/ts-bcp47#readme",
18
+ "homepage": "https://github.com/ErikFortune/fgv/tree/main/libraries/ts-bcp47#readme",
19
+ "sideEffects": false,
23
20
  "devDependencies": {
24
- "@fgv/ts-json": "2.1.1-alpha.0",
25
- "@fgv/ts-utils": "2.1.1-alpha.0",
26
- "@fgv/ts-utils-jest": "2.1.1-alpha.0",
21
+ "@fgv/ts-utils": "2.1.1-alpha.2",
22
+ "@fgv/ts-utils-jest": "2.1.1-alpha.2",
23
+ "@fgv/ts-extras": "2.1.1-alpha.2",
24
+ "@fgv/ts-json-base": "2.1.1-alpha.2",
27
25
  "@microsoft/api-documenter": "^7.23.17",
28
26
  "@microsoft/api-extractor": "^7.39.1",
29
27
  "@types/jest": "^29.5.11",
@@ -54,12 +52,12 @@
54
52
  "eslint-plugin-tsdoc": "~0.2.17"
55
53
  },
56
54
  "dependencies": {
57
- "luxon": "^3.4.4",
58
- "@fgv/ts-extras": "2.1.1-alpha.0"
55
+ "luxon": "^3.4.4"
59
56
  },
60
57
  "peerDependencies": {
61
- "@fgv/ts-json": "^2.1.1-alpha.0",
62
- "@fgv/ts-utils": "^2.1.1-alpha.0"
58
+ "@fgv/ts-utils": "^2.1.1-alpha.2",
59
+ "@fgv/ts-extras": "2.1.1-alpha.2",
60
+ "@fgv/ts-json-base": "2.1.1-alpha.2"
63
61
  },
64
62
  "scripts": {
65
63
  "build": "heft test --clean",