power-compass 0.0.1-alpha.1 → 0.0.1-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/power-compass.cjs.js +1 -0
- package/dist/power-compass.es.d.ts +1 -0
- package/dist/power-compass.es.js +2299 -0
- package/package.json +5 -5
- package/.eslintrc.json +0 -6
- package/index.html +0 -13
- package/jest.config.js +0 -11
- package/src/components/context.ts +0 -9
- package/src/components/hooks/useCursor.ts +0 -38
- package/src/components/hooks/useDebounce.ts +0 -14
- package/src/components/hooks/useShortcut.ts +0 -18
- package/src/http/fetch.ts +0 -30
- package/src/http/index.ts +0 -1
- package/src/index.ts +0 -5
- package/src/menu/clientMenu.ts +0 -56
- package/src/menu/fetchMenu.spec.ts +0 -183
- package/src/menu/fetchMenu.ts +0 -42
- package/src/menu/index.ts +0 -2
- package/src/menu/transformations.ts +0 -48
- package/src/menu/types.ts +0 -19
- package/src/menu/useCompassMenu.spec.tsx +0 -173
- package/src/menu/useCompassMenu.ts +0 -67
- package/src/search/engine.ts +0 -109
- package/src/search/index.ts +0 -1
- package/src/search/sources.ts +0 -232
- package/src/search/types.ts +0 -39
- package/src/search/useSearch.ts +0 -84
- package/src/tasks/index.ts +0 -1
- package/src/tasks/types.ts +0 -7
- package/src/tasks/useLocalStorage.ts +0 -31
- package/src/tasks/useNotificationCenter.ts +0 -69
- package/tsconfig.app.json +0 -28
- package/tsconfig.json +0 -7
- package/tsconfig.node.json +0 -26
- package/vite.config.ts +0 -34
- package/vitest.config.ts +0 -8
- package/vitest.fetch-mock.ts +0 -7
|
@@ -0,0 +1,2299 @@
|
|
|
1
|
+
import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
|
|
2
|
+
var __create = Object.create, __defProp = Object.defineProperty, __getOwnPropDesc = Object.getOwnPropertyDescriptor, __getOwnPropNames = Object.getOwnPropertyNames, __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty, __commonJSMin = (e, w) => () => (w || e((w = { exports: {} }).exports, w), w.exports), __copyProps = (e, w, T, E) => {
|
|
3
|
+
if (w && typeof w == "object" || typeof w == "function") for (var D = __getOwnPropNames(w), O = 0, k = D.length, A; O < k; O++) A = D[O], !__hasOwnProp.call(e, A) && A !== T && __defProp(e, A, {
|
|
4
|
+
get: ((e) => w[e]).bind(null, A),
|
|
5
|
+
enumerable: !(E = __getOwnPropDesc(w, A)) || E.enumerable
|
|
6
|
+
});
|
|
7
|
+
return e;
|
|
8
|
+
}, __toESM = (e, w, T) => (T = e == null ? {} : __create(__getProtoOf(e)), __copyProps(w || !e || !e.__esModule ? __defProp(T, "default", {
|
|
9
|
+
value: e,
|
|
10
|
+
enumerable: !0
|
|
11
|
+
}) : T, e));
|
|
12
|
+
async function fetchBackend(e, w, T, E) {
|
|
13
|
+
let D = new URL(`${e}/${w}/${T}`, window.location.origin);
|
|
14
|
+
D.search = new URLSearchParams(E).toString(), console.debug("Fetching data from backend:", D.toString());
|
|
15
|
+
let O = (w) => {
|
|
16
|
+
if (w.ok) return w.json();
|
|
17
|
+
throw Error(`${e} reponse error: ${w.statusText}`);
|
|
18
|
+
};
|
|
19
|
+
return fetch(D.toString(), { cache: "default" }).then(O).catch(() => fetch(D.toString(), { cache: "force-cache" }).then(O)).catch((w) => {
|
|
20
|
+
throw console.debug(`Failed to fetch from ${e}:`, w), w;
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
async function fetchMenu(e, w, T = {}) {
|
|
24
|
+
try {
|
|
25
|
+
return { items: await fetchBackend(e, w, "menu", T) };
|
|
26
|
+
} catch (e) {
|
|
27
|
+
return {
|
|
28
|
+
items: [],
|
|
29
|
+
error: { message: e instanceof Error ? e.message : String(e) }
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
const Compass = createContext(void 0), Transformations = {
|
|
34
|
+
flatten(e, w) {
|
|
35
|
+
return e.map(({ items: e, ...T }) => {
|
|
36
|
+
let E = {
|
|
37
|
+
parent: w,
|
|
38
|
+
...T
|
|
39
|
+
};
|
|
40
|
+
return e ? this.flatten(e, E) : E;
|
|
41
|
+
}).flat();
|
|
42
|
+
},
|
|
43
|
+
trim(e) {
|
|
44
|
+
return e.filter((e) => e.url || e.items || e.modal);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
function applyTransformations(e, w) {
|
|
48
|
+
return Object.keys(w).reduce((e, w) => Transformations[w](e), e);
|
|
49
|
+
}
|
|
50
|
+
var PluginMenuItems = [], PluginFilters = { tagged(e, w) {
|
|
51
|
+
return e.filter((e) => {
|
|
52
|
+
var T;
|
|
53
|
+
return (T = e.tags) == null ? void 0 : T.includes(w);
|
|
54
|
+
});
|
|
55
|
+
} };
|
|
56
|
+
function applyFilters(e, w) {
|
|
57
|
+
return Object.keys(w).reduce((e, T) => PluginFilters[T](e, w[T]), e);
|
|
58
|
+
}
|
|
59
|
+
function fetchPlugin(e = {}) {
|
|
60
|
+
return new Promise((w) => {
|
|
61
|
+
let T = PluginMenuItems.map((e) => Promise.resolve(e));
|
|
62
|
+
Promise.all(T).then((e) => e.filter(Boolean)).then((w) => applyFilters(w, e)).then((e) => w({ items: e })).catch((e) => w({
|
|
63
|
+
items: [],
|
|
64
|
+
error: { message: e instanceof Error ? e.message : String(e) }
|
|
65
|
+
}));
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
async function createMenuItem(e) {
|
|
69
|
+
typeof e == "function" ? PluginMenuItems.push(e()) : PluginMenuItems.push(e);
|
|
70
|
+
}
|
|
71
|
+
function sortItems(e) {
|
|
72
|
+
return e.sort((e, w) => ((e == null ? void 0 : e.gravity) || 0) - ((w == null ? void 0 : w.gravity) || 0) || e.label.localeCompare(w.label));
|
|
73
|
+
}
|
|
74
|
+
function useCompassMenu({ filters: e = {}, backends: w, contextId: D, ...O }) {
|
|
75
|
+
let [A, j] = useState([]), [M, N] = useState(!1), P = useContext(Compass), F = w || (P == null ? void 0 : P.backends) || [], I = D || (P == null ? void 0 : P.contextId);
|
|
76
|
+
if (!I) throw Error("contextId is required");
|
|
77
|
+
return useEffect(() => {
|
|
78
|
+
N(!0);
|
|
79
|
+
let w = [...F.map((w) => fetchMenu(w, I.toString(), e)), fetchPlugin(e)];
|
|
80
|
+
Promise.all(w).then((e) => applyTransformations(e.filter((e) => !e.error).flatMap((e) => e.items), O)).then(sortItems).then(j).finally(() => N(!1));
|
|
81
|
+
}, []), {
|
|
82
|
+
items: A,
|
|
83
|
+
loading: M
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
var loadFromStorage = (e, w) => {
|
|
87
|
+
try {
|
|
88
|
+
let T = window.localStorage.getItem(e);
|
|
89
|
+
return T ? JSON.parse(T) : w;
|
|
90
|
+
} catch (e) {
|
|
91
|
+
return w;
|
|
92
|
+
}
|
|
93
|
+
}, updateStorage = (e, w) => {
|
|
94
|
+
try {
|
|
95
|
+
window.localStorage.setItem(e, JSON.stringify(w));
|
|
96
|
+
} catch (e) {
|
|
97
|
+
console.debug(e);
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
const useLocalStorage = (e, w) => {
|
|
101
|
+
let [T, E] = useState(() => loadFromStorage(e, w)), D = (w) => {
|
|
102
|
+
E(w), updateStorage(e, w);
|
|
103
|
+
};
|
|
104
|
+
return [
|
|
105
|
+
T,
|
|
106
|
+
D,
|
|
107
|
+
() => D(w)
|
|
108
|
+
];
|
|
109
|
+
};
|
|
110
|
+
function useNotificationCenter({ contextId: e }) {
|
|
111
|
+
let [w, T] = useLocalStorage("notification_center.notifications", []), [D, O] = useState(!0), [A, j] = useState(null);
|
|
112
|
+
return useEffect(() => {
|
|
113
|
+
if (!e) {
|
|
114
|
+
O(!1);
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
(async () => {
|
|
118
|
+
try {
|
|
119
|
+
O(!0), j(null), T((await fetchBackend("compass", String(e), "notifications", {})).map((e) => e.notifications).flat().map((e) => ({
|
|
120
|
+
...e,
|
|
121
|
+
createdAt: e.date || e.createdAt
|
|
122
|
+
})));
|
|
123
|
+
} catch (e) {
|
|
124
|
+
j(e instanceof Error ? e : /* @__PURE__ */ Error("Unknown error"));
|
|
125
|
+
} finally {
|
|
126
|
+
O(!1);
|
|
127
|
+
}
|
|
128
|
+
})();
|
|
129
|
+
}, [e, T]), {
|
|
130
|
+
notifications: w,
|
|
131
|
+
loading: D,
|
|
132
|
+
error: A
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
var require_isObject = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
136
|
+
function T(e) {
|
|
137
|
+
var w = typeof e;
|
|
138
|
+
return e != null && (w == "object" || w == "function");
|
|
139
|
+
}
|
|
140
|
+
w.exports = T;
|
|
141
|
+
})), require__baseCreate = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
142
|
+
var T = require_isObject(), E = Object.create;
|
|
143
|
+
w.exports = function() {
|
|
144
|
+
function e() {}
|
|
145
|
+
return function(w) {
|
|
146
|
+
if (!T(w)) return {};
|
|
147
|
+
if (E) return E(w);
|
|
148
|
+
e.prototype = w;
|
|
149
|
+
var D = new e();
|
|
150
|
+
return e.prototype = void 0, D;
|
|
151
|
+
};
|
|
152
|
+
}();
|
|
153
|
+
})), require__baseLodash = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
154
|
+
function T() {}
|
|
155
|
+
w.exports = T;
|
|
156
|
+
})), require__LazyWrapper = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
157
|
+
var T = require__baseCreate(), E = require__baseLodash(), D = 4294967295;
|
|
158
|
+
function O(e) {
|
|
159
|
+
this.__wrapped__ = e, this.__actions__ = [], this.__dir__ = 1, this.__filtered__ = !1, this.__iteratees__ = [], this.__takeCount__ = D, this.__views__ = [];
|
|
160
|
+
}
|
|
161
|
+
O.prototype = T(E.prototype), O.prototype.constructor = O, w.exports = O;
|
|
162
|
+
})), require__LodashWrapper = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
163
|
+
var T = require__baseCreate(), E = require__baseLodash();
|
|
164
|
+
function D(e, w) {
|
|
165
|
+
this.__wrapped__ = e, this.__actions__ = [], this.__chain__ = !!w, this.__index__ = 0, this.__values__ = void 0;
|
|
166
|
+
}
|
|
167
|
+
D.prototype = T(E.prototype), D.prototype.constructor = D, w.exports = D;
|
|
168
|
+
})), require_isArray = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
169
|
+
w.exports = Array.isArray;
|
|
170
|
+
})), require_isObjectLike = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
171
|
+
function T(e) {
|
|
172
|
+
return typeof e == "object" && !!e;
|
|
173
|
+
}
|
|
174
|
+
w.exports = T;
|
|
175
|
+
})), require__copyArray = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
176
|
+
function T(e, w) {
|
|
177
|
+
var T = -1, E = e.length;
|
|
178
|
+
for (w || (w = Array(E)); ++T < E;) w[T] = e[T];
|
|
179
|
+
return w;
|
|
180
|
+
}
|
|
181
|
+
w.exports = T;
|
|
182
|
+
})), require__wrapperClone = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
183
|
+
var T = require__LazyWrapper(), E = require__LodashWrapper(), D = require__copyArray();
|
|
184
|
+
function O(e) {
|
|
185
|
+
if (e instanceof T) return e.clone();
|
|
186
|
+
var w = new E(e.__wrapped__, e.__chain__);
|
|
187
|
+
return w.__actions__ = D(e.__actions__), w.__index__ = e.__index__, w.__values__ = e.__values__, w;
|
|
188
|
+
}
|
|
189
|
+
w.exports = O;
|
|
190
|
+
})), require_wrapperLodash = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
191
|
+
var T = require__LazyWrapper(), E = require__LodashWrapper(), D = require__baseLodash(), O = require_isArray(), k = require_isObjectLike(), A = require__wrapperClone(), j = Object.prototype.hasOwnProperty;
|
|
192
|
+
function M(e) {
|
|
193
|
+
if (k(e) && !O(e) && !(e instanceof T)) {
|
|
194
|
+
if (e instanceof E) return e;
|
|
195
|
+
if (j.call(e, "__wrapped__")) return A(e);
|
|
196
|
+
}
|
|
197
|
+
return new E(e);
|
|
198
|
+
}
|
|
199
|
+
M.prototype = D.prototype, M.prototype.constructor = M, w.exports = M;
|
|
200
|
+
})), require_chain = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
201
|
+
var T = require_wrapperLodash();
|
|
202
|
+
function E(e) {
|
|
203
|
+
var w = T(e);
|
|
204
|
+
return w.__chain__ = !0, w;
|
|
205
|
+
}
|
|
206
|
+
w.exports = E;
|
|
207
|
+
})), require__arrayPush = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
208
|
+
function T(e, w) {
|
|
209
|
+
for (var T = -1, E = w.length, D = e.length; ++T < E;) e[D + T] = w[T];
|
|
210
|
+
return e;
|
|
211
|
+
}
|
|
212
|
+
w.exports = T;
|
|
213
|
+
})), require__freeGlobal = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
214
|
+
w.exports = typeof global == "object" && global && global.Object === Object && global;
|
|
215
|
+
})), require__root = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
216
|
+
var T = require__freeGlobal(), E = typeof self == "object" && self && self.Object === Object && self;
|
|
217
|
+
w.exports = T || E || Function("return this")();
|
|
218
|
+
})), require__Symbol = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
219
|
+
w.exports = require__root().Symbol;
|
|
220
|
+
})), require__getRawTag = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
221
|
+
var T = require__Symbol(), E = Object.prototype, D = E.hasOwnProperty, O = E.toString, k = T ? T.toStringTag : void 0;
|
|
222
|
+
function A(e) {
|
|
223
|
+
var w = D.call(e, k), T = e[k];
|
|
224
|
+
try {
|
|
225
|
+
e[k] = void 0;
|
|
226
|
+
var E = !0;
|
|
227
|
+
} catch (e) {}
|
|
228
|
+
var A = O.call(e);
|
|
229
|
+
return E && (w ? e[k] = T : delete e[k]), A;
|
|
230
|
+
}
|
|
231
|
+
w.exports = A;
|
|
232
|
+
})), require__objectToString = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
233
|
+
var T = Object.prototype.toString;
|
|
234
|
+
function E(e) {
|
|
235
|
+
return T.call(e);
|
|
236
|
+
}
|
|
237
|
+
w.exports = E;
|
|
238
|
+
})), require__baseGetTag = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
239
|
+
var T = require__Symbol(), E = require__getRawTag(), D = require__objectToString(), O = "[object Null]", k = "[object Undefined]", A = T ? T.toStringTag : void 0;
|
|
240
|
+
function j(e) {
|
|
241
|
+
return e == null ? e === void 0 ? k : O : A && A in Object(e) ? E(e) : D(e);
|
|
242
|
+
}
|
|
243
|
+
w.exports = j;
|
|
244
|
+
})), require__baseIsArguments = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
245
|
+
var T = require__baseGetTag(), E = require_isObjectLike(), D = "[object Arguments]";
|
|
246
|
+
function O(e) {
|
|
247
|
+
return E(e) && T(e) == D;
|
|
248
|
+
}
|
|
249
|
+
w.exports = O;
|
|
250
|
+
})), require_isArguments = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
251
|
+
var T = require__baseIsArguments(), E = require_isObjectLike(), D = Object.prototype, O = D.hasOwnProperty, k = D.propertyIsEnumerable;
|
|
252
|
+
w.exports = T(function() {
|
|
253
|
+
return arguments;
|
|
254
|
+
}()) ? T : function(e) {
|
|
255
|
+
return E(e) && O.call(e, "callee") && !k.call(e, "callee");
|
|
256
|
+
};
|
|
257
|
+
})), require__isFlattenable = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
258
|
+
var T = require__Symbol(), E = require_isArguments(), D = require_isArray(), O = T ? T.isConcatSpreadable : void 0;
|
|
259
|
+
function k(e) {
|
|
260
|
+
return D(e) || E(e) || !!(O && e && e[O]);
|
|
261
|
+
}
|
|
262
|
+
w.exports = k;
|
|
263
|
+
})), require__baseFlatten = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
264
|
+
var T = require__arrayPush(), E = require__isFlattenable();
|
|
265
|
+
function D(e, w, O, k, A) {
|
|
266
|
+
var j = -1, M = e.length;
|
|
267
|
+
for (O || (O = E), A || (A = []); ++j < M;) {
|
|
268
|
+
var N = e[j];
|
|
269
|
+
w > 0 && O(N) ? w > 1 ? D(N, w - 1, O, k, A) : T(A, N) : k || (A[A.length] = N);
|
|
270
|
+
}
|
|
271
|
+
return A;
|
|
272
|
+
}
|
|
273
|
+
w.exports = D;
|
|
274
|
+
})), require__arrayMap = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
275
|
+
function T(e, w) {
|
|
276
|
+
for (var T = -1, E = e == null ? 0 : e.length, D = Array(E); ++T < E;) D[T] = w(e[T], T, e);
|
|
277
|
+
return D;
|
|
278
|
+
}
|
|
279
|
+
w.exports = T;
|
|
280
|
+
})), require_isSymbol = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
281
|
+
var T = require__baseGetTag(), E = require_isObjectLike(), D = "[object Symbol]";
|
|
282
|
+
function O(e) {
|
|
283
|
+
return typeof e == "symbol" || E(e) && T(e) == D;
|
|
284
|
+
}
|
|
285
|
+
w.exports = O;
|
|
286
|
+
})), require__isKey = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
287
|
+
var T = require_isArray(), E = require_isSymbol(), D = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, O = /^\w*$/;
|
|
288
|
+
function k(e, w) {
|
|
289
|
+
if (T(e)) return !1;
|
|
290
|
+
var k = typeof e;
|
|
291
|
+
return k == "number" || k == "symbol" || k == "boolean" || e == null || E(e) ? !0 : O.test(e) || !D.test(e) || w != null && e in Object(w);
|
|
292
|
+
}
|
|
293
|
+
w.exports = k;
|
|
294
|
+
})), require_isFunction = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
295
|
+
var T = require__baseGetTag(), E = require_isObject(), D = "[object AsyncFunction]", O = "[object Function]", k = "[object GeneratorFunction]", A = "[object Proxy]";
|
|
296
|
+
function j(e) {
|
|
297
|
+
if (!E(e)) return !1;
|
|
298
|
+
var w = T(e);
|
|
299
|
+
return w == O || w == k || w == D || w == A;
|
|
300
|
+
}
|
|
301
|
+
w.exports = j;
|
|
302
|
+
})), require__coreJsData = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
303
|
+
w.exports = require__root()["__core-js_shared__"];
|
|
304
|
+
})), require__isMasked = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
305
|
+
var T = require__coreJsData(), E = function() {
|
|
306
|
+
var e = /[^.]+$/.exec(T && T.keys && T.keys.IE_PROTO || "");
|
|
307
|
+
return e ? "Symbol(src)_1." + e : "";
|
|
308
|
+
}();
|
|
309
|
+
function D(e) {
|
|
310
|
+
return !!E && E in e;
|
|
311
|
+
}
|
|
312
|
+
w.exports = D;
|
|
313
|
+
})), require__toSource = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
314
|
+
var T = Function.prototype.toString;
|
|
315
|
+
function E(e) {
|
|
316
|
+
if (e != null) {
|
|
317
|
+
try {
|
|
318
|
+
return T.call(e);
|
|
319
|
+
} catch (e) {}
|
|
320
|
+
try {
|
|
321
|
+
return e + "";
|
|
322
|
+
} catch (e) {}
|
|
323
|
+
}
|
|
324
|
+
return "";
|
|
325
|
+
}
|
|
326
|
+
w.exports = E;
|
|
327
|
+
})), require__baseIsNative = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
328
|
+
var T = require_isFunction(), E = require__isMasked(), D = require_isObject(), O = require__toSource(), k = /[\\^$.*+?()[\]{}|]/g, A = /^\[object .+?Constructor\]$/, j = Function.prototype, M = Object.prototype, N = j.toString, P = M.hasOwnProperty, F = RegExp("^" + N.call(P).replace(k, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$");
|
|
329
|
+
function I(e) {
|
|
330
|
+
return !D(e) || E(e) ? !1 : (T(e) ? F : A).test(O(e));
|
|
331
|
+
}
|
|
332
|
+
w.exports = I;
|
|
333
|
+
})), require__getValue = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
334
|
+
function T(e, w) {
|
|
335
|
+
return e == null ? void 0 : e[w];
|
|
336
|
+
}
|
|
337
|
+
w.exports = T;
|
|
338
|
+
})), require__getNative = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
339
|
+
var T = require__baseIsNative(), E = require__getValue();
|
|
340
|
+
function D(e, w) {
|
|
341
|
+
var D = E(e, w);
|
|
342
|
+
return T(D) ? D : void 0;
|
|
343
|
+
}
|
|
344
|
+
w.exports = D;
|
|
345
|
+
})), require__nativeCreate = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
346
|
+
w.exports = require__getNative()(Object, "create");
|
|
347
|
+
})), require__hashClear = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
348
|
+
var T = require__nativeCreate();
|
|
349
|
+
function E() {
|
|
350
|
+
this.__data__ = T ? T(null) : {}, this.size = 0;
|
|
351
|
+
}
|
|
352
|
+
w.exports = E;
|
|
353
|
+
})), require__hashDelete = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
354
|
+
function T(e) {
|
|
355
|
+
var w = this.has(e) && delete this.__data__[e];
|
|
356
|
+
return this.size -= w ? 1 : 0, w;
|
|
357
|
+
}
|
|
358
|
+
w.exports = T;
|
|
359
|
+
})), require__hashGet = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
360
|
+
var T = require__nativeCreate(), E = "__lodash_hash_undefined__", D = Object.prototype.hasOwnProperty;
|
|
361
|
+
function O(e) {
|
|
362
|
+
var w = this.__data__;
|
|
363
|
+
if (T) {
|
|
364
|
+
var O = w[e];
|
|
365
|
+
return O === E ? void 0 : O;
|
|
366
|
+
}
|
|
367
|
+
return D.call(w, e) ? w[e] : void 0;
|
|
368
|
+
}
|
|
369
|
+
w.exports = O;
|
|
370
|
+
})), require__hashHas = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
371
|
+
var T = require__nativeCreate(), E = Object.prototype.hasOwnProperty;
|
|
372
|
+
function D(e) {
|
|
373
|
+
var w = this.__data__;
|
|
374
|
+
return T ? w[e] !== void 0 : E.call(w, e);
|
|
375
|
+
}
|
|
376
|
+
w.exports = D;
|
|
377
|
+
})), require__hashSet = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
378
|
+
var T = require__nativeCreate(), E = "__lodash_hash_undefined__";
|
|
379
|
+
function D(e, w) {
|
|
380
|
+
var D = this.__data__;
|
|
381
|
+
return this.size += this.has(e) ? 0 : 1, D[e] = T && w === void 0 ? E : w, this;
|
|
382
|
+
}
|
|
383
|
+
w.exports = D;
|
|
384
|
+
})), require__Hash = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
385
|
+
var T = require__hashClear(), E = require__hashDelete(), D = require__hashGet(), O = require__hashHas(), k = require__hashSet();
|
|
386
|
+
function A(e) {
|
|
387
|
+
var w = -1, T = e == null ? 0 : e.length;
|
|
388
|
+
for (this.clear(); ++w < T;) {
|
|
389
|
+
var E = e[w];
|
|
390
|
+
this.set(E[0], E[1]);
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
A.prototype.clear = T, A.prototype.delete = E, A.prototype.get = D, A.prototype.has = O, A.prototype.set = k, w.exports = A;
|
|
394
|
+
})), require__listCacheClear = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
395
|
+
function T() {
|
|
396
|
+
this.__data__ = [], this.size = 0;
|
|
397
|
+
}
|
|
398
|
+
w.exports = T;
|
|
399
|
+
})), require_eq = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
400
|
+
function T(e, w) {
|
|
401
|
+
return e === w || e !== e && w !== w;
|
|
402
|
+
}
|
|
403
|
+
w.exports = T;
|
|
404
|
+
})), require__assocIndexOf = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
405
|
+
var T = require_eq();
|
|
406
|
+
function E(e, w) {
|
|
407
|
+
for (var E = e.length; E--;) if (T(e[E][0], w)) return E;
|
|
408
|
+
return -1;
|
|
409
|
+
}
|
|
410
|
+
w.exports = E;
|
|
411
|
+
})), require__listCacheDelete = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
412
|
+
var T = require__assocIndexOf(), E = Array.prototype.splice;
|
|
413
|
+
function D(e) {
|
|
414
|
+
var w = this.__data__, D = T(w, e);
|
|
415
|
+
return D < 0 ? !1 : (D == w.length - 1 ? w.pop() : E.call(w, D, 1), --this.size, !0);
|
|
416
|
+
}
|
|
417
|
+
w.exports = D;
|
|
418
|
+
})), require__listCacheGet = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
419
|
+
var T = require__assocIndexOf();
|
|
420
|
+
function E(e) {
|
|
421
|
+
var w = this.__data__, E = T(w, e);
|
|
422
|
+
return E < 0 ? void 0 : w[E][1];
|
|
423
|
+
}
|
|
424
|
+
w.exports = E;
|
|
425
|
+
})), require__listCacheHas = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
426
|
+
var T = require__assocIndexOf();
|
|
427
|
+
function E(e) {
|
|
428
|
+
return T(this.__data__, e) > -1;
|
|
429
|
+
}
|
|
430
|
+
w.exports = E;
|
|
431
|
+
})), require__listCacheSet = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
432
|
+
var T = require__assocIndexOf();
|
|
433
|
+
function E(e, w) {
|
|
434
|
+
var E = this.__data__, D = T(E, e);
|
|
435
|
+
return D < 0 ? (++this.size, E.push([e, w])) : E[D][1] = w, this;
|
|
436
|
+
}
|
|
437
|
+
w.exports = E;
|
|
438
|
+
})), require__ListCache = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
439
|
+
var T = require__listCacheClear(), E = require__listCacheDelete(), D = require__listCacheGet(), O = require__listCacheHas(), k = require__listCacheSet();
|
|
440
|
+
function A(e) {
|
|
441
|
+
var w = -1, T = e == null ? 0 : e.length;
|
|
442
|
+
for (this.clear(); ++w < T;) {
|
|
443
|
+
var E = e[w];
|
|
444
|
+
this.set(E[0], E[1]);
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
A.prototype.clear = T, A.prototype.delete = E, A.prototype.get = D, A.prototype.has = O, A.prototype.set = k, w.exports = A;
|
|
448
|
+
})), require__Map = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
449
|
+
w.exports = require__getNative()(require__root(), "Map");
|
|
450
|
+
})), require__mapCacheClear = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
451
|
+
var T = require__Hash(), E = require__ListCache(), D = require__Map();
|
|
452
|
+
function O() {
|
|
453
|
+
this.size = 0, this.__data__ = {
|
|
454
|
+
hash: new T(),
|
|
455
|
+
map: new (D || E)(),
|
|
456
|
+
string: new T()
|
|
457
|
+
};
|
|
458
|
+
}
|
|
459
|
+
w.exports = O;
|
|
460
|
+
})), require__isKeyable = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
461
|
+
function T(e) {
|
|
462
|
+
var w = typeof e;
|
|
463
|
+
return w == "string" || w == "number" || w == "symbol" || w == "boolean" ? e !== "__proto__" : e === null;
|
|
464
|
+
}
|
|
465
|
+
w.exports = T;
|
|
466
|
+
})), require__getMapData = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
467
|
+
var T = require__isKeyable();
|
|
468
|
+
function E(e, w) {
|
|
469
|
+
var E = e.__data__;
|
|
470
|
+
return T(w) ? E[typeof w == "string" ? "string" : "hash"] : E.map;
|
|
471
|
+
}
|
|
472
|
+
w.exports = E;
|
|
473
|
+
})), require__mapCacheDelete = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
474
|
+
var T = require__getMapData();
|
|
475
|
+
function E(e) {
|
|
476
|
+
var w = T(this, e).delete(e);
|
|
477
|
+
return this.size -= w ? 1 : 0, w;
|
|
478
|
+
}
|
|
479
|
+
w.exports = E;
|
|
480
|
+
})), require__mapCacheGet = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
481
|
+
var T = require__getMapData();
|
|
482
|
+
function E(e) {
|
|
483
|
+
return T(this, e).get(e);
|
|
484
|
+
}
|
|
485
|
+
w.exports = E;
|
|
486
|
+
})), require__mapCacheHas = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
487
|
+
var T = require__getMapData();
|
|
488
|
+
function E(e) {
|
|
489
|
+
return T(this, e).has(e);
|
|
490
|
+
}
|
|
491
|
+
w.exports = E;
|
|
492
|
+
})), require__mapCacheSet = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
493
|
+
var T = require__getMapData();
|
|
494
|
+
function E(e, w) {
|
|
495
|
+
var E = T(this, e), D = E.size;
|
|
496
|
+
return E.set(e, w), this.size += E.size == D ? 0 : 1, this;
|
|
497
|
+
}
|
|
498
|
+
w.exports = E;
|
|
499
|
+
})), require__MapCache = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
500
|
+
var T = require__mapCacheClear(), E = require__mapCacheDelete(), D = require__mapCacheGet(), O = require__mapCacheHas(), k = require__mapCacheSet();
|
|
501
|
+
function A(e) {
|
|
502
|
+
var w = -1, T = e == null ? 0 : e.length;
|
|
503
|
+
for (this.clear(); ++w < T;) {
|
|
504
|
+
var E = e[w];
|
|
505
|
+
this.set(E[0], E[1]);
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
A.prototype.clear = T, A.prototype.delete = E, A.prototype.get = D, A.prototype.has = O, A.prototype.set = k, w.exports = A;
|
|
509
|
+
})), require_memoize = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
510
|
+
var T = require__MapCache(), E = "Expected a function";
|
|
511
|
+
function D(e, w) {
|
|
512
|
+
if (typeof e != "function" || w != null && typeof w != "function") throw TypeError(E);
|
|
513
|
+
var O = function() {
|
|
514
|
+
var T = arguments, E = w ? w.apply(this, T) : T[0], D = O.cache;
|
|
515
|
+
if (D.has(E)) return D.get(E);
|
|
516
|
+
var k = e.apply(this, T);
|
|
517
|
+
return O.cache = D.set(E, k) || D, k;
|
|
518
|
+
};
|
|
519
|
+
return O.cache = new (D.Cache || T)(), O;
|
|
520
|
+
}
|
|
521
|
+
D.Cache = T, w.exports = D;
|
|
522
|
+
})), require__memoizeCapped = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
523
|
+
var T = require_memoize(), E = 500;
|
|
524
|
+
function D(e) {
|
|
525
|
+
var w = T(e, function(e) {
|
|
526
|
+
return D.size === E && D.clear(), e;
|
|
527
|
+
}), D = w.cache;
|
|
528
|
+
return w;
|
|
529
|
+
}
|
|
530
|
+
w.exports = D;
|
|
531
|
+
})), require__stringToPath = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
532
|
+
var T = require__memoizeCapped(), E = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, D = /\\(\\)?/g;
|
|
533
|
+
w.exports = T(function(e) {
|
|
534
|
+
var w = [];
|
|
535
|
+
return e.charCodeAt(0) === 46 && w.push(""), e.replace(E, function(e, T, E, O) {
|
|
536
|
+
w.push(E ? O.replace(D, "$1") : T || e);
|
|
537
|
+
}), w;
|
|
538
|
+
});
|
|
539
|
+
})), require__baseToString = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
540
|
+
var T = require__Symbol(), E = require__arrayMap(), D = require_isArray(), O = require_isSymbol(), k = Infinity, A = T ? T.prototype : void 0, j = A ? A.toString : void 0;
|
|
541
|
+
function M(e) {
|
|
542
|
+
if (typeof e == "string") return e;
|
|
543
|
+
if (D(e)) return E(e, M) + "";
|
|
544
|
+
if (O(e)) return j ? j.call(e) : "";
|
|
545
|
+
var w = e + "";
|
|
546
|
+
return w == "0" && 1 / e == -k ? "-0" : w;
|
|
547
|
+
}
|
|
548
|
+
w.exports = M;
|
|
549
|
+
})), require_toString = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
550
|
+
var T = require__baseToString();
|
|
551
|
+
function E(e) {
|
|
552
|
+
return e == null ? "" : T(e);
|
|
553
|
+
}
|
|
554
|
+
w.exports = E;
|
|
555
|
+
})), require__castPath = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
556
|
+
var T = require_isArray(), E = require__isKey(), D = require__stringToPath(), O = require_toString();
|
|
557
|
+
function k(e, w) {
|
|
558
|
+
return T(e) ? e : E(e, w) ? [e] : D(O(e));
|
|
559
|
+
}
|
|
560
|
+
w.exports = k;
|
|
561
|
+
})), require__toKey = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
562
|
+
var T = require_isSymbol(), E = Infinity;
|
|
563
|
+
function D(e) {
|
|
564
|
+
if (typeof e == "string" || T(e)) return e;
|
|
565
|
+
var w = e + "";
|
|
566
|
+
return w == "0" && 1 / e == -E ? "-0" : w;
|
|
567
|
+
}
|
|
568
|
+
w.exports = D;
|
|
569
|
+
})), require__baseGet = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
570
|
+
var T = require__castPath(), E = require__toKey();
|
|
571
|
+
function D(e, w) {
|
|
572
|
+
w = T(w, e);
|
|
573
|
+
for (var D = 0, O = w.length; e != null && D < O;) e = e[E(w[D++])];
|
|
574
|
+
return D && D == O ? e : void 0;
|
|
575
|
+
}
|
|
576
|
+
w.exports = D;
|
|
577
|
+
})), require__stackClear = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
578
|
+
var T = require__ListCache();
|
|
579
|
+
function E() {
|
|
580
|
+
this.__data__ = new T(), this.size = 0;
|
|
581
|
+
}
|
|
582
|
+
w.exports = E;
|
|
583
|
+
})), require__stackDelete = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
584
|
+
function T(e) {
|
|
585
|
+
var w = this.__data__, T = w.delete(e);
|
|
586
|
+
return this.size = w.size, T;
|
|
587
|
+
}
|
|
588
|
+
w.exports = T;
|
|
589
|
+
})), require__stackGet = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
590
|
+
function T(e) {
|
|
591
|
+
return this.__data__.get(e);
|
|
592
|
+
}
|
|
593
|
+
w.exports = T;
|
|
594
|
+
})), require__stackHas = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
595
|
+
function T(e) {
|
|
596
|
+
return this.__data__.has(e);
|
|
597
|
+
}
|
|
598
|
+
w.exports = T;
|
|
599
|
+
})), require__stackSet = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
600
|
+
var T = require__ListCache(), E = require__Map(), D = require__MapCache(), O = 200;
|
|
601
|
+
function k(e, w) {
|
|
602
|
+
var k = this.__data__;
|
|
603
|
+
if (k instanceof T) {
|
|
604
|
+
var A = k.__data__;
|
|
605
|
+
if (!E || A.length < O - 1) return A.push([e, w]), this.size = ++k.size, this;
|
|
606
|
+
k = this.__data__ = new D(A);
|
|
607
|
+
}
|
|
608
|
+
return k.set(e, w), this.size = k.size, this;
|
|
609
|
+
}
|
|
610
|
+
w.exports = k;
|
|
611
|
+
})), require__Stack = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
612
|
+
var T = require__ListCache(), E = require__stackClear(), D = require__stackDelete(), O = require__stackGet(), k = require__stackHas(), A = require__stackSet();
|
|
613
|
+
function j(e) {
|
|
614
|
+
this.size = (this.__data__ = new T(e)).size;
|
|
615
|
+
}
|
|
616
|
+
j.prototype.clear = E, j.prototype.delete = D, j.prototype.get = O, j.prototype.has = k, j.prototype.set = A, w.exports = j;
|
|
617
|
+
})), require__setCacheAdd = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
618
|
+
var T = "__lodash_hash_undefined__";
|
|
619
|
+
function E(e) {
|
|
620
|
+
return this.__data__.set(e, T), this;
|
|
621
|
+
}
|
|
622
|
+
w.exports = E;
|
|
623
|
+
})), require__setCacheHas = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
624
|
+
function T(e) {
|
|
625
|
+
return this.__data__.has(e);
|
|
626
|
+
}
|
|
627
|
+
w.exports = T;
|
|
628
|
+
})), require__SetCache = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
629
|
+
var T = require__MapCache(), E = require__setCacheAdd(), D = require__setCacheHas();
|
|
630
|
+
function O(e) {
|
|
631
|
+
var w = -1, E = e == null ? 0 : e.length;
|
|
632
|
+
for (this.__data__ = new T(); ++w < E;) this.add(e[w]);
|
|
633
|
+
}
|
|
634
|
+
O.prototype.add = O.prototype.push = E, O.prototype.has = D, w.exports = O;
|
|
635
|
+
})), require__arraySome = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
636
|
+
function T(e, w) {
|
|
637
|
+
for (var T = -1, E = e == null ? 0 : e.length; ++T < E;) if (w(e[T], T, e)) return !0;
|
|
638
|
+
return !1;
|
|
639
|
+
}
|
|
640
|
+
w.exports = T;
|
|
641
|
+
})), require__cacheHas = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
642
|
+
function T(e, w) {
|
|
643
|
+
return e.has(w);
|
|
644
|
+
}
|
|
645
|
+
w.exports = T;
|
|
646
|
+
})), require__equalArrays = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
647
|
+
var T = require__SetCache(), E = require__arraySome(), D = require__cacheHas(), O = 1, k = 2;
|
|
648
|
+
function A(e, w, A, j, M, N) {
|
|
649
|
+
var P = A & O, F = e.length, I = w.length;
|
|
650
|
+
if (F != I && !(P && I > F)) return !1;
|
|
651
|
+
var L = N.get(e), R = N.get(w);
|
|
652
|
+
if (L && R) return L == w && R == e;
|
|
653
|
+
var z = -1, B = !0, V = A & k ? new T() : void 0;
|
|
654
|
+
for (N.set(e, w), N.set(w, e); ++z < F;) {
|
|
655
|
+
var H = e[z], U = w[z];
|
|
656
|
+
if (j) var W = P ? j(U, H, z, w, e, N) : j(H, U, z, e, w, N);
|
|
657
|
+
if (W !== void 0) {
|
|
658
|
+
if (W) continue;
|
|
659
|
+
B = !1;
|
|
660
|
+
break;
|
|
661
|
+
}
|
|
662
|
+
if (V) {
|
|
663
|
+
if (!E(w, function(e, w) {
|
|
664
|
+
if (!D(V, w) && (H === e || M(H, e, A, j, N))) return V.push(w);
|
|
665
|
+
})) {
|
|
666
|
+
B = !1;
|
|
667
|
+
break;
|
|
668
|
+
}
|
|
669
|
+
} else if (!(H === U || M(H, U, A, j, N))) {
|
|
670
|
+
B = !1;
|
|
671
|
+
break;
|
|
672
|
+
}
|
|
673
|
+
}
|
|
674
|
+
return N.delete(e), N.delete(w), B;
|
|
675
|
+
}
|
|
676
|
+
w.exports = A;
|
|
677
|
+
})), require__Uint8Array = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
678
|
+
w.exports = require__root().Uint8Array;
|
|
679
|
+
})), require__mapToArray = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
680
|
+
function T(e) {
|
|
681
|
+
var w = -1, T = Array(e.size);
|
|
682
|
+
return e.forEach(function(e, E) {
|
|
683
|
+
T[++w] = [E, e];
|
|
684
|
+
}), T;
|
|
685
|
+
}
|
|
686
|
+
w.exports = T;
|
|
687
|
+
})), require__setToArray = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
688
|
+
function T(e) {
|
|
689
|
+
var w = -1, T = Array(e.size);
|
|
690
|
+
return e.forEach(function(e) {
|
|
691
|
+
T[++w] = e;
|
|
692
|
+
}), T;
|
|
693
|
+
}
|
|
694
|
+
w.exports = T;
|
|
695
|
+
})), require__equalByTag = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
696
|
+
var T = require__Symbol(), E = require__Uint8Array(), D = require_eq(), O = require__equalArrays(), k = require__mapToArray(), A = require__setToArray(), j = 1, M = 2, N = "[object Boolean]", P = "[object Date]", F = "[object Error]", I = "[object Map]", L = "[object Number]", R = "[object RegExp]", z = "[object Set]", B = "[object String]", V = "[object Symbol]", H = "[object ArrayBuffer]", U = "[object DataView]", W = T ? T.prototype : void 0, G = W ? W.valueOf : void 0;
|
|
697
|
+
function K(e, w, T, W, K, q, J) {
|
|
698
|
+
switch (T) {
|
|
699
|
+
case U:
|
|
700
|
+
if (e.byteLength != w.byteLength || e.byteOffset != w.byteOffset) return !1;
|
|
701
|
+
e = e.buffer, w = w.buffer;
|
|
702
|
+
case H: return !(e.byteLength != w.byteLength || !q(new E(e), new E(w)));
|
|
703
|
+
case N:
|
|
704
|
+
case P:
|
|
705
|
+
case L: return D(+e, +w);
|
|
706
|
+
case F: return e.name == w.name && e.message == w.message;
|
|
707
|
+
case R:
|
|
708
|
+
case B: return e == w + "";
|
|
709
|
+
case I: var Y = k;
|
|
710
|
+
case z:
|
|
711
|
+
var X = W & j;
|
|
712
|
+
if (Y || (Y = A), e.size != w.size && !X) return !1;
|
|
713
|
+
var Z = J.get(e);
|
|
714
|
+
if (Z) return Z == w;
|
|
715
|
+
W |= M, J.set(e, w);
|
|
716
|
+
var Q = O(Y(e), Y(w), W, K, q, J);
|
|
717
|
+
return J.delete(e), Q;
|
|
718
|
+
case V: if (G) return G.call(e) == G.call(w);
|
|
719
|
+
}
|
|
720
|
+
return !1;
|
|
721
|
+
}
|
|
722
|
+
w.exports = K;
|
|
723
|
+
})), require__baseGetAllKeys = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
724
|
+
var T = require__arrayPush(), E = require_isArray();
|
|
725
|
+
function D(e, w, D) {
|
|
726
|
+
var O = w(e);
|
|
727
|
+
return E(e) ? O : T(O, D(e));
|
|
728
|
+
}
|
|
729
|
+
w.exports = D;
|
|
730
|
+
})), require__arrayFilter = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
731
|
+
function T(e, w) {
|
|
732
|
+
for (var T = -1, E = e == null ? 0 : e.length, D = 0, O = []; ++T < E;) {
|
|
733
|
+
var k = e[T];
|
|
734
|
+
w(k, T, e) && (O[D++] = k);
|
|
735
|
+
}
|
|
736
|
+
return O;
|
|
737
|
+
}
|
|
738
|
+
w.exports = T;
|
|
739
|
+
})), require_stubArray = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
740
|
+
function T() {
|
|
741
|
+
return [];
|
|
742
|
+
}
|
|
743
|
+
w.exports = T;
|
|
744
|
+
})), require__getSymbols = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
745
|
+
var T = require__arrayFilter(), E = require_stubArray(), D = Object.prototype.propertyIsEnumerable, O = Object.getOwnPropertySymbols;
|
|
746
|
+
w.exports = O ? function(e) {
|
|
747
|
+
return e == null ? [] : (e = Object(e), T(O(e), function(w) {
|
|
748
|
+
return D.call(e, w);
|
|
749
|
+
}));
|
|
750
|
+
} : E;
|
|
751
|
+
})), require__baseTimes = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
752
|
+
function T(e, w) {
|
|
753
|
+
for (var T = -1, E = Array(e); ++T < e;) E[T] = w(T);
|
|
754
|
+
return E;
|
|
755
|
+
}
|
|
756
|
+
w.exports = T;
|
|
757
|
+
})), require_stubFalse = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
758
|
+
function T() {
|
|
759
|
+
return !1;
|
|
760
|
+
}
|
|
761
|
+
w.exports = T;
|
|
762
|
+
})), require_isBuffer = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
763
|
+
var T = require__root(), E = require_stubFalse(), D = typeof e == "object" && e && !e.nodeType && e, O = D && typeof w == "object" && w && !w.nodeType && w, k = O && O.exports === D ? T.Buffer : void 0;
|
|
764
|
+
w.exports = (k ? k.isBuffer : void 0) || E;
|
|
765
|
+
})), require__isIndex = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
766
|
+
var T = 9007199254740991, E = /^(?:0|[1-9]\d*)$/;
|
|
767
|
+
function D(e, w) {
|
|
768
|
+
var D = typeof e;
|
|
769
|
+
return w = w == null ? T : w, !!w && (D == "number" || D != "symbol" && E.test(e)) && e > -1 && e % 1 == 0 && e < w;
|
|
770
|
+
}
|
|
771
|
+
w.exports = D;
|
|
772
|
+
})), require_isLength = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
773
|
+
var T = 9007199254740991;
|
|
774
|
+
function E(e) {
|
|
775
|
+
return typeof e == "number" && e > -1 && e % 1 == 0 && e <= T;
|
|
776
|
+
}
|
|
777
|
+
w.exports = E;
|
|
778
|
+
})), require__baseIsTypedArray = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
779
|
+
var T = require__baseGetTag(), E = require_isLength(), D = require_isObjectLike(), O = "[object Arguments]", k = "[object Array]", A = "[object Boolean]", j = "[object Date]", M = "[object Error]", N = "[object Function]", P = "[object Map]", F = "[object Number]", I = "[object Object]", L = "[object RegExp]", R = "[object Set]", z = "[object String]", B = "[object WeakMap]", V = "[object ArrayBuffer]", H = "[object DataView]", U = "[object Float32Array]", W = "[object Float64Array]", G = "[object Int8Array]", K = "[object Int16Array]", q = "[object Int32Array]", J = "[object Uint8Array]", Y = "[object Uint8ClampedArray]", X = "[object Uint16Array]", Z = "[object Uint32Array]", Q = {};
|
|
780
|
+
Q[U] = Q[W] = Q[G] = Q[K] = Q[q] = Q[J] = Q[Y] = Q[X] = Q[Z] = !0, Q[O] = Q[k] = Q[V] = Q[A] = Q[H] = Q[j] = Q[M] = Q[N] = Q[P] = Q[F] = Q[I] = Q[L] = Q[R] = Q[z] = Q[B] = !1;
|
|
781
|
+
function $(e) {
|
|
782
|
+
return D(e) && E(e.length) && !!Q[T(e)];
|
|
783
|
+
}
|
|
784
|
+
w.exports = $;
|
|
785
|
+
})), require__baseUnary = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
786
|
+
function T(e) {
|
|
787
|
+
return function(w) {
|
|
788
|
+
return e(w);
|
|
789
|
+
};
|
|
790
|
+
}
|
|
791
|
+
w.exports = T;
|
|
792
|
+
})), require__nodeUtil = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
793
|
+
var T = require__freeGlobal(), E = typeof e == "object" && e && !e.nodeType && e, D = E && typeof w == "object" && w && !w.nodeType && w, O = D && D.exports === E && T.process;
|
|
794
|
+
w.exports = function() {
|
|
795
|
+
try {
|
|
796
|
+
return D && D.require && D.require("util").types || O && O.binding && O.binding("util");
|
|
797
|
+
} catch (e) {}
|
|
798
|
+
}();
|
|
799
|
+
})), require_isTypedArray = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
800
|
+
var T = require__baseIsTypedArray(), E = require__baseUnary(), D = require__nodeUtil(), O = D && D.isTypedArray;
|
|
801
|
+
w.exports = O ? E(O) : T;
|
|
802
|
+
})), require__arrayLikeKeys = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
803
|
+
var T = require__baseTimes(), E = require_isArguments(), D = require_isArray(), O = require_isBuffer(), k = require__isIndex(), A = require_isTypedArray(), j = Object.prototype.hasOwnProperty;
|
|
804
|
+
function M(e, w) {
|
|
805
|
+
var M = D(e), N = !M && E(e), P = !M && !N && O(e), F = !M && !N && !P && A(e), I = M || N || P || F, L = I ? T(e.length, String) : [], R = L.length;
|
|
806
|
+
for (var z in e) (w || j.call(e, z)) && !(I && (z == "length" || P && (z == "offset" || z == "parent") || F && (z == "buffer" || z == "byteLength" || z == "byteOffset") || k(z, R))) && L.push(z);
|
|
807
|
+
return L;
|
|
808
|
+
}
|
|
809
|
+
w.exports = M;
|
|
810
|
+
})), require__isPrototype = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
811
|
+
var T = Object.prototype;
|
|
812
|
+
function E(e) {
|
|
813
|
+
var w = e && e.constructor;
|
|
814
|
+
return e === (typeof w == "function" && w.prototype || T);
|
|
815
|
+
}
|
|
816
|
+
w.exports = E;
|
|
817
|
+
})), require__overArg = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
818
|
+
function T(e, w) {
|
|
819
|
+
return function(T) {
|
|
820
|
+
return e(w(T));
|
|
821
|
+
};
|
|
822
|
+
}
|
|
823
|
+
w.exports = T;
|
|
824
|
+
})), require__nativeKeys = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
825
|
+
w.exports = require__overArg()(Object.keys, Object);
|
|
826
|
+
})), require__baseKeys = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
827
|
+
var T = require__isPrototype(), E = require__nativeKeys(), D = Object.prototype.hasOwnProperty;
|
|
828
|
+
function O(e) {
|
|
829
|
+
if (!T(e)) return E(e);
|
|
830
|
+
var w = [];
|
|
831
|
+
for (var O in Object(e)) D.call(e, O) && O != "constructor" && w.push(O);
|
|
832
|
+
return w;
|
|
833
|
+
}
|
|
834
|
+
w.exports = O;
|
|
835
|
+
})), require_isArrayLike = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
836
|
+
var T = require_isFunction(), E = require_isLength();
|
|
837
|
+
function D(e) {
|
|
838
|
+
return e != null && E(e.length) && !T(e);
|
|
839
|
+
}
|
|
840
|
+
w.exports = D;
|
|
841
|
+
})), require_keys = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
842
|
+
var T = require__arrayLikeKeys(), E = require__baseKeys(), D = require_isArrayLike();
|
|
843
|
+
function O(e) {
|
|
844
|
+
return D(e) ? T(e) : E(e);
|
|
845
|
+
}
|
|
846
|
+
w.exports = O;
|
|
847
|
+
})), require__getAllKeys = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
848
|
+
var T = require__baseGetAllKeys(), E = require__getSymbols(), D = require_keys();
|
|
849
|
+
function O(e) {
|
|
850
|
+
return T(e, D, E);
|
|
851
|
+
}
|
|
852
|
+
w.exports = O;
|
|
853
|
+
})), require__equalObjects = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
854
|
+
var T = require__getAllKeys(), E = 1, D = Object.prototype.hasOwnProperty;
|
|
855
|
+
function O(e, w, O, k, A, j) {
|
|
856
|
+
var M = O & E, N = T(e), P = N.length;
|
|
857
|
+
if (P != T(w).length && !M) return !1;
|
|
858
|
+
for (var F = P; F--;) {
|
|
859
|
+
var I = N[F];
|
|
860
|
+
if (!(M ? I in w : D.call(w, I))) return !1;
|
|
861
|
+
}
|
|
862
|
+
var L = j.get(e), R = j.get(w);
|
|
863
|
+
if (L && R) return L == w && R == e;
|
|
864
|
+
var z = !0;
|
|
865
|
+
j.set(e, w), j.set(w, e);
|
|
866
|
+
for (var B = M; ++F < P;) {
|
|
867
|
+
I = N[F];
|
|
868
|
+
var V = e[I], H = w[I];
|
|
869
|
+
if (k) var U = M ? k(H, V, I, w, e, j) : k(V, H, I, e, w, j);
|
|
870
|
+
if (!(U === void 0 ? V === H || A(V, H, O, k, j) : U)) {
|
|
871
|
+
z = !1;
|
|
872
|
+
break;
|
|
873
|
+
}
|
|
874
|
+
B || (B = I == "constructor");
|
|
875
|
+
}
|
|
876
|
+
if (z && !B) {
|
|
877
|
+
var W = e.constructor, G = w.constructor;
|
|
878
|
+
W != G && "constructor" in e && "constructor" in w && !(typeof W == "function" && W instanceof W && typeof G == "function" && G instanceof G) && (z = !1);
|
|
879
|
+
}
|
|
880
|
+
return j.delete(e), j.delete(w), z;
|
|
881
|
+
}
|
|
882
|
+
w.exports = O;
|
|
883
|
+
})), require__DataView = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
884
|
+
w.exports = require__getNative()(require__root(), "DataView");
|
|
885
|
+
})), require__Promise = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
886
|
+
w.exports = require__getNative()(require__root(), "Promise");
|
|
887
|
+
})), require__Set = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
888
|
+
w.exports = require__getNative()(require__root(), "Set");
|
|
889
|
+
})), require__WeakMap = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
890
|
+
w.exports = require__getNative()(require__root(), "WeakMap");
|
|
891
|
+
})), require__getTag = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
892
|
+
var T = require__DataView(), E = require__Map(), D = require__Promise(), O = require__Set(), k = require__WeakMap(), A = require__baseGetTag(), j = require__toSource(), M = "[object Map]", N = "[object Object]", P = "[object Promise]", F = "[object Set]", I = "[object WeakMap]", L = "[object DataView]", R = j(T), z = j(E), B = j(D), V = j(O), H = j(k), U = A;
|
|
893
|
+
(T && U(new T(/* @__PURE__ */ new ArrayBuffer(1))) != L || E && U(new E()) != M || D && U(D.resolve()) != P || O && U(new O()) != F || k && U(new k()) != I) && (U = function(e) {
|
|
894
|
+
var w = A(e), T = w == N ? e.constructor : void 0, E = T ? j(T) : "";
|
|
895
|
+
if (E) switch (E) {
|
|
896
|
+
case R: return L;
|
|
897
|
+
case z: return M;
|
|
898
|
+
case B: return P;
|
|
899
|
+
case V: return F;
|
|
900
|
+
case H: return I;
|
|
901
|
+
}
|
|
902
|
+
return w;
|
|
903
|
+
}), w.exports = U;
|
|
904
|
+
})), require__baseIsEqualDeep = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
905
|
+
var T = require__Stack(), E = require__equalArrays(), D = require__equalByTag(), O = require__equalObjects(), k = require__getTag(), A = require_isArray(), j = require_isBuffer(), M = require_isTypedArray(), N = 1, P = "[object Arguments]", F = "[object Array]", I = "[object Object]", L = Object.prototype.hasOwnProperty;
|
|
906
|
+
function R(e, w, R, z, B, V) {
|
|
907
|
+
var H = A(e), U = A(w), W = H ? F : k(e), G = U ? F : k(w);
|
|
908
|
+
W = W == P ? I : W, G = G == P ? I : G;
|
|
909
|
+
var K = W == I, q = G == I, J = W == G;
|
|
910
|
+
if (J && j(e)) {
|
|
911
|
+
if (!j(w)) return !1;
|
|
912
|
+
H = !0, K = !1;
|
|
913
|
+
}
|
|
914
|
+
if (J && !K) return V || (V = new T()), H || M(e) ? E(e, w, R, z, B, V) : D(e, w, W, R, z, B, V);
|
|
915
|
+
if (!(R & N)) {
|
|
916
|
+
var Y = K && L.call(e, "__wrapped__"), X = q && L.call(w, "__wrapped__");
|
|
917
|
+
if (Y || X) {
|
|
918
|
+
var Z = Y ? e.value() : e, Q = X ? w.value() : w;
|
|
919
|
+
return V || (V = new T()), B(Z, Q, R, z, V);
|
|
920
|
+
}
|
|
921
|
+
}
|
|
922
|
+
return J ? (V || (V = new T()), O(e, w, R, z, B, V)) : !1;
|
|
923
|
+
}
|
|
924
|
+
w.exports = R;
|
|
925
|
+
})), require__baseIsEqual = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
926
|
+
var T = require__baseIsEqualDeep(), E = require_isObjectLike();
|
|
927
|
+
function D(e, w, O, k, A) {
|
|
928
|
+
return e === w ? !0 : e == null || w == null || !E(e) && !E(w) ? e !== e && w !== w : T(e, w, O, k, D, A);
|
|
929
|
+
}
|
|
930
|
+
w.exports = D;
|
|
931
|
+
})), require__baseIsMatch = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
932
|
+
var T = require__Stack(), E = require__baseIsEqual(), D = 1, O = 2;
|
|
933
|
+
function k(e, w, k, A) {
|
|
934
|
+
var j = k.length, M = j, N = !A;
|
|
935
|
+
if (e == null) return !M;
|
|
936
|
+
for (e = Object(e); j--;) {
|
|
937
|
+
var P = k[j];
|
|
938
|
+
if (N && P[2] ? P[1] !== e[P[0]] : !(P[0] in e)) return !1;
|
|
939
|
+
}
|
|
940
|
+
for (; ++j < M;) {
|
|
941
|
+
P = k[j];
|
|
942
|
+
var F = P[0], I = e[F], L = P[1];
|
|
943
|
+
if (N && P[2]) {
|
|
944
|
+
if (I === void 0 && !(F in e)) return !1;
|
|
945
|
+
} else {
|
|
946
|
+
var R = new T();
|
|
947
|
+
if (A) var z = A(I, L, F, e, w, R);
|
|
948
|
+
if (!(z === void 0 ? E(L, I, D | O, A, R) : z)) return !1;
|
|
949
|
+
}
|
|
950
|
+
}
|
|
951
|
+
return !0;
|
|
952
|
+
}
|
|
953
|
+
w.exports = k;
|
|
954
|
+
})), require__isStrictComparable = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
955
|
+
var T = require_isObject();
|
|
956
|
+
function E(e) {
|
|
957
|
+
return e === e && !T(e);
|
|
958
|
+
}
|
|
959
|
+
w.exports = E;
|
|
960
|
+
})), require__getMatchData = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
961
|
+
var T = require__isStrictComparable(), E = require_keys();
|
|
962
|
+
function D(e) {
|
|
963
|
+
for (var w = E(e), D = w.length; D--;) {
|
|
964
|
+
var O = w[D], k = e[O];
|
|
965
|
+
w[D] = [
|
|
966
|
+
O,
|
|
967
|
+
k,
|
|
968
|
+
T(k)
|
|
969
|
+
];
|
|
970
|
+
}
|
|
971
|
+
return w;
|
|
972
|
+
}
|
|
973
|
+
w.exports = D;
|
|
974
|
+
})), require__matchesStrictComparable = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
975
|
+
function T(e, w) {
|
|
976
|
+
return function(T) {
|
|
977
|
+
return T == null ? !1 : T[e] === w && (w !== void 0 || e in Object(T));
|
|
978
|
+
};
|
|
979
|
+
}
|
|
980
|
+
w.exports = T;
|
|
981
|
+
})), require__baseMatches = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
982
|
+
var T = require__baseIsMatch(), E = require__getMatchData(), D = require__matchesStrictComparable();
|
|
983
|
+
function O(e) {
|
|
984
|
+
var w = E(e);
|
|
985
|
+
return w.length == 1 && w[0][2] ? D(w[0][0], w[0][1]) : function(E) {
|
|
986
|
+
return E === e || T(E, e, w);
|
|
987
|
+
};
|
|
988
|
+
}
|
|
989
|
+
w.exports = O;
|
|
990
|
+
})), require_get = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
991
|
+
var T = require__baseGet();
|
|
992
|
+
function E(e, w, E) {
|
|
993
|
+
var D = e == null ? void 0 : T(e, w);
|
|
994
|
+
return D === void 0 ? E : D;
|
|
995
|
+
}
|
|
996
|
+
w.exports = E;
|
|
997
|
+
})), require__baseHasIn = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
998
|
+
function T(e, w) {
|
|
999
|
+
return e != null && w in Object(e);
|
|
1000
|
+
}
|
|
1001
|
+
w.exports = T;
|
|
1002
|
+
})), require__hasPath = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
1003
|
+
var T = require__castPath(), E = require_isArguments(), D = require_isArray(), O = require__isIndex(), k = require_isLength(), A = require__toKey();
|
|
1004
|
+
function j(e, w, j) {
|
|
1005
|
+
w = T(w, e);
|
|
1006
|
+
for (var M = -1, N = w.length, P = !1; ++M < N;) {
|
|
1007
|
+
var F = A(w[M]);
|
|
1008
|
+
if (!(P = e != null && j(e, F))) break;
|
|
1009
|
+
e = e[F];
|
|
1010
|
+
}
|
|
1011
|
+
return P || ++M != N ? P : (N = e == null ? 0 : e.length, !!N && k(N) && O(F, N) && (D(e) || E(e)));
|
|
1012
|
+
}
|
|
1013
|
+
w.exports = j;
|
|
1014
|
+
})), require_hasIn = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
1015
|
+
var T = require__baseHasIn(), E = require__hasPath();
|
|
1016
|
+
function D(e, w) {
|
|
1017
|
+
return e != null && E(e, w, T);
|
|
1018
|
+
}
|
|
1019
|
+
w.exports = D;
|
|
1020
|
+
})), require__baseMatchesProperty = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
1021
|
+
var T = require__baseIsEqual(), E = require_get(), D = require_hasIn(), O = require__isKey(), k = require__isStrictComparable(), A = require__matchesStrictComparable(), j = require__toKey(), M = 1, N = 2;
|
|
1022
|
+
function P(e, w) {
|
|
1023
|
+
return O(e) && k(w) ? A(j(e), w) : function(O) {
|
|
1024
|
+
var k = E(O, e);
|
|
1025
|
+
return k === void 0 && k === w ? D(O, e) : T(w, k, M | N);
|
|
1026
|
+
};
|
|
1027
|
+
}
|
|
1028
|
+
w.exports = P;
|
|
1029
|
+
})), require_identity = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
1030
|
+
function T(e) {
|
|
1031
|
+
return e;
|
|
1032
|
+
}
|
|
1033
|
+
w.exports = T;
|
|
1034
|
+
})), require__baseProperty = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
1035
|
+
function T(e) {
|
|
1036
|
+
return function(w) {
|
|
1037
|
+
return w == null ? void 0 : w[e];
|
|
1038
|
+
};
|
|
1039
|
+
}
|
|
1040
|
+
w.exports = T;
|
|
1041
|
+
})), require__basePropertyDeep = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
1042
|
+
var T = require__baseGet();
|
|
1043
|
+
function E(e) {
|
|
1044
|
+
return function(w) {
|
|
1045
|
+
return T(w, e);
|
|
1046
|
+
};
|
|
1047
|
+
}
|
|
1048
|
+
w.exports = E;
|
|
1049
|
+
})), require_property = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
1050
|
+
var T = require__baseProperty(), E = require__basePropertyDeep(), D = require__isKey(), O = require__toKey();
|
|
1051
|
+
function k(e) {
|
|
1052
|
+
return D(e) ? T(O(e)) : E(e);
|
|
1053
|
+
}
|
|
1054
|
+
w.exports = k;
|
|
1055
|
+
})), require__baseIteratee = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
1056
|
+
var T = require__baseMatches(), E = require__baseMatchesProperty(), D = require_identity(), O = require_isArray(), k = require_property();
|
|
1057
|
+
function A(e) {
|
|
1058
|
+
return typeof e == "function" ? e : e == null ? D : typeof e == "object" ? O(e) ? E(e[0], e[1]) : T(e) : k(e);
|
|
1059
|
+
}
|
|
1060
|
+
w.exports = A;
|
|
1061
|
+
})), require__createBaseFor = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
1062
|
+
function T(e) {
|
|
1063
|
+
return function(w, T, E) {
|
|
1064
|
+
for (var D = -1, O = Object(w), k = E(w), A = k.length; A--;) {
|
|
1065
|
+
var j = k[e ? A : ++D];
|
|
1066
|
+
if (T(O[j], j, O) === !1) break;
|
|
1067
|
+
}
|
|
1068
|
+
return w;
|
|
1069
|
+
};
|
|
1070
|
+
}
|
|
1071
|
+
w.exports = T;
|
|
1072
|
+
})), require__baseFor = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
1073
|
+
w.exports = require__createBaseFor()();
|
|
1074
|
+
})), require__baseForOwn = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
1075
|
+
var T = require__baseFor(), E = require_keys();
|
|
1076
|
+
function D(e, w) {
|
|
1077
|
+
return e && T(e, w, E);
|
|
1078
|
+
}
|
|
1079
|
+
w.exports = D;
|
|
1080
|
+
})), require__createBaseEach = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
1081
|
+
var T = require_isArrayLike();
|
|
1082
|
+
function E(e, w) {
|
|
1083
|
+
return function(E, D) {
|
|
1084
|
+
if (E == null) return E;
|
|
1085
|
+
if (!T(E)) return e(E, D);
|
|
1086
|
+
for (var O = E.length, k = w ? O : -1, A = Object(E); (w ? k-- : ++k < O) && D(A[k], k, A) !== !1;);
|
|
1087
|
+
return E;
|
|
1088
|
+
};
|
|
1089
|
+
}
|
|
1090
|
+
w.exports = E;
|
|
1091
|
+
})), require__baseEach = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
1092
|
+
var T = require__baseForOwn();
|
|
1093
|
+
w.exports = require__createBaseEach()(T);
|
|
1094
|
+
})), require__baseMap = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
1095
|
+
var T = require__baseEach(), E = require_isArrayLike();
|
|
1096
|
+
function D(e, w) {
|
|
1097
|
+
var D = -1, O = E(e) ? Array(e.length) : [];
|
|
1098
|
+
return T(e, function(e, T, E) {
|
|
1099
|
+
O[++D] = w(e, T, E);
|
|
1100
|
+
}), O;
|
|
1101
|
+
}
|
|
1102
|
+
w.exports = D;
|
|
1103
|
+
})), require__baseSortBy = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
1104
|
+
function T(e, w) {
|
|
1105
|
+
var T = e.length;
|
|
1106
|
+
for (e.sort(w); T--;) e[T] = e[T].value;
|
|
1107
|
+
return e;
|
|
1108
|
+
}
|
|
1109
|
+
w.exports = T;
|
|
1110
|
+
})), require__compareAscending = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
1111
|
+
var T = require_isSymbol();
|
|
1112
|
+
function E(e, w) {
|
|
1113
|
+
if (e !== w) {
|
|
1114
|
+
var E = e !== void 0, D = e === null, O = e === e, k = T(e), A = w !== void 0, j = w === null, M = w === w, N = T(w);
|
|
1115
|
+
if (!j && !N && !k && e > w || k && A && M && !j && !N || D && A && M || !E && M || !O) return 1;
|
|
1116
|
+
if (!D && !k && !N && e < w || N && E && O && !D && !k || j && E && O || !A && O || !M) return -1;
|
|
1117
|
+
}
|
|
1118
|
+
return 0;
|
|
1119
|
+
}
|
|
1120
|
+
w.exports = E;
|
|
1121
|
+
})), require__compareMultiple = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
1122
|
+
var T = require__compareAscending();
|
|
1123
|
+
function E(e, w, E) {
|
|
1124
|
+
for (var D = -1, O = e.criteria, k = w.criteria, A = O.length, j = E.length; ++D < A;) {
|
|
1125
|
+
var M = T(O[D], k[D]);
|
|
1126
|
+
if (M) return D >= j ? M : M * (E[D] == "desc" ? -1 : 1);
|
|
1127
|
+
}
|
|
1128
|
+
return e.index - w.index;
|
|
1129
|
+
}
|
|
1130
|
+
w.exports = E;
|
|
1131
|
+
})), require__baseOrderBy = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
1132
|
+
var T = require__arrayMap(), E = require__baseGet(), D = require__baseIteratee(), O = require__baseMap(), k = require__baseSortBy(), A = require__baseUnary(), j = require__compareMultiple(), M = require_identity(), N = require_isArray();
|
|
1133
|
+
function P(e, w, P) {
|
|
1134
|
+
w = w.length ? T(w, function(e) {
|
|
1135
|
+
return N(e) ? function(w) {
|
|
1136
|
+
return E(w, e.length === 1 ? e[0] : e);
|
|
1137
|
+
} : e;
|
|
1138
|
+
}) : [M];
|
|
1139
|
+
var F = -1;
|
|
1140
|
+
return w = T(w, A(D)), k(O(e, function(e, E, D) {
|
|
1141
|
+
return {
|
|
1142
|
+
criteria: T(w, function(w) {
|
|
1143
|
+
return w(e);
|
|
1144
|
+
}),
|
|
1145
|
+
index: ++F,
|
|
1146
|
+
value: e
|
|
1147
|
+
};
|
|
1148
|
+
}), function(e, w) {
|
|
1149
|
+
return j(e, w, P);
|
|
1150
|
+
});
|
|
1151
|
+
}
|
|
1152
|
+
w.exports = P;
|
|
1153
|
+
})), require__apply = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
1154
|
+
function T(e, w, T) {
|
|
1155
|
+
switch (T.length) {
|
|
1156
|
+
case 0: return e.call(w);
|
|
1157
|
+
case 1: return e.call(w, T[0]);
|
|
1158
|
+
case 2: return e.call(w, T[0], T[1]);
|
|
1159
|
+
case 3: return e.call(w, T[0], T[1], T[2]);
|
|
1160
|
+
}
|
|
1161
|
+
return e.apply(w, T);
|
|
1162
|
+
}
|
|
1163
|
+
w.exports = T;
|
|
1164
|
+
})), require__overRest = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
1165
|
+
var T = require__apply(), E = Math.max;
|
|
1166
|
+
function D(e, w, D) {
|
|
1167
|
+
return w = E(w === void 0 ? e.length - 1 : w, 0), function() {
|
|
1168
|
+
for (var O = arguments, k = -1, A = E(O.length - w, 0), j = Array(A); ++k < A;) j[k] = O[w + k];
|
|
1169
|
+
k = -1;
|
|
1170
|
+
for (var M = Array(w + 1); ++k < w;) M[k] = O[k];
|
|
1171
|
+
return M[w] = D(j), T(e, this, M);
|
|
1172
|
+
};
|
|
1173
|
+
}
|
|
1174
|
+
w.exports = D;
|
|
1175
|
+
})), require_constant = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
1176
|
+
function T(e) {
|
|
1177
|
+
return function() {
|
|
1178
|
+
return e;
|
|
1179
|
+
};
|
|
1180
|
+
}
|
|
1181
|
+
w.exports = T;
|
|
1182
|
+
})), require__defineProperty = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
1183
|
+
var T = require__getNative();
|
|
1184
|
+
w.exports = function() {
|
|
1185
|
+
try {
|
|
1186
|
+
var e = T(Object, "defineProperty");
|
|
1187
|
+
return e({}, "", {}), e;
|
|
1188
|
+
} catch (e) {}
|
|
1189
|
+
}();
|
|
1190
|
+
})), require__baseSetToString = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
1191
|
+
var T = require_constant(), E = require__defineProperty(), D = require_identity();
|
|
1192
|
+
w.exports = E ? function(e, w) {
|
|
1193
|
+
return E(e, "toString", {
|
|
1194
|
+
configurable: !0,
|
|
1195
|
+
enumerable: !1,
|
|
1196
|
+
value: T(w),
|
|
1197
|
+
writable: !0
|
|
1198
|
+
});
|
|
1199
|
+
} : D;
|
|
1200
|
+
})), require__shortOut = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
1201
|
+
var T = 800, E = 16, D = Date.now;
|
|
1202
|
+
function O(e) {
|
|
1203
|
+
var w = 0, O = 0;
|
|
1204
|
+
return function() {
|
|
1205
|
+
var k = D(), A = E - (k - O);
|
|
1206
|
+
if (O = k, A > 0) {
|
|
1207
|
+
if (++w >= T) return arguments[0];
|
|
1208
|
+
} else w = 0;
|
|
1209
|
+
return e.apply(void 0, arguments);
|
|
1210
|
+
};
|
|
1211
|
+
}
|
|
1212
|
+
w.exports = O;
|
|
1213
|
+
})), require__setToString = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
1214
|
+
var T = require__baseSetToString();
|
|
1215
|
+
w.exports = require__shortOut()(T);
|
|
1216
|
+
})), require__baseRest = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
1217
|
+
var T = require_identity(), E = require__overRest(), D = require__setToString();
|
|
1218
|
+
function O(e, w) {
|
|
1219
|
+
return D(E(e, w, T), e + "");
|
|
1220
|
+
}
|
|
1221
|
+
w.exports = O;
|
|
1222
|
+
})), require__isIterateeCall = /* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
1223
|
+
var T = require_eq(), E = require_isArrayLike(), D = require__isIndex(), O = require_isObject();
|
|
1224
|
+
function k(e, w, k) {
|
|
1225
|
+
if (!O(k)) return !1;
|
|
1226
|
+
var A = typeof w;
|
|
1227
|
+
return (A == "number" ? E(k) && D(w, k.length) : A == "string" && w in k) ? T(k[w], e) : !1;
|
|
1228
|
+
}
|
|
1229
|
+
w.exports = k;
|
|
1230
|
+
})), import_sortBy = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((e, w) => {
|
|
1231
|
+
var T = require__baseFlatten(), E = require__baseOrderBy(), D = require__baseRest(), O = require__isIterateeCall();
|
|
1232
|
+
w.exports = D(function(e, w) {
|
|
1233
|
+
if (e == null) return [];
|
|
1234
|
+
var D = w.length;
|
|
1235
|
+
return D > 1 && O(e, w[0], w[1]) ? w = [] : D > 2 && O(w[0], w[1], w[2]) && (w = [w[0]]), E(e, T(w, 1), []);
|
|
1236
|
+
});
|
|
1237
|
+
})))(), 1), import_chain = /* @__PURE__ */ __toESM(require_chain(), 1);
|
|
1238
|
+
function isArray(e) {
|
|
1239
|
+
return Array.isArray ? Array.isArray(e) : getTag(e) === "[object Array]";
|
|
1240
|
+
}
|
|
1241
|
+
var INFINITY = Infinity;
|
|
1242
|
+
function baseToString(e) {
|
|
1243
|
+
if (typeof e == "string") return e;
|
|
1244
|
+
let w = e + "";
|
|
1245
|
+
return w == "0" && 1 / e == -INFINITY ? "-0" : w;
|
|
1246
|
+
}
|
|
1247
|
+
function toString(e) {
|
|
1248
|
+
return e == null ? "" : baseToString(e);
|
|
1249
|
+
}
|
|
1250
|
+
function isString(e) {
|
|
1251
|
+
return typeof e == "string";
|
|
1252
|
+
}
|
|
1253
|
+
function isNumber(e) {
|
|
1254
|
+
return typeof e == "number";
|
|
1255
|
+
}
|
|
1256
|
+
function isBoolean(e) {
|
|
1257
|
+
return e === !0 || e === !1 || isObjectLike(e) && getTag(e) == "[object Boolean]";
|
|
1258
|
+
}
|
|
1259
|
+
function isObject(e) {
|
|
1260
|
+
return typeof e == "object";
|
|
1261
|
+
}
|
|
1262
|
+
function isObjectLike(e) {
|
|
1263
|
+
return isObject(e) && e !== null;
|
|
1264
|
+
}
|
|
1265
|
+
function isDefined(e) {
|
|
1266
|
+
return e != null;
|
|
1267
|
+
}
|
|
1268
|
+
function isBlank(e) {
|
|
1269
|
+
return !e.trim().length;
|
|
1270
|
+
}
|
|
1271
|
+
function getTag(e) {
|
|
1272
|
+
return e == null ? e === void 0 ? "[object Undefined]" : "[object Null]" : Object.prototype.toString.call(e);
|
|
1273
|
+
}
|
|
1274
|
+
var INCORRECT_INDEX_TYPE = "Incorrect 'index' type", LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY = (e) => `Invalid value for key ${e}`, PATTERN_LENGTH_TOO_LARGE = (e) => `Pattern length exceeds max of ${e}.`, MISSING_KEY_PROPERTY = (e) => `Missing ${e} property in key`, INVALID_KEY_WEIGHT_VALUE = (e) => `Property 'weight' in key '${e}' must be a positive integer`, hasOwn = Object.prototype.hasOwnProperty, KeyStore = class {
|
|
1275
|
+
constructor(e) {
|
|
1276
|
+
this._keys = [], this._keyMap = {};
|
|
1277
|
+
let w = 0;
|
|
1278
|
+
e.forEach((e) => {
|
|
1279
|
+
let T = createKey(e);
|
|
1280
|
+
this._keys.push(T), this._keyMap[T.id] = T, w += T.weight;
|
|
1281
|
+
}), this._keys.forEach((e) => {
|
|
1282
|
+
e.weight /= w;
|
|
1283
|
+
});
|
|
1284
|
+
}
|
|
1285
|
+
get(e) {
|
|
1286
|
+
return this._keyMap[e];
|
|
1287
|
+
}
|
|
1288
|
+
keys() {
|
|
1289
|
+
return this._keys;
|
|
1290
|
+
}
|
|
1291
|
+
toJSON() {
|
|
1292
|
+
return JSON.stringify(this._keys);
|
|
1293
|
+
}
|
|
1294
|
+
};
|
|
1295
|
+
function createKey(e) {
|
|
1296
|
+
let w = null, T = null, E = null, D = 1, O = null;
|
|
1297
|
+
if (isString(e) || isArray(e)) E = e, w = createKeyPath(e), T = createKeyId(e);
|
|
1298
|
+
else {
|
|
1299
|
+
if (!hasOwn.call(e, "name")) throw Error(MISSING_KEY_PROPERTY("name"));
|
|
1300
|
+
let k = e.name;
|
|
1301
|
+
if (E = k, hasOwn.call(e, "weight") && (D = e.weight, D <= 0)) throw Error(INVALID_KEY_WEIGHT_VALUE(k));
|
|
1302
|
+
w = createKeyPath(k), T = createKeyId(k), O = e.getFn;
|
|
1303
|
+
}
|
|
1304
|
+
return {
|
|
1305
|
+
path: w,
|
|
1306
|
+
id: T,
|
|
1307
|
+
weight: D,
|
|
1308
|
+
src: E,
|
|
1309
|
+
getFn: O
|
|
1310
|
+
};
|
|
1311
|
+
}
|
|
1312
|
+
function createKeyPath(e) {
|
|
1313
|
+
return isArray(e) ? e : e.split(".");
|
|
1314
|
+
}
|
|
1315
|
+
function createKeyId(e) {
|
|
1316
|
+
return isArray(e) ? e.join(".") : e;
|
|
1317
|
+
}
|
|
1318
|
+
function get$1(e, w) {
|
|
1319
|
+
let T = [], E = !1, D = (e, w, O) => {
|
|
1320
|
+
if (isDefined(e)) if (!w[O]) T.push(e);
|
|
1321
|
+
else {
|
|
1322
|
+
let k = e[w[O]];
|
|
1323
|
+
if (!isDefined(k)) return;
|
|
1324
|
+
if (O === w.length - 1 && (isString(k) || isNumber(k) || isBoolean(k))) T.push(toString(k));
|
|
1325
|
+
else if (isArray(k)) {
|
|
1326
|
+
E = !0;
|
|
1327
|
+
for (let e = 0, T = k.length; e < T; e += 1) D(k[e], w, O + 1);
|
|
1328
|
+
} else w.length && D(k, w, O + 1);
|
|
1329
|
+
}
|
|
1330
|
+
};
|
|
1331
|
+
return D(e, isString(w) ? w.split(".") : w, 0), E ? T : T[0];
|
|
1332
|
+
}
|
|
1333
|
+
var MatchOptions = {
|
|
1334
|
+
includeMatches: !1,
|
|
1335
|
+
findAllMatches: !1,
|
|
1336
|
+
minMatchCharLength: 1
|
|
1337
|
+
}, BasicOptions = {
|
|
1338
|
+
isCaseSensitive: !1,
|
|
1339
|
+
ignoreDiacritics: !1,
|
|
1340
|
+
includeScore: !1,
|
|
1341
|
+
keys: [],
|
|
1342
|
+
shouldSort: !0,
|
|
1343
|
+
sortFn: (e, w) => e.score === w.score ? e.idx < w.idx ? -1 : 1 : e.score < w.score ? -1 : 1
|
|
1344
|
+
}, FuzzyOptions = {
|
|
1345
|
+
location: 0,
|
|
1346
|
+
threshold: .6,
|
|
1347
|
+
distance: 100
|
|
1348
|
+
}, AdvancedOptions = {
|
|
1349
|
+
useExtendedSearch: !1,
|
|
1350
|
+
getFn: get$1,
|
|
1351
|
+
ignoreLocation: !1,
|
|
1352
|
+
ignoreFieldNorm: !1,
|
|
1353
|
+
fieldNormWeight: 1
|
|
1354
|
+
}, Config = {
|
|
1355
|
+
...BasicOptions,
|
|
1356
|
+
...MatchOptions,
|
|
1357
|
+
...FuzzyOptions,
|
|
1358
|
+
...AdvancedOptions
|
|
1359
|
+
}, SPACE = /[^ ]+/g;
|
|
1360
|
+
function norm(e = 1, w = 3) {
|
|
1361
|
+
let T = /* @__PURE__ */ new Map(), E = 10 ** w;
|
|
1362
|
+
return {
|
|
1363
|
+
get(w) {
|
|
1364
|
+
let D = w.match(SPACE).length;
|
|
1365
|
+
if (T.has(D)) return T.get(D);
|
|
1366
|
+
let O = 1 / D ** (.5 * e), k = parseFloat(Math.round(O * E) / E);
|
|
1367
|
+
return T.set(D, k), k;
|
|
1368
|
+
},
|
|
1369
|
+
clear() {
|
|
1370
|
+
T.clear();
|
|
1371
|
+
}
|
|
1372
|
+
};
|
|
1373
|
+
}
|
|
1374
|
+
var FuseIndex = class {
|
|
1375
|
+
constructor({ getFn: e = Config.getFn, fieldNormWeight: w = Config.fieldNormWeight } = {}) {
|
|
1376
|
+
this.norm = norm(w, 3), this.getFn = e, this.isCreated = !1, this.setIndexRecords();
|
|
1377
|
+
}
|
|
1378
|
+
setSources(e = []) {
|
|
1379
|
+
this.docs = e;
|
|
1380
|
+
}
|
|
1381
|
+
setIndexRecords(e = []) {
|
|
1382
|
+
this.records = e;
|
|
1383
|
+
}
|
|
1384
|
+
setKeys(e = []) {
|
|
1385
|
+
this.keys = e, this._keysMap = {}, e.forEach((e, w) => {
|
|
1386
|
+
this._keysMap[e.id] = w;
|
|
1387
|
+
});
|
|
1388
|
+
}
|
|
1389
|
+
create() {
|
|
1390
|
+
this.isCreated || !this.docs.length || (this.isCreated = !0, isString(this.docs[0]) ? this.docs.forEach((e, w) => {
|
|
1391
|
+
this._addString(e, w);
|
|
1392
|
+
}) : this.docs.forEach((e, w) => {
|
|
1393
|
+
this._addObject(e, w);
|
|
1394
|
+
}), this.norm.clear());
|
|
1395
|
+
}
|
|
1396
|
+
add(e) {
|
|
1397
|
+
let w = this.size();
|
|
1398
|
+
isString(e) ? this._addString(e, w) : this._addObject(e, w);
|
|
1399
|
+
}
|
|
1400
|
+
removeAt(e) {
|
|
1401
|
+
this.records.splice(e, 1);
|
|
1402
|
+
for (let w = e, T = this.size(); w < T; w += 1) --this.records[w].i;
|
|
1403
|
+
}
|
|
1404
|
+
getValueForItemAtKeyId(e, w) {
|
|
1405
|
+
return e[this._keysMap[w]];
|
|
1406
|
+
}
|
|
1407
|
+
size() {
|
|
1408
|
+
return this.records.length;
|
|
1409
|
+
}
|
|
1410
|
+
_addString(e, w) {
|
|
1411
|
+
if (!isDefined(e) || isBlank(e)) return;
|
|
1412
|
+
let T = {
|
|
1413
|
+
v: e,
|
|
1414
|
+
i: w,
|
|
1415
|
+
n: this.norm.get(e)
|
|
1416
|
+
};
|
|
1417
|
+
this.records.push(T);
|
|
1418
|
+
}
|
|
1419
|
+
_addObject(e, w) {
|
|
1420
|
+
let T = {
|
|
1421
|
+
i: w,
|
|
1422
|
+
$: {}
|
|
1423
|
+
};
|
|
1424
|
+
this.keys.forEach((w, E) => {
|
|
1425
|
+
let D = w.getFn ? w.getFn(e) : this.getFn(e, w.path);
|
|
1426
|
+
if (isDefined(D)) {
|
|
1427
|
+
if (isArray(D)) {
|
|
1428
|
+
let e = [], w = [{
|
|
1429
|
+
nestedArrIndex: -1,
|
|
1430
|
+
value: D
|
|
1431
|
+
}];
|
|
1432
|
+
for (; w.length;) {
|
|
1433
|
+
let { nestedArrIndex: T, value: E } = w.pop();
|
|
1434
|
+
if (isDefined(E)) if (isString(E) && !isBlank(E)) {
|
|
1435
|
+
let w = {
|
|
1436
|
+
v: E,
|
|
1437
|
+
i: T,
|
|
1438
|
+
n: this.norm.get(E)
|
|
1439
|
+
};
|
|
1440
|
+
e.push(w);
|
|
1441
|
+
} else isArray(E) && E.forEach((e, T) => {
|
|
1442
|
+
w.push({
|
|
1443
|
+
nestedArrIndex: T,
|
|
1444
|
+
value: e
|
|
1445
|
+
});
|
|
1446
|
+
});
|
|
1447
|
+
}
|
|
1448
|
+
T.$[E] = e;
|
|
1449
|
+
} else if (isString(D) && !isBlank(D)) {
|
|
1450
|
+
let e = {
|
|
1451
|
+
v: D,
|
|
1452
|
+
n: this.norm.get(D)
|
|
1453
|
+
};
|
|
1454
|
+
T.$[E] = e;
|
|
1455
|
+
}
|
|
1456
|
+
}
|
|
1457
|
+
}), this.records.push(T);
|
|
1458
|
+
}
|
|
1459
|
+
toJSON() {
|
|
1460
|
+
return {
|
|
1461
|
+
keys: this.keys,
|
|
1462
|
+
records: this.records
|
|
1463
|
+
};
|
|
1464
|
+
}
|
|
1465
|
+
};
|
|
1466
|
+
function createIndex(e, w, { getFn: T = Config.getFn, fieldNormWeight: E = Config.fieldNormWeight } = {}) {
|
|
1467
|
+
let D = new FuseIndex({
|
|
1468
|
+
getFn: T,
|
|
1469
|
+
fieldNormWeight: E
|
|
1470
|
+
});
|
|
1471
|
+
return D.setKeys(e.map(createKey)), D.setSources(w), D.create(), D;
|
|
1472
|
+
}
|
|
1473
|
+
function parseIndex(e, { getFn: w = Config.getFn, fieldNormWeight: T = Config.fieldNormWeight } = {}) {
|
|
1474
|
+
let { keys: E, records: D } = e, O = new FuseIndex({
|
|
1475
|
+
getFn: w,
|
|
1476
|
+
fieldNormWeight: T
|
|
1477
|
+
});
|
|
1478
|
+
return O.setKeys(E), O.setIndexRecords(D), O;
|
|
1479
|
+
}
|
|
1480
|
+
function computeScore$1(e, { errors: w = 0, currentLocation: T = 0, expectedLocation: E = 0, distance: D = Config.distance, ignoreLocation: O = Config.ignoreLocation } = {}) {
|
|
1481
|
+
let k = w / e.length;
|
|
1482
|
+
if (O) return k;
|
|
1483
|
+
let A = Math.abs(E - T);
|
|
1484
|
+
return D ? k + A / D : A ? 1 : k;
|
|
1485
|
+
}
|
|
1486
|
+
function convertMaskToIndices(e = [], w = Config.minMatchCharLength) {
|
|
1487
|
+
let T = [], E = -1, D = -1, O = 0;
|
|
1488
|
+
for (let k = e.length; O < k; O += 1) {
|
|
1489
|
+
let k = e[O];
|
|
1490
|
+
k && E === -1 ? E = O : !k && E !== -1 && (D = O - 1, D - E + 1 >= w && T.push([E, D]), E = -1);
|
|
1491
|
+
}
|
|
1492
|
+
return e[O - 1] && O - E >= w && T.push([E, O - 1]), T;
|
|
1493
|
+
}
|
|
1494
|
+
var MAX_BITS = 32;
|
|
1495
|
+
function search$1(e, w, T, { location: E = Config.location, distance: D = Config.distance, threshold: O = Config.threshold, findAllMatches: k = Config.findAllMatches, minMatchCharLength: A = Config.minMatchCharLength, includeMatches: j = Config.includeMatches, ignoreLocation: M = Config.ignoreLocation } = {}) {
|
|
1496
|
+
if (w.length > MAX_BITS) throw Error(PATTERN_LENGTH_TOO_LARGE(MAX_BITS));
|
|
1497
|
+
let N = w.length, P = e.length, F = Math.max(0, Math.min(E, P)), I = O, L = F, R = A > 1 || j, z = R ? Array(P) : [], B;
|
|
1498
|
+
for (; (B = e.indexOf(w, L)) > -1;) {
|
|
1499
|
+
let e = computeScore$1(w, {
|
|
1500
|
+
currentLocation: B,
|
|
1501
|
+
expectedLocation: F,
|
|
1502
|
+
distance: D,
|
|
1503
|
+
ignoreLocation: M
|
|
1504
|
+
});
|
|
1505
|
+
if (I = Math.min(e, I), L = B + N, R) {
|
|
1506
|
+
let e = 0;
|
|
1507
|
+
for (; e < N;) z[B + e] = 1, e += 1;
|
|
1508
|
+
}
|
|
1509
|
+
}
|
|
1510
|
+
L = -1;
|
|
1511
|
+
let V = [], H = 1, U = N + P, W = 1 << N - 1;
|
|
1512
|
+
for (let E = 0; E < N; E += 1) {
|
|
1513
|
+
let O = 0, A = U;
|
|
1514
|
+
for (; O < A;) computeScore$1(w, {
|
|
1515
|
+
errors: E,
|
|
1516
|
+
currentLocation: F + A,
|
|
1517
|
+
expectedLocation: F,
|
|
1518
|
+
distance: D,
|
|
1519
|
+
ignoreLocation: M
|
|
1520
|
+
}) <= I ? O = A : U = A, A = Math.floor((U - O) / 2 + O);
|
|
1521
|
+
U = A;
|
|
1522
|
+
let j = Math.max(1, F - A + 1), B = k ? P : Math.min(F + A, P) + N, G = Array(B + 2);
|
|
1523
|
+
G[B + 1] = (1 << E) - 1;
|
|
1524
|
+
for (let O = B; O >= j; --O) {
|
|
1525
|
+
let k = O - 1, A = T[e.charAt(k)];
|
|
1526
|
+
if (R && (z[k] = +!!A), G[O] = (G[O + 1] << 1 | 1) & A, E && (G[O] |= (V[O + 1] | V[O]) << 1 | 1 | V[O + 1]), G[O] & W && (H = computeScore$1(w, {
|
|
1527
|
+
errors: E,
|
|
1528
|
+
currentLocation: k,
|
|
1529
|
+
expectedLocation: F,
|
|
1530
|
+
distance: D,
|
|
1531
|
+
ignoreLocation: M
|
|
1532
|
+
}), H <= I)) {
|
|
1533
|
+
if (I = H, L = k, L <= F) break;
|
|
1534
|
+
j = Math.max(1, 2 * F - L);
|
|
1535
|
+
}
|
|
1536
|
+
}
|
|
1537
|
+
if (computeScore$1(w, {
|
|
1538
|
+
errors: E + 1,
|
|
1539
|
+
currentLocation: F,
|
|
1540
|
+
expectedLocation: F,
|
|
1541
|
+
distance: D,
|
|
1542
|
+
ignoreLocation: M
|
|
1543
|
+
}) > I) break;
|
|
1544
|
+
V = G;
|
|
1545
|
+
}
|
|
1546
|
+
let G = {
|
|
1547
|
+
isMatch: L >= 0,
|
|
1548
|
+
score: Math.max(.001, H)
|
|
1549
|
+
};
|
|
1550
|
+
if (R) {
|
|
1551
|
+
let e = convertMaskToIndices(z, A);
|
|
1552
|
+
e.length ? j && (G.indices = e) : G.isMatch = !1;
|
|
1553
|
+
}
|
|
1554
|
+
return G;
|
|
1555
|
+
}
|
|
1556
|
+
function createPatternAlphabet(e) {
|
|
1557
|
+
let w = {};
|
|
1558
|
+
for (let T = 0, E = e.length; T < E; T += 1) {
|
|
1559
|
+
let D = e.charAt(T);
|
|
1560
|
+
w[D] = (w[D] || 0) | 1 << E - T - 1;
|
|
1561
|
+
}
|
|
1562
|
+
return w;
|
|
1563
|
+
}
|
|
1564
|
+
var stripDiacritics = String.prototype.normalize ? ((e) => e.normalize("NFD").replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g, "")) : ((e) => e), BitapSearch = class {
|
|
1565
|
+
constructor(e, { location: w = Config.location, threshold: T = Config.threshold, distance: E = Config.distance, includeMatches: D = Config.includeMatches, findAllMatches: O = Config.findAllMatches, minMatchCharLength: k = Config.minMatchCharLength, isCaseSensitive: A = Config.isCaseSensitive, ignoreDiacritics: j = Config.ignoreDiacritics, ignoreLocation: M = Config.ignoreLocation } = {}) {
|
|
1566
|
+
if (this.options = {
|
|
1567
|
+
location: w,
|
|
1568
|
+
threshold: T,
|
|
1569
|
+
distance: E,
|
|
1570
|
+
includeMatches: D,
|
|
1571
|
+
findAllMatches: O,
|
|
1572
|
+
minMatchCharLength: k,
|
|
1573
|
+
isCaseSensitive: A,
|
|
1574
|
+
ignoreDiacritics: j,
|
|
1575
|
+
ignoreLocation: M
|
|
1576
|
+
}, e = A ? e : e.toLowerCase(), e = j ? stripDiacritics(e) : e, this.pattern = e, this.chunks = [], !this.pattern.length) return;
|
|
1577
|
+
let N = (e, w) => {
|
|
1578
|
+
this.chunks.push({
|
|
1579
|
+
pattern: e,
|
|
1580
|
+
alphabet: createPatternAlphabet(e),
|
|
1581
|
+
startIndex: w
|
|
1582
|
+
});
|
|
1583
|
+
}, P = this.pattern.length;
|
|
1584
|
+
if (P > MAX_BITS) {
|
|
1585
|
+
let e = 0, w = P % MAX_BITS, T = P - w;
|
|
1586
|
+
for (; e < T;) N(this.pattern.substr(e, MAX_BITS), e), e += MAX_BITS;
|
|
1587
|
+
if (w) {
|
|
1588
|
+
let e = P - MAX_BITS;
|
|
1589
|
+
N(this.pattern.substr(e), e);
|
|
1590
|
+
}
|
|
1591
|
+
} else N(this.pattern, 0);
|
|
1592
|
+
}
|
|
1593
|
+
searchIn(e) {
|
|
1594
|
+
let { isCaseSensitive: w, ignoreDiacritics: T, includeMatches: E } = this.options;
|
|
1595
|
+
if (e = w ? e : e.toLowerCase(), e = T ? stripDiacritics(e) : e, this.pattern === e) {
|
|
1596
|
+
let w = {
|
|
1597
|
+
isMatch: !0,
|
|
1598
|
+
score: 0
|
|
1599
|
+
};
|
|
1600
|
+
return E && (w.indices = [[0, e.length - 1]]), w;
|
|
1601
|
+
}
|
|
1602
|
+
let { location: D, distance: O, threshold: k, findAllMatches: A, minMatchCharLength: j, ignoreLocation: M } = this.options, N = [], P = 0, F = !1;
|
|
1603
|
+
this.chunks.forEach(({ pattern: w, alphabet: T, startIndex: I }) => {
|
|
1604
|
+
let { isMatch: L, score: R, indices: z } = search$1(e, w, T, {
|
|
1605
|
+
location: D + I,
|
|
1606
|
+
distance: O,
|
|
1607
|
+
threshold: k,
|
|
1608
|
+
findAllMatches: A,
|
|
1609
|
+
minMatchCharLength: j,
|
|
1610
|
+
includeMatches: E,
|
|
1611
|
+
ignoreLocation: M
|
|
1612
|
+
});
|
|
1613
|
+
L && (F = !0), P += R, L && z && (N = [...N, ...z]);
|
|
1614
|
+
});
|
|
1615
|
+
let I = {
|
|
1616
|
+
isMatch: F,
|
|
1617
|
+
score: F ? P / this.chunks.length : 1
|
|
1618
|
+
};
|
|
1619
|
+
return F && E && (I.indices = N), I;
|
|
1620
|
+
}
|
|
1621
|
+
}, BaseMatch = class {
|
|
1622
|
+
constructor(e) {
|
|
1623
|
+
this.pattern = e;
|
|
1624
|
+
}
|
|
1625
|
+
static isMultiMatch(e) {
|
|
1626
|
+
return getMatch(e, this.multiRegex);
|
|
1627
|
+
}
|
|
1628
|
+
static isSingleMatch(e) {
|
|
1629
|
+
return getMatch(e, this.singleRegex);
|
|
1630
|
+
}
|
|
1631
|
+
search() {}
|
|
1632
|
+
};
|
|
1633
|
+
function getMatch(e, w) {
|
|
1634
|
+
let T = e.match(w);
|
|
1635
|
+
return T ? T[1] : null;
|
|
1636
|
+
}
|
|
1637
|
+
var ExactMatch = class extends BaseMatch {
|
|
1638
|
+
constructor(e) {
|
|
1639
|
+
super(e);
|
|
1640
|
+
}
|
|
1641
|
+
static get type() {
|
|
1642
|
+
return "exact";
|
|
1643
|
+
}
|
|
1644
|
+
static get multiRegex() {
|
|
1645
|
+
return /^="(.*)"$/;
|
|
1646
|
+
}
|
|
1647
|
+
static get singleRegex() {
|
|
1648
|
+
return /^=(.*)$/;
|
|
1649
|
+
}
|
|
1650
|
+
search(e) {
|
|
1651
|
+
let w = e === this.pattern;
|
|
1652
|
+
return {
|
|
1653
|
+
isMatch: w,
|
|
1654
|
+
score: w ? 0 : 1,
|
|
1655
|
+
indices: [0, this.pattern.length - 1]
|
|
1656
|
+
};
|
|
1657
|
+
}
|
|
1658
|
+
}, InverseExactMatch = class extends BaseMatch {
|
|
1659
|
+
constructor(e) {
|
|
1660
|
+
super(e);
|
|
1661
|
+
}
|
|
1662
|
+
static get type() {
|
|
1663
|
+
return "inverse-exact";
|
|
1664
|
+
}
|
|
1665
|
+
static get multiRegex() {
|
|
1666
|
+
return /^!"(.*)"$/;
|
|
1667
|
+
}
|
|
1668
|
+
static get singleRegex() {
|
|
1669
|
+
return /^!(.*)$/;
|
|
1670
|
+
}
|
|
1671
|
+
search(e) {
|
|
1672
|
+
let w = e.indexOf(this.pattern) === -1;
|
|
1673
|
+
return {
|
|
1674
|
+
isMatch: w,
|
|
1675
|
+
score: w ? 0 : 1,
|
|
1676
|
+
indices: [0, e.length - 1]
|
|
1677
|
+
};
|
|
1678
|
+
}
|
|
1679
|
+
}, PrefixExactMatch = class extends BaseMatch {
|
|
1680
|
+
constructor(e) {
|
|
1681
|
+
super(e);
|
|
1682
|
+
}
|
|
1683
|
+
static get type() {
|
|
1684
|
+
return "prefix-exact";
|
|
1685
|
+
}
|
|
1686
|
+
static get multiRegex() {
|
|
1687
|
+
return /^\^"(.*)"$/;
|
|
1688
|
+
}
|
|
1689
|
+
static get singleRegex() {
|
|
1690
|
+
return /^\^(.*)$/;
|
|
1691
|
+
}
|
|
1692
|
+
search(e) {
|
|
1693
|
+
let w = e.startsWith(this.pattern);
|
|
1694
|
+
return {
|
|
1695
|
+
isMatch: w,
|
|
1696
|
+
score: w ? 0 : 1,
|
|
1697
|
+
indices: [0, this.pattern.length - 1]
|
|
1698
|
+
};
|
|
1699
|
+
}
|
|
1700
|
+
}, InversePrefixExactMatch = class extends BaseMatch {
|
|
1701
|
+
constructor(e) {
|
|
1702
|
+
super(e);
|
|
1703
|
+
}
|
|
1704
|
+
static get type() {
|
|
1705
|
+
return "inverse-prefix-exact";
|
|
1706
|
+
}
|
|
1707
|
+
static get multiRegex() {
|
|
1708
|
+
return /^!\^"(.*)"$/;
|
|
1709
|
+
}
|
|
1710
|
+
static get singleRegex() {
|
|
1711
|
+
return /^!\^(.*)$/;
|
|
1712
|
+
}
|
|
1713
|
+
search(e) {
|
|
1714
|
+
let w = !e.startsWith(this.pattern);
|
|
1715
|
+
return {
|
|
1716
|
+
isMatch: w,
|
|
1717
|
+
score: w ? 0 : 1,
|
|
1718
|
+
indices: [0, e.length - 1]
|
|
1719
|
+
};
|
|
1720
|
+
}
|
|
1721
|
+
}, SuffixExactMatch = class extends BaseMatch {
|
|
1722
|
+
constructor(e) {
|
|
1723
|
+
super(e);
|
|
1724
|
+
}
|
|
1725
|
+
static get type() {
|
|
1726
|
+
return "suffix-exact";
|
|
1727
|
+
}
|
|
1728
|
+
static get multiRegex() {
|
|
1729
|
+
return /^"(.*)"\$$/;
|
|
1730
|
+
}
|
|
1731
|
+
static get singleRegex() {
|
|
1732
|
+
return /^(.*)\$$/;
|
|
1733
|
+
}
|
|
1734
|
+
search(e) {
|
|
1735
|
+
let w = e.endsWith(this.pattern);
|
|
1736
|
+
return {
|
|
1737
|
+
isMatch: w,
|
|
1738
|
+
score: w ? 0 : 1,
|
|
1739
|
+
indices: [e.length - this.pattern.length, e.length - 1]
|
|
1740
|
+
};
|
|
1741
|
+
}
|
|
1742
|
+
}, InverseSuffixExactMatch = class extends BaseMatch {
|
|
1743
|
+
constructor(e) {
|
|
1744
|
+
super(e);
|
|
1745
|
+
}
|
|
1746
|
+
static get type() {
|
|
1747
|
+
return "inverse-suffix-exact";
|
|
1748
|
+
}
|
|
1749
|
+
static get multiRegex() {
|
|
1750
|
+
return /^!"(.*)"\$$/;
|
|
1751
|
+
}
|
|
1752
|
+
static get singleRegex() {
|
|
1753
|
+
return /^!(.*)\$$/;
|
|
1754
|
+
}
|
|
1755
|
+
search(e) {
|
|
1756
|
+
let w = !e.endsWith(this.pattern);
|
|
1757
|
+
return {
|
|
1758
|
+
isMatch: w,
|
|
1759
|
+
score: w ? 0 : 1,
|
|
1760
|
+
indices: [0, e.length - 1]
|
|
1761
|
+
};
|
|
1762
|
+
}
|
|
1763
|
+
}, FuzzyMatch = class extends BaseMatch {
|
|
1764
|
+
constructor(e, { location: w = Config.location, threshold: T = Config.threshold, distance: E = Config.distance, includeMatches: D = Config.includeMatches, findAllMatches: O = Config.findAllMatches, minMatchCharLength: k = Config.minMatchCharLength, isCaseSensitive: A = Config.isCaseSensitive, ignoreDiacritics: j = Config.ignoreDiacritics, ignoreLocation: M = Config.ignoreLocation } = {}) {
|
|
1765
|
+
super(e), this._bitapSearch = new BitapSearch(e, {
|
|
1766
|
+
location: w,
|
|
1767
|
+
threshold: T,
|
|
1768
|
+
distance: E,
|
|
1769
|
+
includeMatches: D,
|
|
1770
|
+
findAllMatches: O,
|
|
1771
|
+
minMatchCharLength: k,
|
|
1772
|
+
isCaseSensitive: A,
|
|
1773
|
+
ignoreDiacritics: j,
|
|
1774
|
+
ignoreLocation: M
|
|
1775
|
+
});
|
|
1776
|
+
}
|
|
1777
|
+
static get type() {
|
|
1778
|
+
return "fuzzy";
|
|
1779
|
+
}
|
|
1780
|
+
static get multiRegex() {
|
|
1781
|
+
return /^"(.*)"$/;
|
|
1782
|
+
}
|
|
1783
|
+
static get singleRegex() {
|
|
1784
|
+
return /^(.*)$/;
|
|
1785
|
+
}
|
|
1786
|
+
search(e) {
|
|
1787
|
+
return this._bitapSearch.searchIn(e);
|
|
1788
|
+
}
|
|
1789
|
+
}, IncludeMatch = class extends BaseMatch {
|
|
1790
|
+
constructor(e) {
|
|
1791
|
+
super(e);
|
|
1792
|
+
}
|
|
1793
|
+
static get type() {
|
|
1794
|
+
return "include";
|
|
1795
|
+
}
|
|
1796
|
+
static get multiRegex() {
|
|
1797
|
+
return /^'"(.*)"$/;
|
|
1798
|
+
}
|
|
1799
|
+
static get singleRegex() {
|
|
1800
|
+
return /^'(.*)$/;
|
|
1801
|
+
}
|
|
1802
|
+
search(e) {
|
|
1803
|
+
let w = 0, T, E = [], D = this.pattern.length;
|
|
1804
|
+
for (; (T = e.indexOf(this.pattern, w)) > -1;) w = T + D, E.push([T, w - 1]);
|
|
1805
|
+
let O = !!E.length;
|
|
1806
|
+
return {
|
|
1807
|
+
isMatch: O,
|
|
1808
|
+
score: O ? 0 : 1,
|
|
1809
|
+
indices: E
|
|
1810
|
+
};
|
|
1811
|
+
}
|
|
1812
|
+
}, searchers = [
|
|
1813
|
+
ExactMatch,
|
|
1814
|
+
IncludeMatch,
|
|
1815
|
+
PrefixExactMatch,
|
|
1816
|
+
InversePrefixExactMatch,
|
|
1817
|
+
InverseSuffixExactMatch,
|
|
1818
|
+
SuffixExactMatch,
|
|
1819
|
+
InverseExactMatch,
|
|
1820
|
+
FuzzyMatch
|
|
1821
|
+
], searchersLen = searchers.length, SPACE_RE = / +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/, OR_TOKEN = "|";
|
|
1822
|
+
function parseQuery(e, w = {}) {
|
|
1823
|
+
return e.split(OR_TOKEN).map((e) => {
|
|
1824
|
+
let T = e.trim().split(SPACE_RE).filter((e) => e && !!e.trim()), E = [];
|
|
1825
|
+
for (let e = 0, D = T.length; e < D; e += 1) {
|
|
1826
|
+
let D = T[e], O = !1, k = -1;
|
|
1827
|
+
for (; !O && ++k < searchersLen;) {
|
|
1828
|
+
let e = searchers[k], T = e.isMultiMatch(D);
|
|
1829
|
+
T && (E.push(new e(T, w)), O = !0);
|
|
1830
|
+
}
|
|
1831
|
+
if (!O) for (k = -1; ++k < searchersLen;) {
|
|
1832
|
+
let e = searchers[k], T = e.isSingleMatch(D);
|
|
1833
|
+
if (T) {
|
|
1834
|
+
E.push(new e(T, w));
|
|
1835
|
+
break;
|
|
1836
|
+
}
|
|
1837
|
+
}
|
|
1838
|
+
}
|
|
1839
|
+
return E;
|
|
1840
|
+
});
|
|
1841
|
+
}
|
|
1842
|
+
var MultiMatchSet = new Set([FuzzyMatch.type, IncludeMatch.type]), ExtendedSearch = class {
|
|
1843
|
+
constructor(e, { isCaseSensitive: w = Config.isCaseSensitive, ignoreDiacritics: T = Config.ignoreDiacritics, includeMatches: E = Config.includeMatches, minMatchCharLength: D = Config.minMatchCharLength, ignoreLocation: O = Config.ignoreLocation, findAllMatches: k = Config.findAllMatches, location: A = Config.location, threshold: j = Config.threshold, distance: M = Config.distance } = {}) {
|
|
1844
|
+
this.query = null, this.options = {
|
|
1845
|
+
isCaseSensitive: w,
|
|
1846
|
+
ignoreDiacritics: T,
|
|
1847
|
+
includeMatches: E,
|
|
1848
|
+
minMatchCharLength: D,
|
|
1849
|
+
findAllMatches: k,
|
|
1850
|
+
ignoreLocation: O,
|
|
1851
|
+
location: A,
|
|
1852
|
+
threshold: j,
|
|
1853
|
+
distance: M
|
|
1854
|
+
}, e = w ? e : e.toLowerCase(), e = T ? stripDiacritics(e) : e, this.pattern = e, this.query = parseQuery(this.pattern, this.options);
|
|
1855
|
+
}
|
|
1856
|
+
static condition(e, w) {
|
|
1857
|
+
return w.useExtendedSearch;
|
|
1858
|
+
}
|
|
1859
|
+
searchIn(e) {
|
|
1860
|
+
let w = this.query;
|
|
1861
|
+
if (!w) return {
|
|
1862
|
+
isMatch: !1,
|
|
1863
|
+
score: 1
|
|
1864
|
+
};
|
|
1865
|
+
let { includeMatches: T, isCaseSensitive: E, ignoreDiacritics: D } = this.options;
|
|
1866
|
+
e = E ? e : e.toLowerCase(), e = D ? stripDiacritics(e) : e;
|
|
1867
|
+
let O = 0, k = [], A = 0;
|
|
1868
|
+
for (let E = 0, D = w.length; E < D; E += 1) {
|
|
1869
|
+
let D = w[E];
|
|
1870
|
+
k.length = 0, O = 0;
|
|
1871
|
+
for (let w = 0, E = D.length; w < E; w += 1) {
|
|
1872
|
+
let E = D[w], { isMatch: j, indices: M, score: N } = E.search(e);
|
|
1873
|
+
if (j) {
|
|
1874
|
+
if (O += 1, A += N, T) {
|
|
1875
|
+
let e = E.constructor.type;
|
|
1876
|
+
MultiMatchSet.has(e) ? k = [...k, ...M] : k.push(M);
|
|
1877
|
+
}
|
|
1878
|
+
} else {
|
|
1879
|
+
A = 0, O = 0, k.length = 0;
|
|
1880
|
+
break;
|
|
1881
|
+
}
|
|
1882
|
+
}
|
|
1883
|
+
if (O) {
|
|
1884
|
+
let e = {
|
|
1885
|
+
isMatch: !0,
|
|
1886
|
+
score: A / O
|
|
1887
|
+
};
|
|
1888
|
+
return T && (e.indices = k), e;
|
|
1889
|
+
}
|
|
1890
|
+
}
|
|
1891
|
+
return {
|
|
1892
|
+
isMatch: !1,
|
|
1893
|
+
score: 1
|
|
1894
|
+
};
|
|
1895
|
+
}
|
|
1896
|
+
}, registeredSearchers = [];
|
|
1897
|
+
function register(...e) {
|
|
1898
|
+
registeredSearchers.push(...e);
|
|
1899
|
+
}
|
|
1900
|
+
function createSearcher(e, w) {
|
|
1901
|
+
for (let T = 0, E = registeredSearchers.length; T < E; T += 1) {
|
|
1902
|
+
let E = registeredSearchers[T];
|
|
1903
|
+
if (E.condition(e, w)) return new E(e, w);
|
|
1904
|
+
}
|
|
1905
|
+
return new BitapSearch(e, w);
|
|
1906
|
+
}
|
|
1907
|
+
var LogicalOperator = {
|
|
1908
|
+
AND: "$and",
|
|
1909
|
+
OR: "$or"
|
|
1910
|
+
}, KeyType = {
|
|
1911
|
+
PATH: "$path",
|
|
1912
|
+
PATTERN: "$val"
|
|
1913
|
+
}, isExpression = (e) => !!(e[LogicalOperator.AND] || e[LogicalOperator.OR]), isPath = (e) => !!e[KeyType.PATH], isLeaf = (e) => !isArray(e) && isObject(e) && !isExpression(e), convertToExplicit = (e) => ({ [LogicalOperator.AND]: Object.keys(e).map((w) => ({ [w]: e[w] })) });
|
|
1914
|
+
function parse(e, w, { auto: T = !0 } = {}) {
|
|
1915
|
+
let E = (e) => {
|
|
1916
|
+
let D = Object.keys(e), O = isPath(e);
|
|
1917
|
+
if (!O && D.length > 1 && !isExpression(e)) return E(convertToExplicit(e));
|
|
1918
|
+
if (isLeaf(e)) {
|
|
1919
|
+
let E = O ? e[KeyType.PATH] : D[0], k = O ? e[KeyType.PATTERN] : e[E];
|
|
1920
|
+
if (!isString(k)) throw Error(LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY(E));
|
|
1921
|
+
let A = {
|
|
1922
|
+
keyId: createKeyId(E),
|
|
1923
|
+
pattern: k
|
|
1924
|
+
};
|
|
1925
|
+
return T && (A.searcher = createSearcher(k, w)), A;
|
|
1926
|
+
}
|
|
1927
|
+
let k = {
|
|
1928
|
+
children: [],
|
|
1929
|
+
operator: D[0]
|
|
1930
|
+
};
|
|
1931
|
+
return D.forEach((w) => {
|
|
1932
|
+
let T = e[w];
|
|
1933
|
+
isArray(T) && T.forEach((e) => {
|
|
1934
|
+
k.children.push(E(e));
|
|
1935
|
+
});
|
|
1936
|
+
}), k;
|
|
1937
|
+
};
|
|
1938
|
+
return isExpression(e) || (e = convertToExplicit(e)), E(e);
|
|
1939
|
+
}
|
|
1940
|
+
function computeScore(e, { ignoreFieldNorm: w = Config.ignoreFieldNorm }) {
|
|
1941
|
+
e.forEach((e) => {
|
|
1942
|
+
let T = 1;
|
|
1943
|
+
e.matches.forEach(({ key: e, norm: E, score: D }) => {
|
|
1944
|
+
let O = e ? e.weight : null;
|
|
1945
|
+
T *= (D === 0 && O ? 2 ** -52 : D) ** +((O || 1) * (w ? 1 : E));
|
|
1946
|
+
}), e.score = T;
|
|
1947
|
+
});
|
|
1948
|
+
}
|
|
1949
|
+
function transformMatches(e, w) {
|
|
1950
|
+
let T = e.matches;
|
|
1951
|
+
w.matches = [], isDefined(T) && T.forEach((e) => {
|
|
1952
|
+
if (!isDefined(e.indices) || !e.indices.length) return;
|
|
1953
|
+
let { indices: T, value: E } = e, D = {
|
|
1954
|
+
indices: T,
|
|
1955
|
+
value: E
|
|
1956
|
+
};
|
|
1957
|
+
e.key && (D.key = e.key.src), e.idx > -1 && (D.refIndex = e.idx), w.matches.push(D);
|
|
1958
|
+
});
|
|
1959
|
+
}
|
|
1960
|
+
function transformScore(e, w) {
|
|
1961
|
+
w.score = e.score;
|
|
1962
|
+
}
|
|
1963
|
+
function format(e, w, { includeMatches: T = Config.includeMatches, includeScore: E = Config.includeScore } = {}) {
|
|
1964
|
+
let D = [];
|
|
1965
|
+
return T && D.push(transformMatches), E && D.push(transformScore), e.map((e) => {
|
|
1966
|
+
let { idx: T } = e, E = {
|
|
1967
|
+
item: w[T],
|
|
1968
|
+
refIndex: T
|
|
1969
|
+
};
|
|
1970
|
+
return D.length && D.forEach((w) => {
|
|
1971
|
+
w(e, E);
|
|
1972
|
+
}), E;
|
|
1973
|
+
});
|
|
1974
|
+
}
|
|
1975
|
+
var Fuse = class {
|
|
1976
|
+
constructor(e, w = {}, T) {
|
|
1977
|
+
this.options = {
|
|
1978
|
+
...Config,
|
|
1979
|
+
...w
|
|
1980
|
+
}, this.options.useExtendedSearch, this._keyStore = new KeyStore(this.options.keys), this.setCollection(e, T);
|
|
1981
|
+
}
|
|
1982
|
+
setCollection(e, w) {
|
|
1983
|
+
if (this._docs = e, w && !(w instanceof FuseIndex)) throw Error(INCORRECT_INDEX_TYPE);
|
|
1984
|
+
this._myIndex = w || createIndex(this.options.keys, this._docs, {
|
|
1985
|
+
getFn: this.options.getFn,
|
|
1986
|
+
fieldNormWeight: this.options.fieldNormWeight
|
|
1987
|
+
});
|
|
1988
|
+
}
|
|
1989
|
+
add(e) {
|
|
1990
|
+
isDefined(e) && (this._docs.push(e), this._myIndex.add(e));
|
|
1991
|
+
}
|
|
1992
|
+
remove(e = () => !1) {
|
|
1993
|
+
let w = [];
|
|
1994
|
+
for (let T = 0, E = this._docs.length; T < E; T += 1) {
|
|
1995
|
+
let D = this._docs[T];
|
|
1996
|
+
e(D, T) && (this.removeAt(T), --T, --E, w.push(D));
|
|
1997
|
+
}
|
|
1998
|
+
return w;
|
|
1999
|
+
}
|
|
2000
|
+
removeAt(e) {
|
|
2001
|
+
this._docs.splice(e, 1), this._myIndex.removeAt(e);
|
|
2002
|
+
}
|
|
2003
|
+
getIndex() {
|
|
2004
|
+
return this._myIndex;
|
|
2005
|
+
}
|
|
2006
|
+
search(e, { limit: w = -1 } = {}) {
|
|
2007
|
+
let { includeMatches: T, includeScore: E, shouldSort: D, sortFn: O, ignoreFieldNorm: k } = this.options, A = isString(e) ? isString(this._docs[0]) ? this._searchStringList(e) : this._searchObjectList(e) : this._searchLogical(e);
|
|
2008
|
+
return computeScore(A, { ignoreFieldNorm: k }), D && A.sort(O), isNumber(w) && w > -1 && (A = A.slice(0, w)), format(A, this._docs, {
|
|
2009
|
+
includeMatches: T,
|
|
2010
|
+
includeScore: E
|
|
2011
|
+
});
|
|
2012
|
+
}
|
|
2013
|
+
_searchStringList(e) {
|
|
2014
|
+
let w = createSearcher(e, this.options), { records: T } = this._myIndex, E = [];
|
|
2015
|
+
return T.forEach(({ v: e, i: T, n: D }) => {
|
|
2016
|
+
if (!isDefined(e)) return;
|
|
2017
|
+
let { isMatch: O, score: k, indices: A } = w.searchIn(e);
|
|
2018
|
+
O && E.push({
|
|
2019
|
+
item: e,
|
|
2020
|
+
idx: T,
|
|
2021
|
+
matches: [{
|
|
2022
|
+
score: k,
|
|
2023
|
+
value: e,
|
|
2024
|
+
norm: D,
|
|
2025
|
+
indices: A
|
|
2026
|
+
}]
|
|
2027
|
+
});
|
|
2028
|
+
}), E;
|
|
2029
|
+
}
|
|
2030
|
+
_searchLogical(e) {
|
|
2031
|
+
let w = parse(e, this.options), T = (e, w, E) => {
|
|
2032
|
+
if (!e.children) {
|
|
2033
|
+
let { keyId: T, searcher: D } = e, O = this._findMatches({
|
|
2034
|
+
key: this._keyStore.get(T),
|
|
2035
|
+
value: this._myIndex.getValueForItemAtKeyId(w, T),
|
|
2036
|
+
searcher: D
|
|
2037
|
+
});
|
|
2038
|
+
return O && O.length ? [{
|
|
2039
|
+
idx: E,
|
|
2040
|
+
item: w,
|
|
2041
|
+
matches: O
|
|
2042
|
+
}] : [];
|
|
2043
|
+
}
|
|
2044
|
+
let D = [];
|
|
2045
|
+
for (let O = 0, k = e.children.length; O < k; O += 1) {
|
|
2046
|
+
let k = e.children[O], A = T(k, w, E);
|
|
2047
|
+
if (A.length) D.push(...A);
|
|
2048
|
+
else if (e.operator === LogicalOperator.AND) return [];
|
|
2049
|
+
}
|
|
2050
|
+
return D;
|
|
2051
|
+
}, E = this._myIndex.records, D = {}, O = [];
|
|
2052
|
+
return E.forEach(({ $: e, i: E }) => {
|
|
2053
|
+
if (isDefined(e)) {
|
|
2054
|
+
let k = T(w, e, E);
|
|
2055
|
+
k.length && (D[E] || (D[E] = {
|
|
2056
|
+
idx: E,
|
|
2057
|
+
item: e,
|
|
2058
|
+
matches: []
|
|
2059
|
+
}, O.push(D[E])), k.forEach(({ matches: e }) => {
|
|
2060
|
+
D[E].matches.push(...e);
|
|
2061
|
+
}));
|
|
2062
|
+
}
|
|
2063
|
+
}), O;
|
|
2064
|
+
}
|
|
2065
|
+
_searchObjectList(e) {
|
|
2066
|
+
let w = createSearcher(e, this.options), { keys: T, records: E } = this._myIndex, D = [];
|
|
2067
|
+
return E.forEach(({ $: e, i: E }) => {
|
|
2068
|
+
if (!isDefined(e)) return;
|
|
2069
|
+
let O = [];
|
|
2070
|
+
T.forEach((T, E) => {
|
|
2071
|
+
O.push(...this._findMatches({
|
|
2072
|
+
key: T,
|
|
2073
|
+
value: e[E],
|
|
2074
|
+
searcher: w
|
|
2075
|
+
}));
|
|
2076
|
+
}), O.length && D.push({
|
|
2077
|
+
idx: E,
|
|
2078
|
+
item: e,
|
|
2079
|
+
matches: O
|
|
2080
|
+
});
|
|
2081
|
+
}), D;
|
|
2082
|
+
}
|
|
2083
|
+
_findMatches({ key: e, value: w, searcher: T }) {
|
|
2084
|
+
if (!isDefined(w)) return [];
|
|
2085
|
+
let E = [];
|
|
2086
|
+
if (isArray(w)) w.forEach(({ v: w, i: D, n: O }) => {
|
|
2087
|
+
if (!isDefined(w)) return;
|
|
2088
|
+
let { isMatch: k, score: A, indices: j } = T.searchIn(w);
|
|
2089
|
+
k && E.push({
|
|
2090
|
+
score: A,
|
|
2091
|
+
key: e,
|
|
2092
|
+
value: w,
|
|
2093
|
+
idx: D,
|
|
2094
|
+
norm: O,
|
|
2095
|
+
indices: j
|
|
2096
|
+
});
|
|
2097
|
+
});
|
|
2098
|
+
else {
|
|
2099
|
+
let { v: D, n: O } = w, { isMatch: k, score: A, indices: j } = T.searchIn(D);
|
|
2100
|
+
k && E.push({
|
|
2101
|
+
score: A,
|
|
2102
|
+
key: e,
|
|
2103
|
+
value: D,
|
|
2104
|
+
norm: O,
|
|
2105
|
+
indices: j
|
|
2106
|
+
});
|
|
2107
|
+
}
|
|
2108
|
+
return E;
|
|
2109
|
+
}
|
|
2110
|
+
};
|
|
2111
|
+
Fuse.version = "7.1.0", Fuse.createIndex = createIndex, Fuse.parseIndex = parseIndex, Fuse.config = Config, Fuse.parseQuery = parse, register(ExtendedSearch);
|
|
2112
|
+
var DefaultEntriesPerSource = 10, RequiredOptions = {
|
|
2113
|
+
includeScore: !0,
|
|
2114
|
+
shouldSort: !0
|
|
2115
|
+
}, DefaultOptions = {
|
|
2116
|
+
keys: [
|
|
2117
|
+
{
|
|
2118
|
+
name: "label",
|
|
2119
|
+
weight: .6
|
|
2120
|
+
},
|
|
2121
|
+
{
|
|
2122
|
+
name: "category",
|
|
2123
|
+
weight: .3
|
|
2124
|
+
},
|
|
2125
|
+
{
|
|
2126
|
+
name: "tag",
|
|
2127
|
+
weight: 1
|
|
2128
|
+
}
|
|
2129
|
+
],
|
|
2130
|
+
matchAllTokens: !0,
|
|
2131
|
+
maxPatternLength: 16,
|
|
2132
|
+
minMatchCharLength: 3,
|
|
2133
|
+
threshold: .4,
|
|
2134
|
+
tokenize: !0
|
|
2135
|
+
};
|
|
2136
|
+
function scoreEntries(e, w, T) {
|
|
2137
|
+
return (0, import_chain.default)(new Fuse(w, {
|
|
2138
|
+
...DefaultOptions,
|
|
2139
|
+
...T.searchOptions,
|
|
2140
|
+
...RequiredOptions
|
|
2141
|
+
}).search(e)).map(({ item: e, score: w }) => ({
|
|
2142
|
+
item: e,
|
|
2143
|
+
score: w,
|
|
2144
|
+
source: T
|
|
2145
|
+
})).take(T.maxEntries || DefaultEntriesPerSource).value();
|
|
2146
|
+
}
|
|
2147
|
+
function partitionGroups(e) {
|
|
2148
|
+
return (0, import_chain.default)(e).sortBy("entries[0].score").partition(({ source: e }) => e.insertSourceAtIndex === void 0).value();
|
|
2149
|
+
}
|
|
2150
|
+
function sortSearchResults(e) {
|
|
2151
|
+
let [w, T] = partitionGroups(e);
|
|
2152
|
+
return (0, import_sortBy.default)(T, "source.insertSourceAtIndex").reduce((e, w) => [
|
|
2153
|
+
...e.slice(0, w.source.insertSourceAtIndex),
|
|
2154
|
+
w,
|
|
2155
|
+
...e.slice(w.source.insertSourceAtIndex)
|
|
2156
|
+
], w);
|
|
2157
|
+
}
|
|
2158
|
+
function search(e, w, T, E) {
|
|
2159
|
+
let D = w.map((w) => w.fetch(e, T).then((T) => {
|
|
2160
|
+
let D = {
|
|
2161
|
+
source: w,
|
|
2162
|
+
entries: scoreEntries(e, T, w)
|
|
2163
|
+
};
|
|
2164
|
+
return E == null || E.call(null, D), D;
|
|
2165
|
+
}, (e) => (console.debug(`Failed to search on source: ${w.label}`, e), {
|
|
2166
|
+
source: w,
|
|
2167
|
+
entries: []
|
|
2168
|
+
})));
|
|
2169
|
+
return Promise.all(D);
|
|
2170
|
+
}
|
|
2171
|
+
require_get();
|
|
2172
|
+
async function createCompassProviderSource(e, w, T, E) {
|
|
2173
|
+
if (!T || T.length < 3 || !e || !w) return null;
|
|
2174
|
+
try {
|
|
2175
|
+
let D = await fetch(`/compass/${e}/search/${w}?q=${encodeURIComponent(T)}`, { signal: E == null ? void 0 : E.signal });
|
|
2176
|
+
if (!D.ok) return console.debug(`Failed to fetch ${w} search results:`, D), null;
|
|
2177
|
+
let O = await D.json();
|
|
2178
|
+
return {
|
|
2179
|
+
label: O.label || w,
|
|
2180
|
+
searchOptions: O.search_options || { threshold: .2 },
|
|
2181
|
+
fetch: () => Promise.resolve(O.results || []),
|
|
2182
|
+
display: {
|
|
2183
|
+
label: (e) => {
|
|
2184
|
+
var w;
|
|
2185
|
+
return (w = e.label) == null ? "" : w;
|
|
2186
|
+
},
|
|
2187
|
+
category: (e) => {
|
|
2188
|
+
var w;
|
|
2189
|
+
return (w = e.category) == null ? "" : w;
|
|
2190
|
+
},
|
|
2191
|
+
tag: (e) => {
|
|
2192
|
+
var w;
|
|
2193
|
+
return (w = e.tag) == null ? "" : w;
|
|
2194
|
+
}
|
|
2195
|
+
},
|
|
2196
|
+
open: (e) => e.requires_confirmation && e.data && !window.confirm(e.data) ? null : e.url
|
|
2197
|
+
};
|
|
2198
|
+
} catch (e) {
|
|
2199
|
+
return e.name !== "AbortError" && console.debug(`Error creating compass ${w} source:`, e), null;
|
|
2200
|
+
}
|
|
2201
|
+
}
|
|
2202
|
+
async function getCompassProviders(e, w) {
|
|
2203
|
+
try {
|
|
2204
|
+
var T;
|
|
2205
|
+
let E = await fetch(`/compass/${e}/search/providers`, { signal: w == null ? void 0 : w.signal });
|
|
2206
|
+
return E.ok ? ((T = (await E.json()).providers) == null ? void 0 : T.map((e) => e.name)) || [] : (console.debug("Failed to fetch providers:", E.status), []);
|
|
2207
|
+
} catch (e) {
|
|
2208
|
+
return e.name !== "AbortError" && console.debug("Error fetching available providers:", e), [];
|
|
2209
|
+
}
|
|
2210
|
+
}
|
|
2211
|
+
async function createCompassSources(e, w, T) {
|
|
2212
|
+
if (!w || w.length < 3 || !e) return [];
|
|
2213
|
+
try {
|
|
2214
|
+
let E = await getCompassProviders(e, T);
|
|
2215
|
+
if (!E.length) return console.debug("No providers available"), [];
|
|
2216
|
+
console.debug(`Found ${E.length} providers:`, E);
|
|
2217
|
+
let D = E.map((E) => createCompassProviderSource(e, E, w, T)), O = (await Promise.all(D)).filter((e) => e !== null);
|
|
2218
|
+
return console.debug(`Successfully created ${O.length}/${E.length} sources`), O;
|
|
2219
|
+
} catch (e) {
|
|
2220
|
+
return e.name !== "AbortError" && console.debug("Error creating compass individual sources:", e), [];
|
|
2221
|
+
}
|
|
2222
|
+
}
|
|
2223
|
+
function createMenuSources(e, w) {
|
|
2224
|
+
return !e || !e.length || !w ? [] : e.map((e) => ({
|
|
2225
|
+
fetch: async (T) => {
|
|
2226
|
+
try {
|
|
2227
|
+
let T = await fetchMenu(e, w);
|
|
2228
|
+
if (T.error) return [];
|
|
2229
|
+
let E = [];
|
|
2230
|
+
return T.items.forEach((e) => {
|
|
2231
|
+
let w = e.label, T = e.icon;
|
|
2232
|
+
e.url && E.push({
|
|
2233
|
+
label: e.label,
|
|
2234
|
+
url: e.url,
|
|
2235
|
+
category: w,
|
|
2236
|
+
icon: T
|
|
2237
|
+
}), e.items && Array.isArray(e.items) && e.items.forEach((e) => {
|
|
2238
|
+
E.push({
|
|
2239
|
+
label: e.label,
|
|
2240
|
+
url: e.url,
|
|
2241
|
+
category: w,
|
|
2242
|
+
icon: e.icon || T
|
|
2243
|
+
});
|
|
2244
|
+
});
|
|
2245
|
+
}), E;
|
|
2246
|
+
} catch (e) {
|
|
2247
|
+
return [];
|
|
2248
|
+
}
|
|
2249
|
+
},
|
|
2250
|
+
display: {
|
|
2251
|
+
label: (e) => e.label,
|
|
2252
|
+
category: (e) => e.category,
|
|
2253
|
+
tag: () => ""
|
|
2254
|
+
},
|
|
2255
|
+
open: ({ url: e, label: w }) => {
|
|
2256
|
+
let T = new URL(e, document.location.href);
|
|
2257
|
+
return T.searchParams.append("mt", w), T.toString();
|
|
2258
|
+
},
|
|
2259
|
+
searchOptions: { threshold: .2 },
|
|
2260
|
+
maxEntries: 20,
|
|
2261
|
+
insertSourceAtIndex: 0
|
|
2262
|
+
}));
|
|
2263
|
+
}
|
|
2264
|
+
function useSearch(e) {
|
|
2265
|
+
let [A, j] = useState([]), [M, N] = useState(!1), [P, F] = useState(!1), I = useContext(Compass), L = I == null ? void 0 : I.backends, R = I == null ? void 0 : I.contextId, z = useRef(void 0), B = useCallback(() => {
|
|
2266
|
+
N(!1), F(!0);
|
|
2267
|
+
}, []), H = useMemo(() => R && L ? createMenuSources(L, R.toString()) : [], [R, L]), U = useCallback((e) => {
|
|
2268
|
+
e.entries.length > 0 && j((w) => sortSearchResults([e, ...w.filter((w) => w.source.label !== e.source.label)]));
|
|
2269
|
+
}, []);
|
|
2270
|
+
return useEffect(() => {
|
|
2271
|
+
(async () => {
|
|
2272
|
+
var w;
|
|
2273
|
+
if (!e || e.length < 3) {
|
|
2274
|
+
j([]), N(!1), F(!1);
|
|
2275
|
+
return;
|
|
2276
|
+
}
|
|
2277
|
+
(w = z.current) == null || w.abort(), z.current = new AbortController(), F(!1), j([]), N(!0);
|
|
2278
|
+
try {
|
|
2279
|
+
await search(e, [...await createCompassSources(R, e, z.current), ...H], z.current, U);
|
|
2280
|
+
} catch (e) {
|
|
2281
|
+
e.name !== "AbortError" && console.debug("Search failed:", e);
|
|
2282
|
+
} finally {
|
|
2283
|
+
B();
|
|
2284
|
+
}
|
|
2285
|
+
})();
|
|
2286
|
+
}, [
|
|
2287
|
+
e,
|
|
2288
|
+
R,
|
|
2289
|
+
L,
|
|
2290
|
+
H,
|
|
2291
|
+
U,
|
|
2292
|
+
B
|
|
2293
|
+
]), [
|
|
2294
|
+
A,
|
|
2295
|
+
M,
|
|
2296
|
+
P
|
|
2297
|
+
];
|
|
2298
|
+
}
|
|
2299
|
+
export { Compass, createMenuItem, fetchBackend, useCompassMenu, useNotificationCenter, useSearch };
|