Files
reference/js/fuse.min.js

1595 lines
49 KiB
JavaScript

/**
* Fuse.js v6.6.2 - Lightweight fuzzy-search (http://fusejs.io)
*
* Copyright (c) 2022 Kiro Risk (http://kiro.me)
* All Rights Reserved. Apache Software License 2.0
*
* http://www.apache.org/licenses/LICENSE-2.0
*/
var e, t;
(e = this),
(t = function () {
'use strict';
function e(e, t) {
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(e);
t &&
(r = r.filter(function (t) {
return Object.getOwnPropertyDescriptor(e, t).enumerable;
})),
n.push.apply(n, r);
}
return n;
}
function t(t) {
for (var n = 1; n < arguments.length; n++) {
var r = null != arguments[n] ? arguments[n] : {};
n % 2
? e(Object(r), !0).forEach(function (e) {
c(t, e, r[e]);
})
: Object.getOwnPropertyDescriptors
? Object.defineProperties(t, Object.getOwnPropertyDescriptors(r))
: e(Object(r)).forEach(function (e) {
Object.defineProperty(t, e, Object.getOwnPropertyDescriptor(r, e));
});
}
return t;
}
function n(e) {
return (
(n =
'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator
? function (e) {
return typeof e;
}
: function (e) {
return e && 'function' == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype
? 'symbol'
: typeof e;
}),
n(e)
);
}
function r(e, t) {
if (!(e instanceof t)) throw new TypeError('Cannot call a class as a function');
}
function i(e, t) {
for (var n = 0; n < t.length; n++) {
var r = t[n];
(r.enumerable = r.enumerable || !1),
(r.configurable = !0),
'value' in r && (r.writable = !0),
Object.defineProperty(e, r.key, r);
}
}
function o(e, t, n) {
return t && i(e.prototype, t), n && i(e, n), Object.defineProperty(e, 'prototype', { writable: !1 }), e;
}
function c(e, t, n) {
return (
t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = n),
e
);
}
function a(e, t) {
if ('function' != typeof t && null !== t)
throw new TypeError('Super expression must either be null or a function');
Object.defineProperty(e, 'prototype', {
value: Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }),
writable: !1,
}),
t && u(e, t);
}
function s(e) {
return (
(s = Object.setPrototypeOf
? Object.getPrototypeOf
: function (e) {
return e.__proto__ || Object.getPrototypeOf(e);
}),
s(e)
);
}
function u(e, t) {
return (
(u =
Object.setPrototypeOf ||
function (e, t) {
return (e.__proto__ = t), e;
}),
u(e, t)
);
}
function h(e, t) {
if (t && ('object' == typeof t || 'function' == typeof t)) return t;
if (void 0 !== t) throw new TypeError('Derived constructors may only return object or undefined');
return (function (e) {
if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
return e;
})(e);
}
function l(e) {
var t = (function () {
if ('undefined' == typeof Reflect || !Reflect.construct) return !1;
if (Reflect.construct.sham) return !1;
if ('function' == typeof Proxy) return !0;
try {
return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;
} catch (e) {
return !1;
}
})();
return function () {
var n,
r = s(e);
if (t) {
var i = s(this).constructor;
n = Reflect.construct(r, arguments, i);
} else n = r.apply(this, arguments);
return h(this, n);
};
}
function f(e) {
return (
(function (e) {
if (Array.isArray(e)) return d(e);
})(e) ||
(function (e) {
if (('undefined' != typeof Symbol && null != e[Symbol.iterator]) || null != e['@@iterator'])
return Array.from(e);
})(e) ||
(function (e, t) {
if (e) {
if ('string' == typeof e) return d(e, t);
var n = Object.prototype.toString.call(e).slice(8, -1);
return (
'Object' === n && e.constructor && (n = e.constructor.name),
'Map' === n || 'Set' === n
? Array.from(e)
: 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
? d(e, t)
: void 0
);
}
})(e) ||
(function () {
throw new TypeError(
'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
);
})()
);
}
function d(e, t) {
(null == t || t > e.length) && (t = e.length);
for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n];
return r;
}
function v(e) {
return Array.isArray ? Array.isArray(e) : '[object Array]' === b(e);
}
function g(e) {
return 'string' == typeof e;
}
function y(e) {
return 'number' == typeof e;
}
function p(e) {
return (
!0 === e ||
!1 === e ||
((function (e) {
return m(e) && null !== e;
})(e) &&
'[object Boolean]' == b(e))
);
}
function m(e) {
return 'object' === n(e);
}
function k(e) {
return null != e;
}
function M(e) {
return !e.trim().length;
}
function b(e) {
return null == e ? (void 0 === e ? '[object Undefined]' : '[object Null]') : Object.prototype.toString.call(e);
}
var x = function (e) {
return 'Invalid value for key '.concat(e);
},
w = function (e) {
return 'Pattern length exceeds max of '.concat(e, '.');
},
L = Object.prototype.hasOwnProperty,
S = (function () {
function e(t) {
var n = this;
r(this, e), (this._keys = []), (this._keyMap = {});
var i = 0;
t.forEach(function (e) {
var t = _(e);
(i += t.weight), n._keys.push(t), (n._keyMap[t.id] = t), (i += t.weight);
}),
this._keys.forEach(function (e) {
e.weight /= i;
});
}
return (
o(e, [
{
key: 'get',
value: function (e) {
return this._keyMap[e];
},
},
{
key: 'keys',
value: function () {
return this._keys;
},
},
{
key: 'toJSON',
value: function () {
return JSON.stringify(this._keys);
},
},
]),
e
);
})();
function _(e) {
var t = null,
n = null,
r = null,
i = 1,
o = null;
if (g(e) || v(e)) (r = e), (t = O(e)), (n = j(e));
else {
if (!L.call(e, 'name'))
throw new Error(
(function (e) {
return 'Missing '.concat(e, ' property in key');
})('name'),
);
var c = e.name;
if (((r = c), L.call(e, 'weight') && (i = e.weight) <= 0))
throw new Error(
(function (e) {
return "Property 'weight' in key '".concat(e, "' must be a positive integer");
})(c),
);
(t = O(c)), (n = j(c)), (o = e.getFn);
}
return { path: t, id: n, weight: i, src: r, getFn: o };
}
function O(e) {
return v(e) ? e : e.split('.');
}
function j(e) {
return v(e) ? e.join('.') : e;
}
var A = {
useExtendedSearch: !1,
getFn: function (e, t) {
var n = [],
r = !1;
return (
(function e(t, i, o) {
if (k(t))
if (i[o]) {
var c = t[i[o]];
if (!k(c)) return;
if (o === i.length - 1 && (g(c) || y(c) || p(c)))
n.push(
(function (e) {
return null == e
? ''
: (function (e) {
if ('string' == typeof e) return e;
var t = e + '';
return '0' == t && 1 / e == -1 / 0 ? '-0' : t;
})(e);
})(c),
);
else if (v(c)) {
r = !0;
for (var a = 0, s = c.length; a < s; a += 1) e(c[a], i, o + 1);
} else i.length && e(c, i, o + 1);
} else n.push(t);
})(e, g(t) ? t.split('.') : t, 0),
r ? n : n[0]
);
},
ignoreLocation: !1,
ignoreFieldNorm: !1,
fieldNormWeight: 1,
},
I = t(
t(
t(
t(
{},
{
isCaseSensitive: !1,
includeScore: !1,
keys: [],
shouldSort: !0,
sortFn: function (e, t) {
return e.score === t.score ? (e.idx < t.idx ? -1 : 1) : e.score < t.score ? -1 : 1;
},
},
),
{ includeMatches: !1, findAllMatches: !1, minMatchCharLength: 1 },
),
{ location: 0, threshold: 0.6, distance: 100 },
),
A,
),
C = /[^ ]+/g;
function E() {
var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 1,
t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 3,
n = new Map(),
r = Math.pow(10, t);
return {
get: function (t) {
var i = t.match(C).length;
if (n.has(i)) return n.get(i);
var o = 1 / Math.pow(i, 0.5 * e),
c = parseFloat(Math.round(o * r) / r);
return n.set(i, c), c;
},
clear: function () {
n.clear();
},
};
}
var $ = (function () {
function e() {
var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
n = t.getFn,
i = void 0 === n ? I.getFn : n,
o = t.fieldNormWeight,
c = void 0 === o ? I.fieldNormWeight : o;
r(this, e), (this.norm = E(c, 3)), (this.getFn = i), (this.isCreated = !1), this.setIndexRecords();
}
return (
o(e, [
{
key: 'setSources',
value: function () {
var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];
this.docs = e;
},
},
{
key: 'setIndexRecords',
value: function () {
var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];
this.records = e;
},
},
{
key: 'setKeys',
value: function () {
var e = this,
t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];
(this.keys = t),
(this._keysMap = {}),
t.forEach(function (t, n) {
e._keysMap[t.id] = n;
});
},
},
{
key: 'create',
value: function () {
var e = this;
!this.isCreated &&
this.docs.length &&
((this.isCreated = !0),
g(this.docs[0])
? this.docs.forEach(function (t, n) {
e._addString(t, n);
})
: this.docs.forEach(function (t, n) {
e._addObject(t, n);
}),
this.norm.clear());
},
},
{
key: 'add',
value: function (e) {
var t = this.size();
g(e) ? this._addString(e, t) : this._addObject(e, t);
},
},
{
key: 'removeAt',
value: function (e) {
this.records.splice(e, 1);
for (var t = e, n = this.size(); t < n; t += 1) this.records[t].i -= 1;
},
},
{
key: 'getValueForItemAtKeyId',
value: function (e, t) {
return e[this._keysMap[t]];
},
},
{
key: 'size',
value: function () {
return this.records.length;
},
},
{
key: '_addString',
value: function (e, t) {
if (k(e) && !M(e)) {
var n = { v: e, i: t, n: this.norm.get(e) };
this.records.push(n);
}
},
},
{
key: '_addObject',
value: function (e, t) {
var n = this,
r = { i: t, $: {} };
this.keys.forEach(function (t, i) {
var o = t.getFn ? t.getFn(e) : n.getFn(e, t.path);
if (k(o))
if (v(o))
!(function () {
for (var e = [], t = [{ nestedArrIndex: -1, value: o }]; t.length; ) {
var c = t.pop(),
a = c.nestedArrIndex,
s = c.value;
if (k(s))
if (g(s) && !M(s)) {
var u = { v: s, i: a, n: n.norm.get(s) };
e.push(u);
} else
v(s) &&
s.forEach(function (e, n) {
t.push({ nestedArrIndex: n, value: e });
});
}
r.$[i] = e;
})();
else if (g(o) && !M(o)) {
var c = { v: o, n: n.norm.get(o) };
r.$[i] = c;
}
}),
this.records.push(r);
},
},
{
key: 'toJSON',
value: function () {
return { keys: this.keys, records: this.records };
},
},
]),
e
);
})();
function F(e, t) {
var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},
r = n.getFn,
i = void 0 === r ? I.getFn : r,
o = n.fieldNormWeight,
c = void 0 === o ? I.fieldNormWeight : o,
a = new $({ getFn: i, fieldNormWeight: c });
return a.setKeys(e.map(_)), a.setSources(t), a.create(), a;
}
function R(e) {
var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
n = t.errors,
r = void 0 === n ? 0 : n,
i = t.currentLocation,
o = void 0 === i ? 0 : i,
c = t.expectedLocation,
a = void 0 === c ? 0 : c,
s = t.distance,
u = void 0 === s ? I.distance : s,
h = t.ignoreLocation,
l = void 0 === h ? I.ignoreLocation : h,
f = r / e.length;
if (l) return f;
var d = Math.abs(a - o);
return u ? f + d / u : d ? 1 : f;
}
function N() {
for (
var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [],
t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : I.minMatchCharLength,
n = [],
r = -1,
i = -1,
o = 0,
c = e.length;
o < c;
o += 1
) {
var a = e[o];
a && -1 === r ? (r = o) : a || -1 === r || ((i = o - 1) - r + 1 >= t && n.push([r, i]), (r = -1));
}
return e[o - 1] && o - r >= t && n.push([r, o - 1]), n;
}
var P = 32;
function W(e) {
for (var t = {}, n = 0, r = e.length; n < r; n += 1) {
var i = e.charAt(n);
t[i] = (t[i] || 0) | (1 << (r - n - 1));
}
return t;
}
var T = (function () {
function e(t) {
var n = this,
i = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
o = i.location,
c = void 0 === o ? I.location : o,
a = i.threshold,
s = void 0 === a ? I.threshold : a,
u = i.distance,
h = void 0 === u ? I.distance : u,
l = i.includeMatches,
f = void 0 === l ? I.includeMatches : l,
d = i.findAllMatches,
v = void 0 === d ? I.findAllMatches : d,
g = i.minMatchCharLength,
y = void 0 === g ? I.minMatchCharLength : g,
p = i.isCaseSensitive,
m = void 0 === p ? I.isCaseSensitive : p,
k = i.ignoreLocation,
M = void 0 === k ? I.ignoreLocation : k;
if (
(r(this, e),
(this.options = {
location: c,
threshold: s,
distance: h,
includeMatches: f,
findAllMatches: v,
minMatchCharLength: y,
isCaseSensitive: m,
ignoreLocation: M,
}),
(this.pattern = m ? t : t.toLowerCase()),
(this.chunks = []),
this.pattern.length)
) {
var b = function (e, t) {
n.chunks.push({ pattern: e, alphabet: W(e), startIndex: t });
},
x = this.pattern.length;
if (x > P) {
for (var w = 0, L = x % P, S = x - L; w < S; ) b(this.pattern.substr(w, P), w), (w += P);
if (L) {
var _ = x - P;
b(this.pattern.substr(_), _);
}
} else b(this.pattern, 0);
}
}
return (
o(e, [
{
key: 'searchIn',
value: function (e) {
var t = this.options,
n = t.isCaseSensitive,
r = t.includeMatches;
if ((n || (e = e.toLowerCase()), this.pattern === e)) {
var i = { isMatch: !0, score: 0 };
return r && (i.indices = [[0, e.length - 1]]), i;
}
var o = this.options,
c = o.location,
a = o.distance,
s = o.threshold,
u = o.findAllMatches,
h = o.minMatchCharLength,
l = o.ignoreLocation,
d = [],
v = 0,
g = !1;
this.chunks.forEach(function (t) {
var n = t.pattern,
i = t.alphabet,
o = t.startIndex,
y = (function (e, t, n) {
var r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {},
i = r.location,
o = void 0 === i ? I.location : i,
c = r.distance,
a = void 0 === c ? I.distance : c,
s = r.threshold,
u = void 0 === s ? I.threshold : s,
h = r.findAllMatches,
l = void 0 === h ? I.findAllMatches : h,
f = r.minMatchCharLength,
d = void 0 === f ? I.minMatchCharLength : f,
v = r.includeMatches,
g = void 0 === v ? I.includeMatches : v,
y = r.ignoreLocation,
p = void 0 === y ? I.ignoreLocation : y;
if (t.length > P) throw new Error(w(P));
for (
var m,
k = t.length,
M = e.length,
b = Math.max(0, Math.min(o, M)),
x = u,
L = b,
S = d > 1 || g,
_ = S ? Array(M) : [];
(m = e.indexOf(t, L)) > -1;
) {
var O = R(t, { currentLocation: m, expectedLocation: b, distance: a, ignoreLocation: p });
if (((x = Math.min(O, x)), (L = m + k), S)) for (var j = 0; j < k; ) (_[m + j] = 1), (j += 1);
}
L = -1;
for (var A = [], C = 1, E = k + M, $ = 1 << (k - 1), F = 0; F < k; F += 1) {
for (var W = 0, T = E; W < T; )
R(t, {
errors: F,
currentLocation: b + T,
expectedLocation: b,
distance: a,
ignoreLocation: p,
}) <= x
? (W = T)
: (E = T),
(T = Math.floor((E - W) / 2 + W));
E = T;
var z = Math.max(1, b - T + 1),
D = l ? M : Math.min(b + T, M) + k,
K = Array(D + 2);
K[D + 1] = (1 << F) - 1;
for (var q = D; q >= z; q -= 1) {
var B = q - 1,
J = n[e.charAt(B)];
if (
(S && (_[B] = +!!J),
(K[q] = ((K[q + 1] << 1) | 1) & J),
F && (K[q] |= ((A[q + 1] | A[q]) << 1) | 1 | A[q + 1]),
K[q] & $ &&
(C = R(t, {
errors: F,
currentLocation: B,
expectedLocation: b,
distance: a,
ignoreLocation: p,
})) <= x)
) {
if (((x = C), (L = B) <= b)) break;
z = Math.max(1, 2 * b - L);
}
}
if (
R(t, {
errors: F + 1,
currentLocation: b,
expectedLocation: b,
distance: a,
ignoreLocation: p,
}) > x
)
break;
A = K;
}
var U = { isMatch: L >= 0, score: Math.max(0.001, C) };
if (S) {
var V = N(_, d);
V.length ? g && (U.indices = V) : (U.isMatch = !1);
}
return U;
})(e, n, i, {
location: c + o,
distance: a,
threshold: s,
findAllMatches: u,
minMatchCharLength: h,
includeMatches: r,
ignoreLocation: l,
}),
p = y.isMatch,
m = y.score,
k = y.indices;
p && (g = !0), (v += m), p && k && (d = [].concat(f(d), f(k)));
});
var y = { isMatch: g, score: g ? v / this.chunks.length : 1 };
return g && r && (y.indices = d), y;
},
},
]),
e
);
})(),
z = (function () {
function e(t) {
r(this, e), (this.pattern = t);
}
return (
o(
e,
[{ key: 'search', value: function () {} }],
[
{
key: 'isMultiMatch',
value: function (e) {
return D(e, this.multiRegex);
},
},
{
key: 'isSingleMatch',
value: function (e) {
return D(e, this.singleRegex);
},
},
],
),
e
);
})();
function D(e, t) {
var n = e.match(t);
return n ? n[1] : null;
}
var K = (function (e) {
a(n, e);
var t = l(n);
function n(e) {
return r(this, n), t.call(this, e);
}
return (
o(
n,
[
{
key: 'search',
value: function (e) {
var t = e === this.pattern;
return { isMatch: t, score: t ? 0 : 1, indices: [0, this.pattern.length - 1] };
},
},
],
[
{
key: 'type',
get: function () {
return 'exact';
},
},
{
key: 'multiRegex',
get: function () {
return /^="(.*)"$/;
},
},
{
key: 'singleRegex',
get: function () {
return /^=(.*)$/;
},
},
],
),
n
);
})(z),
q = (function (e) {
a(n, e);
var t = l(n);
function n(e) {
return r(this, n), t.call(this, e);
}
return (
o(
n,
[
{
key: 'search',
value: function (e) {
var t = -1 === e.indexOf(this.pattern);
return { isMatch: t, score: t ? 0 : 1, indices: [0, e.length - 1] };
},
},
],
[
{
key: 'type',
get: function () {
return 'inverse-exact';
},
},
{
key: 'multiRegex',
get: function () {
return /^!"(.*)"$/;
},
},
{
key: 'singleRegex',
get: function () {
return /^!(.*)$/;
},
},
],
),
n
);
})(z),
B = (function (e) {
a(n, e);
var t = l(n);
function n(e) {
return r(this, n), t.call(this, e);
}
return (
o(
n,
[
{
key: 'search',
value: function (e) {
var t = e.startsWith(this.pattern);
return { isMatch: t, score: t ? 0 : 1, indices: [0, this.pattern.length - 1] };
},
},
],
[
{
key: 'type',
get: function () {
return 'prefix-exact';
},
},
{
key: 'multiRegex',
get: function () {
return /^\^"(.*)"$/;
},
},
{
key: 'singleRegex',
get: function () {
return /^\^(.*)$/;
},
},
],
),
n
);
})(z),
J = (function (e) {
a(n, e);
var t = l(n);
function n(e) {
return r(this, n), t.call(this, e);
}
return (
o(
n,
[
{
key: 'search',
value: function (e) {
var t = !e.startsWith(this.pattern);
return { isMatch: t, score: t ? 0 : 1, indices: [0, e.length - 1] };
},
},
],
[
{
key: 'type',
get: function () {
return 'inverse-prefix-exact';
},
},
{
key: 'multiRegex',
get: function () {
return /^!\^"(.*)"$/;
},
},
{
key: 'singleRegex',
get: function () {
return /^!\^(.*)$/;
},
},
],
),
n
);
})(z),
U = (function (e) {
a(n, e);
var t = l(n);
function n(e) {
return r(this, n), t.call(this, e);
}
return (
o(
n,
[
{
key: 'search',
value: function (e) {
var t = e.endsWith(this.pattern);
return { isMatch: t, score: t ? 0 : 1, indices: [e.length - this.pattern.length, e.length - 1] };
},
},
],
[
{
key: 'type',
get: function () {
return 'suffix-exact';
},
},
{
key: 'multiRegex',
get: function () {
return /^"(.*)"\$$/;
},
},
{
key: 'singleRegex',
get: function () {
return /^(.*)\$$/;
},
},
],
),
n
);
})(z),
V = (function (e) {
a(n, e);
var t = l(n);
function n(e) {
return r(this, n), t.call(this, e);
}
return (
o(
n,
[
{
key: 'search',
value: function (e) {
var t = !e.endsWith(this.pattern);
return { isMatch: t, score: t ? 0 : 1, indices: [0, e.length - 1] };
},
},
],
[
{
key: 'type',
get: function () {
return 'inverse-suffix-exact';
},
},
{
key: 'multiRegex',
get: function () {
return /^!"(.*)"\$$/;
},
},
{
key: 'singleRegex',
get: function () {
return /^!(.*)\$$/;
},
},
],
),
n
);
})(z),
G = (function (e) {
a(n, e);
var t = l(n);
function n(e) {
var i,
o = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
c = o.location,
a = void 0 === c ? I.location : c,
s = o.threshold,
u = void 0 === s ? I.threshold : s,
h = o.distance,
l = void 0 === h ? I.distance : h,
f = o.includeMatches,
d = void 0 === f ? I.includeMatches : f,
v = o.findAllMatches,
g = void 0 === v ? I.findAllMatches : v,
y = o.minMatchCharLength,
p = void 0 === y ? I.minMatchCharLength : y,
m = o.isCaseSensitive,
k = void 0 === m ? I.isCaseSensitive : m,
M = o.ignoreLocation,
b = void 0 === M ? I.ignoreLocation : M;
return (
r(this, n),
((i = t.call(this, e))._bitapSearch = new T(e, {
location: a,
threshold: u,
distance: l,
includeMatches: d,
findAllMatches: g,
minMatchCharLength: p,
isCaseSensitive: k,
ignoreLocation: b,
})),
i
);
}
return (
o(
n,
[
{
key: 'search',
value: function (e) {
return this._bitapSearch.searchIn(e);
},
},
],
[
{
key: 'type',
get: function () {
return 'fuzzy';
},
},
{
key: 'multiRegex',
get: function () {
return /^"(.*)"$/;
},
},
{
key: 'singleRegex',
get: function () {
return /^(.*)$/;
},
},
],
),
n
);
})(z),
H = (function (e) {
a(n, e);
var t = l(n);
function n(e) {
return r(this, n), t.call(this, e);
}
return (
o(
n,
[
{
key: 'search',
value: function (e) {
for (var t, n = 0, r = [], i = this.pattern.length; (t = e.indexOf(this.pattern, n)) > -1; )
(n = t + i), r.push([t, n - 1]);
var o = !!r.length;
return { isMatch: o, score: o ? 0 : 1, indices: r };
},
},
],
[
{
key: 'type',
get: function () {
return 'include';
},
},
{
key: 'multiRegex',
get: function () {
return /^'"(.*)"$/;
},
},
{
key: 'singleRegex',
get: function () {
return /^'(.*)$/;
},
},
],
),
n
);
})(z),
Q = [K, H, B, J, V, U, q, G],
X = Q.length,
Y = / +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/;
function Z(e) {
var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
return e.split('|').map(function (e) {
for (
var n = e
.trim()
.split(Y)
.filter(function (e) {
return e && !!e.trim();
}),
r = [],
i = 0,
o = n.length;
i < o;
i += 1
) {
for (var c = n[i], a = !1, s = -1; !a && ++s < X; ) {
var u = Q[s],
h = u.isMultiMatch(c);
h && (r.push(new u(h, t)), (a = !0));
}
if (!a)
for (s = -1; ++s < X; ) {
var l = Q[s],
f = l.isSingleMatch(c);
if (f) {
r.push(new l(f, t));
break;
}
}
}
return r;
});
}
var ee = new Set([G.type, H.type]),
te = (function () {
function e(t) {
var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
i = n.isCaseSensitive,
o = void 0 === i ? I.isCaseSensitive : i,
c = n.includeMatches,
a = void 0 === c ? I.includeMatches : c,
s = n.minMatchCharLength,
u = void 0 === s ? I.minMatchCharLength : s,
h = n.ignoreLocation,
l = void 0 === h ? I.ignoreLocation : h,
f = n.findAllMatches,
d = void 0 === f ? I.findAllMatches : f,
v = n.location,
g = void 0 === v ? I.location : v,
y = n.threshold,
p = void 0 === y ? I.threshold : y,
m = n.distance,
k = void 0 === m ? I.distance : m;
r(this, e),
(this.query = null),
(this.options = {
isCaseSensitive: o,
includeMatches: a,
minMatchCharLength: u,
findAllMatches: d,
ignoreLocation: l,
location: g,
threshold: p,
distance: k,
}),
(this.pattern = o ? t : t.toLowerCase()),
(this.query = Z(this.pattern, this.options));
}
return (
o(
e,
[
{
key: 'searchIn',
value: function (e) {
var t = this.query;
if (!t) return { isMatch: !1, score: 1 };
var n = this.options,
r = n.includeMatches;
e = n.isCaseSensitive ? e : e.toLowerCase();
for (var i = 0, o = [], c = 0, a = 0, s = t.length; a < s; a += 1) {
var u = t[a];
(o.length = 0), (i = 0);
for (var h = 0, l = u.length; h < l; h += 1) {
var d = u[h],
v = d.search(e),
g = v.isMatch,
y = v.indices,
p = v.score;
if (!g) {
(c = 0), (i = 0), (o.length = 0);
break;
}
if (((i += 1), (c += p), r)) {
var m = d.constructor.type;
ee.has(m) ? (o = [].concat(f(o), f(y))) : o.push(y);
}
}
if (i) {
var k = { isMatch: !0, score: c / i };
return r && (k.indices = o), k;
}
}
return { isMatch: !1, score: 1 };
},
},
],
[
{
key: 'condition',
value: function (e, t) {
return t.useExtendedSearch;
},
},
],
),
e
);
})(),
ne = [];
function re(e, t) {
for (var n = 0, r = ne.length; n < r; n += 1) {
var i = ne[n];
if (i.condition(e, t)) return new i(e, t);
}
return new T(e, t);
}
var ie = '$and',
oe = '$or',
ce = '$path',
ae = '$val',
se = function (e) {
return !(!e[ie] && !e[oe]);
},
ue = function (e) {
return !!e[ce];
},
he = function (e) {
return !v(e) && m(e) && !se(e);
},
le = function (e) {
return c(
{},
ie,
Object.keys(e).map(function (t) {
return c({}, t, e[t]);
}),
);
};
function fe(e, t) {
var n = t.ignoreFieldNorm,
r = void 0 === n ? I.ignoreFieldNorm : n;
e.forEach(function (e) {
var t = 1;
e.matches.forEach(function (e) {
var n = e.key,
i = e.norm,
o = e.score,
c = n ? n.weight : null;
t *= Math.pow(0 === o && c ? Number.EPSILON : o, (c || 1) * (r ? 1 : i));
}),
(e.score = t);
});
}
function de(e, t) {
var n = e.matches;
(t.matches = []),
k(n) &&
n.forEach(function (e) {
if (k(e.indices) && e.indices.length) {
var n = { indices: e.indices, value: e.value };
e.key && (n.key = e.key.src), e.idx > -1 && (n.refIndex = e.idx), t.matches.push(n);
}
});
}
function ve(e, t) {
t.score = e.score;
}
function ge(e, t) {
var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},
r = n.includeMatches,
i = void 0 === r ? I.includeMatches : r,
o = n.includeScore,
c = void 0 === o ? I.includeScore : o,
a = [];
return (
i && a.push(de),
c && a.push(ve),
e.map(function (e) {
var n = e.idx,
r = { item: t[n], refIndex: n };
return (
a.length &&
a.forEach(function (t) {
t(e, r);
}),
r
);
})
);
}
var ye = (function () {
function e(n) {
var i = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
o = arguments.length > 2 ? arguments[2] : void 0;
r(this, e),
(this.options = t(t({}, I), i)),
this.options.useExtendedSearch,
(this._keyStore = new S(this.options.keys)),
this.setCollection(n, o);
}
return (
o(e, [
{
key: 'setCollection',
value: function (e, t) {
if (((this._docs = e), t && !(t instanceof $))) throw new Error("Incorrect 'index' type");
this._myIndex =
t ||
F(this.options.keys, this._docs, {
getFn: this.options.getFn,
fieldNormWeight: this.options.fieldNormWeight,
});
},
},
{
key: 'add',
value: function (e) {
k(e) && (this._docs.push(e), this._myIndex.add(e));
},
},
{
key: 'remove',
value: function () {
for (
var e =
arguments.length > 0 && void 0 !== arguments[0]
? arguments[0]
: function () {
return !1;
},
t = [],
n = 0,
r = this._docs.length;
n < r;
n += 1
) {
var i = this._docs[n];
e(i, n) && (this.removeAt(n), (n -= 1), (r -= 1), t.push(i));
}
return t;
},
},
{
key: 'removeAt',
value: function (e) {
this._docs.splice(e, 1), this._myIndex.removeAt(e);
},
},
{
key: 'getIndex',
value: function () {
return this._myIndex;
},
},
{
key: 'search',
value: function (e) {
var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
n = t.limit,
r = void 0 === n ? -1 : n,
i = this.options,
o = i.includeMatches,
c = i.includeScore,
a = i.shouldSort,
s = i.sortFn,
u = i.ignoreFieldNorm,
h = g(e)
? g(this._docs[0])
? this._searchStringList(e)
: this._searchObjectList(e)
: this._searchLogical(e);
return (
fe(h, { ignoreFieldNorm: u }),
a && h.sort(s),
y(r) && r > -1 && (h = h.slice(0, r)),
ge(h, this._docs, { includeMatches: o, includeScore: c })
);
},
},
{
key: '_searchStringList',
value: function (e) {
var t = re(e, this.options),
n = this._myIndex.records,
r = [];
return (
n.forEach(function (e) {
var n = e.v,
i = e.i,
o = e.n;
if (k(n)) {
var c = t.searchIn(n),
a = c.isMatch,
s = c.score,
u = c.indices;
a && r.push({ item: n, idx: i, matches: [{ score: s, value: n, norm: o, indices: u }] });
}
}),
r
);
},
},
{
key: '_searchLogical',
value: function (e) {
var t = this,
n = (function (e, t) {
var n = (arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}).auto,
r = void 0 === n || n,
i = function e(n) {
var i = Object.keys(n),
o = ue(n);
if (!o && i.length > 1 && !se(n)) return e(le(n));
if (he(n)) {
var c = o ? n[ce] : i[0],
a = o ? n[ae] : n[c];
if (!g(a)) throw new Error(x(c));
var s = { keyId: j(c), pattern: a };
return r && (s.searcher = re(a, t)), s;
}
var u = { children: [], operator: i[0] };
return (
i.forEach(function (t) {
var r = n[t];
v(r) &&
r.forEach(function (t) {
u.children.push(e(t));
});
}),
u
);
};
return se(e) || (e = le(e)), i(e);
})(e, this.options),
r = function e(n, r, i) {
if (!n.children) {
var o = n.keyId,
c = n.searcher,
a = t._findMatches({
key: t._keyStore.get(o),
value: t._myIndex.getValueForItemAtKeyId(r, o),
searcher: c,
});
return a && a.length ? [{ idx: i, item: r, matches: a }] : [];
}
for (var s = [], u = 0, h = n.children.length; u < h; u += 1) {
var l = e(n.children[u], r, i);
if (l.length) s.push.apply(s, f(l));
else if (n.operator === ie) return [];
}
return s;
},
i = this._myIndex.records,
o = {},
c = [];
return (
i.forEach(function (e) {
var t = e.$,
i = e.i;
if (k(t)) {
var a = r(n, t, i);
a.length &&
(o[i] || ((o[i] = { idx: i, item: t, matches: [] }), c.push(o[i])),
a.forEach(function (e) {
var t,
n = e.matches;
(t = o[i].matches).push.apply(t, f(n));
}));
}
}),
c
);
},
},
{
key: '_searchObjectList',
value: function (e) {
var t = this,
n = re(e, this.options),
r = this._myIndex,
i = r.keys,
o = r.records,
c = [];
return (
o.forEach(function (e) {
var r = e.$,
o = e.i;
if (k(r)) {
var a = [];
i.forEach(function (e, i) {
a.push.apply(a, f(t._findMatches({ key: e, value: r[i], searcher: n })));
}),
a.length && c.push({ idx: o, item: r, matches: a });
}
}),
c
);
},
},
{
key: '_findMatches',
value: function (e) {
var t = e.key,
n = e.value,
r = e.searcher;
if (!k(n)) return [];
var i = [];
if (v(n))
n.forEach(function (e) {
var n = e.v,
o = e.i,
c = e.n;
if (k(n)) {
var a = r.searchIn(n),
s = a.isMatch,
u = a.score,
h = a.indices;
s && i.push({ score: u, key: t, value: n, idx: o, norm: c, indices: h });
}
});
else {
var o = n.v,
c = n.n,
a = r.searchIn(o),
s = a.isMatch,
u = a.score,
h = a.indices;
s && i.push({ score: u, key: t, value: o, norm: c, indices: h });
}
return i;
},
},
]),
e
);
})();
return (
(ye.version = '6.6.2'),
(ye.createIndex = F),
(ye.parseIndex = function (e) {
var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
n = t.getFn,
r = void 0 === n ? I.getFn : n,
i = t.fieldNormWeight,
o = void 0 === i ? I.fieldNormWeight : i,
c = e.keys,
a = e.records,
s = new $({ getFn: r, fieldNormWeight: o });
return s.setKeys(c), s.setIndexRecords(a), s;
}),
(ye.config = I),
(function () {
ne.push.apply(ne, arguments);
})(te),
ye
);
}),
'object' == typeof exports && 'undefined' != typeof module
? (module.exports = t())
: 'function' == typeof define && define.amd
? define(t)
: ((e = 'undefined' != typeof globalThis ? globalThis : e || self).Fuse = t());