decord/source/modules/share/useAutocompleter.tsx

69 lines
1.9 KiB
TypeScript
Raw Normal View History

2026-07-24 07:16:23 +00:00
// Module ID: 9920
// Function ID: 76766
2026-07-20 16:05:17 +00:00
// Name: useAutocompleter
2026-07-24 07:16:23 +00:00
// Dependencies: [57, 31, 5450, 7093, 2]
2026-07-20 16:05:17 +00:00
// Exports: default
2026-07-24 07:16:23 +00:00
// Module 9920 (useAutocompleter)
2026-07-23 10:11:24 +00:00
import _slicedToArray from "_slicedToArray";
import result from "result";
const result = require("useInitialValue").fileFinishedImporting("modules/share/useAutocompleter.tsx");
2026-07-20 16:05:17 +00:00
export default function useAutocompleter(searchOptions) {
searchOptions = searchOptions.searchOptions;
2026-07-23 10:11:24 +00:00
let tmp = callback(React.useState({ results: [], query: "" }), 2);
const dependencyMap = tmp[1];
const tmp2 = searchOptions(5450)(() => {
let tmp = searchOptions(table[3]);
2026-07-20 16:05:17 +00:00
tmp = new tmp((results, query) => {
2026-07-23 10:11:24 +00:00
outer1_1({ results, query });
2026-07-20 16:05:17 +00:00
});
tmp.setLimit(20);
tmp.search("");
return tmp;
});
2026-07-23 10:11:24 +00:00
callback = tmp2;
2026-07-20 16:05:17 +00:00
const items = [tmp2];
2026-07-23 10:11:24 +00:00
const effect = React.useEffect(() => () => outer1_2.destroy(), items);
2026-07-20 16:05:17 +00:00
const items1 = [tmp2, searchOptions];
const effect1 = React.useEffect(() => {
let tmp = null != searchOptions;
if (tmp) {
tmp = searchOptions !== tmp2.options;
}
if (tmp) {
tmp2.setOptions(searchOptions);
}
}, items1);
const items2 = [tmp2];
const merged = Object.assign(tmp[0]);
return {
search: React.useCallback((arg0) => {
let query;
let resultTypes;
({ query, resultTypes } = arg0);
let tmp = null != tmp2.resultTypes;
if (tmp) {
2026-07-23 10:11:24 +00:00
tmp = (function isArrayEqualSet(resultTypes, resultTypes2) {
let closure_0 = resultTypes2;
return resultTypes.length === resultTypes2.size && resultTypes.every((arg0) => set.has(arg0));
})(resultTypes, tmp2.resultTypes);
2026-07-20 16:05:17 +00:00
}
if (!tmp) {
tmp2.setResultTypes(resultTypes);
let num = 20;
if (1 === resultTypes.length) {
num = 50;
}
tmp2.setLimit(num);
}
let str = "";
if ("" !== query.trim()) {
str = query;
}
tmp2.search(str);
}, items2)
};
};