247 lines
7.6 KiB
JavaScript
247 lines
7.6 KiB
JavaScript
// Module ID: 13069
|
|
// Function ID: 99345
|
|
// Name: canonicalizeKVs
|
|
// Dependencies: []
|
|
|
|
// Module 13069 (canonicalizeKVs)
|
|
function canonicalizeKVs(arg0) {
|
|
const obj = {};
|
|
const items = [];
|
|
for (let num = 0; num < arg0.length; num = num + 1) {
|
|
let tmp = arg0[num];
|
|
if (!(tmp[0] in obj)) {
|
|
obj[tmp[0]] = 1;
|
|
if (tmp[1]) {
|
|
if ("true" !== tmp[1]) {
|
|
let str2 = tmp[0];
|
|
let items1 = [str2.toLowerCase(), ];
|
|
let str3 = tmp[1];
|
|
items1[1] = str3.toLowerCase();
|
|
let arr = items.push(items1);
|
|
}
|
|
}
|
|
let str = tmp[0];
|
|
let items2 = [str.toLowerCase()];
|
|
arr = items.push(items2);
|
|
}
|
|
}
|
|
return items.sort(compareKV);
|
|
}
|
|
function compareKV(arg0, arg1) {
|
|
let num = -1;
|
|
if (arg0[0] >= arg1[0]) {
|
|
let num2 = 0;
|
|
if (arg0[0] > arg1[0]) {
|
|
num2 = 1;
|
|
}
|
|
num = num2;
|
|
}
|
|
return num;
|
|
}
|
|
function compareExtension(type, type2) {
|
|
let num = -1;
|
|
if (type.type >= type2.type) {
|
|
let num2 = 0;
|
|
if (type.type > type2.type) {
|
|
num2 = 1;
|
|
}
|
|
num = num2;
|
|
}
|
|
return num;
|
|
}
|
|
function mergeVariants(variants, variants2) {
|
|
const __spreadArrayResult = variants2(arg6[0]).__spreadArray([], variants, true);
|
|
for (let num = 0; num < variants2.length; num = num + 1) {
|
|
let tmp = variants2[num];
|
|
if (variants.indexOf(tmp) < 0) {
|
|
let arr = __spreadArrayResult.push(tmp);
|
|
}
|
|
}
|
|
return __spreadArrayResult;
|
|
}
|
|
function canonicalizeUnicodeLanguageId(lang) {
|
|
let tmp = lang;
|
|
if (lang.variants.length) {
|
|
let variants = lang.variants;
|
|
let num = 0;
|
|
tmp = lang;
|
|
if (0 < variants.length) {
|
|
let obj = { lang: lang.lang };
|
|
const items = [variants[num]];
|
|
obj.variants = items;
|
|
const str = arg1(arg6[1]).languageAlias[closure_0(undefined, closure_1[2]).emitUnicodeLanguageId(undefined, obj)];
|
|
while (!str) {
|
|
num = num + 1;
|
|
tmp = lang;
|
|
}
|
|
obj = {};
|
|
const result = arg1(arg6[3]).parseUnicodeLanguageId(str.split(arg1(arg6[3]).SEPARATOR));
|
|
obj.lang = result.lang;
|
|
obj.script = lang.script || result.script;
|
|
obj.region = lang.region || result.region;
|
|
obj.variants = mergeVariants(lang.variants, result.variants);
|
|
tmp = obj;
|
|
}
|
|
}
|
|
let tmp8 = tmp;
|
|
if (tmp.script) {
|
|
tmp8 = tmp;
|
|
if (tmp.region) {
|
|
obj = {};
|
|
({ lang: obj3.lang, script: obj3.script, region: obj3.region } = tmp);
|
|
obj.variants = [];
|
|
const str2 = arg1(arg6[1]).languageAlias[closure_0(undefined, closure_1[2]).emitUnicodeLanguageId(undefined, obj)];
|
|
tmp8 = tmp;
|
|
if (str2) {
|
|
const obj1 = {};
|
|
const result1 = arg1(arg6[3]).parseUnicodeLanguageId(str2.split(arg1(arg6[3]).SEPARATOR));
|
|
({ lang: obj4.lang, script: obj4.script, region: obj4.region } = result1);
|
|
obj1.variants = tmp.variants;
|
|
tmp8 = obj1;
|
|
}
|
|
}
|
|
}
|
|
let tmp14 = tmp8;
|
|
if (tmp8.region) {
|
|
const obj2 = {};
|
|
({ lang: obj5.lang, region: obj5.region } = tmp8);
|
|
obj2.variants = [];
|
|
const str3 = arg1(arg6[1]).languageAlias[closure_0(undefined, closure_1[2]).emitUnicodeLanguageId(undefined, obj2)];
|
|
tmp14 = tmp8;
|
|
if (str3) {
|
|
const obj3 = {};
|
|
const result2 = arg1(arg6[3]).parseUnicodeLanguageId(str3.split(arg1(arg6[3]).SEPARATOR));
|
|
obj3.lang = result2.lang;
|
|
obj3.script = tmp8.script || result2.script;
|
|
obj3.region = result2.region;
|
|
obj3.variants = tmp8.variants;
|
|
tmp14 = obj3;
|
|
}
|
|
}
|
|
const obj4 = { lang: tmp14.lang, variants: [] };
|
|
const str4 = arg1(arg6[1]).languageAlias[closure_0(undefined, closure_1[2]).emitUnicodeLanguageId(undefined, obj4)];
|
|
let tmp20 = tmp14;
|
|
if (str4) {
|
|
const obj5 = {};
|
|
const result3 = arg1(arg6[3]).parseUnicodeLanguageId(str4.split(arg1(arg6[3]).SEPARATOR));
|
|
obj5.lang = result3.lang;
|
|
obj5.script = tmp14.script || result3.script;
|
|
obj5.region = tmp14.region || result3.region;
|
|
obj5.variants = tmp14.variants;
|
|
tmp20 = obj5;
|
|
}
|
|
if (tmp20.region) {
|
|
const formatted = tmp20.region.toUpperCase();
|
|
const str6 = arg1(arg6[1]).territoryAlias[formatted];
|
|
let tmp27;
|
|
if (str6) {
|
|
const parts = str6.split(" ");
|
|
const first = parts[0];
|
|
const obj6 = {};
|
|
({ lang: obj9.lang, script: obj9.script } = tmp20);
|
|
obj6.variants = [];
|
|
const str8 = arg1(arg6[4]).likelySubtags[closure_0(undefined, closure_1[2]).emitUnicodeLanguageId(undefined, obj6)];
|
|
tmp27 = first;
|
|
if (str8) {
|
|
const region = arg1(arg6[3]).parseUnicodeLanguageId(str8.split(arg1(arg6[3]).SEPARATOR)).region;
|
|
let tmp33 = region;
|
|
if (region) {
|
|
tmp33 = parts.indexOf(region) > -1;
|
|
}
|
|
tmp27 = first;
|
|
if (tmp33) {
|
|
tmp27 = region;
|
|
}
|
|
}
|
|
}
|
|
if (tmp27) {
|
|
tmp20.region = tmp27;
|
|
}
|
|
tmp20.region = tmp20.region.toUpperCase();
|
|
const str5 = tmp20.region;
|
|
const str9 = tmp20.region;
|
|
}
|
|
if (tmp20.script) {
|
|
const script = tmp20.script;
|
|
const formatted1 = tmp20.script[0].toUpperCase();
|
|
tmp20.script = formatted1 + script.slice(1).toLowerCase();
|
|
if (arg1(arg6[1]).scriptAlias[tmp20.script]) {
|
|
tmp20.script = arg1(arg6[1]).scriptAlias[tmp20.script];
|
|
}
|
|
const str10 = tmp20.script[0];
|
|
const str11 = script.slice(1);
|
|
}
|
|
if (tmp20.variants.length) {
|
|
let num17 = 0;
|
|
if (0 < tmp20.variants.length) {
|
|
do {
|
|
let str12 = tmp20.variants[num17];
|
|
let formatted2 = str12.toLowerCase();
|
|
let tmp40 = closure_0;
|
|
let tmp41 = closure_1;
|
|
if (closure_0(closure_1[1]).variantAlias[formatted2]) {
|
|
let tmp42 = closure_0;
|
|
let tmp43 = closure_1;
|
|
let tmp44 = closure_0(closure_1[1]).variantAlias[formatted2];
|
|
if (closure_0(closure_1[3]).isUnicodeVariantSubtag(tmp44)) {
|
|
tmp20.variants[num17] = tmp44;
|
|
let tmp49 = tmp44;
|
|
} else {
|
|
let tmp45 = closure_0;
|
|
let tmp46 = closure_1;
|
|
let tmp47 = tmp44;
|
|
if (closure_0(closure_1[3]).isUnicodeLanguageSubtag(tmp44)) {
|
|
tmp20.lang = tmp44;
|
|
let tmp48 = tmp44;
|
|
}
|
|
}
|
|
}
|
|
num17 = num17 + 1;
|
|
} while (num17 < tmp20.variants.length);
|
|
}
|
|
variants = tmp20.variants;
|
|
const sorted = variants.sort();
|
|
}
|
|
return tmp20;
|
|
}
|
|
arg5.canonicalizeUnicodeLanguageId = canonicalizeUnicodeLanguageId;
|
|
arg5.CanonicalizeUnicodeLocaleId = function CanonicalizeUnicodeLocaleId(lang) {
|
|
lang.lang = canonicalizeUnicodeLanguageId(lang.lang);
|
|
if (lang.extensions) {
|
|
let extensions = lang.extensions;
|
|
let num = 0;
|
|
if (0 < extensions.length) {
|
|
do {
|
|
let iter = extensions[num];
|
|
let type = iter.type;
|
|
if ("u" === type) {
|
|
let tmp4 = closure_2;
|
|
iter.keywords = closure_2(iter.keywords);
|
|
if (iter.attributes) {
|
|
let attributes = iter.attributes;
|
|
let _Object = Object;
|
|
let keys = Object.keys(attributes.reduce((arg0, str) => {
|
|
arg0[str.toLowerCase()] = 1;
|
|
return arg0;
|
|
}, {}));
|
|
iter.attributes = keys.sort();
|
|
}
|
|
} else if ("t" === type) {
|
|
if (iter.lang) {
|
|
let tmp2 = closure_6;
|
|
iter.lang = closure_6(iter.lang);
|
|
}
|
|
let tmp3 = closure_2;
|
|
iter.fields = closure_2(iter.fields);
|
|
} else {
|
|
let str3 = iter.value;
|
|
iter.value = str3.toLowerCase();
|
|
}
|
|
num = num + 1;
|
|
} while (num < extensions.length);
|
|
}
|
|
extensions = lang.extensions;
|
|
const sorted = extensions.sort(compareExtension);
|
|
}
|
|
return lang;
|
|
};
|