@leyyo/localization 1.1.2 → 1.1.3
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/dist/base/base-localization.handler.js +7 -7
- package/dist/base/index.d.ts +2 -2
- package/dist/base/index.js +2 -2
- package/dist/config/index.d.ts +2 -2
- package/dist/config/index.js +2 -2
- package/dist/config/index.types.d.ts +1 -1
- package/dist/config/localization.config.js +28 -10
- package/dist/country/country.handler.js +1 -1
- package/dist/country/country.map.js +251 -251
- package/dist/country/index.d.ts +2 -2
- package/dist/country/index.js +2 -2
- package/dist/exchange/exchange.handler.js +1 -1
- package/dist/exchange/exchange.map.js +35 -4
- package/dist/exchange/index.d.ts +2 -2
- package/dist/exchange/index.js +2 -2
- package/dist/index.d.ts +11 -11
- package/dist/index.foretell.js +9 -9
- package/dist/index.js +11 -11
- package/dist/index.loader.js +3 -3
- package/dist/internal.d.ts +1 -1
- package/dist/internal.js +3 -2
- package/dist/language/index.d.ts +2 -2
- package/dist/language/index.js +2 -2
- package/dist/language/language.handler.js +4 -4
- package/dist/language/language.map.js +184 -184
- package/dist/literal/browser-type.d.ts +1 -1
- package/dist/literal/browser-type.js +1 -9
- package/dist/literal/country-code.d.ts +1 -1
- package/dist/literal/country-code.js +253 -11
- package/dist/literal/cpu-architecture.d.ts +1 -1
- package/dist/literal/cpu-architecture.js +17 -17
- package/dist/literal/device-type.d.ts +1 -1
- package/dist/literal/device-type.js +8 -8
- package/dist/literal/engine-type.d.ts +1 -1
- package/dist/literal/engine-type.js +20 -20
- package/dist/literal/exchange-code.d.ts +1 -1
- package/dist/literal/exchange-code.js +151 -13
- package/dist/literal/index.d.ts +9 -9
- package/dist/literal/index.js +9 -9
- package/dist/literal/language-code.d.ts +1 -1
- package/dist/literal/language-code.js +184 -26
- package/dist/literal/locale-code.d.ts +1 -1
- package/dist/literal/locale-code.js +196 -18
- package/dist/literal/timezone-code.d.ts +1 -1
- package/dist/literal/timezone-code.js +602 -102
- package/dist/locale/index.d.ts +2 -2
- package/dist/locale/index.js +2 -2
- package/dist/locale/locale.handler.js +5 -5
- package/dist/locale/locale.map.js +83 -83
- package/dist/parser/index.d.ts +2 -2
- package/dist/parser/index.js +2 -2
- package/dist/parser/localization.parser.js +33 -31
- package/dist/timezone/index.d.ts +2 -2
- package/dist/timezone/index.js +2 -2
- package/dist/timezone/timezone.handler.js +8 -1
- package/dist/timezone/timezone.map.js +602 -602
- package/package.json +21 -21
package/dist/locale/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
1
|
+
export * from "./index.types.js";
|
|
2
|
+
export * from "./locale.handler.js";
|
package/dist/locale/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
1
|
+
export * from "./index.types.js";
|
|
2
|
+
export * from "./locale.handler.js";
|
|
@@ -26,8 +26,8 @@ class LocaleHandler extends BaseLocalizationHandler {
|
|
|
26
26
|
// noinspection JSUnusedGlobalSymbols
|
|
27
27
|
export const localeHandler = new LocaleHandler();
|
|
28
28
|
/*
|
|
29
|
-
* @todo
|
|
30
|
-
* - https://learn.microsoft.com/en-us/graph/search-concept-acceptlanguage-header
|
|
31
|
-
* - https://www.w3schools.com/tags/ref_language_codes.asp
|
|
32
|
-
* - https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
|
|
33
|
-
* */
|
|
29
|
+
* @todo
|
|
30
|
+
* - https://learn.microsoft.com/en-us/graph/search-concept-acceptlanguage-header
|
|
31
|
+
* - https://www.w3schools.com/tags/ref_language_codes.asp
|
|
32
|
+
* - https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
|
|
33
|
+
* */
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
export const localeMap = {
|
|
2
|
-
af: { n: "Afrikaans", l:
|
|
3
|
-
sq: { n: "Albanian", l:
|
|
4
|
-
an: { n: "Aragonese", l:
|
|
5
|
-
ar: { n: "Arabic (Standard)", l:
|
|
6
|
-
hy: { n: "Armenian", l:
|
|
7
|
-
as: { n: "Assamese", l:
|
|
8
|
-
az: { n: "Azerbaijani", l:
|
|
9
|
-
eu: { n: "Basque", l:
|
|
2
|
+
af: { n: "Afrikaans", l: "af" },
|
|
3
|
+
sq: { n: "Albanian", l: "sq" },
|
|
4
|
+
an: { n: "Aragonese", l: "an" },
|
|
5
|
+
ar: { n: "Arabic (Standard)", l: "ar" },
|
|
6
|
+
hy: { n: "Armenian", l: "hy" },
|
|
7
|
+
as: { n: "Assamese", l: "as" },
|
|
8
|
+
az: { n: "Azerbaijani", l: "az" },
|
|
9
|
+
eu: { n: "Basque", l: "eu" },
|
|
10
10
|
be: { n: "Belarusian" },
|
|
11
11
|
bn: { n: "Bengali" },
|
|
12
12
|
bs: { n: "Bosnian" },
|
|
@@ -115,81 +115,81 @@ export const localeMap = {
|
|
|
115
115
|
xh: { n: "Xhosa" },
|
|
116
116
|
ji: { n: "Yiddish" },
|
|
117
117
|
zu: { n: "Zulu" },
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
118
|
+
"ar-dz": { n: "Arabic (Algeria)", l: "ar" },
|
|
119
|
+
"ar-bh": { n: "Arabic (Bahrain)", l: "ar" },
|
|
120
|
+
"ar-eg": { n: "Arabic (Egypt)", l: "ar" },
|
|
121
|
+
"ar-iq": { n: "Arabic (Iraq)", l: "ar" },
|
|
122
|
+
"ar-jo": { n: "Arabic (Jordan)", l: "ar" },
|
|
123
|
+
"ar-kw": { n: "Arabic (Kuwait)", l: "ar" },
|
|
124
|
+
"ar-lb": { n: "Arabic (Lebanon)", l: "ar" },
|
|
125
|
+
"ar-ly": { n: "Arabic (Libya)", l: "ar" },
|
|
126
|
+
"ar-ma": { n: "Arabic (Morocco)", l: "ar" },
|
|
127
|
+
"ar-om": { n: "Arabic (Oman)", l: "ar" },
|
|
128
|
+
"ar-qa": { n: "Arabic (Qatar)", l: "ar" },
|
|
129
|
+
"ar-sa": { n: "Arabic (Saudi Arabia)", l: "ar" },
|
|
130
|
+
"ar-sy": { n: "Arabic (Syria)", l: "ar" },
|
|
131
|
+
"ar-tn": { n: "Arabic (Tunisia)", l: "ar" },
|
|
132
|
+
"ar-ae": { n: "Arabic (U.A.E.)", l: "ar" },
|
|
133
|
+
"ar-ye": { n: "Arabic (Yemen)", l: "ar" },
|
|
134
|
+
"zh-hk": { n: "Chinese (Hong Kong)", l: "zh" },
|
|
135
|
+
"zh-cn": { n: "Chinese (PRC)", l: "zh" },
|
|
136
|
+
"zh-sg": { n: "Chinese (Singapore)", l: "zh" },
|
|
137
|
+
"zh-tw": { n: "Chinese (Taiwan)", l: "zh" },
|
|
138
|
+
"nl-be": { n: "Dutch (Belgian)", l: "nl" },
|
|
139
|
+
"en-au": { n: "English (Australia)", l: "en" },
|
|
140
|
+
"en-bz": { n: "English (Belize)", l: "en" },
|
|
141
|
+
"en-ca": { n: "English (Canada)", l: "en" },
|
|
142
|
+
"en-ie": { n: "English (Ireland)", l: "en" },
|
|
143
|
+
"en-jm": { n: "English (Jamaica)", l: "en" },
|
|
144
|
+
"en-nz": { n: "English (New Zealand)", l: "en" },
|
|
145
|
+
"en-ph": { n: "English (Philippines)", l: "en" },
|
|
146
|
+
"en-za": { n: "English (South Africa)", l: "en" },
|
|
147
|
+
"en-tt": { n: "English (Trinidad & Tobago)", l: "en" },
|
|
148
|
+
"en-gb": { n: "English (United Kingdom)", l: "en" },
|
|
149
|
+
"en-us": { n: "English (United States)", l: "en" },
|
|
150
|
+
"en-zw": { n: "English (Zimbabwe)", l: "en" },
|
|
151
|
+
"fr-be": { n: "French (Belgium)", l: "fr" },
|
|
152
|
+
"fr-ca": { n: "French (Canada)", l: "fr" },
|
|
153
|
+
"fr-fr": { n: "French (France)", l: "fr" },
|
|
154
|
+
"fr-lu": { n: "French (Luxembourg)", l: "fr" },
|
|
155
|
+
"fr-mc": { n: "French (Monaco)", l: "fr" },
|
|
156
|
+
"fr-ch": { n: "French (Switzerland)", l: "fr" },
|
|
157
|
+
"gd-ie": { n: "Gaelic (Irish)", l: "gd" },
|
|
158
|
+
"de-at": { n: "German (Austria)", l: "de" },
|
|
159
|
+
"de-de": { n: "German (Germany)", l: "de" },
|
|
160
|
+
"de-li": { n: "German (Liechtenstein)", l: "de" },
|
|
161
|
+
"de-lu": { n: "German (Luxembourg)", l: "de" },
|
|
162
|
+
"de-ch": { n: "German (Switzerland)", l: "de" },
|
|
163
|
+
"it-ch": { n: "Italian (Switzerland)", l: "it" },
|
|
164
|
+
"ko-kp": { n: "Korean (North Korea)", l: "ko" },
|
|
165
|
+
"ko-kr": { n: "Korean (South Korea)", l: "ko" },
|
|
166
|
+
"fa-ir": { n: "Persian/Iran", l: "fa" },
|
|
167
|
+
"pt-br": { n: "Portuguese (Brazil)", l: "pt" },
|
|
168
|
+
"pa-in": { n: "Punjabi (India)", l: "pa" },
|
|
169
|
+
"pa-pk": { n: "Punjabi (Pakistan)", l: "pa" },
|
|
170
|
+
"ro-mo": { n: "Romanian (Moldavia)", l: "ro" },
|
|
171
|
+
"ru-mo": { n: "Russian (Moldavia)", l: "ru" },
|
|
172
|
+
"es-ar": { n: "Spanish (Argentina)", l: "es" },
|
|
173
|
+
"es-bo": { n: "Spanish (Bolivia)", l: "es" },
|
|
174
|
+
"es-cl": { n: "Spanish (Chile)", l: "es" },
|
|
175
|
+
"es-co": { n: "Spanish (Colombia)", l: "es" },
|
|
176
|
+
"es-cr": { n: "Spanish (Costa Rica)", l: "es" },
|
|
177
|
+
"es-do": { n: "Spanish (Dominican Republic)", l: "es" },
|
|
178
|
+
"es-ec": { n: "Spanish (Ecuador)", l: "es" },
|
|
179
|
+
"es-sv": { n: "Spanish (El Salvador)", l: "es" },
|
|
180
|
+
"es-gt": { n: "Spanish (Guatemala)", l: "es" },
|
|
181
|
+
"es-hn": { n: "Spanish (Honduras)", l: "es" },
|
|
182
|
+
"es-mx": { n: "Spanish (Mexico)", l: "es" },
|
|
183
|
+
"es-ni": { n: "Spanish (Nicaragua)", l: "es" },
|
|
184
|
+
"es-pa": { n: "Spanish (Panama)", l: "es" },
|
|
185
|
+
"es-py": { n: "Spanish (Paraguay)", l: "es" },
|
|
186
|
+
"es-pe": { n: "Spanish (Peru)", l: "es" },
|
|
187
|
+
"es-pr": { n: "Spanish (Puerto Rico)", l: "es" },
|
|
188
|
+
"es-es": { n: "Spanish (Spain)", l: "es" },
|
|
189
|
+
"es-uy": { n: "Spanish (Uruguay)", l: "es" },
|
|
190
|
+
"es-ve": { n: "Spanish (Venezuela)", l: "es" },
|
|
191
|
+
"sv-fi": { n: "Swedish (Finland)", l: "sv" },
|
|
192
|
+
"sv-sv": { n: "Swedish (Sweden)", l: "sv" },
|
|
193
193
|
fur: { n: "Friulian" },
|
|
194
194
|
ast: { n: "Asturian" },
|
|
195
195
|
tlh: { n: "Klingon" },
|
package/dist/parser/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
1
|
+
export * from "./index.types.js";
|
|
2
|
+
export * from "./localization.parser.js";
|
package/dist/parser/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
1
|
+
export * from "./index.types.js";
|
|
2
|
+
export * from "./localization.parser.js";
|
|
@@ -72,8 +72,8 @@ class LocalizationParser {
|
|
|
72
72
|
case "number":
|
|
73
73
|
return { header: value.toString(10), key };
|
|
74
74
|
case "boolean":
|
|
75
|
-
return { header: value ?
|
|
76
|
-
case
|
|
75
|
+
return { header: value ? "true" : "false", key };
|
|
76
|
+
case "object":
|
|
77
77
|
if (Array.isArray(value) && value.length > 0) {
|
|
78
78
|
for (let val of value) {
|
|
79
79
|
val = val.trim();
|
|
@@ -108,9 +108,9 @@ class LocalizationParser {
|
|
|
108
108
|
result[key] = value.toString(10);
|
|
109
109
|
break;
|
|
110
110
|
case "boolean":
|
|
111
|
-
result[key] = value ?
|
|
111
|
+
result[key] = value ? "true" : "false";
|
|
112
112
|
break;
|
|
113
|
-
case
|
|
113
|
+
case "object":
|
|
114
114
|
if (Array.isArray(value) && value.length > 0) {
|
|
115
115
|
for (let val of value) {
|
|
116
116
|
val = val.trim();
|
|
@@ -129,15 +129,15 @@ class LocalizationParser {
|
|
|
129
129
|
if (!ctx.language?.header) {
|
|
130
130
|
return;
|
|
131
131
|
}
|
|
132
|
-
let locale = ctx.language.header.split(
|
|
133
|
-
if (locale ===
|
|
132
|
+
let locale = ctx.language.header.split(",").pop().trim();
|
|
133
|
+
if (locale === "") {
|
|
134
134
|
locale = undefined;
|
|
135
135
|
}
|
|
136
136
|
let code;
|
|
137
137
|
if (locale) {
|
|
138
|
-
if (locale.includes(
|
|
139
|
-
code = locale.split(
|
|
140
|
-
if (code ===
|
|
138
|
+
if (locale.includes("-")) {
|
|
139
|
+
code = locale.split("-").shift().trim();
|
|
140
|
+
if (code === "") {
|
|
141
141
|
code = undefined;
|
|
142
142
|
}
|
|
143
143
|
}
|
|
@@ -161,7 +161,7 @@ class LocalizationParser {
|
|
|
161
161
|
}
|
|
162
162
|
if (weights.length > 0) {
|
|
163
163
|
ctx.language.weighted = {};
|
|
164
|
-
weights.forEach(tuple => {
|
|
164
|
+
weights.forEach((tuple) => {
|
|
165
165
|
ctx.language.weighted[tuple[0]] = tuple[1];
|
|
166
166
|
});
|
|
167
167
|
}
|
|
@@ -182,11 +182,11 @@ class LocalizationParser {
|
|
|
182
182
|
// com.company.app:2.3.0
|
|
183
183
|
const parts = ctx.application.header.split(localizationConfig.applicationDelimiter);
|
|
184
184
|
ctx.application.name = parts[0].trim();
|
|
185
|
-
ctx.application.version = parts[1] ? parts[1].trim() :
|
|
186
|
-
if (ctx.application.name ===
|
|
185
|
+
ctx.application.version = parts[1] ? parts[1].trim() : "";
|
|
186
|
+
if (ctx.application.name === "") {
|
|
187
187
|
delete ctx.application.name;
|
|
188
188
|
}
|
|
189
|
-
if (ctx.application.version ===
|
|
189
|
+
if (ctx.application.version === "") {
|
|
190
190
|
delete ctx.application.version;
|
|
191
191
|
}
|
|
192
192
|
}
|
|
@@ -198,10 +198,10 @@ class LocalizationParser {
|
|
|
198
198
|
if (!val) {
|
|
199
199
|
return undefined;
|
|
200
200
|
}
|
|
201
|
-
if (!val.indexOf(
|
|
201
|
+
if (!val.indexOf(",")) {
|
|
202
202
|
return val;
|
|
203
203
|
}
|
|
204
|
-
const parts = val.split(
|
|
204
|
+
const parts = val.split(",");
|
|
205
205
|
for (let part of parts) {
|
|
206
206
|
part = part ? String(part) : undefined;
|
|
207
207
|
if (part) {
|
|
@@ -247,22 +247,22 @@ class LocalizationParser {
|
|
|
247
247
|
if (!ctx.agent?.header) {
|
|
248
248
|
return;
|
|
249
249
|
}
|
|
250
|
-
if (ctx.agent.header.startsWith(
|
|
251
|
-
const parts = ctx.agent.header.split(
|
|
250
|
+
if (ctx.agent.header.startsWith("PostmanRuntime")) {
|
|
251
|
+
const parts = ctx.agent.header.split("/");
|
|
252
252
|
ctx.agent.browser = {
|
|
253
253
|
name: parts[0],
|
|
254
254
|
major: parts[1],
|
|
255
255
|
};
|
|
256
256
|
ctx.agent.device = {
|
|
257
|
-
type:
|
|
258
|
-
vendor:
|
|
257
|
+
type: "testing",
|
|
258
|
+
vendor: "Postman",
|
|
259
259
|
};
|
|
260
260
|
return;
|
|
261
261
|
}
|
|
262
262
|
const parser = new uaParser.UAParser();
|
|
263
263
|
parser.setUA(ctx.agent.header);
|
|
264
264
|
const result = parser.getResult();
|
|
265
|
-
if (result && typeof result ===
|
|
265
|
+
if (result && typeof result === "object") {
|
|
266
266
|
ctx.agent.browser = {
|
|
267
267
|
name: result.browser?.name,
|
|
268
268
|
major: result.browser?.version,
|
|
@@ -293,7 +293,7 @@ class LocalizationParser {
|
|
|
293
293
|
return;
|
|
294
294
|
}
|
|
295
295
|
const geo = geoIp.lookup(ctx.location.ip);
|
|
296
|
-
if (geo && typeof geo ===
|
|
296
|
+
if (geo && typeof geo === "object") {
|
|
297
297
|
ctx.location.country = geo.country;
|
|
298
298
|
ctx.location.timezone = geo.timezone;
|
|
299
299
|
ctx.location.region = geo.region;
|
|
@@ -331,30 +331,32 @@ class LocalizationParser {
|
|
|
331
331
|
}
|
|
332
332
|
}
|
|
333
333
|
}
|
|
334
|
-
_parseLangPart(
|
|
335
|
-
|
|
336
|
-
|
|
334
|
+
_parseLangPart(part) {
|
|
335
|
+
const parts = part.split(";");
|
|
336
|
+
let lang = parts.shift();
|
|
337
|
+
const quality = parts.shift();
|
|
338
|
+
if (typeof lang !== "string") {
|
|
337
339
|
return undefined;
|
|
338
340
|
}
|
|
339
341
|
lang = lang.trim();
|
|
340
|
-
if (lang
|
|
342
|
+
if (!lang) {
|
|
341
343
|
return undefined;
|
|
342
344
|
}
|
|
343
|
-
if (typeof quality !==
|
|
345
|
+
if (typeof quality !== "string") {
|
|
344
346
|
return [lang, 1];
|
|
345
347
|
}
|
|
346
348
|
try {
|
|
347
|
-
return [lang, quality ? parseFloat(quality.split(
|
|
349
|
+
return [lang, quality ? parseFloat(quality.split("=")[1]) : 1.0];
|
|
348
350
|
}
|
|
349
|
-
catch (
|
|
351
|
+
catch (_e) {
|
|
350
352
|
return [lang, 1];
|
|
351
353
|
}
|
|
352
354
|
}
|
|
353
355
|
_parseAndSortLanguageTags(given) {
|
|
354
356
|
return given
|
|
355
|
-
.split(
|
|
356
|
-
.map(p => this._parseLangPart(p.replace(/\s+/,
|
|
357
|
-
.filter(tuple => tuple !== undefined)
|
|
357
|
+
.split(",")
|
|
358
|
+
.map((p) => this._parseLangPart(p.replace(/\s+/, "")))
|
|
359
|
+
.filter((tuple) => tuple !== undefined)
|
|
358
360
|
.sort((a, b) => b[1] - a[1]);
|
|
359
361
|
}
|
|
360
362
|
}
|
package/dist/timezone/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
1
|
+
export * from "./index.types.js";
|
|
2
|
+
export * from "./timezone.handler.js";
|
package/dist/timezone/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
1
|
+
export * from "./index.types.js";
|
|
2
|
+
export * from "./timezone.handler.js";
|
|
@@ -44,7 +44,14 @@ class TimezoneHandler extends BaseLocalizationHandler {
|
|
|
44
44
|
if (!item) {
|
|
45
45
|
return { code, name: code, sdt: undefined, dst: undefined, parent: undefined, countries: [] };
|
|
46
46
|
}
|
|
47
|
-
return {
|
|
47
|
+
return {
|
|
48
|
+
code,
|
|
49
|
+
name: item.n,
|
|
50
|
+
sdt: item.s,
|
|
51
|
+
dst: item.w,
|
|
52
|
+
parent: item.p,
|
|
53
|
+
countries: item.c ?? [],
|
|
54
|
+
};
|
|
48
55
|
}
|
|
49
56
|
/** @inheritDoc */
|
|
50
57
|
getSdt(code) {
|