Host FlexSearch
This commit is contained in:
52
paige/node_modules/flexsearch/dist/module-debug/worker/handler.js
generated
vendored
Normal file
52
paige/node_modules/flexsearch/dist/module-debug/worker/handler.js
generated
vendored
Normal file
@@ -0,0 +1,52 @@
|
||||
import Index from "../index.js";
|
||||
|
||||
export default function (data) {
|
||||
|
||||
data = data.data;
|
||||
|
||||
/** @type Index */
|
||||
const index = self._index,
|
||||
args = data.args,
|
||||
task = data.task;
|
||||
|
||||
|
||||
switch (task) {
|
||||
|
||||
case "init":
|
||||
const options = data.options || {},
|
||||
factory = data.factory,
|
||||
encode = options.encode;
|
||||
|
||||
|
||||
options.cache = /* normalize: */ /* collapse: */ /* normalize: */
|
||||
|
||||
/* collapse: */ /* normalize: */ /* collapse: */ /* normalize: */ /* collapse: */ /* collapse: */!1;
|
||||
|
||||
if (encode && 0 === encode.indexOf("function")) {
|
||||
options.encode = Function("return " + encode)();
|
||||
}
|
||||
|
||||
if (factory) {
|
||||
|
||||
// export the FlexSearch global payload to "self"
|
||||
Function("return " + factory)()(self);
|
||||
|
||||
/** @type Index */
|
||||
self._index = new self.FlexSearch.Index(options);
|
||||
|
||||
// destroy the exported payload
|
||||
delete self.FlexSearch;
|
||||
} else {
|
||||
|
||||
self._index = new Index(options);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
const id = data.id,
|
||||
message = index[task].apply(index, args);
|
||||
|
||||
postMessage("search" === task ? { id: id, msg: message } : { id: id });
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user