decord/stable/source/modules/user_settings/UserSettingSearchManager.tsx
2026-10-06 22:12:49 +00:00

137 lines
4.1 KiB
TypeScript

// Module ID: 14245
// Function ID: 14246
// Name: UserSettingSearchManager
// Dependencies: [5830, 14246, 2]
// Module 14245 (UserSettingSearchManager)
import fuzzysearchDefault from "fuzzysearch" /* 5830 */;
import StringMatchUtils from "StringMatchUtils" /* 14246 */;
import size from "module_2" /* 2 */;
let score, set;
let result = size.fileFinishedImporting("modules/user_settings/UserSettingSearchManager.tsx");
class SettingSearchManager {
constructor(terms) {
let obj = Object.create(new.target.prototype);
obj.terms = terms;
obj.cache = new Map();
new Map();
obj.cacheScored = new Map();
obj.preprocessed = [];
new Map();
let item = terms.forEach((item) => {
let arr;
let tmp;
[tmp, arr] = item;
const items = [];
const items1 = [];
set = new Set();
item = arr.forEach((toLocaleLowerCase) => {
items.push(toLocaleLowerCase.toLocaleLowerCase());
if (toLocaleLowerCase.includes(" ")) {
const parts = toLocaleLowerCase.split(/\s+/);
const item = parts.forEach((toLocaleLowerCase) => {
const toLocaleLowerCaseResult = toLocaleLowerCase.toLocaleLowerCase();
obj = set;
if (!set.has(toLocaleLowerCaseResult)) {
items1.push(toLocaleLowerCaseResult);
obj.add(toLocaleLowerCaseResult);
}
});
}
});
const preprocessed = obj.preprocessed;
const items2 = [tmp, { normalizedSearchTerms: items, normalizedTokens: items1 }];
preprocessed.push(items2);
});
return obj;
}
search(arg0) {
const self = this;
let closure_0 = arg0;
const promise = new Promise((fn) => {
fn(self.getMatchingSettings(closure_0));
});
return promise;
}
getMatchingSettings(arg0) {
const self = this;
let closure_0 = arg0;
const cache = this.cache;
const value = cache.get(arg0);
if (null != value) {
return value;
} else {
const items = [];
const terms = self.terms;
const item = terms.forEach((item) => {
let tmp;
let tmp2;
[tmp, tmp2] = item;
for (const item10015 of tmp2) {
let tmp5 = fuzzysearchDefault;
let formatted = closure_0.toLowerCase();
if (tmp5(formatted, item10015.toLowerCase())) {
let arr = items.push(tmp);
obj.return();
break;
}
}
});
const cache2 = self.cache;
const result = cache2.set(arg0, items);
return items;
}
}
getScoredSearchResults(str) {
const trimmed = str.trim();
const toLocaleLowerCaseResult = trimmed.toLocaleLowerCase();
require = toLocaleLowerCaseResult;
if (0 === toLocaleLowerCaseResult.length) {
return [];
} else {
const self = this;
const cacheScored = this.cacheScored;
const value = cacheScored.get(toLocaleLowerCaseResult);
if (null != value) {
return value;
} else {
const items = [];
const preprocessed = self.preprocessed;
let item = preprocessed.forEach((item) => {
let obj;
let tmp;
[tmp, ] = item;
score = 0;
if (arr.some((item) => item === closure_0)) {
score = 1;
} else if (obj.some((item) => item.startsWith(closure_0))) {
let num = 0.95;
score = 0.95;
} else {
item = arr.forEach((item) => {
const obj = StringMatchUtils;
const result = obj.calculateJaroWinklerSimilarity(require, item);
let num = 0;
if (result >= 0.8) {
num = result;
}
closure_0 = Math.max(closure_0, num);
});
}
if (score > 0) {
const obj2 = { setting: tmp, score };
items.push(obj2);
}
});
const cacheScored2 = self.cacheScored;
let result = cacheScored2.set(toLocaleLowerCaseResult, items);
return items;
}
}
}
}
const prototype = SettingSearchManager.prototype;
export default SettingSearchManager;