decord/stable/source/lib/spellcheck/LanguageDetector.tsx

116 lines
3.6 KiB
TypeScript
Raw Permalink Normal View History

2026-10-06 22:12:49 +00:00
// Module ID: 5877
// Function ID: 5878
// Name: LanguageDetector
2026-10-06 22:12:49 +00:00
// Dependencies: [5878, 2]
2026-10-06 22:12:49 +00:00
// Module 5877 (LanguageDetector)
import size from "module_2" /* 2 */;
const result = size.fileFinishedImporting("lib/spellcheck/LanguageDetector.tsx");
class LanguageDetector {
2026-10-06 22:12:49 +00:00
constructor(_language, _onChange) {
const merged = Object.assign({ _shouldProcess: false, _processing: false, _minimumTimeRemaining: 5 });
merged._language = _language;
merged._languageHint = _language;
merged._onChange = _onChange;
_onChange(_language);
return merged;
}
2026-10-06 22:12:49 +00:00
process(arg0) {
let self = this;
let closure_0 = arg0;
if (!this._processing) {
tmp._processing = true;
const tmp2 = globalThis;
requestIdleCallback((timeRemaining) => {
closure_0 = timeRemaining;
let obj = self;
if (timeRemaining.timeRemaining() <= self._minimumTimeRemaining) {
obj._processEnd();
} else {
if (closure_0.length > 256) {
closure_0 = closure_0.slice(0, 256);
}
const _languageHint = obj._languageHint;
const obj2 = closure_0(self[0]);
const ensureModuleResult = obj2.ensureModule("discord_spellcheck");
const nextPromise = ensureModuleResult.then(() => {
let obj = closure_0(_languageHint[0]);
const cld = obj.requireModule("discord_spellcheck").cld;
const promise = new Promise((arg0, arg1) => {
closure_0 = arg0;
let closure_1 = arg1;
const obj = { httpHint: _languageHint, encodingHint: "UTF8" };
cld.detect(closure_0, obj, function(message, reliable) {
if (null != message) {
const _Error2 = Error;
const self3 = this;
const self4 = this;
const error = new Error(message.message);
closure_1(error);
} else {
if (reliable.reliable) {
if (reliable.languages[0].percent >= 90) {
if (reliable.languages[0].score >= 500) {
closure_0(reliable.languages[0].code);
}
}
}
const _Error = Error;
self = this;
const self2 = this;
const error1 = new Error("Not enough reliable text.");
closure_1(error1);
}
});
});
return promise;
});
nextPromise.then((language) => {
self.language = language;
self._processEnd(closure_0.didTimeout);
}, () => {
self._processEnd(closure_0.didTimeout);
});
}
});
}
}
_processEnd(didTimeout) {
let flag = didTimeout;
if (didTimeout === undefined) {
flag = false;
}
const self = this;
this._processing = false;
if (flag) {
self._minimumTimeRemaining = self._minimumTimeRemaining + 1;
}
}
}
const prototype = LanguageDetector.prototype;
Object.defineProperty(prototype, "language", {
get: function language() {
return this._language;
},
set: undefined
});
Object.defineProperty(prototype, "language", {
get: undefined,
set: function language(_language) {
const self = this;
if (this._language !== _language) {
self._language = _language;
self._onChange(_language);
}
}
});
Object.defineProperty(prototype, "languageHint", {
get: undefined,
set: function languageHint(_languageHint) {
this._languageHint = _languageHint;
}
});
export default LanguageDetector;