decord/source/lib/spellcheck/Spellchecker.tsx

227 lines
6.1 KiB
TypeScript
Raw Normal View History

2026-07-25 08:10:48 +00:00
// Module ID: 5137
2026-07-27 11:26:19 +00:00
// Function ID: 44565
2026-07-20 16:05:17 +00:00
// Name: normalizeLocale
2026-07-25 08:10:48 +00:00
// Dependencies: [5, 57, 6, 7, 1922, 3, 3742, 5138, 5139, 5140, 22, 1835, 1327, 2]
2026-07-20 16:05:17 +00:00
// Exports: install
2026-07-25 08:10:48 +00:00
// Module 5137 (normalizeLocale)
2026-07-23 10:11:24 +00:00
import timestamp from "timestamp";
import _slicedToArray from "_slicedToArray";
import set from "set";
import closure_6 from "set";
import _isNativeReflectConstruct from "_isNativeReflectConstruct";
import importDefaultResult from "_defineProperties";
import importDefaultResult1 from "apply";
const require = arg1;
2026-07-20 16:05:17 +00:00
function normalizeLocale(arg0) {
let str = arg0;
2026-07-25 08:10:48 +00:00
const tmp = importDefault(5138)[arg0];
2026-07-20 16:05:17 +00:00
if (null != tmp) {
str = tmp;
}
2026-07-25 08:10:48 +00:00
const parsed = require(5139) /* parse */.parse(str.replace(/[_-]/g, "-"));
2026-07-20 16:05:17 +00:00
if (null != parsed) {
if (null != parsed.langtag.language) {
if (null != parsed.langtag.region) {
const langtag = parsed.langtag;
const formatted = langtag.language.language.toLowerCase();
const _HermesInternal = HermesInternal;
return "" + formatted + "-" + langtag.region.toUpperCase();
}
}
}
importDefaultResult.error("" + str + " is not a valid locale.");
}
async function _install() {
2026-07-23 10:11:24 +00:00
const tmp = yield outer2_9.getAvailableDictionaries();
2026-07-20 16:05:17 +00:00
let items = tmp;
if (null == tmp) {
items = [];
}
2026-07-23 10:11:24 +00:00
const mapped = items.map(outer2_12);
const tmp2 = new outer2_10(mapped.filter(outer2_0(outer2_2[12]).isNotNullish));
(function attachToInput(arg0) {
let closure_0 = arg0;
2026-07-20 16:05:17 +00:00
if (null != document.body) {
const _document = document;
2026-07-23 10:11:24 +00:00
const listener = body.addEventListener("beforeinput", (target) => outer4_11(closure_0, target.target), true);
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
})(tmp2);
2026-07-20 16:05:17 +00:00
return tmp2;
}
importDefaultResult = new importDefaultResult("Spellchecker");
let spellCheck;
2026-07-23 10:11:24 +00:00
if (null != require("set")) {
spellCheck = require("set").spellCheck;
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
const tmp5 = (() => {
2026-07-20 16:05:17 +00:00
class Spellchecker {
constructor(arg0) {
2026-07-23 10:11:24 +00:00
self = this;
closure_1 = arg0;
tmp = outer1_5(this, self);
2026-07-20 16:05:17 +00:00
this._enabled = true;
this.misspelledWord = "";
this.corrections = [];
2026-07-23 10:11:24 +00:00
str = outer1_7.locale;
tmp2 = outer1_4(str.split("-"), 2);
2026-07-20 16:05:17 +00:00
first = tmp2[0];
locale = first;
this.regionPreference = tmp2[1];
getAvailableLanguages = this.getAvailableLanguages(arg0);
2026-07-23 10:11:24 +00:00
tmp4 = outer1_1(outer1_2[9]);
2026-07-20 16:05:17 +00:00
tmp4 = new tmp4(first, (arg0) => {
const combined = "" + arg0 + "-" + self.regionPreference;
2026-07-23 10:11:24 +00:00
if (-1 !== closure_1.indexOf(combined)) {
2026-07-20 16:05:17 +00:00
self.setLocale(combined);
} else {
2026-07-23 10:11:24 +00:00
let tmp3 = table[arg0];
2026-07-20 16:05:17 +00:00
if (null == tmp3) {
2026-07-23 10:11:24 +00:00
tmp3 = outer2_1(outer2_2[7])[first];
2026-07-20 16:05:17 +00:00
}
if (null != tmp3) {
self.setLocale(tmp3);
}
}
});
this.languageDetector = tmp4;
2026-07-23 10:11:24 +00:00
onResult = outer1_9.on("spellcheck-result", (arg0, arg1) => {
2026-07-20 16:05:17 +00:00
let items = arg1;
let str = "";
if (null != arg0) {
str = arg0;
}
self.misspelledWord = str;
if (null == items) {
items = [];
}
self.corrections = items;
});
return;
}
}
let obj = {
key: "enabled",
get() {
return this._enabled;
},
set(_enabled) {
this._enabled = _enabled;
}
};
2026-07-23 10:11:24 +00:00
let items = [obj, , , , , , , , , ];
2026-07-20 16:05:17 +00:00
obj = {
key: "setLearnedWords",
value(arg0) {
2026-07-23 10:11:24 +00:00
outer1_9.setLearnedWords(arg0);
2026-07-20 16:05:17 +00:00
}
};
items[1] = obj;
obj = {
key: "setLocale",
value(combined) {
2026-07-23 10:11:24 +00:00
let closure_0 = combined;
const setLocaleResult = outer1_9.setLocale(combined);
2026-07-20 16:05:17 +00:00
if (null != setLocaleResult) {
setLocaleResult.then((arg0) => {
let str = "(unavailable)";
2026-07-23 10:11:24 +00:00
const combined = "Switching to " + closure_0;
2026-07-20 16:05:17 +00:00
if (arg0) {
str = "(available)";
}
2026-07-23 10:11:24 +00:00
outer2_8.info(combined, str);
2026-07-20 16:05:17 +00:00
});
}
}
};
items[2] = obj;
items[3] = {
key: "setAppLocale",
value(arg0) {
this.regionPreference = arg0.split("-")[1];
}
};
items[4] = {
key: "detectLanguage",
value(arg0) {
if (this.enabled) {
const languageDetector = this.languageDetector;
languageDetector.process(arg0);
}
}
};
items[5] = {
key: "getAvailableLanguages",
value(arr) {
const obj = {};
const item = arr.forEach((arg0) => {
let tmp = arg0;
2026-07-23 10:11:24 +00:00
const first = outer2_4(arg0.split("-"), 1)[0];
2026-07-20 16:05:17 +00:00
if (null != obj[first]) {
tmp = tmp4;
}
obj[first] = tmp;
});
return obj;
}
};
items[6] = {
key: "isMisspelled",
value(arg0) {
let tmp = "" !== this.misspelledWord;
if (tmp) {
tmp = arg0 === this.misspelledWord;
}
return tmp;
}
};
items[7] = {
key: "getCorrectionsForMisspelling",
value(arg0, flag) {
return this.isMisspelled(arg0, flag) ? this.corrections : [];
}
};
items[8] = {
key: "getCachedMisspelling",
value() {
return { misspelledWord: this.misspelledWord, corrections: this.corrections };
}
};
items[9] = {
key: "replaceMisspelling",
value(arg0) {
2026-07-23 10:11:24 +00:00
outer1_9.replaceMisspelling(arg0);
2026-07-20 16:05:17 +00:00
}
};
return callback2(Spellchecker, items);
2026-07-23 10:11:24 +00:00
})();
let closure_10 = tmp5;
let closure_11 = require("apply").debounce((detectLanguage, hasAttribute) => {
2026-07-20 16:05:17 +00:00
let textContent = null;
if (null != hasAttribute) {
if (!obj.isElement(hasAttribute, globalThis.HTMLInputElement)) {
if (!obj2.isElement(hasAttribute, globalThis.HTMLTextAreaElement)) {
if (obj3.isElement(hasAttribute)) {
if (hasAttribute.hasAttribute("contenteditable")) {
textContent = hasAttribute.textContent;
}
}
2026-07-23 10:11:24 +00:00
obj3 = require(1835) /* set */;
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
obj2 = require(1835) /* set */;
2026-07-20 16:05:17 +00:00
}
textContent = hasAttribute.value;
2026-07-23 10:11:24 +00:00
obj = require(1835) /* set */;
2026-07-20 16:05:17 +00:00
}
if (null != textContent) {
detectLanguage.detectLanguage(textContent);
}
}, 250);
2026-07-23 10:11:24 +00:00
const result = require("_classCallCheck").fileFinishedImporting("lib/spellcheck/Spellchecker.tsx");
2026-07-20 16:05:17 +00:00
export const Spellchecker = tmp5;
export const install = function install() {
return _install(...arguments);
};