@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,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2022 Erik Fortune
|
|
4
|
+
*
|
|
5
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
* in the Software without restriction, including without limitation the rights
|
|
8
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
* furnished to do so, subject to the following conditions:
|
|
11
|
+
*
|
|
12
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
* copies or substantial portions of the Software.
|
|
14
|
+
*
|
|
15
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
* SOFTWARE.
|
|
22
|
+
*/
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
exports.loadM49cnvFileSync = exports.m49CsvFile = exports.m49CsvRow = exports.regionTier = void 0;
|
|
25
|
+
const ts_utils_1 = require("@fgv/ts-utils");
|
|
26
|
+
const iana_1 = require("../../iana");
|
|
27
|
+
const csvHelpers_1 = require("@fgv/ts-utils/csvHelpers");
|
|
28
|
+
exports.regionTier = ts_utils_1.Converters.enumeratedValue(['global', 'intermediateRegion', 'region', 'subRegion']);
|
|
29
|
+
const optionalString = ts_utils_1.Converters.string.optional('ignoreErrors');
|
|
30
|
+
const optionalUnM49RegionCode = iana_1.Converters.unM49RegionCode.optional('ignoreErrors');
|
|
31
|
+
const optionalIsoAlpha2RegionCode = iana_1.Converters.isoAlpha2RegionCode.optional('ignoreErrors');
|
|
32
|
+
const optionalIsoAlpha3RegionCode = iana_1.Converters.isoAlpha3RegionCode.optional('ignoreErrors');
|
|
33
|
+
/**
|
|
34
|
+
* @internal
|
|
35
|
+
*/
|
|
36
|
+
exports.m49CsvRow = ts_utils_1.Converters.transform({
|
|
37
|
+
globalCode: ts_utils_1.Converters.element(0, iana_1.Converters.unM49RegionCode),
|
|
38
|
+
globalName: ts_utils_1.Converters.element(1, ts_utils_1.Converters.string),
|
|
39
|
+
regionCode: ts_utils_1.Converters.element(2, optionalUnM49RegionCode),
|
|
40
|
+
regionName: ts_utils_1.Converters.element(3, optionalString),
|
|
41
|
+
subRegionCode: ts_utils_1.Converters.element(4, optionalUnM49RegionCode),
|
|
42
|
+
subRegionName: ts_utils_1.Converters.element(5, optionalString),
|
|
43
|
+
intermediateRegionCode: ts_utils_1.Converters.element(6, optionalUnM49RegionCode),
|
|
44
|
+
intermediateRegionName: ts_utils_1.Converters.element(7, optionalString),
|
|
45
|
+
countryOrArea: ts_utils_1.Converters.element(8, ts_utils_1.Converters.string),
|
|
46
|
+
m49Code: ts_utils_1.Converters.element(9, iana_1.Converters.unM49RegionCode),
|
|
47
|
+
isoAlpha2RegionCode: ts_utils_1.Converters.element(10, optionalIsoAlpha2RegionCode),
|
|
48
|
+
isoAlpha3RegionCode: ts_utils_1.Converters.element(11, optionalIsoAlpha3RegionCode),
|
|
49
|
+
leastDevelopedCountry: ts_utils_1.Converters.element(12, ts_utils_1.Converters.string).map((s) => (0, ts_utils_1.succeed)(s === 'x')),
|
|
50
|
+
landLockedDevelopingCountry: ts_utils_1.Converters.element(13, ts_utils_1.Converters.string).map((s) => (0, ts_utils_1.succeed)(s === 'x')),
|
|
51
|
+
smallIslandDevelopingState: ts_utils_1.Converters.element(14, ts_utils_1.Converters.string).map((s) => (0, ts_utils_1.succeed)(s === 'x')),
|
|
52
|
+
});
|
|
53
|
+
/**
|
|
54
|
+
* @internal
|
|
55
|
+
*/
|
|
56
|
+
exports.m49CsvFile = ts_utils_1.Converters.arrayOf(exports.m49CsvRow);
|
|
57
|
+
/**
|
|
58
|
+
* Loads a UNSD M.49 registry text (csv) file.
|
|
59
|
+
* @param csvPath - The path from which the file is to be loaded.
|
|
60
|
+
* @returns `Success` with the parsed file contents or `Failure` with
|
|
61
|
+
* details if an error occurs.
|
|
62
|
+
* @internal
|
|
63
|
+
*/
|
|
64
|
+
function loadM49cnvFileSync(csvPath) {
|
|
65
|
+
return (0, csvHelpers_1.readCsvFileSync)(csvPath, { delimiter: ';' }).onSuccess((csv) => {
|
|
66
|
+
return exports.m49CsvFile.convert(csv);
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
exports.loadM49cnvFileSync = loadM49cnvFileSync;
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91bnNkL2Nzdi9jb252ZXJ0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7OztBQUdILDRDQUE0RDtBQUM1RCxxQ0FBMEQ7QUFFMUQseURBQTJEO0FBRTlDLFFBQUEsVUFBVSxHQUFHLHFCQUFVLENBQUMsZUFBZSxDQUFhLENBQUMsUUFBUSxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO0FBRTFILE1BQU0sY0FBYyxHQUFHLHFCQUFVLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUNsRSxNQUFNLHVCQUF1QixHQUFHLGlCQUFjLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUN4RixNQUFNLDJCQUEyQixHQUFHLGlCQUFjLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQ2hHLE1BQU0sMkJBQTJCLEdBQUcsaUJBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7QUFFaEc7O0dBRUc7QUFDVSxRQUFBLFNBQVMsR0FBRyxxQkFBVSxDQUFDLFNBQVMsQ0FBa0I7SUFDM0QsVUFBVSxFQUFFLHFCQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxpQkFBYyxDQUFDLGVBQWUsQ0FBQztJQUNqRSxVQUFVLEVBQUUscUJBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLHFCQUFVLENBQUMsTUFBTSxDQUFDO0lBQ3BELFVBQVUsRUFBRSxxQkFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsdUJBQXVCLENBQUM7SUFDMUQsVUFBVSxFQUFFLHFCQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxjQUFjLENBQUM7SUFDakQsYUFBYSxFQUFFLHFCQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSx1QkFBdUIsQ0FBQztJQUM3RCxhQUFhLEVBQUUscUJBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLGNBQWMsQ0FBQztJQUNwRCxzQkFBc0IsRUFBRSxxQkFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsdUJBQXVCLENBQUM7SUFDdEUsc0JBQXNCLEVBQUUscUJBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLGNBQWMsQ0FBQztJQUM3RCxhQUFhLEVBQUUscUJBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLHFCQUFVLENBQUMsTUFBTSxDQUFDO0lBQ3ZELE9BQU8sRUFBRSxxQkFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsaUJBQWMsQ0FBQyxlQUFlLENBQUM7SUFDOUQsbUJBQW1CLEVBQUUscUJBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLDJCQUEyQixDQUFDO0lBQ3hFLG1CQUFtQixFQUFFLHFCQUFVLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSwyQkFBMkIsQ0FBQztJQUN4RSxxQkFBcUIsRUFBRSxxQkFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUscUJBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUEsa0JBQU8sRUFBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDL0YsMkJBQTJCLEVBQUUscUJBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLHFCQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFBLGtCQUFPLEVBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ3JHLDBCQUEwQixFQUFFLHFCQUFVLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxxQkFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBQSxrQkFBTyxFQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztDQUN2RyxDQUFDLENBQUM7QUFFSDs7R0FFRztBQUNVLFFBQUEsVUFBVSxHQUFHLHFCQUFVLENBQUMsT0FBTyxDQUFDLGlCQUFTLENBQUMsQ0FBQztBQUV4RDs7Ozs7O0dBTUc7QUFDSCxTQUFnQixrQkFBa0IsQ0FBQyxPQUFlO0lBQzlDLE9BQU8sSUFBQSw0QkFBZSxFQUFDLE9BQU8sRUFBRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ2xFLE9BQU8sa0JBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkMsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDO0FBSkQsZ0RBSUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIyIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuaW1wb3J0ICogYXMgTW9kZWwgZnJvbSAnLi9tb2RlbCc7XG5pbXBvcnQgeyBDb252ZXJ0ZXJzLCBSZXN1bHQsIHN1Y2NlZWQgfSBmcm9tICdAZmd2L3RzLXV0aWxzJztcbmltcG9ydCB7IENvbnZlcnRlcnMgYXMgSWFuYUNvbnZlcnRlcnMgfSBmcm9tICcuLi8uLi9pYW5hJztcbmltcG9ydCB7IFJlZ2lvblRpZXIgfSBmcm9tICcuLi9jb21tb24nO1xuaW1wb3J0IHsgcmVhZENzdkZpbGVTeW5jIH0gZnJvbSAnQGZndi90cy11dGlscy9jc3ZIZWxwZXJzJztcblxuZXhwb3J0IGNvbnN0IHJlZ2lvblRpZXIgPSBDb252ZXJ0ZXJzLmVudW1lcmF0ZWRWYWx1ZTxSZWdpb25UaWVyPihbJ2dsb2JhbCcsICdpbnRlcm1lZGlhdGVSZWdpb24nLCAncmVnaW9uJywgJ3N1YlJlZ2lvbiddKTtcblxuY29uc3Qgb3B0aW9uYWxTdHJpbmcgPSBDb252ZXJ0ZXJzLnN0cmluZy5vcHRpb25hbCgnaWdub3JlRXJyb3JzJyk7XG5jb25zdCBvcHRpb25hbFVuTTQ5UmVnaW9uQ29kZSA9IElhbmFDb252ZXJ0ZXJzLnVuTTQ5UmVnaW9uQ29kZS5vcHRpb25hbCgnaWdub3JlRXJyb3JzJyk7XG5jb25zdCBvcHRpb25hbElzb0FscGhhMlJlZ2lvbkNvZGUgPSBJYW5hQ29udmVydGVycy5pc29BbHBoYTJSZWdpb25Db2RlLm9wdGlvbmFsKCdpZ25vcmVFcnJvcnMnKTtcbmNvbnN0IG9wdGlvbmFsSXNvQWxwaGEzUmVnaW9uQ29kZSA9IElhbmFDb252ZXJ0ZXJzLmlzb0FscGhhM1JlZ2lvbkNvZGUub3B0aW9uYWwoJ2lnbm9yZUVycm9ycycpO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgbTQ5Q3N2Um93ID0gQ29udmVydGVycy50cmFuc2Zvcm08TW9kZWwuTTQ5Q3N2Um93Pih7XG4gICAgZ2xvYmFsQ29kZTogQ29udmVydGVycy5lbGVtZW50KDAsIElhbmFDb252ZXJ0ZXJzLnVuTTQ5UmVnaW9uQ29kZSksXG4gICAgZ2xvYmFsTmFtZTogQ29udmVydGVycy5lbGVtZW50KDEsIENvbnZlcnRlcnMuc3RyaW5nKSxcbiAgICByZWdpb25Db2RlOiBDb252ZXJ0ZXJzLmVsZW1lbnQoMiwgb3B0aW9uYWxVbk00OVJlZ2lvbkNvZGUpLFxuICAgIHJlZ2lvbk5hbWU6IENvbnZlcnRlcnMuZWxlbWVudCgzLCBvcHRpb25hbFN0cmluZyksXG4gICAgc3ViUmVnaW9uQ29kZTogQ29udmVydGVycy5lbGVtZW50KDQsIG9wdGlvbmFsVW5NNDlSZWdpb25Db2RlKSxcbiAgICBzdWJSZWdpb25OYW1lOiBDb252ZXJ0ZXJzLmVsZW1lbnQoNSwgb3B0aW9uYWxTdHJpbmcpLFxuICAgIGludGVybWVkaWF0ZVJlZ2lvbkNvZGU6IENvbnZlcnRlcnMuZWxlbWVudCg2LCBvcHRpb25hbFVuTTQ5UmVnaW9uQ29kZSksXG4gICAgaW50ZXJtZWRpYXRlUmVnaW9uTmFtZTogQ29udmVydGVycy5lbGVtZW50KDcsIG9wdGlvbmFsU3RyaW5nKSxcbiAgICBjb3VudHJ5T3JBcmVhOiBDb252ZXJ0ZXJzLmVsZW1lbnQoOCwgQ29udmVydGVycy5zdHJpbmcpLFxuICAgIG00OUNvZGU6IENvbnZlcnRlcnMuZWxlbWVudCg5LCBJYW5hQ29udmVydGVycy51bk00OVJlZ2lvbkNvZGUpLFxuICAgIGlzb0FscGhhMlJlZ2lvbkNvZGU6IENvbnZlcnRlcnMuZWxlbWVudCgxMCwgb3B0aW9uYWxJc29BbHBoYTJSZWdpb25Db2RlKSxcbiAgICBpc29BbHBoYTNSZWdpb25Db2RlOiBDb252ZXJ0ZXJzLmVsZW1lbnQoMTEsIG9wdGlvbmFsSXNvQWxwaGEzUmVnaW9uQ29kZSksXG4gICAgbGVhc3REZXZlbG9wZWRDb3VudHJ5OiBDb252ZXJ0ZXJzLmVsZW1lbnQoMTIsIENvbnZlcnRlcnMuc3RyaW5nKS5tYXAoKHMpID0+IHN1Y2NlZWQocyA9PT0gJ3gnKSksXG4gICAgbGFuZExvY2tlZERldmVsb3BpbmdDb3VudHJ5OiBDb252ZXJ0ZXJzLmVsZW1lbnQoMTMsIENvbnZlcnRlcnMuc3RyaW5nKS5tYXAoKHMpID0+IHN1Y2NlZWQocyA9PT0gJ3gnKSksXG4gICAgc21hbGxJc2xhbmREZXZlbG9waW5nU3RhdGU6IENvbnZlcnRlcnMuZWxlbWVudCgxNCwgQ29udmVydGVycy5zdHJpbmcpLm1hcCgocykgPT4gc3VjY2VlZChzID09PSAneCcpKSxcbn0pO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgbTQ5Q3N2RmlsZSA9IENvbnZlcnRlcnMuYXJyYXlPZihtNDlDc3ZSb3cpO1xuXG4vKipcbiAqIExvYWRzIGEgVU5TRCBNLjQ5IHJlZ2lzdHJ5IHRleHQgKGNzdikgZmlsZS5cbiAqIEBwYXJhbSBjc3ZQYXRoIC0gVGhlIHBhdGggZnJvbSB3aGljaCB0aGUgZmlsZSBpcyB0byBiZSBsb2FkZWQuXG4gKiBAcmV0dXJucyBgU3VjY2Vzc2Agd2l0aCB0aGUgcGFyc2VkIGZpbGUgY29udGVudHMgb3IgYEZhaWx1cmVgIHdpdGhcbiAqIGRldGFpbHMgaWYgYW4gZXJyb3Igb2NjdXJzLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsb2FkTTQ5Y252RmlsZVN5bmMoY3N2UGF0aDogc3RyaW5nKTogUmVzdWx0PE1vZGVsLk00OUNzdlJvd1tdPiB7XG4gICAgcmV0dXJuIHJlYWRDc3ZGaWxlU3luYyhjc3ZQYXRoLCB7IGRlbGltaXRlcjogJzsnIH0pLm9uU3VjY2VzcygoY3N2KSA9PiB7XG4gICAgICAgIHJldHVybiBtNDlDc3ZGaWxlLmNvbnZlcnQoY3N2KTtcbiAgICB9KTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/unsd/csv/index.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
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.Model = exports.Converters = void 0;
|
|
48
|
+
const Converters = __importStar(require("./converters"));
|
|
49
|
+
exports.Converters = Converters;
|
|
50
|
+
const Model = __importStar(require("./model"));
|
|
51
|
+
exports.Model = Model;
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdW5zZC9jc3YvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCx5REFBMkM7QUFHbEMsZ0NBQVU7QUFGbkIsK0NBQWlDO0FBRVosc0JBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIyIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuaW1wb3J0ICogYXMgQ29udmVydGVycyBmcm9tICcuL2NvbnZlcnRlcnMnO1xuaW1wb3J0ICogYXMgTW9kZWwgZnJvbSAnLi9tb2RlbCc7XG5cbmV4cG9ydCB7IENvbnZlcnRlcnMsIE1vZGVsIH07XG4iXX0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { IsoAlpha2RegionCode, IsoAlpha3RegionCode, UnM49RegionCode } from '../../iana/model';
|
|
2
|
+
/**
|
|
3
|
+
* @internal
|
|
4
|
+
*/
|
|
5
|
+
export interface M49CsvRow {
|
|
6
|
+
globalCode: UnM49RegionCode;
|
|
7
|
+
globalName: string;
|
|
8
|
+
regionCode?: UnM49RegionCode;
|
|
9
|
+
regionName?: string;
|
|
10
|
+
subRegionCode?: UnM49RegionCode;
|
|
11
|
+
subRegionName?: string;
|
|
12
|
+
intermediateRegionCode?: UnM49RegionCode;
|
|
13
|
+
intermediateRegionName?: string;
|
|
14
|
+
countryOrArea: string;
|
|
15
|
+
m49Code: UnM49RegionCode;
|
|
16
|
+
isoAlpha2RegionCode?: IsoAlpha2RegionCode;
|
|
17
|
+
isoAlpha3RegionCode?: IsoAlpha3RegionCode;
|
|
18
|
+
leastDevelopedCountry: boolean;
|
|
19
|
+
landLockedDevelopingCountry: boolean;
|
|
20
|
+
smallIslandDevelopingState: boolean;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/unsd/csv/model.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE7F;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,UAAU,EAAE,eAAe,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB,CAAC,EAAE,eAAe,CAAC;IACzC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,eAAe,CAAC;IACzB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,qBAAqB,EAAE,OAAO,CAAC;IAC/B,2BAA2B,EAAE,OAAO,CAAC;IACrC,0BAA0B,EAAE,OAAO,CAAC;CACvC"}
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdW5zZC9jc3YvbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjIgRXJpayBGb3J0dW5lXG4gKlxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuICpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gKiBTT0ZUV0FSRS5cbiAqL1xuXG5pbXBvcnQgeyBJc29BbHBoYTJSZWdpb25Db2RlLCBJc29BbHBoYTNSZWdpb25Db2RlLCBVbk00OVJlZ2lvbkNvZGUgfSBmcm9tICcuLi8uLi9pYW5hL21vZGVsJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNNDlDc3ZSb3cge1xuICAgIGdsb2JhbENvZGU6IFVuTTQ5UmVnaW9uQ29kZTtcbiAgICBnbG9iYWxOYW1lOiBzdHJpbmc7XG4gICAgcmVnaW9uQ29kZT86IFVuTTQ5UmVnaW9uQ29kZTtcbiAgICByZWdpb25OYW1lPzogc3RyaW5nO1xuICAgIHN1YlJlZ2lvbkNvZGU/OiBVbk00OVJlZ2lvbkNvZGU7XG4gICAgc3ViUmVnaW9uTmFtZT86IHN0cmluZztcbiAgICBpbnRlcm1lZGlhdGVSZWdpb25Db2RlPzogVW5NNDlSZWdpb25Db2RlO1xuICAgIGludGVybWVkaWF0ZVJlZ2lvbk5hbWU/OiBzdHJpbmc7XG4gICAgY291bnRyeU9yQXJlYTogc3RyaW5nO1xuICAgIG00OUNvZGU6IFVuTTQ5UmVnaW9uQ29kZTtcbiAgICBpc29BbHBoYTJSZWdpb25Db2RlPzogSXNvQWxwaGEyUmVnaW9uQ29kZTtcbiAgICBpc29BbHBoYTNSZWdpb25Db2RlPzogSXNvQWxwaGEzUmVnaW9uQ29kZTtcbiAgICBsZWFzdERldmVsb3BlZENvdW50cnk6IGJvb2xlYW47XG4gICAgbGFuZExvY2tlZERldmVsb3BpbmdDb3VudHJ5OiBib29sZWFuO1xuICAgIHNtYWxsSXNsYW5kRGV2ZWxvcGluZ1N0YXRlOiBib29sZWFuO1xufVxuIl19
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { RegionCodes } from './regionCodes';
|
|
2
|
+
/**
|
|
3
|
+
* @public
|
|
4
|
+
*/
|
|
5
|
+
export declare class DefaultRegistries {
|
|
6
|
+
/**
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
protected static _regionCodes?: RegionCodes;
|
|
10
|
+
static get regionCodes(): RegionCodes;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=defaultRegistries.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultRegistries.d.ts","sourceRoot":"","sources":["../../src/unsd/defaultRegistries.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;GAEG;AACH,qBAAa,iBAAiB;IAC1B;;OAEG;IACH,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,WAAW,CAAa;IAExD,WAAkB,WAAW,IAAI,WAAW,CAK3C;CACJ"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2022 Erik Fortune
|
|
4
|
+
*
|
|
5
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
* in the Software without restriction, including without limitation the rights
|
|
8
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
* furnished to do so, subject to the following conditions:
|
|
11
|
+
*
|
|
12
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
* copies or substantial portions of the Software.
|
|
14
|
+
*
|
|
15
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
* SOFTWARE.
|
|
22
|
+
*/
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
exports.DefaultRegistries = void 0;
|
|
25
|
+
const regionCodes_1 = require("./regionCodes");
|
|
26
|
+
/**
|
|
27
|
+
* @public
|
|
28
|
+
*/
|
|
29
|
+
class DefaultRegistries {
|
|
30
|
+
static get regionCodes() {
|
|
31
|
+
if (!this._regionCodes) {
|
|
32
|
+
this._regionCodes = regionCodes_1.RegionCodes.createFromCsvFile('data/unsd/m49.csv').orThrow();
|
|
33
|
+
}
|
|
34
|
+
return this._regionCodes;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.DefaultRegistries = DefaultRegistries;
|
|
38
|
+
/**
|
|
39
|
+
* @internal
|
|
40
|
+
*/
|
|
41
|
+
DefaultRegistries._regionCodes = undefined;
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdFJlZ2lzdHJpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdW5zZC9kZWZhdWx0UmVnaXN0cmllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHOzs7QUFFSCwrQ0FBNEM7QUFFNUM7O0dBRUc7QUFDSCxNQUFhLGlCQUFpQjtJQU1uQixNQUFNLEtBQUssV0FBVztRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLHlCQUFXLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNwRjtRQUNELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM3QixDQUFDOztBQVhMLDhDQVlDO0FBWEc7O0dBRUc7QUFDYyw4QkFBWSxHQUFpQixTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIyIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuaW1wb3J0IHsgUmVnaW9uQ29kZXMgfSBmcm9tICcuL3JlZ2lvbkNvZGVzJztcblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjbGFzcyBEZWZhdWx0UmVnaXN0cmllcyB7XG4gICAgLyoqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHN0YXRpYyBfcmVnaW9uQ29kZXM/OiBSZWdpb25Db2RlcyA9IHVuZGVmaW5lZDtcblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IHJlZ2lvbkNvZGVzKCk6IFJlZ2lvbkNvZGVzIHtcbiAgICAgICAgaWYgKCF0aGlzLl9yZWdpb25Db2Rlcykge1xuICAgICAgICAgICAgdGhpcy5fcmVnaW9uQ29kZXMgPSBSZWdpb25Db2Rlcy5jcmVhdGVGcm9tQ3N2RmlsZSgnZGF0YS91bnNkL200OS5jc3YnKS5vclRocm93KCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlZ2lvbkNvZGVzO1xuICAgIH1cbn1cbiJdfQ==
|
package/unsd/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/unsd/index.ts"],"names":[],"mappings":"AAsBA,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
|
package/unsd/index.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
35
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
36
|
+
};
|
|
37
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
+
exports.RegionCodes = exports.DefaultRegistries = void 0;
|
|
39
|
+
__exportStar(require("./common"), exports);
|
|
40
|
+
var defaultRegistries_1 = require("./defaultRegistries");
|
|
41
|
+
Object.defineProperty(exports, "DefaultRegistries", { enumerable: true, get: function () { return defaultRegistries_1.DefaultRegistries; } });
|
|
42
|
+
var regionCodes_1 = require("./regionCodes");
|
|
43
|
+
Object.defineProperty(exports, "RegionCodes", { enumerable: true, get: function () { return regionCodes_1.RegionCodes; } });
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdW5zZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHOzs7Ozs7Ozs7Ozs7Ozs7OztBQUVILDJDQUF5QjtBQUN6Qix5REFBd0Q7QUFBL0Msc0hBQUEsaUJBQWlCLE9BQUE7QUFDMUIsNkNBQTRDO0FBQW5DLDBHQUFBLFdBQVcsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjIgRXJpayBGb3J0dW5lXG4gKlxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuICpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gKiBTT0ZUV0FSRS5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2NvbW1vbic7XG5leHBvcnQgeyBEZWZhdWx0UmVnaXN0cmllcyB9IGZyb20gJy4vZGVmYXVsdFJlZ2lzdHJpZXMnO1xuZXhwb3J0IHsgUmVnaW9uQ29kZXMgfSBmcm9tICcuL3JlZ2lvbkNvZGVzJztcbiJdfQ==
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import * as Model from './csv/model';
|
|
2
|
+
import { CountryOrArea, Region } from './common';
|
|
3
|
+
import { Result } from '@fgv/ts-utils';
|
|
4
|
+
import { Areas } from './areas';
|
|
5
|
+
import { Regions } from './regions';
|
|
6
|
+
import { UnM49RegionCode } from '../iana/model';
|
|
7
|
+
/**
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
export declare class RegionCodes {
|
|
11
|
+
readonly regions: Regions;
|
|
12
|
+
readonly areas: Areas;
|
|
13
|
+
/**
|
|
14
|
+
* @internal
|
|
15
|
+
*/
|
|
16
|
+
protected constructor();
|
|
17
|
+
static createFromCsvFile(path: string): Result<RegionCodes>;
|
|
18
|
+
static createFromCsv(rows: Model.M49CsvRow[]): Result<RegionCodes>;
|
|
19
|
+
tryGetRegionOrArea(code: UnM49RegionCode): Region | CountryOrArea | undefined;
|
|
20
|
+
getIsContained(container: Region, contained: CountryOrArea | Region): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Imports a single parsed row of UN M.49 region code data
|
|
23
|
+
* @param row - The parsed row to be imported.
|
|
24
|
+
* @returns `Success` with `true` if the row was successfully
|
|
25
|
+
* imported, or `Failure` with details if an error occurs.
|
|
26
|
+
* @internal
|
|
27
|
+
*/
|
|
28
|
+
protected _importRow(row: Model.M49CsvRow): Result<true>;
|
|
29
|
+
/**
|
|
30
|
+
* Imports multiple parsed rows from UN M.49 region code data
|
|
31
|
+
* @param rows - The parsed rows to be imported.
|
|
32
|
+
* @returns `Success` with `true` if the rows were successfully
|
|
33
|
+
* imported, or `Failure` with details if an error occurs.
|
|
34
|
+
* @internal
|
|
35
|
+
*/
|
|
36
|
+
protected _importRows(rows: Model.M49CsvRow[]): Result<true>;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=regionCodes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"regionCodes.d.ts","sourceRoot":"","sources":["../../src/unsd/regionCodes.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,KAAK,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,MAAM,EAAuB,MAAM,eAAe,CAAC;AAE5D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD;;GAEG;AACH,qBAAa,WAAW;IACpB,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,SAAgB,KAAK,EAAE,KAAK,CAAC;IAE7B;;OAEG;IACH,SAAS;WAKK,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC;WAMpD,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC;IAOlE,kBAAkB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,GAAG,aAAa,GAAG,SAAS;IAK7E,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,GAAG,MAAM,GAAG,OAAO;IAWpF;;;;;;OAMG;IACH,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC;IAgCxD;;;;;;OAMG;IACH,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;CAM/D"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2022 Erik Fortune
|
|
4
|
+
*
|
|
5
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
* in the Software without restriction, including without limitation the rights
|
|
8
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
* furnished to do so, subject to the following conditions:
|
|
11
|
+
*
|
|
12
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
* copies or substantial portions of the Software.
|
|
14
|
+
*
|
|
15
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
* SOFTWARE.
|
|
22
|
+
*/
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
exports.RegionCodes = void 0;
|
|
25
|
+
const ts_utils_1 = require("@fgv/ts-utils");
|
|
26
|
+
const areas_1 = require("./areas");
|
|
27
|
+
const regions_1 = require("./regions");
|
|
28
|
+
const converters_1 = require("./csv/converters");
|
|
29
|
+
/**
|
|
30
|
+
* @public
|
|
31
|
+
*/
|
|
32
|
+
class RegionCodes {
|
|
33
|
+
/**
|
|
34
|
+
* @internal
|
|
35
|
+
*/
|
|
36
|
+
constructor() {
|
|
37
|
+
this.regions = new regions_1.Regions();
|
|
38
|
+
this.areas = new areas_1.Areas();
|
|
39
|
+
}
|
|
40
|
+
static createFromCsvFile(path) {
|
|
41
|
+
return (0, converters_1.loadM49cnvFileSync)(path).onSuccess((rows) => {
|
|
42
|
+
return this.createFromCsv(rows);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
static createFromCsv(rows) {
|
|
46
|
+
const codes = new RegionCodes();
|
|
47
|
+
return codes._importRows(rows).onSuccess(() => {
|
|
48
|
+
return (0, ts_utils_1.succeed)(codes);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
tryGetRegionOrArea(code) {
|
|
52
|
+
var _a;
|
|
53
|
+
// istanbul ignore next - numeric area not allowed in bcp-47 so right side of ?? shouldn't be hit.
|
|
54
|
+
return (_a = this.regions.tryGetRegion(code)) !== null && _a !== void 0 ? _a : this.areas.tryGetArea(code);
|
|
55
|
+
}
|
|
56
|
+
getIsContained(container, contained) {
|
|
57
|
+
let next = contained;
|
|
58
|
+
while (next) {
|
|
59
|
+
if (next === container) {
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
next = next.tier !== 'global' ? next.parent : undefined;
|
|
63
|
+
}
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Imports a single parsed row of UN M.49 region code data
|
|
68
|
+
* @param row - The parsed row to be imported.
|
|
69
|
+
* @returns `Success` with `true` if the row was successfully
|
|
70
|
+
* imported, or `Failure` with details if an error occurs.
|
|
71
|
+
* @internal
|
|
72
|
+
*/
|
|
73
|
+
_importRow(row) {
|
|
74
|
+
return this.regions
|
|
75
|
+
.getOrAddRegionChildRegion('region', this.regions.global, row.regionCode, row.regionName)
|
|
76
|
+
.onSuccess((region) => {
|
|
77
|
+
return this.regions.getOrAddRegionChildRegion('subRegion', region, row.subRegionCode, row.subRegionName);
|
|
78
|
+
})
|
|
79
|
+
.onSuccess((region) => {
|
|
80
|
+
return this.regions.getOrAddRegionChildRegion('intermediateRegion', region, row.intermediateRegionCode, row.intermediateRegionName);
|
|
81
|
+
})
|
|
82
|
+
.onSuccess((region) => {
|
|
83
|
+
return this.areas.addArea({
|
|
84
|
+
name: row.countryOrArea,
|
|
85
|
+
code: row.m49Code,
|
|
86
|
+
tier: 'area',
|
|
87
|
+
parent: region,
|
|
88
|
+
isoAlpha2: row.isoAlpha2RegionCode,
|
|
89
|
+
isoAlpha3: row.isoAlpha3RegionCode,
|
|
90
|
+
leastDevelopedCountry: row.leastDevelopedCountry,
|
|
91
|
+
landlockedDevelopingCountry: row.landLockedDevelopingCountry,
|
|
92
|
+
smallIslandDevelopingState: row.smallIslandDevelopingState,
|
|
93
|
+
});
|
|
94
|
+
})
|
|
95
|
+
.onSuccess(() => {
|
|
96
|
+
return (0, ts_utils_1.succeed)(true);
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Imports multiple parsed rows from UN M.49 region code data
|
|
101
|
+
* @param rows - The parsed rows to be imported.
|
|
102
|
+
* @returns `Success` with `true` if the rows were successfully
|
|
103
|
+
* imported, or `Failure` with details if an error occurs.
|
|
104
|
+
* @internal
|
|
105
|
+
*/
|
|
106
|
+
_importRows(rows) {
|
|
107
|
+
return (0, ts_utils_1.allSucceed)(rows.map((row) => this._importRow(row)), true);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
exports.RegionCodes = RegionCodes;
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaW9uQ29kZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdW5zZC9yZWdpb25Db2Rlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHOzs7QUFLSCw0Q0FBNEQ7QUFFNUQsbUNBQWdDO0FBQ2hDLHVDQUFvQztBQUVwQyxpREFBc0Q7QUFFdEQ7O0dBRUc7QUFDSCxNQUFhLFdBQVc7SUFJcEI7O09BRUc7SUFDSDtRQUNJLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxpQkFBTyxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLGFBQUssRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSxNQUFNLENBQUMsaUJBQWlCLENBQUMsSUFBWTtRQUN4QyxPQUFPLElBQUEsK0JBQWtCLEVBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDL0MsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBdUI7UUFDL0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNoQyxPQUFPLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMxQyxPQUFPLElBQUEsa0JBQU8sRUFBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxJQUFxQjs7UUFDM0Msa0dBQWtHO1FBQ2xHLE9BQU8sTUFBQSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsbUNBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVNLGNBQWMsQ0FBQyxTQUFpQixFQUFFLFNBQWlDO1FBQ3RFLElBQUksSUFBSSxHQUF1QyxTQUFTLENBQUM7UUFDekQsT0FBTyxJQUFJLEVBQUU7WUFDVCxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7Z0JBQ3BCLE9BQU8sSUFBSSxDQUFDO2FBQ2Y7WUFDRCxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztTQUMzRDtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDTyxVQUFVLENBQUMsR0FBb0I7UUFDckMsT0FBTyxJQUFJLENBQUMsT0FBTzthQUNkLHlCQUF5QixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxVQUFVLENBQUM7YUFDeEYsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDbEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLHlCQUF5QixDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDN0csQ0FBQyxDQUFDO2FBQ0QsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDbEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLHlCQUF5QixDQUN6QyxvQkFBb0IsRUFDcEIsTUFBTSxFQUNOLEdBQUcsQ0FBQyxzQkFBc0IsRUFDMUIsR0FBRyxDQUFDLHNCQUFzQixDQUM3QixDQUFDO1FBQ04sQ0FBQyxDQUFDO2FBQ0QsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDbEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztnQkFDdEIsSUFBSSxFQUFFLEdBQUcsQ0FBQyxhQUFhO2dCQUN2QixJQUFJLEVBQUUsR0FBRyxDQUFDLE9BQU87Z0JBQ2pCLElBQUksRUFBRSxNQUFNO2dCQUNaLE1BQU0sRUFBRSxNQUFNO2dCQUNkLFNBQVMsRUFBRSxHQUFHLENBQUMsbUJBQW1CO2dCQUNsQyxTQUFTLEVBQUUsR0FBRyxDQUFDLG1CQUFtQjtnQkFDbEMscUJBQXFCLEVBQUUsR0FBRyxDQUFDLHFCQUFxQjtnQkFDaEQsMkJBQTJCLEVBQUUsR0FBRyxDQUFDLDJCQUEyQjtnQkFDNUQsMEJBQTBCLEVBQUUsR0FBRyxDQUFDLDBCQUEwQjthQUM3RCxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUM7YUFDRCxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ1osT0FBTyxJQUFBLGtCQUFPLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ08sV0FBVyxDQUFDLElBQXVCO1FBQ3pDLE9BQU8sSUFBQSxxQkFBVSxFQUNiLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsRUFDdkMsSUFBSSxDQUNQLENBQUM7SUFDTixDQUFDO0NBQ0o7QUE3RkQsa0NBNkZDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyMiBFcmlrIEZvcnR1bmVcbiAqXG4gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4gKlxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4gKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuICpcbiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbiAqIFNPRlRXQVJFLlxuICovXG5cbmltcG9ydCAqIGFzIE1vZGVsIGZyb20gJy4vY3N2L21vZGVsJztcblxuaW1wb3J0IHsgQ291bnRyeU9yQXJlYSwgUmVnaW9uIH0gZnJvbSAnLi9jb21tb24nO1xuaW1wb3J0IHsgUmVzdWx0LCBhbGxTdWNjZWVkLCBzdWNjZWVkIH0gZnJvbSAnQGZndi90cy11dGlscyc7XG5cbmltcG9ydCB7IEFyZWFzIH0gZnJvbSAnLi9hcmVhcyc7XG5pbXBvcnQgeyBSZWdpb25zIH0gZnJvbSAnLi9yZWdpb25zJztcbmltcG9ydCB7IFVuTTQ5UmVnaW9uQ29kZSB9IGZyb20gJy4uL2lhbmEvbW9kZWwnO1xuaW1wb3J0IHsgbG9hZE00OWNudkZpbGVTeW5jIH0gZnJvbSAnLi9jc3YvY29udmVydGVycyc7XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY2xhc3MgUmVnaW9uQ29kZXMge1xuICAgIHB1YmxpYyByZWFkb25seSByZWdpb25zOiBSZWdpb25zO1xuICAgIHB1YmxpYyByZWFkb25seSBhcmVhczogQXJlYXM7XG5cbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMucmVnaW9ucyA9IG5ldyBSZWdpb25zKCk7XG4gICAgICAgIHRoaXMuYXJlYXMgPSBuZXcgQXJlYXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZUZyb21Dc3ZGaWxlKHBhdGg6IHN0cmluZyk6IFJlc3VsdDxSZWdpb25Db2Rlcz4ge1xuICAgICAgICByZXR1cm4gbG9hZE00OWNudkZpbGVTeW5jKHBhdGgpLm9uU3VjY2Vzcygocm93cykgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlRnJvbUNzdihyb3dzKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGVGcm9tQ3N2KHJvd3M6IE1vZGVsLk00OUNzdlJvd1tdKTogUmVzdWx0PFJlZ2lvbkNvZGVzPiB7XG4gICAgICAgIGNvbnN0IGNvZGVzID0gbmV3IFJlZ2lvbkNvZGVzKCk7XG4gICAgICAgIHJldHVybiBjb2Rlcy5faW1wb3J0Um93cyhyb3dzKS5vblN1Y2Nlc3MoKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHN1Y2NlZWQoY29kZXMpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdHJ5R2V0UmVnaW9uT3JBcmVhKGNvZGU6IFVuTTQ5UmVnaW9uQ29kZSk6IFJlZ2lvbiB8IENvdW50cnlPckFyZWEgfCB1bmRlZmluZWQge1xuICAgICAgICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAtIG51bWVyaWMgYXJlYSBub3QgYWxsb3dlZCBpbiBiY3AtNDcgc28gcmlnaHQgc2lkZSBvZiA/PyBzaG91bGRuJ3QgYmUgaGl0LlxuICAgICAgICByZXR1cm4gdGhpcy5yZWdpb25zLnRyeUdldFJlZ2lvbihjb2RlKSA/PyB0aGlzLmFyZWFzLnRyeUdldEFyZWEoY29kZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldElzQ29udGFpbmVkKGNvbnRhaW5lcjogUmVnaW9uLCBjb250YWluZWQ6IENvdW50cnlPckFyZWEgfCBSZWdpb24pOiBib29sZWFuIHtcbiAgICAgICAgbGV0IG5leHQ6IFJlZ2lvbiB8IENvdW50cnlPckFyZWEgfCB1bmRlZmluZWQgPSBjb250YWluZWQ7XG4gICAgICAgIHdoaWxlIChuZXh0KSB7XG4gICAgICAgICAgICBpZiAobmV4dCA9PT0gY29udGFpbmVyKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBuZXh0ID0gbmV4dC50aWVyICE9PSAnZ2xvYmFsJyA/IG5leHQucGFyZW50IDogdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbXBvcnRzIGEgc2luZ2xlIHBhcnNlZCByb3cgb2YgVU4gTS40OSByZWdpb24gY29kZSBkYXRhXG4gICAgICogQHBhcmFtIHJvdyAtIFRoZSBwYXJzZWQgcm93IHRvIGJlIGltcG9ydGVkLlxuICAgICAqIEByZXR1cm5zIGBTdWNjZXNzYCB3aXRoIGB0cnVlYCBpZiB0aGUgcm93IHdhcyBzdWNjZXNzZnVsbHlcbiAgICAgKiBpbXBvcnRlZCwgb3IgYEZhaWx1cmVgIHdpdGggZGV0YWlscyBpZiBhbiBlcnJvciBvY2N1cnMuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF9pbXBvcnRSb3cocm93OiBNb2RlbC5NNDlDc3ZSb3cpOiBSZXN1bHQ8dHJ1ZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5yZWdpb25zXG4gICAgICAgICAgICAuZ2V0T3JBZGRSZWdpb25DaGlsZFJlZ2lvbigncmVnaW9uJywgdGhpcy5yZWdpb25zLmdsb2JhbCwgcm93LnJlZ2lvbkNvZGUsIHJvdy5yZWdpb25OYW1lKVxuICAgICAgICAgICAgLm9uU3VjY2VzcygocmVnaW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVnaW9ucy5nZXRPckFkZFJlZ2lvbkNoaWxkUmVnaW9uKCdzdWJSZWdpb24nLCByZWdpb24sIHJvdy5zdWJSZWdpb25Db2RlLCByb3cuc3ViUmVnaW9uTmFtZSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLm9uU3VjY2VzcygocmVnaW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVnaW9ucy5nZXRPckFkZFJlZ2lvbkNoaWxkUmVnaW9uKFxuICAgICAgICAgICAgICAgICAgICAnaW50ZXJtZWRpYXRlUmVnaW9uJyxcbiAgICAgICAgICAgICAgICAgICAgcmVnaW9uLFxuICAgICAgICAgICAgICAgICAgICByb3cuaW50ZXJtZWRpYXRlUmVnaW9uQ29kZSxcbiAgICAgICAgICAgICAgICAgICAgcm93LmludGVybWVkaWF0ZVJlZ2lvbk5hbWVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5vblN1Y2Nlc3MoKHJlZ2lvbikgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmFyZWFzLmFkZEFyZWEoe1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiByb3cuY291bnRyeU9yQXJlYSxcbiAgICAgICAgICAgICAgICAgICAgY29kZTogcm93Lm00OUNvZGUsXG4gICAgICAgICAgICAgICAgICAgIHRpZXI6ICdhcmVhJyxcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50OiByZWdpb24sXG4gICAgICAgICAgICAgICAgICAgIGlzb0FscGhhMjogcm93Lmlzb0FscGhhMlJlZ2lvbkNvZGUsXG4gICAgICAgICAgICAgICAgICAgIGlzb0FscGhhMzogcm93Lmlzb0FscGhhM1JlZ2lvbkNvZGUsXG4gICAgICAgICAgICAgICAgICAgIGxlYXN0RGV2ZWxvcGVkQ291bnRyeTogcm93LmxlYXN0RGV2ZWxvcGVkQ291bnRyeSxcbiAgICAgICAgICAgICAgICAgICAgbGFuZGxvY2tlZERldmVsb3BpbmdDb3VudHJ5OiByb3cubGFuZExvY2tlZERldmVsb3BpbmdDb3VudHJ5LFxuICAgICAgICAgICAgICAgICAgICBzbWFsbElzbGFuZERldmVsb3BpbmdTdGF0ZTogcm93LnNtYWxsSXNsYW5kRGV2ZWxvcGluZ1N0YXRlLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5vblN1Y2Nlc3MoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBzdWNjZWVkKHRydWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW1wb3J0cyBtdWx0aXBsZSBwYXJzZWQgcm93cyBmcm9tIFVOIE0uNDkgcmVnaW9uIGNvZGUgZGF0YVxuICAgICAqIEBwYXJhbSByb3dzIC0gVGhlIHBhcnNlZCByb3dzIHRvIGJlIGltcG9ydGVkLlxuICAgICAqIEByZXR1cm5zIGBTdWNjZXNzYCB3aXRoIGB0cnVlYCBpZiB0aGUgcm93cyB3ZXJlIHN1Y2Nlc3NmdWxseVxuICAgICAqIGltcG9ydGVkLCBvciBgRmFpbHVyZWAgd2l0aCBkZXRhaWxzIGlmIGFuIGVycm9yIG9jY3Vycy5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX2ltcG9ydFJvd3Mocm93czogTW9kZWwuTTQ5Q3N2Um93W10pOiBSZXN1bHQ8dHJ1ZT4ge1xuICAgICAgICByZXR1cm4gYWxsU3VjY2VlZChcbiAgICAgICAgICAgIHJvd3MubWFwKChyb3cpID0+IHRoaXMuX2ltcG9ydFJvdyhyb3cpKSxcbiAgICAgICAgICAgIHRydWVcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { GlobalRegion, IntermediateRegionTier, Region } from './common';
|
|
2
|
+
import { Result } from '@fgv/ts-utils';
|
|
3
|
+
import { UnM49RegionCode } from '../iana/model';
|
|
4
|
+
export declare const GlobalRegionName = "World";
|
|
5
|
+
export declare const GlobalRegionCode: UnM49RegionCode;
|
|
6
|
+
/**
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
export declare class Regions {
|
|
10
|
+
readonly global: GlobalRegion;
|
|
11
|
+
/**
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
protected readonly _regions: Map<UnM49RegionCode, Region>;
|
|
15
|
+
constructor();
|
|
16
|
+
tryGetRegion(from: UnM49RegionCode): Region | undefined;
|
|
17
|
+
getRegion(from: UnM49RegionCode): Result<Region>;
|
|
18
|
+
getOrAddRegionChildRegion(tier: IntermediateRegionTier, parent: Region, code: UnM49RegionCode | undefined, name: string | undefined): Result<Region>;
|
|
19
|
+
getAll(): Region[];
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=regions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"regions.d.ts","sourceRoot":"","sources":["../../src/unsd/regions.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACxE,OAAO,EAAE,MAAM,EAAiB,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD,eAAO,MAAM,gBAAgB,UAAU,CAAC;AACxC,eAAO,MAAM,gBAAgB,iBAA2B,CAAC;AAGzD;;GAEG;AACH,qBAAa,OAAO;IAChB,SAAgB,MAAM,EAAE,YAAY,CAAC;IACrC;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;;IAOnD,YAAY,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS;IAIvD,SAAS,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;IAKhD,yBAAyB,CAC5B,IAAI,EAAE,sBAAsB,EAC5B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,eAAe,GAAG,SAAS,EACjC,IAAI,EAAE,MAAM,GAAG,SAAS,GACzB,MAAM,CAAC,MAAM,CAAC;IA6BV,MAAM,IAAI,MAAM,EAAE;CAG5B"}
|
package/unsd/regions.js
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2022 Erik Fortune
|
|
4
|
+
*
|
|
5
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
* in the Software without restriction, including without limitation the rights
|
|
8
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
* furnished to do so, subject to the following conditions:
|
|
11
|
+
*
|
|
12
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
* copies or substantial portions of the Software.
|
|
14
|
+
*
|
|
15
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
* SOFTWARE.
|
|
22
|
+
*/
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
exports.Regions = exports.GlobalRegionCode = exports.GlobalRegionName = void 0;
|
|
25
|
+
const ts_utils_1 = require("@fgv/ts-utils");
|
|
26
|
+
/* eslint-disable @typescript-eslint/naming-convention */
|
|
27
|
+
exports.GlobalRegionName = 'World';
|
|
28
|
+
exports.GlobalRegionCode = '001';
|
|
29
|
+
/* eslint-enable @typescript-eslint/naming-convention */
|
|
30
|
+
/**
|
|
31
|
+
* @public
|
|
32
|
+
*/
|
|
33
|
+
class Regions {
|
|
34
|
+
constructor() {
|
|
35
|
+
this.global = { name: exports.GlobalRegionName, code: exports.GlobalRegionCode, tier: 'global', regions: [], areas: [] };
|
|
36
|
+
this._regions = new Map();
|
|
37
|
+
}
|
|
38
|
+
tryGetRegion(from) {
|
|
39
|
+
return this._regions.get(from);
|
|
40
|
+
}
|
|
41
|
+
getRegion(from) {
|
|
42
|
+
const got = this._regions.get(from);
|
|
43
|
+
return got ? (0, ts_utils_1.succeed)(got) : (0, ts_utils_1.fail)(`${from}: region not found`);
|
|
44
|
+
}
|
|
45
|
+
getOrAddRegionChildRegion(tier, parent, code, name) {
|
|
46
|
+
if (!code && !name) {
|
|
47
|
+
return (0, ts_utils_1.succeed)(parent);
|
|
48
|
+
}
|
|
49
|
+
else if (!code || !name) {
|
|
50
|
+
return (0, ts_utils_1.fail)(`${code}(${name}): code and name must both be present`);
|
|
51
|
+
}
|
|
52
|
+
const existing = this._regions.get(code);
|
|
53
|
+
if (existing) {
|
|
54
|
+
if (existing.name !== name) {
|
|
55
|
+
return (0, ts_utils_1.fail)(`${code}: cannot add ${name} - already exists as ${existing.name}`);
|
|
56
|
+
}
|
|
57
|
+
if (existing.tier !== tier) {
|
|
58
|
+
return (0, ts_utils_1.fail)(`${code}: cannot add ${name} as tier ${tier} - already exists as tier ${existing.tier}`);
|
|
59
|
+
}
|
|
60
|
+
if (existing.parent !== parent) {
|
|
61
|
+
const haveParent = `${existing.parent.code}/${existing.parent.name}`;
|
|
62
|
+
const wantParent = `${parent.code}/${parent.name}`;
|
|
63
|
+
return (0, ts_utils_1.fail)(`${code}: cannot add ${name} with parent ${wantParent} - already exists with parent ${haveParent}`);
|
|
64
|
+
}
|
|
65
|
+
return (0, ts_utils_1.succeed)(existing);
|
|
66
|
+
}
|
|
67
|
+
const added = { name, code, tier, parent, regions: [], areas: [] };
|
|
68
|
+
this._regions.set(code, added);
|
|
69
|
+
parent.regions.push(added);
|
|
70
|
+
return (0, ts_utils_1.succeed)(added);
|
|
71
|
+
}
|
|
72
|
+
getAll() {
|
|
73
|
+
return Array.from(this._regions.values());
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
exports.Regions = Regions;
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bnNkL3JlZ2lvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRzs7O0FBR0gsNENBQXNEO0FBR3RELHlEQUF5RDtBQUM1QyxRQUFBLGdCQUFnQixHQUFHLE9BQU8sQ0FBQztBQUMzQixRQUFBLGdCQUFnQixHQUFHLEtBQXdCLENBQUM7QUFDekQsd0RBQXdEO0FBRXhEOztHQUVHO0FBQ0gsTUFBYSxPQUFPO0lBT2hCO1FBQ0ksSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLElBQUksRUFBRSx3QkFBZ0IsRUFBRSxJQUFJLEVBQUUsd0JBQWdCLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUN6RyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVNLFlBQVksQ0FBQyxJQUFxQjtRQUNyQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTSxTQUFTLENBQUMsSUFBcUI7UUFDbEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUEsa0JBQU8sRUFBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBQSxlQUFJLEVBQUMsR0FBRyxJQUFJLG9CQUFvQixDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVNLHlCQUF5QixDQUM1QixJQUE0QixFQUM1QixNQUFjLEVBQ2QsSUFBaUMsRUFDakMsSUFBd0I7UUFFeEIsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNoQixPQUFPLElBQUEsa0JBQU8sRUFBQyxNQUFNLENBQUMsQ0FBQztTQUMxQjthQUFNLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDdkIsT0FBTyxJQUFBLGVBQUksRUFBQyxHQUFHLElBQUksSUFBSSxJQUFJLHVDQUF1QyxDQUFDLENBQUM7U0FDdkU7UUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxJQUFJLFFBQVEsRUFBRTtZQUNWLElBQUksUUFBUSxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUU7Z0JBQ3hCLE9BQU8sSUFBQSxlQUFJLEVBQUMsR0FBRyxJQUFJLGdCQUFnQixJQUFJLHdCQUF3QixRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQzthQUNuRjtZQUNELElBQUksUUFBUSxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUU7Z0JBQ3hCLE9BQU8sSUFBQSxlQUFJLEVBQUMsR0FBRyxJQUFJLGdCQUFnQixJQUFJLFlBQVksSUFBSSw2QkFBNkIsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7YUFDeEc7WUFDRCxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssTUFBTSxFQUFFO2dCQUM1QixNQUFNLFVBQVUsR0FBRyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3JFLE1BQU0sVUFBVSxHQUFHLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ25ELE9BQU8sSUFBQSxlQUFJLEVBQUMsR0FBRyxJQUFJLGdCQUFnQixJQUFJLGdCQUFnQixVQUFVLGlDQUFpQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO2FBQ25IO1lBQ0QsT0FBTyxJQUFBLGtCQUFPLEVBQUMsUUFBUSxDQUFDLENBQUM7U0FDNUI7UUFFRCxNQUFNLEtBQUssR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUNuRSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDL0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsT0FBTyxJQUFBLGtCQUFPLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVNLE1BQU07UUFDVCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7Q0FDSjtBQTFERCwwQkEwREMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIyIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuaW1wb3J0IHsgR2xvYmFsUmVnaW9uLCBJbnRlcm1lZGlhdGVSZWdpb25UaWVyLCBSZWdpb24gfSBmcm9tICcuL2NvbW1vbic7XG5pbXBvcnQgeyBSZXN1bHQsIGZhaWwsIHN1Y2NlZWQgfSBmcm9tICdAZmd2L3RzLXV0aWxzJztcbmltcG9ydCB7IFVuTTQ5UmVnaW9uQ29kZSB9IGZyb20gJy4uL2lhbmEvbW9kZWwnO1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cbmV4cG9ydCBjb25zdCBHbG9iYWxSZWdpb25OYW1lID0gJ1dvcmxkJztcbmV4cG9ydCBjb25zdCBHbG9iYWxSZWdpb25Db2RlID0gJzAwMScgYXMgVW5NNDlSZWdpb25Db2RlO1xuLyogZXNsaW50LWVuYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjbGFzcyBSZWdpb25zIHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgZ2xvYmFsOiBHbG9iYWxSZWdpb247XG4gICAgLyoqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IF9yZWdpb25zOiBNYXA8VW5NNDlSZWdpb25Db2RlLCBSZWdpb24+O1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmdsb2JhbCA9IHsgbmFtZTogR2xvYmFsUmVnaW9uTmFtZSwgY29kZTogR2xvYmFsUmVnaW9uQ29kZSwgdGllcjogJ2dsb2JhbCcsIHJlZ2lvbnM6IFtdLCBhcmVhczogW10gfTtcbiAgICAgICAgdGhpcy5fcmVnaW9ucyA9IG5ldyBNYXAoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdHJ5R2V0UmVnaW9uKGZyb206IFVuTTQ5UmVnaW9uQ29kZSk6IFJlZ2lvbiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZWdpb25zLmdldChmcm9tKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UmVnaW9uKGZyb206IFVuTTQ5UmVnaW9uQ29kZSk6IFJlc3VsdDxSZWdpb24+IHtcbiAgICAgICAgY29uc3QgZ290ID0gdGhpcy5fcmVnaW9ucy5nZXQoZnJvbSk7XG4gICAgICAgIHJldHVybiBnb3QgPyBzdWNjZWVkKGdvdCkgOiBmYWlsKGAke2Zyb219OiByZWdpb24gbm90IGZvdW5kYCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldE9yQWRkUmVnaW9uQ2hpbGRSZWdpb24oXG4gICAgICAgIHRpZXI6IEludGVybWVkaWF0ZVJlZ2lvblRpZXIsXG4gICAgICAgIHBhcmVudDogUmVnaW9uLFxuICAgICAgICBjb2RlOiBVbk00OVJlZ2lvbkNvZGUgfCB1bmRlZmluZWQsXG4gICAgICAgIG5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZFxuICAgICk6IFJlc3VsdDxSZWdpb24+IHtcbiAgICAgICAgaWYgKCFjb2RlICYmICFuYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4gc3VjY2VlZChwYXJlbnQpO1xuICAgICAgICB9IGVsc2UgaWYgKCFjb2RlIHx8ICFuYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFpbChgJHtjb2RlfSgke25hbWV9KTogY29kZSBhbmQgbmFtZSBtdXN0IGJvdGggYmUgcHJlc2VudGApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZXhpc3RpbmcgPSB0aGlzLl9yZWdpb25zLmdldChjb2RlKTtcbiAgICAgICAgaWYgKGV4aXN0aW5nKSB7XG4gICAgICAgICAgICBpZiAoZXhpc3RpbmcubmFtZSAhPT0gbmFtZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWlsKGAke2NvZGV9OiBjYW5ub3QgYWRkICR7bmFtZX0gLSBhbHJlYWR5IGV4aXN0cyBhcyAke2V4aXN0aW5nLm5hbWV9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZXhpc3RpbmcudGllciAhPT0gdGllcikge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWlsKGAke2NvZGV9OiBjYW5ub3QgYWRkICR7bmFtZX0gYXMgdGllciAke3RpZXJ9IC0gYWxyZWFkeSBleGlzdHMgYXMgdGllciAke2V4aXN0aW5nLnRpZXJ9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZXhpc3RpbmcucGFyZW50ICE9PSBwYXJlbnQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBoYXZlUGFyZW50ID0gYCR7ZXhpc3RpbmcucGFyZW50LmNvZGV9LyR7ZXhpc3RpbmcucGFyZW50Lm5hbWV9YDtcbiAgICAgICAgICAgICAgICBjb25zdCB3YW50UGFyZW50ID0gYCR7cGFyZW50LmNvZGV9LyR7cGFyZW50Lm5hbWV9YDtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFpbChgJHtjb2RlfTogY2Fubm90IGFkZCAke25hbWV9IHdpdGggcGFyZW50ICR7d2FudFBhcmVudH0gLSBhbHJlYWR5IGV4aXN0cyB3aXRoIHBhcmVudCAke2hhdmVQYXJlbnR9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gc3VjY2VlZChleGlzdGluZyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhZGRlZCA9IHsgbmFtZSwgY29kZSwgdGllciwgcGFyZW50LCByZWdpb25zOiBbXSwgYXJlYXM6IFtdIH07XG4gICAgICAgIHRoaXMuX3JlZ2lvbnMuc2V0KGNvZGUsIGFkZGVkKTtcbiAgICAgICAgcGFyZW50LnJlZ2lvbnMucHVzaChhZGRlZCk7XG4gICAgICAgIHJldHVybiBzdWNjZWVkKGFkZGVkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QWxsKCk6IFJlZ2lvbltdIHtcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5fcmVnaW9ucy52YWx1ZXMoKSk7XG4gICAgfVxufVxuIl19
|
package/utils/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAsBA,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC"}
|