diff --git a/.gitattributes b/.gitattributes
index 91a839b..f4a319e 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1 +1,2 @@
package-lock.json linguist-generated
+docs/reference/** linguist-generated
diff --git a/docs/reference/.nojekyll b/docs/reference/.nojekyll
new file mode 100644
index 0000000..e2ac661
--- /dev/null
+++ b/docs/reference/.nojekyll
@@ -0,0 +1 @@
+TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false.
\ No newline at end of file
diff --git a/docs/reference/assets/highlight.css b/docs/reference/assets/highlight.css
new file mode 100644
index 0000000..5674cf3
--- /dev/null
+++ b/docs/reference/assets/highlight.css
@@ -0,0 +1,22 @@
+:root {
+ --light-code-background: #FFFFFF;
+ --dark-code-background: #1E1E1E;
+}
+
+@media (prefers-color-scheme: light) { :root {
+ --code-background: var(--light-code-background);
+} }
+
+@media (prefers-color-scheme: dark) { :root {
+ --code-background: var(--dark-code-background);
+} }
+
+:root[data-theme='light'] {
+ --code-background: var(--light-code-background);
+}
+
+:root[data-theme='dark'] {
+ --code-background: var(--dark-code-background);
+}
+
+pre, code { background: var(--code-background); }
diff --git a/docs/reference/assets/icons.js b/docs/reference/assets/icons.js
new file mode 100644
index 0000000..c27b1d1
--- /dev/null
+++ b/docs/reference/assets/icons.js
@@ -0,0 +1,21 @@
+(function () {
+ addIcons();
+ function addIcons() {
+ if (document.readyState === "loading")
+ return document.addEventListener("DOMContentLoaded", addIcons);
+ const svg = document.body.appendChild(
+ document.createElementNS("http://www.w3.org/2000/svg", "svg"),
+ );
+ svg.innerHTML = `" "`;
+ svg.style.display = "none";
+ if (location.protocol === "file:") updateUseElements();
+ }
+
+ function updateUseElements() {
+ document.querySelectorAll("use").forEach((el) => {
+ if (el.getAttribute("href").includes("#icon-")) {
+ el.setAttribute("href", el.getAttribute("href").replace(/.*#/, "#"));
+ }
+ });
+ }
+})();
diff --git a/docs/reference/assets/icons.svg b/docs/reference/assets/icons.svg
new file mode 100644
index 0000000..e371b8b
--- /dev/null
+++ b/docs/reference/assets/icons.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/docs/reference/assets/main.js b/docs/reference/assets/main.js
new file mode 100644
index 0000000..22969f9
--- /dev/null
+++ b/docs/reference/assets/main.js
@@ -0,0 +1,2213 @@
+"use strict";
+window.translations = {
+ copy: "Copy",
+ copied: "Copied!",
+ normally_hidden:
+ "This member is normally hidden due to your filter settings.",
+};
+("use strict");
+(() => {
+ var Pe = Object.create;
+ var ie = Object.defineProperty;
+ var Oe = Object.getOwnPropertyDescriptor;
+ var _e = Object.getOwnPropertyNames;
+ var Re = Object.getPrototypeOf,
+ Me = Object.prototype.hasOwnProperty;
+ var Fe = (t, e) => () => (
+ e || t((e = { exports: {} }).exports, e), e.exports
+ );
+ var De = (t, e, n, r) => {
+ if ((e && typeof e == "object") || typeof e == "function")
+ for (let i of _e(e))
+ !Me.call(t, i) &&
+ i !== n &&
+ ie(t, i, {
+ get: () => e[i],
+ enumerable: !(r = Oe(e, i)) || r.enumerable,
+ });
+ return t;
+ };
+ var Ae = (t, e, n) => (
+ (n = t != null ? Pe(Re(t)) : {}),
+ De(
+ e || !t || !t.__esModule
+ ? ie(n, "default", { value: t, enumerable: !0 })
+ : n,
+ t,
+ )
+ );
+ var ue = Fe((ae, le) => {
+ (function () {
+ var t = function (e) {
+ var n = new t.Builder();
+ return (
+ n.pipeline.add(t.trimmer, t.stopWordFilter, t.stemmer),
+ n.searchPipeline.add(t.stemmer),
+ e.call(n, n),
+ n.build()
+ );
+ };
+ t.version = "2.3.9";
+ (t.utils = {}),
+ (t.utils.warn = (function (e) {
+ return function (n) {
+ e.console && console.warn && console.warn(n);
+ };
+ })(this)),
+ (t.utils.asString = function (e) {
+ return e == null ? "" : e.toString();
+ }),
+ (t.utils.clone = function (e) {
+ if (e == null) return e;
+ for (
+ var n = Object.create(null), r = Object.keys(e), i = 0;
+ i < r.length;
+ i++
+ ) {
+ var s = r[i],
+ o = e[s];
+ if (Array.isArray(o)) {
+ n[s] = o.slice();
+ continue;
+ }
+ if (
+ typeof o == "string" ||
+ typeof o == "number" ||
+ typeof o == "boolean"
+ ) {
+ n[s] = o;
+ continue;
+ }
+ throw new TypeError(
+ "clone is not deep and does not support nested objects",
+ );
+ }
+ return n;
+ }),
+ (t.FieldRef = function (e, n, r) {
+ (this.docRef = e), (this.fieldName = n), (this._stringValue = r);
+ }),
+ (t.FieldRef.joiner = "/"),
+ (t.FieldRef.fromString = function (e) {
+ var n = e.indexOf(t.FieldRef.joiner);
+ if (n === -1) throw "malformed field ref string";
+ var r = e.slice(0, n),
+ i = e.slice(n + 1);
+ return new t.FieldRef(i, r, e);
+ }),
+ (t.FieldRef.prototype.toString = function () {
+ return (
+ this._stringValue == null &&
+ (this._stringValue =
+ this.fieldName + t.FieldRef.joiner + this.docRef),
+ this._stringValue
+ );
+ });
+ (t.Set = function (e) {
+ if (((this.elements = Object.create(null)), e)) {
+ this.length = e.length;
+ for (var n = 0; n < this.length; n++) this.elements[e[n]] = !0;
+ } else this.length = 0;
+ }),
+ (t.Set.complete = {
+ intersect: function (e) {
+ return e;
+ },
+ union: function () {
+ return this;
+ },
+ contains: function () {
+ return !0;
+ },
+ }),
+ (t.Set.empty = {
+ intersect: function () {
+ return this;
+ },
+ union: function (e) {
+ return e;
+ },
+ contains: function () {
+ return !1;
+ },
+ }),
+ (t.Set.prototype.contains = function (e) {
+ return !!this.elements[e];
+ }),
+ (t.Set.prototype.intersect = function (e) {
+ var n,
+ r,
+ i,
+ s = [];
+ if (e === t.Set.complete) return this;
+ if (e === t.Set.empty) return e;
+ this.length < e.length
+ ? ((n = this), (r = e))
+ : ((n = e), (r = this)),
+ (i = Object.keys(n.elements));
+ for (var o = 0; o < i.length; o++) {
+ var a = i[o];
+ a in r.elements && s.push(a);
+ }
+ return new t.Set(s);
+ }),
+ (t.Set.prototype.union = function (e) {
+ return e === t.Set.complete
+ ? t.Set.complete
+ : e === t.Set.empty
+ ? this
+ : new t.Set(
+ Object.keys(this.elements).concat(Object.keys(e.elements)),
+ );
+ }),
+ (t.idf = function (e, n) {
+ var r = 0;
+ for (var i in e) i != "_index" && (r += Object.keys(e[i]).length);
+ var s = (n - r + 0.5) / (r + 0.5);
+ return Math.log(1 + Math.abs(s));
+ }),
+ (t.Token = function (e, n) {
+ (this.str = e || ""), (this.metadata = n || {});
+ }),
+ (t.Token.prototype.toString = function () {
+ return this.str;
+ }),
+ (t.Token.prototype.update = function (e) {
+ return (this.str = e(this.str, this.metadata)), this;
+ }),
+ (t.Token.prototype.clone = function (e) {
+ return (
+ (e =
+ e ||
+ function (n) {
+ return n;
+ }),
+ new t.Token(e(this.str, this.metadata), this.metadata)
+ );
+ });
+ (t.tokenizer = function (e, n) {
+ if (e == null || e == null) return [];
+ if (Array.isArray(e))
+ return e.map(function (m) {
+ return new t.Token(
+ t.utils.asString(m).toLowerCase(),
+ t.utils.clone(n),
+ );
+ });
+ for (
+ var r = e.toString().toLowerCase(),
+ i = r.length,
+ s = [],
+ o = 0,
+ a = 0;
+ o <= i;
+ o++
+ ) {
+ var l = r.charAt(o),
+ u = o - a;
+ if (l.match(t.tokenizer.separator) || o == i) {
+ if (u > 0) {
+ var d = t.utils.clone(n) || {};
+ (d.position = [a, u]),
+ (d.index = s.length),
+ s.push(new t.Token(r.slice(a, o), d));
+ }
+ a = o + 1;
+ }
+ }
+ return s;
+ }),
+ (t.tokenizer.separator = /[\s\-]+/);
+ (t.Pipeline = function () {
+ this._stack = [];
+ }),
+ (t.Pipeline.registeredFunctions = Object.create(null)),
+ (t.Pipeline.registerFunction = function (e, n) {
+ n in this.registeredFunctions &&
+ t.utils.warn("Overwriting existing registered function: " + n),
+ (e.label = n),
+ (t.Pipeline.registeredFunctions[e.label] = e);
+ }),
+ (t.Pipeline.warnIfFunctionNotRegistered = function (e) {
+ var n = e.label && e.label in this.registeredFunctions;
+ n ||
+ t.utils.warn(
+ `Function is not registered with pipeline. This may cause problems when serialising the index.
+`,
+ e,
+ );
+ }),
+ (t.Pipeline.load = function (e) {
+ var n = new t.Pipeline();
+ return (
+ e.forEach(function (r) {
+ var i = t.Pipeline.registeredFunctions[r];
+ if (i) n.add(i);
+ else throw new Error("Cannot load unregistered function: " + r);
+ }),
+ n
+ );
+ }),
+ (t.Pipeline.prototype.add = function () {
+ var e = Array.prototype.slice.call(arguments);
+ e.forEach(function (n) {
+ t.Pipeline.warnIfFunctionNotRegistered(n), this._stack.push(n);
+ }, this);
+ }),
+ (t.Pipeline.prototype.after = function (e, n) {
+ t.Pipeline.warnIfFunctionNotRegistered(n);
+ var r = this._stack.indexOf(e);
+ if (r == -1) throw new Error("Cannot find existingFn");
+ (r = r + 1), this._stack.splice(r, 0, n);
+ }),
+ (t.Pipeline.prototype.before = function (e, n) {
+ t.Pipeline.warnIfFunctionNotRegistered(n);
+ var r = this._stack.indexOf(e);
+ if (r == -1) throw new Error("Cannot find existingFn");
+ this._stack.splice(r, 0, n);
+ }),
+ (t.Pipeline.prototype.remove = function (e) {
+ var n = this._stack.indexOf(e);
+ n != -1 && this._stack.splice(n, 1);
+ }),
+ (t.Pipeline.prototype.run = function (e) {
+ for (var n = this._stack.length, r = 0; r < n; r++) {
+ for (var i = this._stack[r], s = [], o = 0; o < e.length; o++) {
+ var a = i(e[o], o, e);
+ if (!(a == null || a === ""))
+ if (Array.isArray(a))
+ for (var l = 0; l < a.length; l++) s.push(a[l]);
+ else s.push(a);
+ }
+ e = s;
+ }
+ return e;
+ }),
+ (t.Pipeline.prototype.runString = function (e, n) {
+ var r = new t.Token(e, n);
+ return this.run([r]).map(function (i) {
+ return i.toString();
+ });
+ }),
+ (t.Pipeline.prototype.reset = function () {
+ this._stack = [];
+ }),
+ (t.Pipeline.prototype.toJSON = function () {
+ return this._stack.map(function (e) {
+ return t.Pipeline.warnIfFunctionNotRegistered(e), e.label;
+ });
+ });
+ (t.Vector = function (e) {
+ (this._magnitude = 0), (this.elements = e || []);
+ }),
+ (t.Vector.prototype.positionForIndex = function (e) {
+ if (this.elements.length == 0) return 0;
+ for (
+ var n = 0,
+ r = this.elements.length / 2,
+ i = r - n,
+ s = Math.floor(i / 2),
+ o = this.elements[s * 2];
+ i > 1 && (o < e && (n = s), o > e && (r = s), o != e);
+
+ )
+ (i = r - n),
+ (s = n + Math.floor(i / 2)),
+ (o = this.elements[s * 2]);
+ if (o == e || o > e) return s * 2;
+ if (o < e) return (s + 1) * 2;
+ }),
+ (t.Vector.prototype.insert = function (e, n) {
+ this.upsert(e, n, function () {
+ throw "duplicate index";
+ });
+ }),
+ (t.Vector.prototype.upsert = function (e, n, r) {
+ this._magnitude = 0;
+ var i = this.positionForIndex(e);
+ this.elements[i] == e
+ ? (this.elements[i + 1] = r(this.elements[i + 1], n))
+ : this.elements.splice(i, 0, e, n);
+ }),
+ (t.Vector.prototype.magnitude = function () {
+ if (this._magnitude) return this._magnitude;
+ for (var e = 0, n = this.elements.length, r = 1; r < n; r += 2) {
+ var i = this.elements[r];
+ e += i * i;
+ }
+ return (this._magnitude = Math.sqrt(e));
+ }),
+ (t.Vector.prototype.dot = function (e) {
+ for (
+ var n = 0,
+ r = this.elements,
+ i = e.elements,
+ s = r.length,
+ o = i.length,
+ a = 0,
+ l = 0,
+ u = 0,
+ d = 0;
+ u < s && d < o;
+
+ )
+ (a = r[u]),
+ (l = i[d]),
+ a < l
+ ? (u += 2)
+ : a > l
+ ? (d += 2)
+ : a == l && ((n += r[u + 1] * i[d + 1]), (u += 2), (d += 2));
+ return n;
+ }),
+ (t.Vector.prototype.similarity = function (e) {
+ return this.dot(e) / this.magnitude() || 0;
+ }),
+ (t.Vector.prototype.toArray = function () {
+ for (
+ var e = new Array(this.elements.length / 2), n = 1, r = 0;
+ n < this.elements.length;
+ n += 2, r++
+ )
+ e[r] = this.elements[n];
+ return e;
+ }),
+ (t.Vector.prototype.toJSON = function () {
+ return this.elements;
+ });
+ (t.stemmer = (function () {
+ var e = {
+ ational: "ate",
+ tional: "tion",
+ enci: "ence",
+ anci: "ance",
+ izer: "ize",
+ bli: "ble",
+ alli: "al",
+ entli: "ent",
+ eli: "e",
+ ousli: "ous",
+ ization: "ize",
+ ation: "ate",
+ ator: "ate",
+ alism: "al",
+ iveness: "ive",
+ fulness: "ful",
+ ousness: "ous",
+ aliti: "al",
+ iviti: "ive",
+ biliti: "ble",
+ logi: "log",
+ },
+ n = {
+ icate: "ic",
+ ative: "",
+ alize: "al",
+ iciti: "ic",
+ ical: "ic",
+ ful: "",
+ ness: "",
+ },
+ r = "[^aeiou]",
+ i = "[aeiouy]",
+ s = r + "[^aeiouy]*",
+ o = i + "[aeiou]*",
+ a = "^(" + s + ")?" + o + s,
+ l = "^(" + s + ")?" + o + s + "(" + o + ")?$",
+ u = "^(" + s + ")?" + o + s + o + s,
+ d = "^(" + s + ")?" + i,
+ m = new RegExp(a),
+ p = new RegExp(u),
+ b = new RegExp(l),
+ g = new RegExp(d),
+ L = /^(.+?)(ss|i)es$/,
+ f = /^(.+?)([^s])s$/,
+ y = /^(.+?)eed$/,
+ S = /^(.+?)(ed|ing)$/,
+ w = /.$/,
+ k = /(at|bl|iz)$/,
+ _ = new RegExp("([^aeiouylsz])\\1$"),
+ B = new RegExp("^" + s + i + "[^aeiouwxy]$"),
+ A = /^(.+?[^aeiou])y$/,
+ j =
+ /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,
+ q = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,
+ V =
+ /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,
+ $ = /^(.+?)(s|t)(ion)$/,
+ C = /^(.+?)e$/,
+ z = /ll$/,
+ W = new RegExp("^" + s + i + "[^aeiouwxy]$"),
+ H = function (c) {
+ var v, P, T, h, x, O, M;
+ if (c.length < 3) return c;
+ if (
+ ((T = c.substr(0, 1)),
+ T == "y" && (c = T.toUpperCase() + c.substr(1)),
+ (h = L),
+ (x = f),
+ h.test(c)
+ ? (c = c.replace(h, "$1$2"))
+ : x.test(c) && (c = c.replace(x, "$1$2")),
+ (h = y),
+ (x = S),
+ h.test(c))
+ ) {
+ var E = h.exec(c);
+ (h = m), h.test(E[1]) && ((h = w), (c = c.replace(h, "")));
+ } else if (x.test(c)) {
+ var E = x.exec(c);
+ (v = E[1]),
+ (x = g),
+ x.test(v) &&
+ ((c = v),
+ (x = k),
+ (O = _),
+ (M = B),
+ x.test(c)
+ ? (c = c + "e")
+ : O.test(c)
+ ? ((h = w), (c = c.replace(h, "")))
+ : M.test(c) && (c = c + "e"));
+ }
+ if (((h = A), h.test(c))) {
+ var E = h.exec(c);
+ (v = E[1]), (c = v + "i");
+ }
+ if (((h = j), h.test(c))) {
+ var E = h.exec(c);
+ (v = E[1]), (P = E[2]), (h = m), h.test(v) && (c = v + e[P]);
+ }
+ if (((h = q), h.test(c))) {
+ var E = h.exec(c);
+ (v = E[1]), (P = E[2]), (h = m), h.test(v) && (c = v + n[P]);
+ }
+ if (((h = V), (x = $), h.test(c))) {
+ var E = h.exec(c);
+ (v = E[1]), (h = p), h.test(v) && (c = v);
+ } else if (x.test(c)) {
+ var E = x.exec(c);
+ (v = E[1] + E[2]), (x = p), x.test(v) && (c = v);
+ }
+ if (((h = C), h.test(c))) {
+ var E = h.exec(c);
+ (v = E[1]),
+ (h = p),
+ (x = b),
+ (O = W),
+ (h.test(v) || (x.test(v) && !O.test(v))) && (c = v);
+ }
+ return (
+ (h = z),
+ (x = p),
+ h.test(c) && x.test(c) && ((h = w), (c = c.replace(h, ""))),
+ T == "y" && (c = T.toLowerCase() + c.substr(1)),
+ c
+ );
+ };
+ return function (R) {
+ return R.update(H);
+ };
+ })()),
+ t.Pipeline.registerFunction(t.stemmer, "stemmer");
+ (t.generateStopWordFilter = function (e) {
+ var n = e.reduce(function (r, i) {
+ return (r[i] = i), r;
+ }, {});
+ return function (r) {
+ if (r && n[r.toString()] !== r.toString()) return r;
+ };
+ }),
+ (t.stopWordFilter = t.generateStopWordFilter([
+ "a",
+ "able",
+ "about",
+ "across",
+ "after",
+ "all",
+ "almost",
+ "also",
+ "am",
+ "among",
+ "an",
+ "and",
+ "any",
+ "are",
+ "as",
+ "at",
+ "be",
+ "because",
+ "been",
+ "but",
+ "by",
+ "can",
+ "cannot",
+ "could",
+ "dear",
+ "did",
+ "do",
+ "does",
+ "either",
+ "else",
+ "ever",
+ "every",
+ "for",
+ "from",
+ "get",
+ "got",
+ "had",
+ "has",
+ "have",
+ "he",
+ "her",
+ "hers",
+ "him",
+ "his",
+ "how",
+ "however",
+ "i",
+ "if",
+ "in",
+ "into",
+ "is",
+ "it",
+ "its",
+ "just",
+ "least",
+ "let",
+ "like",
+ "likely",
+ "may",
+ "me",
+ "might",
+ "most",
+ "must",
+ "my",
+ "neither",
+ "no",
+ "nor",
+ "not",
+ "of",
+ "off",
+ "often",
+ "on",
+ "only",
+ "or",
+ "other",
+ "our",
+ "own",
+ "rather",
+ "said",
+ "say",
+ "says",
+ "she",
+ "should",
+ "since",
+ "so",
+ "some",
+ "than",
+ "that",
+ "the",
+ "their",
+ "them",
+ "then",
+ "there",
+ "these",
+ "they",
+ "this",
+ "tis",
+ "to",
+ "too",
+ "twas",
+ "us",
+ "wants",
+ "was",
+ "we",
+ "were",
+ "what",
+ "when",
+ "where",
+ "which",
+ "while",
+ "who",
+ "whom",
+ "why",
+ "will",
+ "with",
+ "would",
+ "yet",
+ "you",
+ "your",
+ ])),
+ t.Pipeline.registerFunction(t.stopWordFilter, "stopWordFilter");
+ (t.trimmer = function (e) {
+ return e.update(function (n) {
+ return n.replace(/^\W+/, "").replace(/\W+$/, "");
+ });
+ }),
+ t.Pipeline.registerFunction(t.trimmer, "trimmer");
+ (t.TokenSet = function () {
+ (this.final = !1),
+ (this.edges = {}),
+ (this.id = t.TokenSet._nextId),
+ (t.TokenSet._nextId += 1);
+ }),
+ (t.TokenSet._nextId = 1),
+ (t.TokenSet.fromArray = function (e) {
+ for (
+ var n = new t.TokenSet.Builder(), r = 0, i = e.length;
+ r < i;
+ r++
+ )
+ n.insert(e[r]);
+ return n.finish(), n.root;
+ }),
+ (t.TokenSet.fromClause = function (e) {
+ return "editDistance" in e
+ ? t.TokenSet.fromFuzzyString(e.term, e.editDistance)
+ : t.TokenSet.fromString(e.term);
+ }),
+ (t.TokenSet.fromFuzzyString = function (e, n) {
+ for (
+ var r = new t.TokenSet(),
+ i = [{ node: r, editsRemaining: n, str: e }];
+ i.length;
+
+ ) {
+ var s = i.pop();
+ if (s.str.length > 0) {
+ var o = s.str.charAt(0),
+ a;
+ o in s.node.edges
+ ? (a = s.node.edges[o])
+ : ((a = new t.TokenSet()), (s.node.edges[o] = a)),
+ s.str.length == 1 && (a.final = !0),
+ i.push({
+ node: a,
+ editsRemaining: s.editsRemaining,
+ str: s.str.slice(1),
+ });
+ }
+ if (s.editsRemaining != 0) {
+ if ("*" in s.node.edges) var l = s.node.edges["*"];
+ else {
+ var l = new t.TokenSet();
+ s.node.edges["*"] = l;
+ }
+ if (
+ (s.str.length == 0 && (l.final = !0),
+ i.push({
+ node: l,
+ editsRemaining: s.editsRemaining - 1,
+ str: s.str,
+ }),
+ s.str.length > 1 &&
+ i.push({
+ node: s.node,
+ editsRemaining: s.editsRemaining - 1,
+ str: s.str.slice(1),
+ }),
+ s.str.length == 1 && (s.node.final = !0),
+ s.str.length >= 1)
+ ) {
+ if ("*" in s.node.edges) var u = s.node.edges["*"];
+ else {
+ var u = new t.TokenSet();
+ s.node.edges["*"] = u;
+ }
+ s.str.length == 1 && (u.final = !0),
+ i.push({
+ node: u,
+ editsRemaining: s.editsRemaining - 1,
+ str: s.str.slice(1),
+ });
+ }
+ if (s.str.length > 1) {
+ var d = s.str.charAt(0),
+ m = s.str.charAt(1),
+ p;
+ m in s.node.edges
+ ? (p = s.node.edges[m])
+ : ((p = new t.TokenSet()), (s.node.edges[m] = p)),
+ s.str.length == 1 && (p.final = !0),
+ i.push({
+ node: p,
+ editsRemaining: s.editsRemaining - 1,
+ str: d + s.str.slice(2),
+ });
+ }
+ }
+ }
+ return r;
+ }),
+ (t.TokenSet.fromString = function (e) {
+ for (
+ var n = new t.TokenSet(), r = n, i = 0, s = e.length;
+ i < s;
+ i++
+ ) {
+ var o = e[i],
+ a = i == s - 1;
+ if (o == "*") (n.edges[o] = n), (n.final = a);
+ else {
+ var l = new t.TokenSet();
+ (l.final = a), (n.edges[o] = l), (n = l);
+ }
+ }
+ return r;
+ }),
+ (t.TokenSet.prototype.toArray = function () {
+ for (var e = [], n = [{ prefix: "", node: this }]; n.length; ) {
+ var r = n.pop(),
+ i = Object.keys(r.node.edges),
+ s = i.length;
+ r.node.final && (r.prefix.charAt(0), e.push(r.prefix));
+ for (var o = 0; o < s; o++) {
+ var a = i[o];
+ n.push({ prefix: r.prefix.concat(a), node: r.node.edges[a] });
+ }
+ }
+ return e;
+ }),
+ (t.TokenSet.prototype.toString = function () {
+ if (this._str) return this._str;
+ for (
+ var e = this.final ? "1" : "0",
+ n = Object.keys(this.edges).sort(),
+ r = n.length,
+ i = 0;
+ i < r;
+ i++
+ ) {
+ var s = n[i],
+ o = this.edges[s];
+ e = e + s + o.id;
+ }
+ return e;
+ }),
+ (t.TokenSet.prototype.intersect = function (e) {
+ for (
+ var n = new t.TokenSet(),
+ r = void 0,
+ i = [{ qNode: e, output: n, node: this }];
+ i.length;
+
+ ) {
+ r = i.pop();
+ for (
+ var s = Object.keys(r.qNode.edges),
+ o = s.length,
+ a = Object.keys(r.node.edges),
+ l = a.length,
+ u = 0;
+ u < o;
+ u++
+ )
+ for (var d = s[u], m = 0; m < l; m++) {
+ var p = a[m];
+ if (p == d || d == "*") {
+ var b = r.node.edges[p],
+ g = r.qNode.edges[d],
+ L = b.final && g.final,
+ f = void 0;
+ p in r.output.edges
+ ? ((f = r.output.edges[p]), (f.final = f.final || L))
+ : ((f = new t.TokenSet()),
+ (f.final = L),
+ (r.output.edges[p] = f)),
+ i.push({ qNode: g, output: f, node: b });
+ }
+ }
+ }
+ return n;
+ }),
+ (t.TokenSet.Builder = function () {
+ (this.previousWord = ""),
+ (this.root = new t.TokenSet()),
+ (this.uncheckedNodes = []),
+ (this.minimizedNodes = {});
+ }),
+ (t.TokenSet.Builder.prototype.insert = function (e) {
+ var n,
+ r = 0;
+ if (e < this.previousWord)
+ throw new Error("Out of order word insertion");
+ for (
+ var i = 0;
+ i < e.length &&
+ i < this.previousWord.length &&
+ e[i] == this.previousWord[i];
+ i++
+ )
+ r++;
+ this.minimize(r),
+ this.uncheckedNodes.length == 0
+ ? (n = this.root)
+ : (n = this.uncheckedNodes[this.uncheckedNodes.length - 1].child);
+ for (var i = r; i < e.length; i++) {
+ var s = new t.TokenSet(),
+ o = e[i];
+ (n.edges[o] = s),
+ this.uncheckedNodes.push({ parent: n, char: o, child: s }),
+ (n = s);
+ }
+ (n.final = !0), (this.previousWord = e);
+ }),
+ (t.TokenSet.Builder.prototype.finish = function () {
+ this.minimize(0);
+ }),
+ (t.TokenSet.Builder.prototype.minimize = function (e) {
+ for (var n = this.uncheckedNodes.length - 1; n >= e; n--) {
+ var r = this.uncheckedNodes[n],
+ i = r.child.toString();
+ i in this.minimizedNodes
+ ? (r.parent.edges[r.char] = this.minimizedNodes[i])
+ : ((r.child._str = i), (this.minimizedNodes[i] = r.child)),
+ this.uncheckedNodes.pop();
+ }
+ });
+ (t.Index = function (e) {
+ (this.invertedIndex = e.invertedIndex),
+ (this.fieldVectors = e.fieldVectors),
+ (this.tokenSet = e.tokenSet),
+ (this.fields = e.fields),
+ (this.pipeline = e.pipeline);
+ }),
+ (t.Index.prototype.search = function (e) {
+ return this.query(function (n) {
+ var r = new t.QueryParser(e, n);
+ r.parse();
+ });
+ }),
+ (t.Index.prototype.query = function (e) {
+ for (
+ var n = new t.Query(this.fields),
+ r = Object.create(null),
+ i = Object.create(null),
+ s = Object.create(null),
+ o = Object.create(null),
+ a = Object.create(null),
+ l = 0;
+ l < this.fields.length;
+ l++
+ )
+ i[this.fields[l]] = new t.Vector();
+ e.call(n, n);
+ for (var l = 0; l < n.clauses.length; l++) {
+ var u = n.clauses[l],
+ d = null,
+ m = t.Set.empty;
+ u.usePipeline
+ ? (d = this.pipeline.runString(u.term, { fields: u.fields }))
+ : (d = [u.term]);
+ for (var p = 0; p < d.length; p++) {
+ var b = d[p];
+ u.term = b;
+ var g = t.TokenSet.fromClause(u),
+ L = this.tokenSet.intersect(g).toArray();
+ if (L.length === 0 && u.presence === t.Query.presence.REQUIRED) {
+ for (var f = 0; f < u.fields.length; f++) {
+ var y = u.fields[f];
+ o[y] = t.Set.empty;
+ }
+ break;
+ }
+ for (var S = 0; S < L.length; S++)
+ for (
+ var w = L[S], k = this.invertedIndex[w], _ = k._index, f = 0;
+ f < u.fields.length;
+ f++
+ ) {
+ var y = u.fields[f],
+ B = k[y],
+ A = Object.keys(B),
+ j = w + "/" + y,
+ q = new t.Set(A);
+ if (
+ (u.presence == t.Query.presence.REQUIRED &&
+ ((m = m.union(q)),
+ o[y] === void 0 && (o[y] = t.Set.complete)),
+ u.presence == t.Query.presence.PROHIBITED)
+ ) {
+ a[y] === void 0 && (a[y] = t.Set.empty),
+ (a[y] = a[y].union(q));
+ continue;
+ }
+ if (
+ (i[y].upsert(_, u.boost, function (Ie, Ce) {
+ return Ie + Ce;
+ }),
+ !s[j])
+ ) {
+ for (var V = 0; V < A.length; V++) {
+ var $ = A[V],
+ C = new t.FieldRef($, y),
+ z = B[$],
+ W;
+ (W = r[C]) === void 0
+ ? (r[C] = new t.MatchData(w, y, z))
+ : W.add(w, y, z);
+ }
+ s[j] = !0;
+ }
+ }
+ }
+ if (u.presence === t.Query.presence.REQUIRED)
+ for (var f = 0; f < u.fields.length; f++) {
+ var y = u.fields[f];
+ o[y] = o[y].intersect(m);
+ }
+ }
+ for (
+ var H = t.Set.complete, R = t.Set.empty, l = 0;
+ l < this.fields.length;
+ l++
+ ) {
+ var y = this.fields[l];
+ o[y] && (H = H.intersect(o[y])), a[y] && (R = R.union(a[y]));
+ }
+ var c = Object.keys(r),
+ v = [],
+ P = Object.create(null);
+ if (n.isNegated()) {
+ c = Object.keys(this.fieldVectors);
+ for (var l = 0; l < c.length; l++) {
+ var C = c[l],
+ T = t.FieldRef.fromString(C);
+ r[C] = new t.MatchData();
+ }
+ }
+ for (var l = 0; l < c.length; l++) {
+ var T = t.FieldRef.fromString(c[l]),
+ h = T.docRef;
+ if (H.contains(h) && !R.contains(h)) {
+ var x = this.fieldVectors[T],
+ O = i[T.fieldName].similarity(x),
+ M;
+ if ((M = P[h]) !== void 0)
+ (M.score += O), M.matchData.combine(r[T]);
+ else {
+ var E = { ref: h, score: O, matchData: r[T] };
+ (P[h] = E), v.push(E);
+ }
+ }
+ }
+ return v.sort(function (ke, Qe) {
+ return Qe.score - ke.score;
+ });
+ }),
+ (t.Index.prototype.toJSON = function () {
+ var e = Object.keys(this.invertedIndex)
+ .sort()
+ .map(function (r) {
+ return [r, this.invertedIndex[r]];
+ }, this),
+ n = Object.keys(this.fieldVectors).map(function (r) {
+ return [r, this.fieldVectors[r].toJSON()];
+ }, this);
+ return {
+ version: t.version,
+ fields: this.fields,
+ fieldVectors: n,
+ invertedIndex: e,
+ pipeline: this.pipeline.toJSON(),
+ };
+ }),
+ (t.Index.load = function (e) {
+ var n = {},
+ r = {},
+ i = e.fieldVectors,
+ s = Object.create(null),
+ o = e.invertedIndex,
+ a = new t.TokenSet.Builder(),
+ l = t.Pipeline.load(e.pipeline);
+ e.version != t.version &&
+ t.utils.warn(
+ "Version mismatch when loading serialised index. Current version of lunr '" +
+ t.version +
+ "' does not match serialized index '" +
+ e.version +
+ "'",
+ );
+ for (var u = 0; u < i.length; u++) {
+ var d = i[u],
+ m = d[0],
+ p = d[1];
+ r[m] = new t.Vector(p);
+ }
+ for (var u = 0; u < o.length; u++) {
+ var d = o[u],
+ b = d[0],
+ g = d[1];
+ a.insert(b), (s[b] = g);
+ }
+ return (
+ a.finish(),
+ (n.fields = e.fields),
+ (n.fieldVectors = r),
+ (n.invertedIndex = s),
+ (n.tokenSet = a.root),
+ (n.pipeline = l),
+ new t.Index(n)
+ );
+ });
+ (t.Builder = function () {
+ (this._ref = "id"),
+ (this._fields = Object.create(null)),
+ (this._documents = Object.create(null)),
+ (this.invertedIndex = Object.create(null)),
+ (this.fieldTermFrequencies = {}),
+ (this.fieldLengths = {}),
+ (this.tokenizer = t.tokenizer),
+ (this.pipeline = new t.Pipeline()),
+ (this.searchPipeline = new t.Pipeline()),
+ (this.documentCount = 0),
+ (this._b = 0.75),
+ (this._k1 = 1.2),
+ (this.termIndex = 0),
+ (this.metadataWhitelist = []);
+ }),
+ (t.Builder.prototype.ref = function (e) {
+ this._ref = e;
+ }),
+ (t.Builder.prototype.field = function (e, n) {
+ if (/\//.test(e))
+ throw new RangeError(
+ "Field '" + e + "' contains illegal character '/'",
+ );
+ this._fields[e] = n || {};
+ }),
+ (t.Builder.prototype.b = function (e) {
+ e < 0 ? (this._b = 0) : e > 1 ? (this._b = 1) : (this._b = e);
+ }),
+ (t.Builder.prototype.k1 = function (e) {
+ this._k1 = e;
+ }),
+ (t.Builder.prototype.add = function (e, n) {
+ var r = e[this._ref],
+ i = Object.keys(this._fields);
+ (this._documents[r] = n || {}), (this.documentCount += 1);
+ for (var s = 0; s < i.length; s++) {
+ var o = i[s],
+ a = this._fields[o].extractor,
+ l = a ? a(e) : e[o],
+ u = this.tokenizer(l, { fields: [o] }),
+ d = this.pipeline.run(u),
+ m = new t.FieldRef(r, o),
+ p = Object.create(null);
+ (this.fieldTermFrequencies[m] = p),
+ (this.fieldLengths[m] = 0),
+ (this.fieldLengths[m] += d.length);
+ for (var b = 0; b < d.length; b++) {
+ var g = d[b];
+ if (
+ (p[g] == null && (p[g] = 0),
+ (p[g] += 1),
+ this.invertedIndex[g] == null)
+ ) {
+ var L = Object.create(null);
+ (L._index = this.termIndex), (this.termIndex += 1);
+ for (var f = 0; f < i.length; f++)
+ L[i[f]] = Object.create(null);
+ this.invertedIndex[g] = L;
+ }
+ this.invertedIndex[g][o][r] == null &&
+ (this.invertedIndex[g][o][r] = Object.create(null));
+ for (var y = 0; y < this.metadataWhitelist.length; y++) {
+ var S = this.metadataWhitelist[y],
+ w = g.metadata[S];
+ this.invertedIndex[g][o][r][S] == null &&
+ (this.invertedIndex[g][o][r][S] = []),
+ this.invertedIndex[g][o][r][S].push(w);
+ }
+ }
+ }
+ }),
+ (t.Builder.prototype.calculateAverageFieldLengths = function () {
+ for (
+ var e = Object.keys(this.fieldLengths),
+ n = e.length,
+ r = {},
+ i = {},
+ s = 0;
+ s < n;
+ s++
+ ) {
+ var o = t.FieldRef.fromString(e[s]),
+ a = o.fieldName;
+ i[a] || (i[a] = 0),
+ (i[a] += 1),
+ r[a] || (r[a] = 0),
+ (r[a] += this.fieldLengths[o]);
+ }
+ for (var l = Object.keys(this._fields), s = 0; s < l.length; s++) {
+ var u = l[s];
+ r[u] = r[u] / i[u];
+ }
+ this.averageFieldLength = r;
+ }),
+ (t.Builder.prototype.createFieldVectors = function () {
+ for (
+ var e = {},
+ n = Object.keys(this.fieldTermFrequencies),
+ r = n.length,
+ i = Object.create(null),
+ s = 0;
+ s < r;
+ s++
+ ) {
+ for (
+ var o = t.FieldRef.fromString(n[s]),
+ a = o.fieldName,
+ l = this.fieldLengths[o],
+ u = new t.Vector(),
+ d = this.fieldTermFrequencies[o],
+ m = Object.keys(d),
+ p = m.length,
+ b = this._fields[a].boost || 1,
+ g = this._documents[o.docRef].boost || 1,
+ L = 0;
+ L < p;
+ L++
+ ) {
+ var f = m[L],
+ y = d[f],
+ S = this.invertedIndex[f]._index,
+ w,
+ k,
+ _;
+ i[f] === void 0
+ ? ((w = t.idf(this.invertedIndex[f], this.documentCount)),
+ (i[f] = w))
+ : (w = i[f]),
+ (k =
+ (w * ((this._k1 + 1) * y)) /
+ (this._k1 *
+ (1 - this._b + this._b * (l / this.averageFieldLength[a])) +
+ y)),
+ (k *= b),
+ (k *= g),
+ (_ = Math.round(k * 1e3) / 1e3),
+ u.insert(S, _);
+ }
+ e[o] = u;
+ }
+ this.fieldVectors = e;
+ }),
+ (t.Builder.prototype.createTokenSet = function () {
+ this.tokenSet = t.TokenSet.fromArray(
+ Object.keys(this.invertedIndex).sort(),
+ );
+ }),
+ (t.Builder.prototype.build = function () {
+ return (
+ this.calculateAverageFieldLengths(),
+ this.createFieldVectors(),
+ this.createTokenSet(),
+ new t.Index({
+ invertedIndex: this.invertedIndex,
+ fieldVectors: this.fieldVectors,
+ tokenSet: this.tokenSet,
+ fields: Object.keys(this._fields),
+ pipeline: this.searchPipeline,
+ })
+ );
+ }),
+ (t.Builder.prototype.use = function (e) {
+ var n = Array.prototype.slice.call(arguments, 1);
+ n.unshift(this), e.apply(this, n);
+ }),
+ (t.MatchData = function (e, n, r) {
+ for (
+ var i = Object.create(null), s = Object.keys(r || {}), o = 0;
+ o < s.length;
+ o++
+ ) {
+ var a = s[o];
+ i[a] = r[a].slice();
+ }
+ (this.metadata = Object.create(null)),
+ e !== void 0 &&
+ ((this.metadata[e] = Object.create(null)),
+ (this.metadata[e][n] = i));
+ }),
+ (t.MatchData.prototype.combine = function (e) {
+ for (var n = Object.keys(e.metadata), r = 0; r < n.length; r++) {
+ var i = n[r],
+ s = Object.keys(e.metadata[i]);
+ this.metadata[i] == null &&
+ (this.metadata[i] = Object.create(null));
+ for (var o = 0; o < s.length; o++) {
+ var a = s[o],
+ l = Object.keys(e.metadata[i][a]);
+ this.metadata[i][a] == null &&
+ (this.metadata[i][a] = Object.create(null));
+ for (var u = 0; u < l.length; u++) {
+ var d = l[u];
+ this.metadata[i][a][d] == null
+ ? (this.metadata[i][a][d] = e.metadata[i][a][d])
+ : (this.metadata[i][a][d] = this.metadata[i][a][d].concat(
+ e.metadata[i][a][d],
+ ));
+ }
+ }
+ }
+ }),
+ (t.MatchData.prototype.add = function (e, n, r) {
+ if (!(e in this.metadata)) {
+ (this.metadata[e] = Object.create(null)), (this.metadata[e][n] = r);
+ return;
+ }
+ if (!(n in this.metadata[e])) {
+ this.metadata[e][n] = r;
+ return;
+ }
+ for (var i = Object.keys(r), s = 0; s < i.length; s++) {
+ var o = i[s];
+ o in this.metadata[e][n]
+ ? (this.metadata[e][n][o] = this.metadata[e][n][o].concat(r[o]))
+ : (this.metadata[e][n][o] = r[o]);
+ }
+ }),
+ (t.Query = function (e) {
+ (this.clauses = []), (this.allFields = e);
+ }),
+ (t.Query.wildcard = new String("*")),
+ (t.Query.wildcard.NONE = 0),
+ (t.Query.wildcard.LEADING = 1),
+ (t.Query.wildcard.TRAILING = 2),
+ (t.Query.presence = { OPTIONAL: 1, REQUIRED: 2, PROHIBITED: 3 }),
+ (t.Query.prototype.clause = function (e) {
+ return (
+ "fields" in e || (e.fields = this.allFields),
+ "boost" in e || (e.boost = 1),
+ "usePipeline" in e || (e.usePipeline = !0),
+ "wildcard" in e || (e.wildcard = t.Query.wildcard.NONE),
+ e.wildcard & t.Query.wildcard.LEADING &&
+ e.term.charAt(0) != t.Query.wildcard &&
+ (e.term = "*" + e.term),
+ e.wildcard & t.Query.wildcard.TRAILING &&
+ e.term.slice(-1) != t.Query.wildcard &&
+ (e.term = "" + e.term + "*"),
+ "presence" in e || (e.presence = t.Query.presence.OPTIONAL),
+ this.clauses.push(e),
+ this
+ );
+ }),
+ (t.Query.prototype.isNegated = function () {
+ for (var e = 0; e < this.clauses.length; e++)
+ if (this.clauses[e].presence != t.Query.presence.PROHIBITED)
+ return !1;
+ return !0;
+ }),
+ (t.Query.prototype.term = function (e, n) {
+ if (Array.isArray(e))
+ return (
+ e.forEach(function (i) {
+ this.term(i, t.utils.clone(n));
+ }, this),
+ this
+ );
+ var r = n || {};
+ return (r.term = e.toString()), this.clause(r), this;
+ }),
+ (t.QueryParseError = function (e, n, r) {
+ (this.name = "QueryParseError"),
+ (this.message = e),
+ (this.start = n),
+ (this.end = r);
+ }),
+ (t.QueryParseError.prototype = new Error()),
+ (t.QueryLexer = function (e) {
+ (this.lexemes = []),
+ (this.str = e),
+ (this.length = e.length),
+ (this.pos = 0),
+ (this.start = 0),
+ (this.escapeCharPositions = []);
+ }),
+ (t.QueryLexer.prototype.run = function () {
+ for (var e = t.QueryLexer.lexText; e; ) e = e(this);
+ }),
+ (t.QueryLexer.prototype.sliceString = function () {
+ for (
+ var e = [], n = this.start, r = this.pos, i = 0;
+ i < this.escapeCharPositions.length;
+ i++
+ )
+ (r = this.escapeCharPositions[i]),
+ e.push(this.str.slice(n, r)),
+ (n = r + 1);
+ return (
+ e.push(this.str.slice(n, this.pos)),
+ (this.escapeCharPositions.length = 0),
+ e.join("")
+ );
+ }),
+ (t.QueryLexer.prototype.emit = function (e) {
+ this.lexemes.push({
+ type: e,
+ str: this.sliceString(),
+ start: this.start,
+ end: this.pos,
+ }),
+ (this.start = this.pos);
+ }),
+ (t.QueryLexer.prototype.escapeCharacter = function () {
+ this.escapeCharPositions.push(this.pos - 1), (this.pos += 1);
+ }),
+ (t.QueryLexer.prototype.next = function () {
+ if (this.pos >= this.length) return t.QueryLexer.EOS;
+ var e = this.str.charAt(this.pos);
+ return (this.pos += 1), e;
+ }),
+ (t.QueryLexer.prototype.width = function () {
+ return this.pos - this.start;
+ }),
+ (t.QueryLexer.prototype.ignore = function () {
+ this.start == this.pos && (this.pos += 1), (this.start = this.pos);
+ }),
+ (t.QueryLexer.prototype.backup = function () {
+ this.pos -= 1;
+ }),
+ (t.QueryLexer.prototype.acceptDigitRun = function () {
+ var e, n;
+ do (e = this.next()), (n = e.charCodeAt(0));
+ while (n > 47 && n < 58);
+ e != t.QueryLexer.EOS && this.backup();
+ }),
+ (t.QueryLexer.prototype.more = function () {
+ return this.pos < this.length;
+ }),
+ (t.QueryLexer.EOS = "EOS"),
+ (t.QueryLexer.FIELD = "FIELD"),
+ (t.QueryLexer.TERM = "TERM"),
+ (t.QueryLexer.EDIT_DISTANCE = "EDIT_DISTANCE"),
+ (t.QueryLexer.BOOST = "BOOST"),
+ (t.QueryLexer.PRESENCE = "PRESENCE"),
+ (t.QueryLexer.lexField = function (e) {
+ return (
+ e.backup(),
+ e.emit(t.QueryLexer.FIELD),
+ e.ignore(),
+ t.QueryLexer.lexText
+ );
+ }),
+ (t.QueryLexer.lexTerm = function (e) {
+ if (
+ (e.width() > 1 && (e.backup(), e.emit(t.QueryLexer.TERM)),
+ e.ignore(),
+ e.more())
+ )
+ return t.QueryLexer.lexText;
+ }),
+ (t.QueryLexer.lexEditDistance = function (e) {
+ return (
+ e.ignore(),
+ e.acceptDigitRun(),
+ e.emit(t.QueryLexer.EDIT_DISTANCE),
+ t.QueryLexer.lexText
+ );
+ }),
+ (t.QueryLexer.lexBoost = function (e) {
+ return (
+ e.ignore(),
+ e.acceptDigitRun(),
+ e.emit(t.QueryLexer.BOOST),
+ t.QueryLexer.lexText
+ );
+ }),
+ (t.QueryLexer.lexEOS = function (e) {
+ e.width() > 0 && e.emit(t.QueryLexer.TERM);
+ }),
+ (t.QueryLexer.termSeparator = t.tokenizer.separator),
+ (t.QueryLexer.lexText = function (e) {
+ for (;;) {
+ var n = e.next();
+ if (n == t.QueryLexer.EOS) return t.QueryLexer.lexEOS;
+ if (n.charCodeAt(0) == 92) {
+ e.escapeCharacter();
+ continue;
+ }
+ if (n == ":") return t.QueryLexer.lexField;
+ if (n == "~")
+ return (
+ e.backup(),
+ e.width() > 0 && e.emit(t.QueryLexer.TERM),
+ t.QueryLexer.lexEditDistance
+ );
+ if (n == "^")
+ return (
+ e.backup(),
+ e.width() > 0 && e.emit(t.QueryLexer.TERM),
+ t.QueryLexer.lexBoost
+ );
+ if ((n == "+" && e.width() === 1) || (n == "-" && e.width() === 1))
+ return e.emit(t.QueryLexer.PRESENCE), t.QueryLexer.lexText;
+ if (n.match(t.QueryLexer.termSeparator))
+ return t.QueryLexer.lexTerm;
+ }
+ }),
+ (t.QueryParser = function (e, n) {
+ (this.lexer = new t.QueryLexer(e)),
+ (this.query = n),
+ (this.currentClause = {}),
+ (this.lexemeIdx = 0);
+ }),
+ (t.QueryParser.prototype.parse = function () {
+ this.lexer.run(), (this.lexemes = this.lexer.lexemes);
+ for (var e = t.QueryParser.parseClause; e; ) e = e(this);
+ return this.query;
+ }),
+ (t.QueryParser.prototype.peekLexeme = function () {
+ return this.lexemes[this.lexemeIdx];
+ }),
+ (t.QueryParser.prototype.consumeLexeme = function () {
+ var e = this.peekLexeme();
+ return (this.lexemeIdx += 1), e;
+ }),
+ (t.QueryParser.prototype.nextClause = function () {
+ var e = this.currentClause;
+ this.query.clause(e), (this.currentClause = {});
+ }),
+ (t.QueryParser.parseClause = function (e) {
+ var n = e.peekLexeme();
+ if (n != null)
+ switch (n.type) {
+ case t.QueryLexer.PRESENCE:
+ return t.QueryParser.parsePresence;
+ case t.QueryLexer.FIELD:
+ return t.QueryParser.parseField;
+ case t.QueryLexer.TERM:
+ return t.QueryParser.parseTerm;
+ default:
+ var r = "expected either a field or a term, found " + n.type;
+ throw (
+ (n.str.length >= 1 && (r += " with value '" + n.str + "'"),
+ new t.QueryParseError(r, n.start, n.end))
+ );
+ }
+ }),
+ (t.QueryParser.parsePresence = function (e) {
+ var n = e.consumeLexeme();
+ if (n != null) {
+ switch (n.str) {
+ case "-":
+ e.currentClause.presence = t.Query.presence.PROHIBITED;
+ break;
+ case "+":
+ e.currentClause.presence = t.Query.presence.REQUIRED;
+ break;
+ default:
+ var r = "unrecognised presence operator'" + n.str + "'";
+ throw new t.QueryParseError(r, n.start, n.end);
+ }
+ var i = e.peekLexeme();
+ if (i == null) {
+ var r = "expecting term or field, found nothing";
+ throw new t.QueryParseError(r, n.start, n.end);
+ }
+ switch (i.type) {
+ case t.QueryLexer.FIELD:
+ return t.QueryParser.parseField;
+ case t.QueryLexer.TERM:
+ return t.QueryParser.parseTerm;
+ default:
+ var r = "expecting term or field, found '" + i.type + "'";
+ throw new t.QueryParseError(r, i.start, i.end);
+ }
+ }
+ }),
+ (t.QueryParser.parseField = function (e) {
+ var n = e.consumeLexeme();
+ if (n != null) {
+ if (e.query.allFields.indexOf(n.str) == -1) {
+ var r = e.query.allFields
+ .map(function (o) {
+ return "'" + o + "'";
+ })
+ .join(", "),
+ i = "unrecognised field '" + n.str + "', possible fields: " + r;
+ throw new t.QueryParseError(i, n.start, n.end);
+ }
+ e.currentClause.fields = [n.str];
+ var s = e.peekLexeme();
+ if (s == null) {
+ var i = "expecting term, found nothing";
+ throw new t.QueryParseError(i, n.start, n.end);
+ }
+ switch (s.type) {
+ case t.QueryLexer.TERM:
+ return t.QueryParser.parseTerm;
+ default:
+ var i = "expecting term, found '" + s.type + "'";
+ throw new t.QueryParseError(i, s.start, s.end);
+ }
+ }
+ }),
+ (t.QueryParser.parseTerm = function (e) {
+ var n = e.consumeLexeme();
+ if (n != null) {
+ (e.currentClause.term = n.str.toLowerCase()),
+ n.str.indexOf("*") != -1 && (e.currentClause.usePipeline = !1);
+ var r = e.peekLexeme();
+ if (r == null) {
+ e.nextClause();
+ return;
+ }
+ switch (r.type) {
+ case t.QueryLexer.TERM:
+ return e.nextClause(), t.QueryParser.parseTerm;
+ case t.QueryLexer.FIELD:
+ return e.nextClause(), t.QueryParser.parseField;
+ case t.QueryLexer.EDIT_DISTANCE:
+ return t.QueryParser.parseEditDistance;
+ case t.QueryLexer.BOOST:
+ return t.QueryParser.parseBoost;
+ case t.QueryLexer.PRESENCE:
+ return e.nextClause(), t.QueryParser.parsePresence;
+ default:
+ var i = "Unexpected lexeme type '" + r.type + "'";
+ throw new t.QueryParseError(i, r.start, r.end);
+ }
+ }
+ }),
+ (t.QueryParser.parseEditDistance = function (e) {
+ var n = e.consumeLexeme();
+ if (n != null) {
+ var r = parseInt(n.str, 10);
+ if (isNaN(r)) {
+ var i = "edit distance must be numeric";
+ throw new t.QueryParseError(i, n.start, n.end);
+ }
+ e.currentClause.editDistance = r;
+ var s = e.peekLexeme();
+ if (s == null) {
+ e.nextClause();
+ return;
+ }
+ switch (s.type) {
+ case t.QueryLexer.TERM:
+ return e.nextClause(), t.QueryParser.parseTerm;
+ case t.QueryLexer.FIELD:
+ return e.nextClause(), t.QueryParser.parseField;
+ case t.QueryLexer.EDIT_DISTANCE:
+ return t.QueryParser.parseEditDistance;
+ case t.QueryLexer.BOOST:
+ return t.QueryParser.parseBoost;
+ case t.QueryLexer.PRESENCE:
+ return e.nextClause(), t.QueryParser.parsePresence;
+ default:
+ var i = "Unexpected lexeme type '" + s.type + "'";
+ throw new t.QueryParseError(i, s.start, s.end);
+ }
+ }
+ }),
+ (t.QueryParser.parseBoost = function (e) {
+ var n = e.consumeLexeme();
+ if (n != null) {
+ var r = parseInt(n.str, 10);
+ if (isNaN(r)) {
+ var i = "boost must be numeric";
+ throw new t.QueryParseError(i, n.start, n.end);
+ }
+ e.currentClause.boost = r;
+ var s = e.peekLexeme();
+ if (s == null) {
+ e.nextClause();
+ return;
+ }
+ switch (s.type) {
+ case t.QueryLexer.TERM:
+ return e.nextClause(), t.QueryParser.parseTerm;
+ case t.QueryLexer.FIELD:
+ return e.nextClause(), t.QueryParser.parseField;
+ case t.QueryLexer.EDIT_DISTANCE:
+ return t.QueryParser.parseEditDistance;
+ case t.QueryLexer.BOOST:
+ return t.QueryParser.parseBoost;
+ case t.QueryLexer.PRESENCE:
+ return e.nextClause(), t.QueryParser.parsePresence;
+ default:
+ var i = "Unexpected lexeme type '" + s.type + "'";
+ throw new t.QueryParseError(i, s.start, s.end);
+ }
+ }
+ }),
+ (function (e, n) {
+ typeof define == "function" && define.amd
+ ? define(n)
+ : typeof ae == "object"
+ ? (le.exports = n())
+ : (e.lunr = n());
+ })(this, function () {
+ return t;
+ });
+ })();
+ });
+ var se = [];
+ function G(t, e) {
+ se.push({ selector: e, constructor: t });
+ }
+ var U = class {
+ constructor() {
+ this.alwaysVisibleMember = null;
+ this.createComponents(document.body),
+ this.ensureFocusedElementVisible(),
+ this.listenForCodeCopies(),
+ window.addEventListener("hashchange", () =>
+ this.ensureFocusedElementVisible(),
+ ),
+ document.body.style.display ||
+ (this.ensureFocusedElementVisible(),
+ this.updateIndexVisibility(),
+ this.scrollToHash());
+ }
+ createComponents(e) {
+ se.forEach((n) => {
+ e.querySelectorAll(n.selector).forEach((r) => {
+ r.dataset.hasInstance ||
+ (new n.constructor({ el: r, app: this }),
+ (r.dataset.hasInstance = String(!0)));
+ });
+ });
+ }
+ filterChanged() {
+ this.ensureFocusedElementVisible();
+ }
+ showPage() {
+ document.body.style.display &&
+ (document.body.style.removeProperty("display"),
+ this.ensureFocusedElementVisible(),
+ this.updateIndexVisibility(),
+ this.scrollToHash());
+ }
+ scrollToHash() {
+ if (location.hash) {
+ let e = document.getElementById(location.hash.substring(1));
+ if (!e) return;
+ e.scrollIntoView({ behavior: "instant", block: "start" });
+ }
+ }
+ ensureActivePageVisible() {
+ let e = document.querySelector(".tsd-navigation .current"),
+ n = e?.parentElement;
+ for (; n && !n.classList.contains(".tsd-navigation"); )
+ n instanceof HTMLDetailsElement && (n.open = !0), (n = n.parentElement);
+ if (e && !Ve(e)) {
+ let r =
+ e.getBoundingClientRect().top -
+ document.documentElement.clientHeight / 4;
+ (document.querySelector(".site-menu").scrollTop = r),
+ (document.querySelector(".col-sidebar").scrollTop = r);
+ }
+ }
+ updateIndexVisibility() {
+ let e = document.querySelector(".tsd-index-content"),
+ n = e?.open;
+ e && (e.open = !0),
+ document.querySelectorAll(".tsd-index-section").forEach((r) => {
+ r.style.display = "block";
+ let i = Array.from(r.querySelectorAll(".tsd-index-link")).every(
+ (s) => s.offsetParent == null,
+ );
+ r.style.display = i ? "none" : "block";
+ }),
+ e && (e.open = n);
+ }
+ ensureFocusedElementVisible() {
+ if (
+ (this.alwaysVisibleMember &&
+ (this.alwaysVisibleMember.classList.remove("always-visible"),
+ this.alwaysVisibleMember.firstElementChild.remove(),
+ (this.alwaysVisibleMember = null)),
+ !location.hash)
+ )
+ return;
+ let e = document.getElementById(location.hash.substring(1));
+ if (!e) return;
+ let n = e.parentElement;
+ for (; n && n.tagName !== "SECTION"; ) n = n.parentElement;
+ if (!n) return;
+ let r = n.offsetParent == null,
+ i = n;
+ for (; i !== document.body; )
+ i instanceof HTMLDetailsElement && (i.open = !0), (i = i.parentElement);
+ if (n.offsetParent == null) {
+ (this.alwaysVisibleMember = n), n.classList.add("always-visible");
+ let s = document.createElement("p");
+ s.classList.add("warning"),
+ (s.textContent = window.translations.normally_hidden),
+ n.prepend(s);
+ }
+ r && e.scrollIntoView();
+ }
+ listenForCodeCopies() {
+ document.querySelectorAll("pre > button").forEach((e) => {
+ let n;
+ e.addEventListener("click", () => {
+ e.previousElementSibling instanceof HTMLElement &&
+ navigator.clipboard.writeText(
+ e.previousElementSibling.innerText.trim(),
+ ),
+ (e.textContent = window.translations.copied),
+ e.classList.add("visible"),
+ clearTimeout(n),
+ (n = setTimeout(() => {
+ e.classList.remove("visible"),
+ (n = setTimeout(() => {
+ e.textContent = window.translations.copy;
+ }, 100));
+ }, 1e3));
+ });
+ });
+ }
+ };
+ function Ve(t) {
+ let e = t.getBoundingClientRect(),
+ n = Math.max(document.documentElement.clientHeight, window.innerHeight);
+ return !(e.bottom < 0 || e.top - n >= 0);
+ }
+ var oe = (t, e = 100) => {
+ let n;
+ return () => {
+ clearTimeout(n), (n = setTimeout(() => t(), e));
+ };
+ };
+ var pe = Ae(ue());
+ async function ce(t, e) {
+ if (!window.searchData) return;
+ let n = await fetch(window.searchData),
+ r = new Blob([await n.arrayBuffer()])
+ .stream()
+ .pipeThrough(new DecompressionStream("gzip")),
+ i = await new Response(r).json();
+ (t.data = i),
+ (t.index = pe.Index.load(i.index)),
+ e.classList.remove("loading"),
+ e.classList.add("ready");
+ }
+ function fe() {
+ let t = document.getElementById("tsd-search");
+ if (!t) return;
+ let e = { base: t.dataset.base + "/" },
+ n = document.getElementById("tsd-search-script");
+ t.classList.add("loading"),
+ n &&
+ (n.addEventListener("error", () => {
+ t.classList.remove("loading"), t.classList.add("failure");
+ }),
+ n.addEventListener("load", () => {
+ ce(e, t);
+ }),
+ ce(e, t));
+ let r = document.querySelector("#tsd-search input"),
+ i = document.querySelector("#tsd-search .results");
+ if (!r || !i)
+ throw new Error(
+ "The input field or the result list wrapper was not found",
+ );
+ i.addEventListener("mouseup", () => {
+ te(t);
+ }),
+ r.addEventListener("focus", () => t.classList.add("has-focus")),
+ He(t, i, r, e);
+ }
+ function He(t, e, n, r) {
+ n.addEventListener(
+ "input",
+ oe(() => {
+ Ne(t, e, n, r);
+ }, 200),
+ ),
+ n.addEventListener("keydown", (i) => {
+ i.key == "Enter"
+ ? Be(e, t)
+ : i.key == "ArrowUp"
+ ? (de(e, n, -1), i.preventDefault())
+ : i.key === "ArrowDown" && (de(e, n, 1), i.preventDefault());
+ }),
+ document.body.addEventListener("keypress", (i) => {
+ i.altKey ||
+ i.ctrlKey ||
+ i.metaKey ||
+ (!n.matches(":focus") &&
+ i.key === "/" &&
+ (i.preventDefault(), n.focus()));
+ }),
+ document.body.addEventListener("keyup", (i) => {
+ t.classList.contains("has-focus") &&
+ (i.key === "Escape" ||
+ (!e.matches(":focus-within") && !n.matches(":focus"))) &&
+ (n.blur(), te(t));
+ });
+ }
+ function te(t) {
+ t.classList.remove("has-focus");
+ }
+ function Ne(t, e, n, r) {
+ if (!r.index || !r.data) return;
+ e.textContent = "";
+ let i = n.value.trim(),
+ s;
+ if (i) {
+ let o = i
+ .split(" ")
+ .map((a) => (a.length ? `*${a}*` : ""))
+ .join(" ");
+ s = r.index.search(o);
+ } else s = [];
+ for (let o = 0; o < s.length; o++) {
+ let a = s[o],
+ l = r.data.rows[Number(a.ref)],
+ u = 1;
+ l.name.toLowerCase().startsWith(i.toLowerCase()) &&
+ (u *= 1 + 1 / (1 + Math.abs(l.name.length - i.length))),
+ (a.score *= u);
+ }
+ if (s.length === 0) {
+ let o = document.createElement("li");
+ o.classList.add("no-results");
+ let a = document.createElement("span");
+ (a.textContent = "No results found"), o.appendChild(a), e.appendChild(o);
+ }
+ s.sort((o, a) => a.score - o.score);
+ for (let o = 0, a = Math.min(10, s.length); o < a; o++) {
+ let l = r.data.rows[Number(s[o].ref)],
+ u = ` `,
+ d = he(l.name, i);
+ globalThis.DEBUG_SEARCH_WEIGHTS &&
+ (d += ` (score: ${s[o].score.toFixed(2)})`),
+ l.parent &&
+ (d = `
+ ${he(l.parent, i)}. ${d}`);
+ let m = document.createElement("li");
+ m.classList.value = l.classes ?? "";
+ let p = document.createElement("a");
+ (p.href = r.base + l.url),
+ (p.innerHTML = u + d),
+ m.append(p),
+ p.addEventListener("focus", () => {
+ e.querySelector(".current")?.classList.remove("current"),
+ m.classList.add("current");
+ }),
+ e.appendChild(m);
+ }
+ }
+ function de(t, e, n) {
+ let r = t.querySelector(".current");
+ if (!r)
+ (r = t.querySelector(n == 1 ? "li:first-child" : "li:last-child")),
+ r && r.classList.add("current");
+ else {
+ let i = r;
+ if (n === 1)
+ do i = i.nextElementSibling ?? void 0;
+ while (i instanceof HTMLElement && i.offsetParent == null);
+ else
+ do i = i.previousElementSibling ?? void 0;
+ while (i instanceof HTMLElement && i.offsetParent == null);
+ i
+ ? (r.classList.remove("current"), i.classList.add("current"))
+ : n === -1 && (r.classList.remove("current"), e.focus());
+ }
+ }
+ function Be(t, e) {
+ let n = t.querySelector(".current");
+ if ((n || (n = t.querySelector("li:first-child")), n)) {
+ let r = n.querySelector("a");
+ r && (window.location.href = r.href), te(e);
+ }
+ }
+ function he(t, e) {
+ if (e === "") return t;
+ let n = t.toLocaleLowerCase(),
+ r = e.toLocaleLowerCase(),
+ i = [],
+ s = 0,
+ o = n.indexOf(r);
+ for (; o != -1; )
+ i.push(
+ ee(t.substring(s, o)),
+ `${ee(t.substring(o, o + r.length))} `,
+ ),
+ (s = o + r.length),
+ (o = n.indexOf(r, s));
+ return i.push(ee(t.substring(s))), i.join("");
+ }
+ var je = {
+ "&": "&",
+ "<": "<",
+ ">": ">",
+ "'": "'",
+ '"': """,
+ };
+ function ee(t) {
+ return t.replace(/[&<>"'"]/g, (e) => je[e]);
+ }
+ var I = class {
+ constructor(e) {
+ (this.el = e.el), (this.app = e.app);
+ }
+ };
+ var F = "mousedown",
+ ye = "mousemove",
+ N = "mouseup",
+ J = { x: 0, y: 0 },
+ me = !1,
+ ne = !1,
+ qe = !1,
+ D = !1,
+ ve = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
+ navigator.userAgent,
+ );
+ document.documentElement.classList.add(ve ? "is-mobile" : "not-mobile");
+ ve &&
+ "ontouchstart" in document.documentElement &&
+ ((qe = !0), (F = "touchstart"), (ye = "touchmove"), (N = "touchend"));
+ document.addEventListener(F, (t) => {
+ (ne = !0), (D = !1);
+ let e = F == "touchstart" ? t.targetTouches[0] : t;
+ (J.y = e.pageY || 0), (J.x = e.pageX || 0);
+ });
+ document.addEventListener(ye, (t) => {
+ if (ne && !D) {
+ let e = F == "touchstart" ? t.targetTouches[0] : t,
+ n = J.x - (e.pageX || 0),
+ r = J.y - (e.pageY || 0);
+ D = Math.sqrt(n * n + r * r) > 10;
+ }
+ });
+ document.addEventListener(N, () => {
+ ne = !1;
+ });
+ document.addEventListener("click", (t) => {
+ me && (t.preventDefault(), t.stopImmediatePropagation(), (me = !1));
+ });
+ var X = class extends I {
+ constructor(e) {
+ super(e),
+ (this.className = this.el.dataset.toggle || ""),
+ this.el.addEventListener(N, (n) => this.onPointerUp(n)),
+ this.el.addEventListener("click", (n) => n.preventDefault()),
+ document.addEventListener(F, (n) => this.onDocumentPointerDown(n)),
+ document.addEventListener(N, (n) => this.onDocumentPointerUp(n));
+ }
+ setActive(e) {
+ if (this.active == e) return;
+ (this.active = e),
+ document.documentElement.classList.toggle("has-" + this.className, e),
+ this.el.classList.toggle("active", e);
+ let n = (this.active ? "to-has-" : "from-has-") + this.className;
+ document.documentElement.classList.add(n),
+ setTimeout(() => document.documentElement.classList.remove(n), 500);
+ }
+ onPointerUp(e) {
+ D || (this.setActive(!0), e.preventDefault());
+ }
+ onDocumentPointerDown(e) {
+ if (this.active) {
+ if (e.target.closest(".col-sidebar, .tsd-filter-group")) return;
+ this.setActive(!1);
+ }
+ }
+ onDocumentPointerUp(e) {
+ if (!D && this.active && e.target.closest(".col-sidebar")) {
+ let n = e.target.closest("a");
+ if (n) {
+ let r = window.location.href;
+ r.indexOf("#") != -1 && (r = r.substring(0, r.indexOf("#"))),
+ n.href.substring(0, r.length) == r &&
+ setTimeout(() => this.setActive(!1), 250);
+ }
+ }
+ }
+ };
+ var re;
+ try {
+ re = localStorage;
+ } catch {
+ re = {
+ getItem() {
+ return null;
+ },
+ setItem() {},
+ };
+ }
+ var Q = re;
+ var ge = document.head.appendChild(document.createElement("style"));
+ ge.dataset.for = "filters";
+ var Y = class extends I {
+ constructor(e) {
+ super(e),
+ (this.key = `filter-${this.el.name}`),
+ (this.value = this.el.checked),
+ this.el.addEventListener("change", () => {
+ this.setLocalStorage(this.el.checked);
+ }),
+ this.setLocalStorage(this.fromLocalStorage()),
+ (ge.innerHTML += `html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; }
+`),
+ this.app.updateIndexVisibility();
+ }
+ fromLocalStorage() {
+ let e = Q.getItem(this.key);
+ return e ? e === "true" : this.el.checked;
+ }
+ setLocalStorage(e) {
+ Q.setItem(this.key, e.toString()),
+ (this.value = e),
+ this.handleValueChange();
+ }
+ handleValueChange() {
+ (this.el.checked = this.value),
+ document.documentElement.classList.toggle(this.key, this.value),
+ this.app.filterChanged(),
+ this.app.updateIndexVisibility();
+ }
+ };
+ var Z = class extends I {
+ constructor(e) {
+ super(e),
+ (this.summary = this.el.querySelector(".tsd-accordion-summary")),
+ (this.icon = this.summary.querySelector("svg")),
+ (this.key = `tsd-accordion-${this.summary.dataset.key ?? this.summary.textContent.trim().replace(/\s+/g, "-").toLowerCase()}`);
+ let n = Q.getItem(this.key);
+ (this.el.open = n ? n === "true" : this.el.open),
+ this.el.addEventListener("toggle", () => this.update());
+ let r = this.summary.querySelector("a");
+ r &&
+ r.addEventListener("click", () => {
+ location.assign(r.href);
+ }),
+ this.update();
+ }
+ update() {
+ (this.icon.style.transform = `rotate(${this.el.open ? 0 : -90}deg)`),
+ Q.setItem(this.key, this.el.open.toString());
+ }
+ };
+ function Ee(t) {
+ let e = Q.getItem("tsd-theme") || "os";
+ (t.value = e),
+ xe(e),
+ t.addEventListener("change", () => {
+ Q.setItem("tsd-theme", t.value), xe(t.value);
+ });
+ }
+ function xe(t) {
+ document.documentElement.dataset.theme = t;
+ }
+ var K;
+ function we() {
+ let t = document.getElementById("tsd-nav-script");
+ t && (t.addEventListener("load", Le), Le());
+ }
+ async function Le() {
+ let t = document.getElementById("tsd-nav-container");
+ if (!t || !window.navigationData) return;
+ let n = await (await fetch(window.navigationData)).arrayBuffer(),
+ r = new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),
+ i = await new Response(r).json();
+ (K = t.dataset.base), K.endsWith("/") || (K += "/"), (t.innerHTML = "");
+ for (let s of i) Se(s, t, []);
+ window.app.createComponents(t),
+ window.app.showPage(),
+ window.app.ensureActivePageVisible();
+ }
+ function Se(t, e, n) {
+ let r = e.appendChild(document.createElement("li"));
+ if (t.children) {
+ let i = [...n, t.text],
+ s = r.appendChild(document.createElement("details"));
+ s.className = t.class ? `${t.class} tsd-accordion` : "tsd-accordion";
+ let o = s.appendChild(document.createElement("summary"));
+ (o.className = "tsd-accordion-summary"),
+ (o.dataset.key = i.join("$")),
+ (o.innerHTML =
+ ' '),
+ be(t, o);
+ let a = s.appendChild(document.createElement("div"));
+ a.className = "tsd-accordion-details";
+ let l = a.appendChild(document.createElement("ul"));
+ l.className = "tsd-nested-navigation";
+ for (let u of t.children) Se(u, l, i);
+ } else be(t, r, t.class);
+ }
+ function be(t, e, n) {
+ if (t.path) {
+ let r = e.appendChild(document.createElement("a"));
+ (r.href = K + t.path),
+ n && (r.className = n),
+ location.pathname === r.pathname &&
+ !r.href.includes("#") &&
+ r.classList.add("current"),
+ t.kind &&
+ (r.innerHTML = ` `),
+ (r.appendChild(document.createElement("span")).textContent = t.text);
+ } else e.appendChild(document.createElement("span")).textContent = t.text;
+ }
+ G(X, "a[data-toggle]");
+ G(Z, ".tsd-accordion");
+ G(Y, ".tsd-filter-item input[type=checkbox]");
+ var Te = document.getElementById("tsd-theme");
+ Te && Ee(Te);
+ var $e = new U();
+ Object.defineProperty(window, "app", { value: $e });
+ fe();
+ we();
+})();
+/*! Bundled license information:
+
+lunr/lunr.js:
+ (**
+ * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9
+ * Copyright (C) 2020 Oliver Nightingale
+ * @license MIT
+ *)
+ (*!
+ * lunr.utils
+ * Copyright (C) 2020 Oliver Nightingale
+ *)
+ (*!
+ * lunr.Set
+ * Copyright (C) 2020 Oliver Nightingale
+ *)
+ (*!
+ * lunr.tokenizer
+ * Copyright (C) 2020 Oliver Nightingale
+ *)
+ (*!
+ * lunr.Pipeline
+ * Copyright (C) 2020 Oliver Nightingale
+ *)
+ (*!
+ * lunr.Vector
+ * Copyright (C) 2020 Oliver Nightingale
+ *)
+ (*!
+ * lunr.stemmer
+ * Copyright (C) 2020 Oliver Nightingale
+ * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt
+ *)
+ (*!
+ * lunr.stopWordFilter
+ * Copyright (C) 2020 Oliver Nightingale
+ *)
+ (*!
+ * lunr.trimmer
+ * Copyright (C) 2020 Oliver Nightingale
+ *)
+ (*!
+ * lunr.TokenSet
+ * Copyright (C) 2020 Oliver Nightingale
+ *)
+ (*!
+ * lunr.Index
+ * Copyright (C) 2020 Oliver Nightingale
+ *)
+ (*!
+ * lunr.Builder
+ * Copyright (C) 2020 Oliver Nightingale
+ *)
+*/
diff --git a/docs/reference/assets/navigation.js b/docs/reference/assets/navigation.js
new file mode 100644
index 0000000..bb4e05f
--- /dev/null
+++ b/docs/reference/assets/navigation.js
@@ -0,0 +1,2 @@
+window.navigationData =
+ "data:application/octet-stream;base64,H4sIAAAAAAAAE4WTS2sCMRRG/0vW0qn27U6koItCH9AuSheZmasGYxLvvalK6X8vasd5xcz6fOcQLuTzRzBsWQzFyKlHRIuiJ5zkhRiKTEsioKQgFwteadETS2VyMewP7n97J/tdapVLVtaciTQGsdaLBw9vLNlT2eGdA0oqqF4YXD7c9W8GlcorrD0QP6k817CRCM1Wa9BdJGcNwUSaXAO2ezXcVWscZGpmtlkMTLqqH5BOrF0Wb2kWG7irtt6fu2x8S1Qy1UDJAdTtq6qIIDWrVdAtWEQntijnQfsfReTMmpmal+7Mm2x/Q0qOpK7eXlfUOfD4rH2CkYCTSDBybpqHCiWNJNCbkIveRCRiBLkKeUcSU31KGaoUgnYBI4GN4kXol5WV+qIj9Yx2uztXOcBW4OsPsjwAYcYEAAA=";
diff --git a/docs/reference/assets/search.js b/docs/reference/assets/search.js
new file mode 100644
index 0000000..285a820
--- /dev/null
+++ b/docs/reference/assets/search.js
@@ -0,0 +1,2 @@
+window.searchData =
+ "data:application/octet-stream;base64,H4sIAAAAAAAAE62ZXW+jOBSG/4vn1k1zDiEhuRutdjW9WGk/pNkLFFUkuA0qAcZAO6Oo/31lIGDjQ2umc9UK+33PwX58jJ0Lk/lLyXbhhT0lWcx26xVnWXQWbMeOefaQPDLOapmyHXuos2OV5Fl52zYsTtU5ZZwd06gsRcl2jL1ywuZRVL9NOfVtb5p52Jt9q0UteqPnSCbRIRXlbfPcNSNZZ0Quss5cDcr6UB5lchCETd/mavaSVKc/kzhOxUskKUezwxzbv2T+/ceEY9P2phkutxvwh7H/R3yrRVkRuVY/ClHeWu1vp+r73rr3vr9XHk6Gn/q+mi9nRSRFVpFpkiRJEaVVcqZguja9mT9g0Ht9LpLfpcxl79Upbq8Nbzr5gPqaKytZH6v3zD6ZPemh6PPS0l6ixnEVVXX5TqC+08/FOOTxj3ciqC43OCuCNvhfozSJIwU2PQej9l8yFZSn04yMk9VW2xphNQzbQyLSuOljzw8Z3RTMjr5cBXrF/mNueEszNwMXMMnIBJ9VGd8k5U2SnYRMKhH/RAYktmT8rudHo9vVtizyrBRfoixOhbRKo9H68Upr271fZ80EySpbVrmMHqki27U4b7mVFNGZ2m+bhlkb2d/qY+FfE7F2HLSWWY6jab3LHvKRM9Hjo5M2ZfnexFHJTqyCc/k4L+iiVTgHXnS5TsRP8+PM+K3iV8WfP+qLuUNvZzCG6z9x+JLnT9f1Nspn1Oq6nopIluJzUdzFxJoaGim7PWdJFovvbHdhz0KWSZ6xHcOFt9gy3m5c6kTRRuLsmJ/P6u05i/Nj3fy777p9FWqzVJ3b3rdLxsMl95aLLez3PLxqm+fNg6vF8KTRAeMhEDqwdGDokPEQCR1aOjR0HuOhR+g8S+cZuhXj4YrQrSzdytD5jIc+ofMtnW/o1oyHa0K3tnRrQ7dhPNwQuo2l2xi6gPEw4IiLlbcxhIElDAzhlvFwSwTcWrqtOfGKA6CQAZsZGEHTUAMc/UWwRFNMgGOSAwoIQFJs0wMmPqCoAI8U2wiByRAoNICiCGyMwOQI/OlXtlkCEyZQjACFIdg8gQkUKE6AQhFspsCECoLpoba5AhMs2E4PtQ0XmHRhQxe1ENCmC026EKbWAtpw4agsNXAFVFyiMplsYcMWtZbQRgtNtFDRgtRqQhstNNFCBQtSRRhtstAkC9eTY2WThSZZqGBBsojbZKFJFipWkCrkaIOFJlioUEFqGaLNFZpceQoVpFaSZ3PlmVx5ChWkVpJnc9U9anbsZyErEd+1O3cY9t+UF3bfbef9CfDCAra7vHKG0P1dq7+vw2bePO33c9Wm4kZFItoz+GAKy8EVlk427YlKs/A0C68VwdbJ6nqHOZhp6bhlYxzrtaRAS6obJvCdHJtvH9EdlDVHX3N0G/BHUdlvqCfm6jKV0lrz2jiZNR/ggwNqc4eBk0NzhNAcUHNwy6H5fo2KIokNI+1lPLeR6a6bNQ8tF3eH6xWF5qNhiCsnp+HCcrDZDi5u60G2l6Nn7Q53cNsMbm7jLLtDx+l6R6GRo5mh20JrruUHBw0cz0lvjzJo0wXYrVE3CPuLC81Nq4/oNvvXWwvNRJsydHyv4deGwWc12LjhMy72qDmgGzzP/enVrvKaG7glNHJLmjsTLT+tjKFbXX0Rh1OeP8n+oKy5abXVc8NR/UhCrxPNyzGxpDoV7W8xg4tWjRyK/Z6zIilEmmSC7cL96+v/kPat4robAAA=";
diff --git a/docs/reference/assets/style.css b/docs/reference/assets/style.css
new file mode 100644
index 0000000..9d619a6
--- /dev/null
+++ b/docs/reference/assets/style.css
@@ -0,0 +1,1448 @@
+:root {
+ /* Light */
+ --light-color-background: #f2f4f8;
+ --light-color-background-secondary: #eff0f1;
+ --light-color-warning-text: #222;
+ --light-color-background-warning: #e6e600;
+ --light-color-icon-background: var(--light-color-background);
+ --light-color-accent: #c5c7c9;
+ --light-color-active-menu-item: var(--light-color-accent);
+ --light-color-text: #222;
+ --light-color-text-aside: #6e6e6e;
+ --light-color-link: #1f70c2;
+ --light-color-focus-outline: #3584e4;
+
+ --light-color-ts-keyword: #056bd6;
+ --light-color-ts-project: #b111c9;
+ --light-color-ts-module: var(--light-color-ts-project);
+ --light-color-ts-namespace: var(--light-color-ts-project);
+ --light-color-ts-enum: #7e6f15;
+ --light-color-ts-enum-member: var(--light-color-ts-enum);
+ --light-color-ts-variable: #4760ec;
+ --light-color-ts-function: #572be7;
+ --light-color-ts-class: #1f70c2;
+ --light-color-ts-interface: #108024;
+ --light-color-ts-constructor: var(--light-color-ts-class);
+ --light-color-ts-property: var(--light-color-ts-variable);
+ --light-color-ts-method: var(--light-color-ts-function);
+ --light-color-ts-call-signature: var(--light-color-ts-method);
+ --light-color-ts-index-signature: var(--light-color-ts-property);
+ --light-color-ts-constructor-signature: var(--light-color-ts-constructor);
+ --light-color-ts-parameter: var(--light-color-ts-variable);
+ /* type literal not included as links will never be generated to it */
+ --light-color-ts-type-parameter: #a55c0e;
+ --light-color-ts-accessor: var(--light-color-ts-property);
+ --light-color-ts-get-signature: var(--light-color-ts-accessor);
+ --light-color-ts-set-signature: var(--light-color-ts-accessor);
+ --light-color-ts-type-alias: #d51270;
+ /* reference not included as links will be colored with the kind that it points to */
+ --light-color-document: #000000;
+
+ --light-external-icon: url("data:image/svg+xml;utf8, ");
+ --light-color-scheme: light;
+
+ /* Dark */
+ --dark-color-background: #2b2e33;
+ --dark-color-background-secondary: #1e2024;
+ --dark-color-background-warning: #bebe00;
+ --dark-color-warning-text: #222;
+ --dark-color-icon-background: var(--dark-color-background-secondary);
+ --dark-color-accent: #9096a2;
+ --dark-color-active-menu-item: #5d5d6a;
+ --dark-color-text: #f5f5f5;
+ --dark-color-text-aside: #dddddd;
+ --dark-color-link: #00aff4;
+ --dark-color-focus-outline: #4c97f2;
+
+ --dark-color-ts-keyword: #3399ff;
+ --dark-color-ts-project: #e358ff;
+ --dark-color-ts-module: var(--dark-color-ts-project);
+ --dark-color-ts-namespace: var(--dark-color-ts-project);
+ --dark-color-ts-enum: #f4d93e;
+ --dark-color-ts-enum-member: var(--dark-color-ts-enum);
+ --dark-color-ts-variable: #798dff;
+ --dark-color-ts-function: #a280ff;
+ --dark-color-ts-class: #8ac4ff;
+ --dark-color-ts-interface: #6cff87;
+ --dark-color-ts-constructor: var(--dark-color-ts-class);
+ --dark-color-ts-property: var(--dark-color-ts-variable);
+ --dark-color-ts-method: var(--dark-color-ts-function);
+ --dark-color-ts-call-signature: var(--dark-color-ts-method);
+ --dark-color-ts-index-signature: var(--dark-color-ts-property);
+ --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor);
+ --dark-color-ts-parameter: var(--dark-color-ts-variable);
+ /* type literal not included as links will never be generated to it */
+ --dark-color-ts-type-parameter: #e07d13;
+ --dark-color-ts-accessor: var(--dark-color-ts-property);
+ --dark-color-ts-get-signature: var(--dark-color-ts-accessor);
+ --dark-color-ts-set-signature: var(--dark-color-ts-accessor);
+ --dark-color-ts-type-alias: #ff6492;
+ /* reference not included as links will be colored with the kind that it points to */
+ --dark-color-document: #ffffff;
+
+ --dark-external-icon: url("data:image/svg+xml;utf8, ");
+ --dark-color-scheme: dark;
+}
+
+@media (prefers-color-scheme: light) {
+ :root {
+ --color-background: var(--light-color-background);
+ --color-background-secondary: var(--light-color-background-secondary);
+ --color-background-warning: var(--light-color-background-warning);
+ --color-warning-text: var(--light-color-warning-text);
+ --color-icon-background: var(--light-color-icon-background);
+ --color-accent: var(--light-color-accent);
+ --color-active-menu-item: var(--light-color-active-menu-item);
+ --color-text: var(--light-color-text);
+ --color-text-aside: var(--light-color-text-aside);
+ --color-link: var(--light-color-link);
+ --color-focus-outline: var(--light-color-focus-outline);
+
+ --color-ts-keyword: var(--light-color-ts-keyword);
+ --color-ts-module: var(--light-color-ts-module);
+ --color-ts-namespace: var(--light-color-ts-namespace);
+ --color-ts-enum: var(--light-color-ts-enum);
+ --color-ts-enum-member: var(--light-color-ts-enum-member);
+ --color-ts-variable: var(--light-color-ts-variable);
+ --color-ts-function: var(--light-color-ts-function);
+ --color-ts-class: var(--light-color-ts-class);
+ --color-ts-interface: var(--light-color-ts-interface);
+ --color-ts-constructor: var(--light-color-ts-constructor);
+ --color-ts-property: var(--light-color-ts-property);
+ --color-ts-method: var(--light-color-ts-method);
+ --color-ts-call-signature: var(--light-color-ts-call-signature);
+ --color-ts-index-signature: var(--light-color-ts-index-signature);
+ --color-ts-constructor-signature: var(
+ --light-color-ts-constructor-signature
+ );
+ --color-ts-parameter: var(--light-color-ts-parameter);
+ --color-ts-type-parameter: var(--light-color-ts-type-parameter);
+ --color-ts-accessor: var(--light-color-ts-accessor);
+ --color-ts-get-signature: var(--light-color-ts-get-signature);
+ --color-ts-set-signature: var(--light-color-ts-set-signature);
+ --color-ts-type-alias: var(--light-color-ts-type-alias);
+ --color-document: var(--light-color-document);
+
+ --external-icon: var(--light-external-icon);
+ --color-scheme: var(--light-color-scheme);
+ }
+}
+
+@media (prefers-color-scheme: dark) {
+ :root {
+ --color-background: var(--dark-color-background);
+ --color-background-secondary: var(--dark-color-background-secondary);
+ --color-background-warning: var(--dark-color-background-warning);
+ --color-warning-text: var(--dark-color-warning-text);
+ --color-icon-background: var(--dark-color-icon-background);
+ --color-accent: var(--dark-color-accent);
+ --color-active-menu-item: var(--dark-color-active-menu-item);
+ --color-text: var(--dark-color-text);
+ --color-text-aside: var(--dark-color-text-aside);
+ --color-link: var(--dark-color-link);
+ --color-focus-outline: var(--dark-color-focus-outline);
+
+ --color-ts-keyword: var(--dark-color-ts-keyword);
+ --color-ts-module: var(--dark-color-ts-module);
+ --color-ts-namespace: var(--dark-color-ts-namespace);
+ --color-ts-enum: var(--dark-color-ts-enum);
+ --color-ts-enum-member: var(--dark-color-ts-enum-member);
+ --color-ts-variable: var(--dark-color-ts-variable);
+ --color-ts-function: var(--dark-color-ts-function);
+ --color-ts-class: var(--dark-color-ts-class);
+ --color-ts-interface: var(--dark-color-ts-interface);
+ --color-ts-constructor: var(--dark-color-ts-constructor);
+ --color-ts-property: var(--dark-color-ts-property);
+ --color-ts-method: var(--dark-color-ts-method);
+ --color-ts-call-signature: var(--dark-color-ts-call-signature);
+ --color-ts-index-signature: var(--dark-color-ts-index-signature);
+ --color-ts-constructor-signature: var(
+ --dark-color-ts-constructor-signature
+ );
+ --color-ts-parameter: var(--dark-color-ts-parameter);
+ --color-ts-type-parameter: var(--dark-color-ts-type-parameter);
+ --color-ts-accessor: var(--dark-color-ts-accessor);
+ --color-ts-get-signature: var(--dark-color-ts-get-signature);
+ --color-ts-set-signature: var(--dark-color-ts-set-signature);
+ --color-ts-type-alias: var(--dark-color-ts-type-alias);
+ --color-document: var(--dark-color-document);
+
+ --external-icon: var(--dark-external-icon);
+ --color-scheme: var(--dark-color-scheme);
+ }
+}
+
+html {
+ color-scheme: var(--color-scheme);
+}
+
+body {
+ margin: 0;
+}
+
+:root[data-theme="light"] {
+ --color-background: var(--light-color-background);
+ --color-background-secondary: var(--light-color-background-secondary);
+ --color-background-warning: var(--light-color-background-warning);
+ --color-warning-text: var(--light-color-warning-text);
+ --color-icon-background: var(--light-color-icon-background);
+ --color-accent: var(--light-color-accent);
+ --color-active-menu-item: var(--light-color-active-menu-item);
+ --color-text: var(--light-color-text);
+ --color-text-aside: var(--light-color-text-aside);
+ --color-link: var(--light-color-link);
+ --color-focus-outline: var(--light-color-focus-outline);
+
+ --color-ts-keyword: var(--light-color-ts-keyword);
+ --color-ts-module: var(--light-color-ts-module);
+ --color-ts-namespace: var(--light-color-ts-namespace);
+ --color-ts-enum: var(--light-color-ts-enum);
+ --color-ts-enum-member: var(--light-color-ts-enum-member);
+ --color-ts-variable: var(--light-color-ts-variable);
+ --color-ts-function: var(--light-color-ts-function);
+ --color-ts-class: var(--light-color-ts-class);
+ --color-ts-interface: var(--light-color-ts-interface);
+ --color-ts-constructor: var(--light-color-ts-constructor);
+ --color-ts-property: var(--light-color-ts-property);
+ --color-ts-method: var(--light-color-ts-method);
+ --color-ts-call-signature: var(--light-color-ts-call-signature);
+ --color-ts-index-signature: var(--light-color-ts-index-signature);
+ --color-ts-constructor-signature: var(
+ --light-color-ts-constructor-signature
+ );
+ --color-ts-parameter: var(--light-color-ts-parameter);
+ --color-ts-type-parameter: var(--light-color-ts-type-parameter);
+ --color-ts-accessor: var(--light-color-ts-accessor);
+ --color-ts-get-signature: var(--light-color-ts-get-signature);
+ --color-ts-set-signature: var(--light-color-ts-set-signature);
+ --color-ts-type-alias: var(--light-color-ts-type-alias);
+ --color-document: var(--light-color-document);
+
+ --external-icon: var(--light-external-icon);
+ --color-scheme: var(--light-color-scheme);
+}
+
+:root[data-theme="dark"] {
+ --color-background: var(--dark-color-background);
+ --color-background-secondary: var(--dark-color-background-secondary);
+ --color-background-warning: var(--dark-color-background-warning);
+ --color-warning-text: var(--dark-color-warning-text);
+ --color-icon-background: var(--dark-color-icon-background);
+ --color-accent: var(--dark-color-accent);
+ --color-active-menu-item: var(--dark-color-active-menu-item);
+ --color-text: var(--dark-color-text);
+ --color-text-aside: var(--dark-color-text-aside);
+ --color-link: var(--dark-color-link);
+ --color-focus-outline: var(--dark-color-focus-outline);
+
+ --color-ts-keyword: var(--dark-color-ts-keyword);
+ --color-ts-module: var(--dark-color-ts-module);
+ --color-ts-namespace: var(--dark-color-ts-namespace);
+ --color-ts-enum: var(--dark-color-ts-enum);
+ --color-ts-enum-member: var(--dark-color-ts-enum-member);
+ --color-ts-variable: var(--dark-color-ts-variable);
+ --color-ts-function: var(--dark-color-ts-function);
+ --color-ts-class: var(--dark-color-ts-class);
+ --color-ts-interface: var(--dark-color-ts-interface);
+ --color-ts-constructor: var(--dark-color-ts-constructor);
+ --color-ts-property: var(--dark-color-ts-property);
+ --color-ts-method: var(--dark-color-ts-method);
+ --color-ts-call-signature: var(--dark-color-ts-call-signature);
+ --color-ts-index-signature: var(--dark-color-ts-index-signature);
+ --color-ts-constructor-signature: var(
+ --dark-color-ts-constructor-signature
+ );
+ --color-ts-parameter: var(--dark-color-ts-parameter);
+ --color-ts-type-parameter: var(--dark-color-ts-type-parameter);
+ --color-ts-accessor: var(--dark-color-ts-accessor);
+ --color-ts-get-signature: var(--dark-color-ts-get-signature);
+ --color-ts-set-signature: var(--dark-color-ts-set-signature);
+ --color-ts-type-alias: var(--dark-color-ts-type-alias);
+ --color-document: var(--dark-color-document);
+
+ --external-icon: var(--dark-external-icon);
+ --color-scheme: var(--dark-color-scheme);
+}
+
+*:focus-visible,
+.tsd-accordion-summary:focus-visible svg {
+ outline: 2px solid var(--color-focus-outline);
+}
+
+.always-visible,
+.always-visible .tsd-signatures {
+ display: inherit !important;
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ line-height: 1.2;
+}
+
+h1 {
+ font-size: 1.875rem;
+ margin: 0.67rem 0;
+}
+
+h2 {
+ font-size: 1.5rem;
+ margin: 0.83rem 0;
+}
+
+h3 {
+ font-size: 1.25rem;
+ margin: 1rem 0;
+}
+
+h4 {
+ font-size: 1.05rem;
+ margin: 1.33rem 0;
+}
+
+h5 {
+ font-size: 1rem;
+ margin: 1.5rem 0;
+}
+
+h6 {
+ font-size: 0.875rem;
+ margin: 2.33rem 0;
+}
+
+dl,
+menu,
+ol,
+ul {
+ margin: 1em 0;
+}
+
+dd {
+ margin: 0 0 0 40px;
+}
+
+.container {
+ max-width: 1700px;
+ padding: 0 2rem;
+}
+
+/* Footer */
+footer {
+ border-top: 1px solid var(--color-accent);
+ padding-top: 1rem;
+ padding-bottom: 1rem;
+ max-height: 3.5rem;
+}
+footer > p {
+ margin: 0 1em;
+}
+
+.container-main {
+ margin: 0 auto;
+ /* toolbar, footer, margin */
+ min-height: calc(100vh - 41px - 56px - 4rem);
+}
+
+@keyframes fade-in {
+ from {
+ opacity: 0;
+ }
+ to {
+ opacity: 1;
+ }
+}
+@keyframes fade-out {
+ from {
+ opacity: 1;
+ visibility: visible;
+ }
+ to {
+ opacity: 0;
+ }
+}
+@keyframes fade-in-delayed {
+ 0% {
+ opacity: 0;
+ }
+ 33% {
+ opacity: 0;
+ }
+ 100% {
+ opacity: 1;
+ }
+}
+@keyframes fade-out-delayed {
+ 0% {
+ opacity: 1;
+ visibility: visible;
+ }
+ 66% {
+ opacity: 0;
+ }
+ 100% {
+ opacity: 0;
+ }
+}
+@keyframes pop-in-from-right {
+ from {
+ transform: translate(100%, 0);
+ }
+ to {
+ transform: translate(0, 0);
+ }
+}
+@keyframes pop-out-to-right {
+ from {
+ transform: translate(0, 0);
+ visibility: visible;
+ }
+ to {
+ transform: translate(100%, 0);
+ }
+}
+body {
+ background: var(--color-background);
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans",
+ Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
+ font-size: 16px;
+ color: var(--color-text);
+}
+
+a {
+ color: var(--color-link);
+ text-decoration: none;
+}
+a:hover {
+ text-decoration: underline;
+}
+a.external[target="_blank"] {
+ background-image: var(--external-icon);
+ background-position: top 3px right;
+ background-repeat: no-repeat;
+ padding-right: 13px;
+}
+a.tsd-anchor-link {
+ color: var(--color-text);
+}
+
+code,
+pre {
+ font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+ padding: 0.2em;
+ margin: 0;
+ font-size: 0.875rem;
+ border-radius: 0.8em;
+}
+
+pre {
+ position: relative;
+ white-space: pre;
+ white-space: pre-wrap;
+ word-wrap: break-word;
+ padding: 10px;
+ border: 1px solid var(--color-accent);
+}
+pre code {
+ padding: 0;
+ font-size: 100%;
+}
+pre > button {
+ position: absolute;
+ top: 10px;
+ right: 10px;
+ opacity: 0;
+ transition: opacity 0.1s;
+ box-sizing: border-box;
+}
+pre:hover > button,
+pre > button.visible {
+ opacity: 1;
+}
+
+blockquote {
+ margin: 1em 0;
+ padding-left: 1em;
+ border-left: 4px solid gray;
+}
+
+.tsd-typography {
+ line-height: 1.333em;
+}
+.tsd-typography ul {
+ list-style: square;
+ padding: 0 0 0 20px;
+ margin: 0;
+}
+.tsd-typography .tsd-index-panel h3,
+.tsd-index-panel .tsd-typography h3,
+.tsd-typography h4,
+.tsd-typography h5,
+.tsd-typography h6 {
+ font-size: 1em;
+}
+.tsd-typography h5,
+.tsd-typography h6 {
+ font-weight: normal;
+}
+.tsd-typography p,
+.tsd-typography ul,
+.tsd-typography ol {
+ margin: 1em 0;
+}
+.tsd-typography table {
+ border-collapse: collapse;
+ border: none;
+}
+.tsd-typography td,
+.tsd-typography th {
+ padding: 6px 13px;
+ border: 1px solid var(--color-accent);
+}
+.tsd-typography thead,
+.tsd-typography tr:nth-child(even) {
+ background-color: var(--color-background-secondary);
+}
+
+.tsd-breadcrumb {
+ margin: 0;
+ padding: 0;
+ color: var(--color-text-aside);
+}
+.tsd-breadcrumb a {
+ color: var(--color-text-aside);
+ text-decoration: none;
+}
+.tsd-breadcrumb a:hover {
+ text-decoration: underline;
+}
+.tsd-breadcrumb li {
+ display: inline;
+}
+.tsd-breadcrumb li:after {
+ content: " / ";
+}
+
+.tsd-comment-tags {
+ display: flex;
+ flex-direction: column;
+}
+dl.tsd-comment-tag-group {
+ display: flex;
+ align-items: center;
+ overflow: hidden;
+ margin: 0.5em 0;
+}
+dl.tsd-comment-tag-group dt {
+ display: flex;
+ margin-right: 0.5em;
+ font-size: 0.875em;
+ font-weight: normal;
+}
+dl.tsd-comment-tag-group dd {
+ margin: 0;
+}
+code.tsd-tag {
+ padding: 0.25em 0.4em;
+ border: 0.1em solid var(--color-accent);
+ margin-right: 0.25em;
+ font-size: 70%;
+}
+h1 code.tsd-tag:first-of-type {
+ margin-left: 0.25em;
+}
+
+dl.tsd-comment-tag-group dd:before,
+dl.tsd-comment-tag-group dd:after {
+ content: " ";
+}
+dl.tsd-comment-tag-group dd pre,
+dl.tsd-comment-tag-group dd:after {
+ clear: both;
+}
+dl.tsd-comment-tag-group p {
+ margin: 0;
+}
+
+.tsd-panel.tsd-comment .lead {
+ font-size: 1.1em;
+ line-height: 1.333em;
+ margin-bottom: 2em;
+}
+.tsd-panel.tsd-comment .lead:last-child {
+ margin-bottom: 0;
+}
+
+.tsd-filter-visibility h4 {
+ font-size: 1rem;
+ padding-top: 0.75rem;
+ padding-bottom: 0.5rem;
+ margin: 0;
+}
+.tsd-filter-item:not(:last-child) {
+ margin-bottom: 0.5rem;
+}
+.tsd-filter-input {
+ display: flex;
+ width: -moz-fit-content;
+ width: fit-content;
+ align-items: center;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ cursor: pointer;
+}
+.tsd-filter-input input[type="checkbox"] {
+ cursor: pointer;
+ position: absolute;
+ width: 1.5em;
+ height: 1.5em;
+ opacity: 0;
+}
+.tsd-filter-input input[type="checkbox"]:disabled {
+ pointer-events: none;
+}
+.tsd-filter-input svg {
+ cursor: pointer;
+ width: 1.5em;
+ height: 1.5em;
+ margin-right: 0.5em;
+ border-radius: 0.33em;
+ /* Leaving this at full opacity breaks event listeners on Firefox.
+ Don't remove unless you know what you're doing. */
+ opacity: 0.99;
+}
+.tsd-filter-input input[type="checkbox"]:focus-visible + svg {
+ outline: 2px solid var(--color-focus-outline);
+}
+.tsd-checkbox-background {
+ fill: var(--color-accent);
+}
+input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark {
+ stroke: var(--color-text);
+}
+.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background {
+ fill: var(--color-background);
+ stroke: var(--color-accent);
+ stroke-width: 0.25rem;
+}
+.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark {
+ stroke: var(--color-accent);
+}
+
+.settings-label {
+ font-weight: bold;
+ text-transform: uppercase;
+ display: inline-block;
+}
+
+.tsd-filter-visibility .settings-label {
+ margin: 0.75rem 0 0.5rem 0;
+}
+
+.tsd-theme-toggle .settings-label {
+ margin: 0.75rem 0.75rem 0 0;
+}
+
+.tsd-hierarchy {
+ list-style: square;
+ margin: 0;
+}
+.tsd-hierarchy .target {
+ font-weight: bold;
+}
+
+.tsd-full-hierarchy:not(:last-child) {
+ margin-bottom: 1em;
+ padding-bottom: 1em;
+ border-bottom: 1px solid var(--color-accent);
+}
+.tsd-full-hierarchy,
+.tsd-full-hierarchy ul {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+}
+.tsd-full-hierarchy ul {
+ padding-left: 1.5rem;
+}
+.tsd-full-hierarchy a {
+ padding: 0.25rem 0 !important;
+ font-size: 1rem;
+ display: inline-flex;
+ align-items: center;
+ color: var(--color-text);
+}
+
+.tsd-panel-group.tsd-index-group {
+ margin-bottom: 0;
+}
+.tsd-index-panel .tsd-index-list {
+ list-style: none;
+ line-height: 1.333em;
+ margin: 0;
+ padding: 0.25rem 0 0 0;
+ overflow: hidden;
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ column-gap: 1rem;
+ grid-template-rows: auto;
+}
+@media (max-width: 1024px) {
+ .tsd-index-panel .tsd-index-list {
+ grid-template-columns: repeat(2, 1fr);
+ }
+}
+@media (max-width: 768px) {
+ .tsd-index-panel .tsd-index-list {
+ grid-template-columns: repeat(1, 1fr);
+ }
+}
+.tsd-index-panel .tsd-index-list li {
+ -webkit-page-break-inside: avoid;
+ -moz-page-break-inside: avoid;
+ -ms-page-break-inside: avoid;
+ -o-page-break-inside: avoid;
+ page-break-inside: avoid;
+}
+
+.tsd-flag {
+ display: inline-block;
+ padding: 0.25em 0.4em;
+ border-radius: 4px;
+ color: var(--color-comment-tag-text);
+ background-color: var(--color-comment-tag);
+ text-indent: 0;
+ font-size: 75%;
+ line-height: 1;
+ font-weight: normal;
+}
+
+.tsd-anchor {
+ position: relative;
+ top: -100px;
+}
+
+.tsd-member {
+ position: relative;
+}
+.tsd-member .tsd-anchor + h3 {
+ display: flex;
+ align-items: center;
+ margin-top: 0;
+ margin-bottom: 0;
+ border-bottom: none;
+}
+
+.tsd-navigation.settings {
+ margin: 1rem 0;
+}
+.tsd-navigation > a,
+.tsd-navigation .tsd-accordion-summary {
+ width: calc(100% - 0.25rem);
+ display: flex;
+ align-items: center;
+}
+.tsd-navigation a,
+.tsd-navigation summary > span,
+.tsd-page-navigation a {
+ display: flex;
+ width: calc(100% - 0.25rem);
+ align-items: center;
+ padding: 0.25rem;
+ color: var(--color-text);
+ text-decoration: none;
+ box-sizing: border-box;
+}
+.tsd-navigation a.current,
+.tsd-page-navigation a.current {
+ background: var(--color-active-menu-item);
+}
+.tsd-navigation a:hover,
+.tsd-page-navigation a:hover {
+ text-decoration: underline;
+}
+.tsd-navigation ul,
+.tsd-page-navigation ul {
+ margin-top: 0;
+ margin-bottom: 0;
+ padding: 0;
+ list-style: none;
+}
+.tsd-navigation li,
+.tsd-page-navigation li {
+ padding: 0;
+ max-width: 100%;
+}
+.tsd-navigation .tsd-nav-link {
+ display: none;
+}
+.tsd-nested-navigation {
+ margin-left: 3rem;
+}
+.tsd-nested-navigation > li > details {
+ margin-left: -1.5rem;
+}
+.tsd-small-nested-navigation {
+ margin-left: 1.5rem;
+}
+.tsd-small-nested-navigation > li > details {
+ margin-left: -1.5rem;
+}
+
+.tsd-page-navigation-section {
+ margin-left: 10px;
+}
+.tsd-page-navigation-section > summary {
+ padding: 0.25rem;
+}
+.tsd-page-navigation-section > div {
+ margin-left: 20px;
+}
+.tsd-page-navigation ul {
+ padding-left: 1.75rem;
+}
+
+#tsd-sidebar-links a {
+ margin-top: 0;
+ margin-bottom: 0.5rem;
+ line-height: 1.25rem;
+}
+#tsd-sidebar-links a:last-of-type {
+ margin-bottom: 0;
+}
+
+a.tsd-index-link {
+ padding: 0.25rem 0 !important;
+ font-size: 1rem;
+ line-height: 1.25rem;
+ display: inline-flex;
+ align-items: center;
+ color: var(--color-text);
+}
+.tsd-accordion-summary {
+ list-style-type: none; /* hide marker on non-safari */
+ outline: none; /* broken on safari, so just hide it */
+}
+.tsd-accordion-summary::-webkit-details-marker {
+ display: none; /* hide marker on safari */
+}
+.tsd-accordion-summary,
+.tsd-accordion-summary a {
+ -moz-user-select: none;
+ -webkit-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+
+ cursor: pointer;
+}
+.tsd-accordion-summary a {
+ width: calc(100% - 1.5rem);
+}
+.tsd-accordion-summary > * {
+ margin-top: 0;
+ margin-bottom: 0;
+ padding-top: 0;
+ padding-bottom: 0;
+}
+.tsd-accordion .tsd-accordion-summary > svg {
+ margin-left: 0.25rem;
+ vertical-align: text-top;
+}
+.tsd-index-content > :not(:first-child) {
+ margin-top: 0.75rem;
+}
+.tsd-index-heading {
+ margin-top: 1.5rem;
+ margin-bottom: 0.75rem;
+}
+
+.tsd-kind-icon {
+ margin-right: 0.5rem;
+ width: 1.25rem;
+ height: 1.25rem;
+ min-width: 1.25rem;
+ min-height: 1.25rem;
+}
+.tsd-kind-icon path {
+ transform-origin: center;
+ transform: scale(1.1);
+}
+.tsd-signature > .tsd-kind-icon {
+ margin-right: 0.8rem;
+}
+
+.tsd-panel {
+ margin-bottom: 2.5rem;
+}
+.tsd-panel.tsd-member {
+ margin-bottom: 4rem;
+}
+.tsd-panel:empty {
+ display: none;
+}
+.tsd-panel > h1,
+.tsd-panel > h2,
+.tsd-panel > h3 {
+ margin: 1.5rem -1.5rem 0.75rem -1.5rem;
+ padding: 0 1.5rem 0.75rem 1.5rem;
+}
+.tsd-panel > h1.tsd-before-signature,
+.tsd-panel > h2.tsd-before-signature,
+.tsd-panel > h3.tsd-before-signature {
+ margin-bottom: 0;
+ border-bottom: none;
+}
+
+.tsd-panel-group {
+ margin: 2rem 0;
+}
+.tsd-panel-group.tsd-index-group {
+ margin: 2rem 0;
+}
+.tsd-panel-group.tsd-index-group details {
+ margin: 2rem 0;
+}
+.tsd-panel-group > .tsd-accordion-summary {
+ margin-bottom: 1rem;
+}
+
+#tsd-search {
+ transition: background-color 0.2s;
+}
+#tsd-search .title {
+ position: relative;
+ z-index: 2;
+}
+#tsd-search .field {
+ position: absolute;
+ left: 0;
+ top: 0;
+ right: 2.5rem;
+ height: 100%;
+}
+#tsd-search .field input {
+ box-sizing: border-box;
+ position: relative;
+ top: -50px;
+ z-index: 1;
+ width: 100%;
+ padding: 0 10px;
+ opacity: 0;
+ outline: 0;
+ border: 0;
+ background: transparent;
+ color: var(--color-text);
+}
+#tsd-search .field label {
+ position: absolute;
+ overflow: hidden;
+ right: -40px;
+}
+#tsd-search .field input,
+#tsd-search .title,
+#tsd-toolbar-links a {
+ transition: opacity 0.2s;
+}
+#tsd-search .results {
+ position: absolute;
+ visibility: hidden;
+ top: 40px;
+ width: 100%;
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+}
+#tsd-search .results li {
+ background-color: var(--color-background);
+ line-height: initial;
+ padding: 4px;
+}
+#tsd-search .results li:nth-child(even) {
+ background-color: var(--color-background-secondary);
+}
+#tsd-search .results li.state {
+ display: none;
+}
+#tsd-search .results li.current:not(.no-results),
+#tsd-search .results li:hover:not(.no-results) {
+ background-color: var(--color-accent);
+}
+#tsd-search .results a {
+ display: flex;
+ align-items: center;
+ padding: 0.25rem;
+ box-sizing: border-box;
+}
+#tsd-search .results a:before {
+ top: 10px;
+}
+#tsd-search .results span.parent {
+ color: var(--color-text-aside);
+ font-weight: normal;
+}
+#tsd-search.has-focus {
+ background-color: var(--color-accent);
+}
+#tsd-search.has-focus .field input {
+ top: 0;
+ opacity: 1;
+}
+#tsd-search.has-focus .title,
+#tsd-search.has-focus #tsd-toolbar-links a {
+ z-index: 0;
+ opacity: 0;
+}
+#tsd-search.has-focus .results {
+ visibility: visible;
+}
+#tsd-search.loading .results li.state.loading {
+ display: block;
+}
+#tsd-search.failure .results li.state.failure {
+ display: block;
+}
+
+#tsd-toolbar-links {
+ position: absolute;
+ top: 0;
+ right: 2rem;
+ height: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: flex-end;
+}
+#tsd-toolbar-links a {
+ margin-left: 1.5rem;
+}
+#tsd-toolbar-links a:hover {
+ text-decoration: underline;
+}
+
+.tsd-signature {
+ margin: 0 0 1rem 0;
+ padding: 1rem 0.5rem;
+ border: 1px solid var(--color-accent);
+ font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+ font-size: 14px;
+ overflow-x: auto;
+}
+
+.tsd-signature-keyword {
+ color: var(--color-ts-keyword);
+ font-weight: normal;
+}
+
+.tsd-signature-symbol {
+ color: var(--color-text-aside);
+ font-weight: normal;
+}
+
+.tsd-signature-type {
+ font-style: italic;
+ font-weight: normal;
+}
+
+.tsd-signatures {
+ padding: 0;
+ margin: 0 0 1em 0;
+ list-style-type: none;
+}
+.tsd-signatures .tsd-signature {
+ margin: 0;
+ border-color: var(--color-accent);
+ border-width: 1px 0;
+ transition: background-color 0.1s;
+}
+.tsd-signatures .tsd-index-signature:not(:last-child) {
+ margin-bottom: 1em;
+}
+.tsd-signatures .tsd-index-signature .tsd-signature {
+ border-width: 1px;
+}
+.tsd-description .tsd-signatures .tsd-signature {
+ border-width: 1px;
+}
+
+ul.tsd-parameter-list,
+ul.tsd-type-parameter-list {
+ list-style: square;
+ margin: 0;
+ padding-left: 20px;
+}
+ul.tsd-parameter-list > li.tsd-parameter-signature,
+ul.tsd-type-parameter-list > li.tsd-parameter-signature {
+ list-style: none;
+ margin-left: -20px;
+}
+ul.tsd-parameter-list h5,
+ul.tsd-type-parameter-list h5 {
+ font-size: 16px;
+ margin: 1em 0 0.5em 0;
+}
+.tsd-sources {
+ margin-top: 1rem;
+ font-size: 0.875em;
+}
+.tsd-sources a {
+ color: var(--color-text-aside);
+ text-decoration: underline;
+}
+.tsd-sources ul {
+ list-style: none;
+ padding: 0;
+}
+
+.tsd-page-toolbar {
+ position: sticky;
+ z-index: 1;
+ top: 0;
+ left: 0;
+ width: 100%;
+ color: var(--color-text);
+ background: var(--color-background-secondary);
+ border-bottom: 1px var(--color-accent) solid;
+ transition: transform 0.3s ease-in-out;
+}
+.tsd-page-toolbar a {
+ color: var(--color-text);
+ text-decoration: none;
+}
+.tsd-page-toolbar a.title {
+ font-weight: bold;
+}
+.tsd-page-toolbar a.title:hover {
+ text-decoration: underline;
+}
+.tsd-page-toolbar .tsd-toolbar-contents {
+ display: flex;
+ justify-content: space-between;
+ height: 2.5rem;
+ margin: 0 auto;
+}
+.tsd-page-toolbar .table-cell {
+ position: relative;
+ white-space: nowrap;
+ line-height: 40px;
+}
+.tsd-page-toolbar .table-cell:first-child {
+ width: 100%;
+}
+.tsd-page-toolbar .tsd-toolbar-icon {
+ box-sizing: border-box;
+ line-height: 0;
+ padding: 12px 0;
+}
+
+.tsd-widget {
+ display: inline-block;
+ overflow: hidden;
+ opacity: 0.8;
+ height: 40px;
+ transition:
+ opacity 0.1s,
+ background-color 0.2s;
+ vertical-align: bottom;
+ cursor: pointer;
+}
+.tsd-widget:hover {
+ opacity: 0.9;
+}
+.tsd-widget.active {
+ opacity: 1;
+ background-color: var(--color-accent);
+}
+.tsd-widget.no-caption {
+ width: 40px;
+}
+.tsd-widget.no-caption:before {
+ margin: 0;
+}
+
+.tsd-widget.options,
+.tsd-widget.menu {
+ display: none;
+}
+input[type="checkbox"] + .tsd-widget:before {
+ background-position: -120px 0;
+}
+input[type="checkbox"]:checked + .tsd-widget:before {
+ background-position: -160px 0;
+}
+
+img {
+ max-width: 100%;
+}
+
+.tsd-anchor-icon {
+ display: inline-flex;
+ align-items: center;
+ margin-left: 0.5rem;
+ vertical-align: middle;
+ color: var(--color-text);
+}
+
+.tsd-anchor-icon svg {
+ width: 1em;
+ height: 1em;
+ visibility: hidden;
+}
+
+.tsd-anchor-link:hover > .tsd-anchor-icon svg {
+ visibility: visible;
+}
+
+.deprecated {
+ text-decoration: line-through !important;
+}
+
+.warning {
+ padding: 1rem;
+ color: var(--color-warning-text);
+ background: var(--color-background-warning);
+}
+
+.tsd-kind-project {
+ color: var(--color-ts-project);
+}
+.tsd-kind-module {
+ color: var(--color-ts-module);
+}
+.tsd-kind-namespace {
+ color: var(--color-ts-namespace);
+}
+.tsd-kind-enum {
+ color: var(--color-ts-enum);
+}
+.tsd-kind-enum-member {
+ color: var(--color-ts-enum-member);
+}
+.tsd-kind-variable {
+ color: var(--color-ts-variable);
+}
+.tsd-kind-function {
+ color: var(--color-ts-function);
+}
+.tsd-kind-class {
+ color: var(--color-ts-class);
+}
+.tsd-kind-interface {
+ color: var(--color-ts-interface);
+}
+.tsd-kind-constructor {
+ color: var(--color-ts-constructor);
+}
+.tsd-kind-property {
+ color: var(--color-ts-property);
+}
+.tsd-kind-method {
+ color: var(--color-ts-method);
+}
+.tsd-kind-call-signature {
+ color: var(--color-ts-call-signature);
+}
+.tsd-kind-index-signature {
+ color: var(--color-ts-index-signature);
+}
+.tsd-kind-constructor-signature {
+ color: var(--color-ts-constructor-signature);
+}
+.tsd-kind-parameter {
+ color: var(--color-ts-parameter);
+}
+.tsd-kind-type-literal {
+ color: var(--color-ts-type-literal);
+}
+.tsd-kind-type-parameter {
+ color: var(--color-ts-type-parameter);
+}
+.tsd-kind-accessor {
+ color: var(--color-ts-accessor);
+}
+.tsd-kind-get-signature {
+ color: var(--color-ts-get-signature);
+}
+.tsd-kind-set-signature {
+ color: var(--color-ts-set-signature);
+}
+.tsd-kind-type-alias {
+ color: var(--color-ts-type-alias);
+}
+
+/* if we have a kind icon, don't color the text by kind */
+.tsd-kind-icon ~ span {
+ color: var(--color-text);
+}
+
+* {
+ scrollbar-width: thin;
+ scrollbar-color: var(--color-accent) var(--color-icon-background);
+}
+
+*::-webkit-scrollbar {
+ width: 0.75rem;
+}
+
+*::-webkit-scrollbar-track {
+ background: var(--color-icon-background);
+}
+
+*::-webkit-scrollbar-thumb {
+ background-color: var(--color-accent);
+ border-radius: 999rem;
+ border: 0.25rem solid var(--color-icon-background);
+}
+
+/* mobile */
+@media (max-width: 769px) {
+ .tsd-widget.options,
+ .tsd-widget.menu {
+ display: inline-block;
+ }
+
+ .container-main {
+ display: flex;
+ }
+ html .col-content {
+ float: none;
+ max-width: 100%;
+ width: 100%;
+ }
+ html .col-sidebar {
+ position: fixed !important;
+ overflow-y: auto;
+ -webkit-overflow-scrolling: touch;
+ z-index: 1024;
+ top: 0 !important;
+ bottom: 0 !important;
+ left: auto !important;
+ right: 0 !important;
+ padding: 1.5rem 1.5rem 0 0;
+ width: 75vw;
+ visibility: hidden;
+ background-color: var(--color-background);
+ transform: translate(100%, 0);
+ }
+ html .col-sidebar > *:last-child {
+ padding-bottom: 20px;
+ }
+ html .overlay {
+ content: "";
+ display: block;
+ position: fixed;
+ z-index: 1023;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background-color: rgba(0, 0, 0, 0.75);
+ visibility: hidden;
+ }
+
+ .to-has-menu .overlay {
+ animation: fade-in 0.4s;
+ }
+
+ .to-has-menu .col-sidebar {
+ animation: pop-in-from-right 0.4s;
+ }
+
+ .from-has-menu .overlay {
+ animation: fade-out 0.4s;
+ }
+
+ .from-has-menu .col-sidebar {
+ animation: pop-out-to-right 0.4s;
+ }
+
+ .has-menu body {
+ overflow: hidden;
+ }
+ .has-menu .overlay {
+ visibility: visible;
+ }
+ .has-menu .col-sidebar {
+ visibility: visible;
+ transform: translate(0, 0);
+ display: flex;
+ flex-direction: column;
+ gap: 1.5rem;
+ max-height: 100vh;
+ padding: 1rem 2rem;
+ }
+ .has-menu .tsd-navigation {
+ max-height: 100%;
+ }
+ #tsd-toolbar-links {
+ display: none;
+ }
+ .tsd-navigation .tsd-nav-link {
+ display: flex;
+ }
+}
+
+/* one sidebar */
+@media (min-width: 770px) {
+ .container-main {
+ display: grid;
+ grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
+ grid-template-areas: "sidebar content";
+ margin: 2rem auto;
+ }
+
+ .col-sidebar {
+ grid-area: sidebar;
+ }
+ .col-content {
+ grid-area: content;
+ padding: 0 1rem;
+ }
+}
+@media (min-width: 770px) and (max-width: 1399px) {
+ .col-sidebar {
+ max-height: calc(100vh - 2rem - 42px);
+ overflow: auto;
+ position: sticky;
+ top: 42px;
+ padding-top: 1rem;
+ }
+ .site-menu {
+ margin-top: 1rem;
+ }
+}
+
+/* two sidebars */
+@media (min-width: 1200px) {
+ .container-main {
+ grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem);
+ grid-template-areas: "sidebar content toc";
+ }
+
+ .col-sidebar {
+ display: contents;
+ }
+
+ .page-menu {
+ grid-area: toc;
+ padding-left: 1rem;
+ }
+ .site-menu {
+ grid-area: sidebar;
+ }
+
+ .site-menu {
+ margin-top: 1rem 0;
+ }
+
+ .page-menu,
+ .site-menu {
+ max-height: calc(100vh - 2rem - 42px);
+ overflow: auto;
+ position: sticky;
+ top: 42px;
+ }
+}
diff --git a/docs/reference/assets/typedoc-github-style.css b/docs/reference/assets/typedoc-github-style.css
new file mode 100644
index 0000000..8fe9cdc
--- /dev/null
+++ b/docs/reference/assets/typedoc-github-style.css
@@ -0,0 +1,435 @@
+/*
+ * Define colors
+ */
+
+:root {
+ /* GitHub "Light default" */
+ --light-color-background: #ffffff;
+ --light-color-background-secondary: #f6f8fa;
+ --light-color-background-navbar: #f6f8fa;
+
+ --light-color-accent: #d0d7de;
+
+ --light-color-text: #1f2328;
+ --light-color-text-aside: #636c76;
+
+ --light-color-link: #0969da;
+
+ --light-color-warning-border: #f7ebba;
+ --light-color-background-warning: #fff8c5;
+
+ /* GitHub "Dark default" */
+ --dark-color-background: #0d1117;
+ --dark-color-background-secondary: #161b22;
+ --dark-color-background-navbar: #000000;
+
+ --dark-color-accent: #30363d;
+
+ --dark-color-text: #e6edf3;
+ --dark-color-text-aside: #8d96a0;
+
+ --dark-color-link: #4493f8;
+
+ --dark-color-warning-border: #3a2d12;
+ --dark-color-background-warning: #282215;
+
+ /* Link colors */
+ --color-warning-text: var(--color-text);
+ --color-icon-background: var(--color-background);
+ --color-focus-outline: var(--color-accent);
+}
+
+@media (prefers-color-scheme: light) {
+ :root {
+ --color-background-navbar: var(--light-color-background-navbar);
+ --color-warning-border: var(--light-color-warning-border);
+ }
+}
+
+@media (prefers-color-scheme: dark) {
+ :root {
+ --color-background-navbar: var(--dark-color-background-navbar);
+ --color-warning-border: var(--dark-color-warning-border);
+ }
+}
+
+:root[data-theme='light'] {
+ --color-background-navbar: var(--light-color-background-navbar);
+ --color-warning-border: var(--light-color-warning-border);
+}
+
+:root[data-theme='dark'] {
+ --color-background-navbar: var(--dark-color-background-navbar);
+ --color-warning-border: var(--dark-color-warning-border);
+}
+
+/*
+ * Define fonts
+ */
+
+:root {
+ --font-family-text: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji',
+ 'Segoe UI Emoji';
+ --font-family-code: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
+}
+
+body {
+ font-family: var(--font-family-text);
+}
+
+/*
+ * Headlines
+ */
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ margin-top: 1em;
+ margin-bottom: 0.5em;
+}
+
+/*
+ * Links
+ */
+
+a,
+.tsd-kind-class {
+ color: var(--color-link);
+ text-decoration: underline;
+}
+
+.tsd-index-link {
+ text-decoration: none;
+}
+
+.tsd-index-link:hover {
+ text-decoration: underline;
+}
+
+.tsd-sources a {
+ color: var(--color-link);
+}
+
+/*
+ * Lists
+ */
+
+ul,
+ol {
+ margin-left: 20px;
+ list-style: disc;
+}
+
+li::marker {
+ color: var(--color-accent);
+}
+
+/*
+ * Input fields
+ */
+
+input {
+ background-color: var(--color-background-secondary);
+ color: var(--color-text);
+ border: 1px solid var(--color-accent);
+ border-radius: 6px;
+ padding: 8px;
+ width: 100%;
+}
+
+/*
+ * Tables
+ */
+
+table {
+ margin: 1em 0;
+}
+
+.tsd-typography th,
+.tsd-typography td {
+ padding: 8px;
+ text-align: left;
+}
+
+.tsd-typography th {
+ background-color: var(--color-background);
+ color: var(--color-text);
+}
+
+.tsd-typography tr:nth-child(2n) {
+ background-color: var(--color-background-code);
+}
+
+/*
+ * Horizontal line
+ */
+
+.tsd-typography hr {
+ color: var(--color-accent);
+}
+
+/*
+ * Buttons
+ */
+
+button {
+ background-color: var(--color-background-navbar);
+ color: var(--color-text);
+ border: 1px solid var(--color-accent);
+ border-radius: 6px;
+ padding: 8px 16px;
+ cursor: pointer;
+ transition: background-color 0.1s ease-in-out;
+}
+
+button:hover {
+ background-color: var(--color-accent);
+}
+
+pre > button {
+ background-color: transparent;
+ transition: background-color 0.1s ease-in-out;
+ border: none;
+ opacity: 1;
+ top: 8px;
+ padding: 4px 8px;
+}
+
+/*
+ * Checkbox
+ */
+
+.tsd-filter-input input[type='checkbox'],
+.tsd-filter-input svg {
+ width: 1em;
+ height: 1em;
+}
+
+.tsd-filter-input svg {
+ border-radius: 2px;
+}
+
+.tsd-checkbox-background {
+ fill: var(--color-background);
+ stroke: var(--color-accent);
+ stroke-width: 6px;
+}
+
+input[type='checkbox']:checked ~ svg .tsd-checkbox-background {
+ fill: var(--color-accent);
+}
+
+.tsd-checkbox-checkmark {
+ color: var(--color-text);
+}
+
+/*
+ * Select
+ */
+
+select {
+ background-color: var(--color-background);
+ border: 1px solid var(--color-accent);
+ border-radius: 6px;
+ padding: 8px;
+ font-family: inherit;
+}
+
+/*
+ * Code blocks
+ */
+
+code,
+pre {
+ border: none;
+ border-radius: 6px;
+ margin: 1em 0;
+ background-color: var(--color-background-secondary);
+ color: var(--color-text);
+ font-family: var(--font-family-code);
+}
+
+code.tsd-tag {
+ background-color: var(--color-accent);
+ border: unset;
+}
+
+/*
+ * Warnings
+ */
+
+.warning {
+ border-style: solid;
+ border-width: 1px;
+ border-color: var(--color-warning-border);
+ border-radius: 6px;
+}
+
+/*
+ * Topbar
+ */
+
+.tsd-page-toolbar {
+ background-color: var(--color-background-navbar);
+ border-bottom-color: var(--color-accent);
+}
+
+.tsd-page-toolbar a.title:hover {
+ text-decoration: none;
+}
+
+#tsd-search.has-focus {
+ background-color: var(--color-background-navbar);
+}
+
+#tsd-search .results,
+#tsd-search .results li,
+#tsd-search .results li:nth-child(2n) {
+ background-color: var(--color-background-navbar);
+}
+
+#tsd-search .results li {
+ margin-bottom: 0px;
+}
+
+#tsd-search .results li:hover:not(.no-results) {
+ background-color: var(--color-accent);
+}
+
+#tsd-search .results {
+ border-style: solid;
+ border-width: 1px;
+ border-color: var(--color-accent);
+ border-radius: 0px 0px 6px 6px;
+ overflow: hidden;
+}
+
+#tsd-search .results .no-results {
+ padding: calc(4px + 0.25rem);
+}
+
+/*
+ * Baseboard
+ */
+
+footer {
+ border-top-color: var(--color-accent);
+}
+
+/*
+ * Side navigations
+ */
+
+.site-menu {
+ padding: 1rem 0;
+}
+
+.tsd-navigation a {
+ color: var(--color-text);
+ border-radius: 6px;
+ padding: 6px;
+}
+
+.tsd-navigation a,
+.tsd-navigation a:hover {
+ text-decoration: none;
+}
+
+.tsd-navigation a:hover:not(.current) {
+ background-color: color-mix(in srgb, var(--color-text-aside), #0000 88%);
+}
+
+.tsd-navigation a.current {
+ background-color: color-mix(in srgb, var(--color-text-aside), #0000 92%);
+}
+
+/*
+ * Type definition groups
+ */
+
+.tsd-index-panel,
+.tsd-member-group {
+ background-color: var(--color-background);
+ padding: 16px;
+ border: 1px var(--color-accent) solid;
+ border-radius: 6px;
+}
+
+.tsd-panel > h1,
+.tsd-panel > h2,
+.tsd-panel > h3 {
+ margin-top: 0px;
+}
+
+.tsd-panel-group.tsd-index-group details {
+ margin: 0px;
+}
+
+.tsd-member-group .tsd-member:last-child {
+ margin-bottom: 0px;
+}
+
+.tsd-signature {
+ border: 1px solid var(--color-accent);
+ border-radius: 6px;
+}
+
+.tsd-signatures .tsd-signature {
+ border-color: var(--color-accent);
+ border-radius: 0px;
+}
+
+.tsd-description .tsd-signatures .tsd-signature {
+ border-radius: 6px;
+}
+
+.tsd-full-hierarchy:not(:last-child) {
+ border-bottom: var(--color-accent);
+}
+
+/*
+ * Footer
+ */
+
+footer p {
+ font-size: 1rem;
+ text-align: center;
+ color: var(--color-text-aside);
+}
+
+/*
+ * Fix collapsed margin
+ */
+
+.tsd-accordion-summary.tsd-index-summary > h5 {
+ margin-top: 0px;
+ margin-bottom: 0px;
+}
+
+.tsd-panel-group:not([open]) > .tsd-accordion-summary {
+ margin-bottom: 0px;
+}
+
+/*
+ * Fix collapse arrow position
+ */
+
+.tsd-accordion-summary:has(svg) > * {
+ display: inline-flex;
+ align-items: center;
+ line-height: normal;
+}
+
+.tsd-accordion-summary > * > svg {
+ padding-top: 0px;
+ position: relative;
+ left: 0px;
+ top: 50%;
+}
+
+.tsd-accordion-summary svg {
+ transition: transform 0.1s ease-in-out;
+}
diff --git a/docs/reference/classes/ApiError.html b/docs/reference/classes/ApiError.html
new file mode 100644
index 0000000..1c13bbb
--- /dev/null
+++ b/docs/reference/classes/ApiError.html
@@ -0,0 +1,4 @@
+
ApiError | @fal-ai/serverless-client - v0.14.2 Constructorsconstructor new Api Error < Body > ( __namedParameters ) : ApiError < Body > Parameters __namedParameters : ApiErrorArgs PropertiesReadonly
status status : number
diff --git a/docs/reference/classes/ValidationError.html b/docs/reference/classes/ValidationError.html
new file mode 100644
index 0000000..a1d0bfd
--- /dev/null
+++ b/docs/reference/classes/ValidationError.html
@@ -0,0 +1,6 @@
+ValidationError | @fal-ai/serverless-client - v0.14.2 Constructors PropertiesReadonly
body body : ValidationErrorBody
Readonly
status status : number
Accessors Methods
diff --git a/docs/reference/functions/config.html b/docs/reference/functions/config.html
new file mode 100644
index 0000000..60b5af6
--- /dev/null
+++ b/docs/reference/functions/config.html
@@ -0,0 +1,3 @@
+config | @fal-ai/serverless-client - v0.14.2 config ( config ) : void Returns void
diff --git a/docs/reference/functions/getConfig.html b/docs/reference/functions/getConfig.html
new file mode 100644
index 0000000..11f6992
--- /dev/null
+++ b/docs/reference/functions/getConfig.html
@@ -0,0 +1,3 @@
+getConfig | @fal-ai/serverless-client - v0.14.2
diff --git a/docs/reference/functions/parseAppId.html b/docs/reference/functions/parseAppId.html
new file mode 100644
index 0000000..d1b7a51
--- /dev/null
+++ b/docs/reference/functions/parseAppId.html
@@ -0,0 +1 @@
+parseAppId | @fal-ai/serverless-client - v0.14.2 parse App Id ( id ) : AppId Returns AppId
diff --git a/docs/reference/functions/run.html b/docs/reference/functions/run.html
new file mode 100644
index 0000000..033d81a
--- /dev/null
+++ b/docs/reference/functions/run.html
@@ -0,0 +1,4 @@
+run | @fal-ai/serverless-client - v0.14.2
diff --git a/docs/reference/functions/stream.html b/docs/reference/functions/stream.html
new file mode 100644
index 0000000..f5620cc
--- /dev/null
+++ b/docs/reference/functions/stream.html
@@ -0,0 +1,7 @@
+stream | @fal-ai/serverless-client - v0.14.2 stream < Input , Output > ( endpointId , options ) : Promise < FalStream < Input , Output > > Type Parameters Input = Record < string , any > Output = any Parameters endpointId : string options : StreamOptions < Input > the FalStream
instance.
+
diff --git a/docs/reference/functions/subscribe.html b/docs/reference/functions/subscribe.html
new file mode 100644
index 0000000..1f4f2ef
--- /dev/null
+++ b/docs/reference/functions/subscribe.html
@@ -0,0 +1,5 @@
+subscribe | @fal-ai/serverless-client - v0.14.2
diff --git a/docs/reference/functions/withMiddleware.html b/docs/reference/functions/withMiddleware.html
new file mode 100644
index 0000000..97c1617
--- /dev/null
+++ b/docs/reference/functions/withMiddleware.html
@@ -0,0 +1,4 @@
+withMiddleware | @fal-ai/serverless-client - v0.14.2
diff --git a/docs/reference/functions/withProxy.html b/docs/reference/functions/withProxy.html
new file mode 100644
index 0000000..2323c1c
--- /dev/null
+++ b/docs/reference/functions/withProxy.html
@@ -0,0 +1 @@
+withProxy | @fal-ai/serverless-client - v0.14.2
diff --git a/docs/reference/hierarchy.html b/docs/reference/hierarchy.html
new file mode 100644
index 0000000..b918b08
--- /dev/null
+++ b/docs/reference/hierarchy.html
@@ -0,0 +1 @@
+@fal-ai/serverless-client - v0.14.2
@fal-ai/serverless-client - v0.14.2 Class Hierarchy
diff --git a/docs/reference/index.html b/docs/reference/index.html
new file mode 100644
index 0000000..56eabef
--- /dev/null
+++ b/docs/reference/index.html
@@ -0,0 +1,19 @@
+@fal-ai/serverless-client - v0.14.2
@fal-ai/serverless-client - v0.14.2
diff --git a/docs/reference/types/QueueStatus.html b/docs/reference/types/QueueStatus.html
new file mode 100644
index 0000000..56a07ec
--- /dev/null
+++ b/docs/reference/types/QueueStatus.html
@@ -0,0 +1 @@
+QueueStatus | @fal-ai/serverless-client - v0.14.2 Queue Status : InProgressQueueStatus | CompletedQueueStatus | EnqueuedQueueStatus
diff --git a/docs/reference/types/RequestMiddleware.html b/docs/reference/types/RequestMiddleware.html
new file mode 100644
index 0000000..5a8201b
--- /dev/null
+++ b/docs/reference/types/RequestMiddleware.html
@@ -0,0 +1 @@
+RequestMiddleware | @fal-ai/serverless-client - v0.14.2 Type Alias RequestMiddleware Request Middleware : ( ( request : RequestConfig ) => Promise < RequestConfig > )
diff --git a/docs/reference/types/ResponseHandler.html b/docs/reference/types/ResponseHandler.html
new file mode 100644
index 0000000..e044200
--- /dev/null
+++ b/docs/reference/types/ResponseHandler.html
@@ -0,0 +1 @@
+ResponseHandler | @fal-ai/serverless-client - v0.14.2 Type Alias ResponseHandler<Output>
diff --git a/docs/reference/types/ValidationErrorInfo.html b/docs/reference/types/ValidationErrorInfo.html
new file mode 100644
index 0000000..871b1ed
--- /dev/null
+++ b/docs/reference/types/ValidationErrorInfo.html
@@ -0,0 +1 @@
+ValidationErrorInfo | @fal-ai/serverless-client - v0.14.2 Type Alias ValidationErrorInfo Validation Error Info : { loc : ( string | number ) [] ; msg : string ; type : string ; }
diff --git a/docs/reference/types/WebHookResponse.html b/docs/reference/types/WebHookResponse.html
new file mode 100644
index 0000000..5b72639
--- /dev/null
+++ b/docs/reference/types/WebHookResponse.html
@@ -0,0 +1,13 @@
+WebHookResponse | @fal-ai/serverless-client - v0.14.2 Type Alias WebHookResponse<Payload> Web Hook Response < Payload > : { error : never ; payload : Payload ; request_id : string ; status : "OK" ; } | { error : string ; payload : Payload ; request_id : string ; status : "ERROR" ; } Type declaration error : never request_ id : string status : "OK" Type declaration error : string request_ id : string status : "ERROR"
diff --git a/docs/reference/variables/queue.html b/docs/reference/variables/queue.html
new file mode 100644
index 0000000..68d1ce1
--- /dev/null
+++ b/docs/reference/variables/queue.html
@@ -0,0 +1,4 @@
+queue | @fal-ai/serverless-client - v0.14.2
diff --git a/docs/reference/variables/realtime.html b/docs/reference/variables/realtime.html
new file mode 100644
index 0000000..a6fdc0f
--- /dev/null
+++ b/docs/reference/variables/realtime.html
@@ -0,0 +1,2 @@
+realtime | @fal-ai/serverless-client - v0.14.2 realtime : RealtimeClient = ...
diff --git a/docs/reference/variables/storage.html b/docs/reference/variables/storage.html
new file mode 100644
index 0000000..d406ad9
--- /dev/null
+++ b/docs/reference/variables/storage.html
@@ -0,0 +1 @@
+storage | @fal-ai/serverless-client - v0.14.2 storage : StorageSupport = ...
diff --git a/package-lock.json b/package-lock.json
index 24b7075..f4ed031 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -107,6 +107,10 @@
"ts-node": "^10.9.1",
"ts-protoc-gen": "^0.15.0",
"tsconfig-paths": "^4.2.0",
+ "typedoc": "^0.26.7",
+ "typedoc-github-theme": "^0.1.2",
+ "typedoc-plugin-extras": "^3.1.0",
+ "typedoc-plugin-mdn-links": "^3.2.12",
"typescript": "^5.5.4"
}
},
@@ -7824,6 +7828,33 @@
"node": ">=10"
}
},
+ "node_modules/@shikijs/core": {
+ "version": "1.16.3",
+ "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.16.3.tgz",
+ "integrity": "sha512-yETIvrETCeC39gSPIiSADmjri9FwKmxz0QvONMtTIUYlKZe90CJkvcjPksayC2VQOtzOJonEiULUa8v8crUQvA==",
+ "dev": true,
+ "dependencies": {
+ "@shikijs/vscode-textmate": "^9.2.0",
+ "@types/hast": "^3.0.4",
+ "oniguruma-to-js": "0.3.3",
+ "regex": "4.3.2"
+ }
+ },
+ "node_modules/@shikijs/core/node_modules/@types/hast": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
+ "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/unist": "*"
+ }
+ },
+ "node_modules/@shikijs/vscode-textmate": {
+ "version": "9.2.2",
+ "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-9.2.2.tgz",
+ "integrity": "sha512-TMp15K+GGYrWlZM8+Lnj9EaHEFmOen0WJBrfa17hF7taDOYthuPPV0GWzfd/9iMij0akS/8Yw2ikquH7uVi/fg==",
+ "dev": true
+ },
"node_modules/@sinclair/typebox": {
"version": "0.27.8",
"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
@@ -20854,6 +20885,15 @@
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
}
},
+ "node_modules/linkify-it": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz",
+ "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==",
+ "dev": true,
+ "dependencies": {
+ "uc.micro": "^2.0.0"
+ }
+ },
"node_modules/lint-staged": {
"version": "15.0.2",
"resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.0.2.tgz",
@@ -21513,6 +21553,12 @@
"yallist": "^3.0.2"
}
},
+ "node_modules/lunr": {
+ "version": "2.3.9",
+ "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz",
+ "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==",
+ "dev": true
+ },
"node_modules/lz-string": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz",
@@ -21616,6 +21662,29 @@
"node": ">=0.10.0"
}
},
+ "node_modules/markdown-it": {
+ "version": "14.1.0",
+ "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz",
+ "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==",
+ "dev": true,
+ "dependencies": {
+ "argparse": "^2.0.1",
+ "entities": "^4.4.0",
+ "linkify-it": "^5.0.0",
+ "mdurl": "^2.0.0",
+ "punycode.js": "^2.3.1",
+ "uc.micro": "^2.1.0"
+ },
+ "bin": {
+ "markdown-it": "bin/markdown-it.mjs"
+ }
+ },
+ "node_modules/markdown-it/node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
"node_modules/marked": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz",
@@ -21866,6 +21935,12 @@
"integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==",
"dev": true
},
+ "node_modules/mdurl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz",
+ "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==",
+ "dev": true
+ },
"node_modules/media-query-parser": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/media-query-parser/-/media-query-parser-2.0.2.tgz",
@@ -26413,6 +26488,15 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/oniguruma-to-js": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/oniguruma-to-js/-/oniguruma-to-js-0.3.3.tgz",
+ "integrity": "sha512-m90/WEhgs8g4BxG37+Nu3YrMfJDs2YXtYtIllhsEPR+wP3+K4EZk6dDUvy2v2K4MNFDDOYKL4/yqYPXDqyozTQ==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
"node_modules/open": {
"version": "10.0.3",
"resolved": "https://registry.npmjs.org/open/-/open-10.0.3.tgz",
@@ -28407,6 +28491,15 @@
"node": ">=6"
}
},
+ "node_modules/punycode.js": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz",
+ "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/pure-rand": {
"version": "6.0.4",
"resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz",
@@ -28906,6 +28999,12 @@
"@babel/runtime": "^7.8.4"
}
},
+ "node_modules/regex": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/regex/-/regex-4.3.2.tgz",
+ "integrity": "sha512-kK/AA3A9K6q2js89+VMymcboLOlF5lZRCYJv3gzszXFHBr6kO6qLGzbm+UIugBEV8SMMKCTR59txoY6ctRHYVw==",
+ "dev": true
+ },
"node_modules/regexp.prototype.flags": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz",
@@ -30494,6 +30593,26 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/shiki": {
+ "version": "1.16.3",
+ "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.16.3.tgz",
+ "integrity": "sha512-GypUE+fEd06FqDs63LSAVlmq7WsahhPQU62cgZxGF+TJT5LjD2k7HTxXj4/CKOVuMM3+wWQ1t4Y5oooeJFRRBQ==",
+ "dev": true,
+ "dependencies": {
+ "@shikijs/core": "1.16.3",
+ "@shikijs/vscode-textmate": "^9.2.0",
+ "@types/hast": "^3.0.4"
+ }
+ },
+ "node_modules/shiki/node_modules/@types/hast": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
+ "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/unist": "*"
+ }
+ },
"node_modules/side-channel": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
@@ -32550,6 +32669,94 @@
"is-typedarray": "^1.0.0"
}
},
+ "node_modules/typedoc": {
+ "version": "0.26.7",
+ "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.26.7.tgz",
+ "integrity": "sha512-gUeI/Wk99vjXXMi8kanwzyhmeFEGv1LTdTQsiyIsmSYsBebvFxhbcyAx7Zjo4cMbpLGxM4Uz3jVIjksu/I2v6Q==",
+ "dev": true,
+ "dependencies": {
+ "lunr": "^2.3.9",
+ "markdown-it": "^14.1.0",
+ "minimatch": "^9.0.5",
+ "shiki": "^1.16.2",
+ "yaml": "^2.5.1"
+ },
+ "bin": {
+ "typedoc": "bin/typedoc"
+ },
+ "engines": {
+ "node": ">= 18"
+ },
+ "peerDependencies": {
+ "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x"
+ }
+ },
+ "node_modules/typedoc-github-theme": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/typedoc-github-theme/-/typedoc-github-theme-0.1.2.tgz",
+ "integrity": "sha512-GFwQeq+z4FMtA9u2+wBx/UvzaX6t3xueigv6Jrt1G8JQLLyYuFfWwE3ESuKzpLfDu1+29GK4n70GbIqFRG+gaw==",
+ "dev": true,
+ "engines": {
+ "node": ">=18.0.0"
+ },
+ "peerDependencies": {
+ "typedoc": "^0.26.0"
+ }
+ },
+ "node_modules/typedoc-plugin-extras": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/typedoc-plugin-extras/-/typedoc-plugin-extras-3.1.0.tgz",
+ "integrity": "sha512-8tNeq2fgl2HCUZ6eZuAoLLKEvB/WrRS4He9MtTfo3X3Pa8Iw3TS5D0g8krDhUXUk1uHpXVAVHm8rSOMS2mdJRw==",
+ "dev": true,
+ "peerDependencies": {
+ "typedoc": "0.26.x"
+ }
+ },
+ "node_modules/typedoc-plugin-mdn-links": {
+ "version": "3.2.12",
+ "resolved": "https://registry.npmjs.org/typedoc-plugin-mdn-links/-/typedoc-plugin-mdn-links-3.2.12.tgz",
+ "integrity": "sha512-UT7JinqYE7IQSrpRPkUkHrXXEJw5qbHIZhVq8igutYDA/4fsrYZhYffVo8Uh70K2iXFdAyvt6foQG5ci1VERAw==",
+ "dev": true,
+ "peerDependencies": {
+ "typedoc": ">= 0.23.14 || 0.24.x || 0.25.x || 0.26.x"
+ }
+ },
+ "node_modules/typedoc/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/typedoc/node_modules/minimatch": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/typedoc/node_modules/yaml": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz",
+ "integrity": "sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==",
+ "dev": true,
+ "bin": {
+ "yaml": "bin.mjs"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
"node_modules/typescript": {
"version": "5.5.4",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz",
@@ -32562,6 +32769,12 @@
"node": ">=14.17"
}
},
+ "node_modules/uc.micro": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz",
+ "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==",
+ "dev": true
+ },
"node_modules/ufo": {
"version": "1.5.4",
"resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.4.tgz",
diff --git a/package.json b/package.json
index 520147a..61ffb15 100644
--- a/package.json
+++ b/package.json
@@ -7,6 +7,7 @@
"build": "nx build",
"test": "nx test",
"lint:staged": "lint-staged",
+ "docs:typedoc": "typedoc --tsconfig libs/client/tsconfig.lib.json",
"prepare": "husky install"
},
"private": true,
@@ -22,6 +23,9 @@
"secretlint",
"cspell",
"prettier --write"
+ ],
+ "libs/client/src/**/*.{ts}": [
+ "npm run docs:typedoc"
]
},
"dependencies": {
@@ -123,6 +127,10 @@
"ts-node": "^10.9.1",
"ts-protoc-gen": "^0.15.0",
"tsconfig-paths": "^4.2.0",
+ "typedoc": "^0.26.7",
+ "typedoc-github-theme": "^0.1.2",
+ "typedoc-plugin-extras": "^3.1.0",
+ "typedoc-plugin-mdn-links": "^3.2.12",
"typescript": "^5.5.4"
},
"prettier": {
diff --git a/typedoc.json b/typedoc.json
new file mode 100644
index 0000000..dd8a136
--- /dev/null
+++ b/typedoc.json
@@ -0,0 +1,13 @@
+{
+ "$schema": "https://typedoc.org/schema.json",
+ "out": "docs/reference",
+ "entryPoints": ["./libs/client/src/index.ts"],
+ "exclude": ["./src/__tests__/**", "*.spec.ts"],
+ "excludeExternals": true,
+ "excludeInternal": false,
+ "includeVersion": true,
+ "githubPages": true,
+ "plugin": ["typedoc-plugin-mdn-links", "typedoc-plugin-extras", "typedoc-github-theme"],
+ "readme": "none",
+ "hideGenerator": true
+}
Configures the fal serverless client.
+