UNPKG

@api.global/typedserver

Version:

A TypeScript-based project for easy serving of static files with support for live reloading, compression, and typed requests.

1,318 lines (1,310 loc) 732 kB
var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __commonJS = (cb, mod) => function __require() { return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from2, except, desc) => { if (from2 && typeof from2 === "object" || typeof from2 === "function") { for (let key of __getOwnPropNames(from2)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from2[key], enumerable: !(desc = __getOwnPropDesc(from2, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __decorateClass = (decorators, target, key, kind) => { var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target; for (var i5 = decorators.length - 1, decorator; i5 >= 0; i5--) if (decorator = decorators[i5]) result = (kind ? decorator(target, key, result) : decorator(result)) || result; if (kind && result) __defProp(target, key, result); return result; }; // node_modules/.pnpm/@push.rocks+isounique@1.0.5/node_modules/@push.rocks/isounique/dist_ts/index.js var require_dist_ts = __commonJS({ "node_modules/.pnpm/@push.rocks+isounique@1.0.5/node_modules/@push.rocks/isounique/dist_ts/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.uni = void 0; var uni2 = (prefix = "uni") => { return `${prefix}_${`xxxxxxxxxxxxxxxxxxxxxxxx`.replace(/[xy]/g, (c4) => { const r8 = Math.random() * 16 | 0; const v3 = c4 === "x" ? r8 : r8 & 3 | 8; return v3.toString(16); })}`; }; exports.uni = uni2; } }); // node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/dayjs.min.js var require_dayjs_min = __commonJS({ "node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/dayjs.min.js"(exports, module) { !(function(t5, e7) { "object" == typeof exports && "undefined" != typeof module ? module.exports = e7() : "function" == typeof define && define.amd ? define(e7) : (t5 = "undefined" != typeof globalThis ? globalThis : t5 || self).dayjs = e7(); })(exports, (function() { "use strict"; var t5 = 1e3, e7 = 6e4, n8 = 36e5, r8 = "millisecond", i5 = "second", s4 = "minute", u3 = "hour", a3 = "day", o8 = "week", c4 = "month", f4 = "quarter", h3 = "year", d4 = "date", l4 = "Invalid Date", $2 = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, y4 = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, M2 = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), ordinal: function(t6) { var e8 = ["th", "st", "nd", "rd"], n9 = t6 % 100; return "[" + t6 + (e8[(n9 - 20) % 10] || e8[n9] || e8[0]) + "]"; } }, m3 = function(t6, e8, n9) { var r9 = String(t6); return !r9 || r9.length >= e8 ? t6 : "" + Array(e8 + 1 - r9.length).join(n9) + t6; }, v3 = { s: m3, z: function(t6) { var e8 = -t6.utcOffset(), n9 = Math.abs(e8), r9 = Math.floor(n9 / 60), i6 = n9 % 60; return (e8 <= 0 ? "+" : "-") + m3(r9, 2, "0") + ":" + m3(i6, 2, "0"); }, m: function t6(e8, n9) { if (e8.date() < n9.date()) return -t6(n9, e8); var r9 = 12 * (n9.year() - e8.year()) + (n9.month() - e8.month()), i6 = e8.clone().add(r9, c4), s5 = n9 - i6 < 0, u4 = e8.clone().add(r9 + (s5 ? -1 : 1), c4); return +(-(r9 + (n9 - i6) / (s5 ? i6 - u4 : u4 - i6)) || 0); }, a: function(t6) { return t6 < 0 ? Math.ceil(t6) || 0 : Math.floor(t6); }, p: function(t6) { return { M: c4, y: h3, w: o8, d: a3, D: d4, h: u3, m: s4, s: i5, ms: r8, Q: f4 }[t6] || String(t6 || "").toLowerCase().replace(/s$/, ""); }, u: function(t6) { return void 0 === t6; } }, g3 = "en", D2 = {}; D2[g3] = M2; var p4 = "$isDayjsObject", S4 = function(t6) { return t6 instanceof _3 || !(!t6 || !t6[p4]); }, w2 = function t6(e8, n9, r9) { var i6; if (!e8) return g3; if ("string" == typeof e8) { var s5 = e8.toLowerCase(); D2[s5] && (i6 = s5), n9 && (D2[s5] = n9, i6 = s5); var u4 = e8.split("-"); if (!i6 && u4.length > 1) return t6(u4[0]); } else { var a4 = e8.name; D2[a4] = e8, i6 = a4; } return !r9 && i6 && (g3 = i6), i6 || !r9 && g3; }, O2 = function(t6, e8) { if (S4(t6)) return t6.clone(); var n9 = "object" == typeof e8 ? e8 : {}; return n9.date = t6, n9.args = arguments, new _3(n9); }, b4 = v3; b4.l = w2, b4.i = S4, b4.w = function(t6, e8) { return O2(t6, { locale: e8.$L, utc: e8.$u, x: e8.$x, $offset: e8.$offset }); }; var _3 = (function() { function M3(t6) { this.$L = w2(t6.locale, null, true), this.parse(t6), this.$x = this.$x || t6.x || {}, this[p4] = true; } var m4 = M3.prototype; return m4.parse = function(t6) { this.$d = (function(t7) { var e8 = t7.date, n9 = t7.utc; if (null === e8) return /* @__PURE__ */ new Date(NaN); if (b4.u(e8)) return /* @__PURE__ */ new Date(); if (e8 instanceof Date) return new Date(e8); if ("string" == typeof e8 && !/Z$/i.test(e8)) { var r9 = e8.match($2); if (r9) { var i6 = r9[2] - 1 || 0, s5 = (r9[7] || "0").substring(0, 3); return n9 ? new Date(Date.UTC(r9[1], i6, r9[3] || 1, r9[4] || 0, r9[5] || 0, r9[6] || 0, s5)) : new Date(r9[1], i6, r9[3] || 1, r9[4] || 0, r9[5] || 0, r9[6] || 0, s5); } } return new Date(e8); })(t6), this.init(); }, m4.init = function() { var t6 = this.$d; this.$y = t6.getFullYear(), this.$M = t6.getMonth(), this.$D = t6.getDate(), this.$W = t6.getDay(), this.$H = t6.getHours(), this.$m = t6.getMinutes(), this.$s = t6.getSeconds(), this.$ms = t6.getMilliseconds(); }, m4.$utils = function() { return b4; }, m4.isValid = function() { return !(this.$d.toString() === l4); }, m4.isSame = function(t6, e8) { var n9 = O2(t6); return this.startOf(e8) <= n9 && n9 <= this.endOf(e8); }, m4.isAfter = function(t6, e8) { return O2(t6) < this.startOf(e8); }, m4.isBefore = function(t6, e8) { return this.endOf(e8) < O2(t6); }, m4.$g = function(t6, e8, n9) { return b4.u(t6) ? this[e8] : this.set(n9, t6); }, m4.unix = function() { return Math.floor(this.valueOf() / 1e3); }, m4.valueOf = function() { return this.$d.getTime(); }, m4.startOf = function(t6, e8) { var n9 = this, r9 = !!b4.u(e8) || e8, f5 = b4.p(t6), l5 = function(t7, e9) { var i6 = b4.w(n9.$u ? Date.UTC(n9.$y, e9, t7) : new Date(n9.$y, e9, t7), n9); return r9 ? i6 : i6.endOf(a3); }, $3 = function(t7, e9) { return b4.w(n9.toDate()[t7].apply(n9.toDate("s"), (r9 ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(e9)), n9); }, y5 = this.$W, M4 = this.$M, m5 = this.$D, v4 = "set" + (this.$u ? "UTC" : ""); switch (f5) { case h3: return r9 ? l5(1, 0) : l5(31, 11); case c4: return r9 ? l5(1, M4) : l5(0, M4 + 1); case o8: var g4 = this.$locale().weekStart || 0, D3 = (y5 < g4 ? y5 + 7 : y5) - g4; return l5(r9 ? m5 - D3 : m5 + (6 - D3), M4); case a3: case d4: return $3(v4 + "Hours", 0); case u3: return $3(v4 + "Minutes", 1); case s4: return $3(v4 + "Seconds", 2); case i5: return $3(v4 + "Milliseconds", 3); default: return this.clone(); } }, m4.endOf = function(t6) { return this.startOf(t6, false); }, m4.$set = function(t6, e8) { var n9, o9 = b4.p(t6), f5 = "set" + (this.$u ? "UTC" : ""), l5 = (n9 = {}, n9[a3] = f5 + "Date", n9[d4] = f5 + "Date", n9[c4] = f5 + "Month", n9[h3] = f5 + "FullYear", n9[u3] = f5 + "Hours", n9[s4] = f5 + "Minutes", n9[i5] = f5 + "Seconds", n9[r8] = f5 + "Milliseconds", n9)[o9], $3 = o9 === a3 ? this.$D + (e8 - this.$W) : e8; if (o9 === c4 || o9 === h3) { var y5 = this.clone().set(d4, 1); y5.$d[l5]($3), y5.init(), this.$d = y5.set(d4, Math.min(this.$D, y5.daysInMonth())).$d; } else l5 && this.$d[l5]($3); return this.init(), this; }, m4.set = function(t6, e8) { return this.clone().$set(t6, e8); }, m4.get = function(t6) { return this[b4.p(t6)](); }, m4.add = function(r9, f5) { var d5, l5 = this; r9 = Number(r9); var $3 = b4.p(f5), y5 = function(t6) { var e8 = O2(l5); return b4.w(e8.date(e8.date() + Math.round(t6 * r9)), l5); }; if ($3 === c4) return this.set(c4, this.$M + r9); if ($3 === h3) return this.set(h3, this.$y + r9); if ($3 === a3) return y5(1); if ($3 === o8) return y5(7); var M4 = (d5 = {}, d5[s4] = e7, d5[u3] = n8, d5[i5] = t5, d5)[$3] || 1, m5 = this.$d.getTime() + r9 * M4; return b4.w(m5, this); }, m4.subtract = function(t6, e8) { return this.add(-1 * t6, e8); }, m4.format = function(t6) { var e8 = this, n9 = this.$locale(); if (!this.isValid()) return n9.invalidDate || l4; var r9 = t6 || "YYYY-MM-DDTHH:mm:ssZ", i6 = b4.z(this), s5 = this.$H, u4 = this.$m, a4 = this.$M, o9 = n9.weekdays, c5 = n9.months, f5 = n9.meridiem, h4 = function(t7, n10, i7, s6) { return t7 && (t7[n10] || t7(e8, r9)) || i7[n10].slice(0, s6); }, d5 = function(t7) { return b4.s(s5 % 12 || 12, t7, "0"); }, $3 = f5 || function(t7, e9, n10) { var r10 = t7 < 12 ? "AM" : "PM"; return n10 ? r10.toLowerCase() : r10; }; return r9.replace(y4, (function(t7, r10) { return r10 || (function(t8) { switch (t8) { case "YY": return String(e8.$y).slice(-2); case "YYYY": return b4.s(e8.$y, 4, "0"); case "M": return a4 + 1; case "MM": return b4.s(a4 + 1, 2, "0"); case "MMM": return h4(n9.monthsShort, a4, c5, 3); case "MMMM": return h4(c5, a4); case "D": return e8.$D; case "DD": return b4.s(e8.$D, 2, "0"); case "d": return String(e8.$W); case "dd": return h4(n9.weekdaysMin, e8.$W, o9, 2); case "ddd": return h4(n9.weekdaysShort, e8.$W, o9, 3); case "dddd": return o9[e8.$W]; case "H": return String(s5); case "HH": return b4.s(s5, 2, "0"); case "h": return d5(1); case "hh": return d5(2); case "a": return $3(s5, u4, true); case "A": return $3(s5, u4, false); case "m": return String(u4); case "mm": return b4.s(u4, 2, "0"); case "s": return String(e8.$s); case "ss": return b4.s(e8.$s, 2, "0"); case "SSS": return b4.s(e8.$ms, 3, "0"); case "Z": return i6; } return null; })(t7) || i6.replace(":", ""); })); }, m4.utcOffset = function() { return 15 * -Math.round(this.$d.getTimezoneOffset() / 15); }, m4.diff = function(r9, d5, l5) { var $3, y5 = this, M4 = b4.p(d5), m5 = O2(r9), v4 = (m5.utcOffset() - this.utcOffset()) * e7, g4 = this - m5, D3 = function() { return b4.m(y5, m5); }; switch (M4) { case h3: $3 = D3() / 12; break; case c4: $3 = D3(); break; case f4: $3 = D3() / 3; break; case o8: $3 = (g4 - v4) / 6048e5; break; case a3: $3 = (g4 - v4) / 864e5; break; case u3: $3 = g4 / n8; break; case s4: $3 = g4 / e7; break; case i5: $3 = g4 / t5; break; default: $3 = g4; } return l5 ? $3 : b4.a($3); }, m4.daysInMonth = function() { return this.endOf(c4).$D; }, m4.$locale = function() { return D2[this.$L]; }, m4.locale = function(t6, e8) { if (!t6) return this.$L; var n9 = this.clone(), r9 = w2(t6, e8, true); return r9 && (n9.$L = r9), n9; }, m4.clone = function() { return b4.w(this.$d, this); }, m4.toDate = function() { return new Date(this.valueOf()); }, m4.toJSON = function() { return this.isValid() ? this.toISOString() : null; }, m4.toISOString = function() { return this.$d.toISOString(); }, m4.toString = function() { return this.$d.toUTCString(); }, M3; })(), k2 = _3.prototype; return O2.prototype = k2, [["$ms", r8], ["$s", i5], ["$m", s4], ["$H", u3], ["$W", a3], ["$M", c4], ["$y", h3], ["$D", d4]].forEach((function(t6) { k2[t6[1]] = function(e8) { return this.$g(e8, t6[0], t6[1]); }; })), O2.extend = function(t6, e8) { return t6.$i || (t6(e8, _3, O2), t6.$i = true), O2; }, O2.locale = w2, O2.isDayjs = S4, O2.unix = function(t6) { return O2(1e3 * t6); }, O2.en = D2[g3], O2.Ls = D2, O2.p = {}, O2; })); } }); // node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/isToday.js var require_isToday = __commonJS({ "node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/isToday.js"(exports, module) { !(function(e7, o8) { "object" == typeof exports && "undefined" != typeof module ? module.exports = o8() : "function" == typeof define && define.amd ? define(o8) : (e7 = "undefined" != typeof globalThis ? globalThis : e7 || self).dayjs_plugin_isToday = o8(); })(exports, (function() { "use strict"; return function(e7, o8, t5) { o8.prototype.isToday = function() { var e8 = "YYYY-MM-DD", o9 = t5(); return this.format(e8) === o9.format(e8); }; }; })); } }); // node_modules/.pnpm/symbol-tree@3.2.4/node_modules/symbol-tree/lib/SymbolTreeNode.js var require_SymbolTreeNode = __commonJS({ "node_modules/.pnpm/symbol-tree@3.2.4/node_modules/symbol-tree/lib/SymbolTreeNode.js"(exports, module) { "use strict"; module.exports = class SymbolTreeNode { constructor() { this.parent = null; this.previousSibling = null; this.nextSibling = null; this.firstChild = null; this.lastChild = null; this.childrenVersion = 0; this.childIndexCachedUpTo = null; this.cachedIndex = -1; this.cachedIndexVersion = NaN; } get isAttached() { return Boolean(this.parent || this.previousSibling || this.nextSibling); } get hasChildren() { return Boolean(this.firstChild); } childrenChanged() { this.childrenVersion = this.childrenVersion + 1 & 4294967295; this.childIndexCachedUpTo = null; } getCachedIndex(parentNode) { if (this.cachedIndexVersion !== parentNode.childrenVersion) { this.cachedIndexVersion = NaN; return -1; } return this.cachedIndex; } setCachedIndex(parentNode, index) { this.cachedIndexVersion = parentNode.childrenVersion; this.cachedIndex = index; } }; } }); // node_modules/.pnpm/symbol-tree@3.2.4/node_modules/symbol-tree/lib/TreePosition.js var require_TreePosition = __commonJS({ "node_modules/.pnpm/symbol-tree@3.2.4/node_modules/symbol-tree/lib/TreePosition.js"(exports, module) { "use strict"; module.exports = Object.freeze({ // same as DOM DOCUMENT_POSITION_ DISCONNECTED: 1, PRECEDING: 2, FOLLOWING: 4, CONTAINS: 8, CONTAINED_BY: 16 }); } }); // node_modules/.pnpm/symbol-tree@3.2.4/node_modules/symbol-tree/lib/TreeIterator.js var require_TreeIterator = __commonJS({ "node_modules/.pnpm/symbol-tree@3.2.4/node_modules/symbol-tree/lib/TreeIterator.js"(exports, module) { "use strict"; var TREE = Symbol(); var ROOT = Symbol(); var NEXT = Symbol(); var ITERATE_FUNC = Symbol(); var TreeIterator = class { constructor(tree, root, firstResult, iterateFunction) { this[TREE] = tree; this[ROOT] = root; this[NEXT] = firstResult; this[ITERATE_FUNC] = iterateFunction; } next() { const tree = this[TREE]; const iterateFunc = this[ITERATE_FUNC]; const root = this[ROOT]; if (!this[NEXT]) { return { done: true, value: root }; } const value = this[NEXT]; if (iterateFunc === 1) { this[NEXT] = tree._node(value).previousSibling; } else if (iterateFunc === 2) { this[NEXT] = tree._node(value).nextSibling; } else if (iterateFunc === 3) { this[NEXT] = tree._node(value).parent; } else if (iterateFunc === 4) { this[NEXT] = tree.preceding(value, { root }); } else { this[NEXT] = tree.following(value, { root }); } return { done: false, value }; } }; Object.defineProperty(TreeIterator.prototype, Symbol.iterator, { value: function() { return this; }, writable: false }); TreeIterator.PREV = 1; TreeIterator.NEXT = 2; TreeIterator.PARENT = 3; TreeIterator.PRECEDING = 4; TreeIterator.FOLLOWING = 5; Object.freeze(TreeIterator); Object.freeze(TreeIterator.prototype); module.exports = TreeIterator; } }); // node_modules/.pnpm/symbol-tree@3.2.4/node_modules/symbol-tree/lib/SymbolTree.js var require_SymbolTree = __commonJS({ "node_modules/.pnpm/symbol-tree@3.2.4/node_modules/symbol-tree/lib/SymbolTree.js"(exports, module) { "use strict"; var SymbolTreeNode = require_SymbolTreeNode(); var TreePosition = require_TreePosition(); var TreeIterator = require_TreeIterator(); function returnTrue() { return true; } function reverseArrayIndex(array, reverseIndex) { return array[array.length - 1 - reverseIndex]; } var SymbolTree = class { /** * @constructor * @alias module:symbol-tree * @param {string} [description='SymbolTree data'] Description used for the Symbol */ constructor(description) { this.symbol = Symbol(description || "SymbolTree data"); } /** * You can use this function to (optionally) initialize an object right after its creation, * to take advantage of V8's fast properties. Also useful if you would like to * freeze your object. * * `O(1)` * * @method * @alias module:symbol-tree#initialize * @param {Object} object * @return {Object} object */ initialize(object) { this._node(object); return object; } _node(object) { if (!object) { return null; } const node = object[this.symbol]; if (node) { return node; } return object[this.symbol] = new SymbolTreeNode(); } /** * Returns `true` if the object has any children. Otherwise it returns `false`. * * * `O(1)` * * @method hasChildren * @memberOf module:symbol-tree# * @param {Object} object * @return {Boolean} */ hasChildren(object) { return this._node(object).hasChildren; } /** * Returns the first child of the given object. * * * `O(1)` * * @method firstChild * @memberOf module:symbol-tree# * @param {Object} object * @return {Object} */ firstChild(object) { return this._node(object).firstChild; } /** * Returns the last child of the given object. * * * `O(1)` * * @method lastChild * @memberOf module:symbol-tree# * @param {Object} object * @return {Object} */ lastChild(object) { return this._node(object).lastChild; } /** * Returns the previous sibling of the given object. * * * `O(1)` * * @method previousSibling * @memberOf module:symbol-tree# * @param {Object} object * @return {Object} */ previousSibling(object) { return this._node(object).previousSibling; } /** * Returns the next sibling of the given object. * * * `O(1)` * * @method nextSibling * @memberOf module:symbol-tree# * @param {Object} object * @return {Object} */ nextSibling(object) { return this._node(object).nextSibling; } /** * Return the parent of the given object. * * * `O(1)` * * @method parent * @memberOf module:symbol-tree# * @param {Object} object * @return {Object} */ parent(object) { return this._node(object).parent; } /** * Find the inclusive descendant that is last in tree order of the given object. * * * `O(n)` (worst case) where `n` is the depth of the subtree of `object` * * @method lastInclusiveDescendant * @memberOf module:symbol-tree# * @param {Object} object * @return {Object} */ lastInclusiveDescendant(object) { let lastChild; let current = object; while (lastChild = this._node(current).lastChild) { current = lastChild; } return current; } /** * Find the preceding object (A) of the given object (B). * An object A is preceding an object B if A and B are in the same tree * and A comes before B in tree order. * * * `O(n)` (worst case) * * `O(1)` (amortized when walking the entire tree) * * @method preceding * @memberOf module:symbol-tree# * @param {Object} object * @param {Object} [options] * @param {Object} [options.root] If set, `root` must be an inclusive ancestor * of the return value (or else null is returned). This check _assumes_ * that `root` is also an inclusive ancestor of the given `object` * @return {?Object} */ preceding(object, options) { const treeRoot = options && options.root; if (object === treeRoot) { return null; } const previousSibling = this._node(object).previousSibling; if (previousSibling) { return this.lastInclusiveDescendant(previousSibling); } return this._node(object).parent; } /** * Find the following object (A) of the given object (B). * An object A is following an object B if A and B are in the same tree * and A comes after B in tree order. * * * `O(n)` (worst case) where `n` is the amount of objects in the entire tree * * `O(1)` (amortized when walking the entire tree) * * @method following * @memberOf module:symbol-tree# * @param {!Object} object * @param {Object} [options] * @param {Object} [options.root] If set, `root` must be an inclusive ancestor * of the return value (or else null is returned). This check _assumes_ * that `root` is also an inclusive ancestor of the given `object` * @param {Boolean} [options.skipChildren=false] If set, ignore the children of `object` * @return {?Object} */ following(object, options) { const treeRoot = options && options.root; const skipChildren = options && options.skipChildren; const firstChild = !skipChildren && this._node(object).firstChild; if (firstChild) { return firstChild; } let current = object; do { if (current === treeRoot) { return null; } const nextSibling = this._node(current).nextSibling; if (nextSibling) { return nextSibling; } current = this._node(current).parent; } while (current); return null; } /** * Append all children of the given object to an array. * * * `O(n)` where `n` is the amount of children of the given `parent` * * @method childrenToArray * @memberOf module:symbol-tree# * @param {Object} parent * @param {Object} [options] * @param {Object[]} [options.array=[]] * @param {Function} [options.filter] Function to test each object before it is added to the array. * Invoked with arguments (object). Should return `true` if an object * is to be included. * @param {*} [options.thisArg] Value to use as `this` when executing `filter`. * @return {Object[]} */ childrenToArray(parent, options) { const array = options && options.array || []; const filter2 = options && options.filter || returnTrue; const thisArg = options && options.thisArg || void 0; const parentNode = this._node(parent); let object = parentNode.firstChild; let index = 0; while (object) { const node = this._node(object); node.setCachedIndex(parentNode, index); if (filter2.call(thisArg, object)) { array.push(object); } object = node.nextSibling; ++index; } return array; } /** * Append all inclusive ancestors of the given object to an array. * * * `O(n)` where `n` is the amount of ancestors of the given `object` * * @method ancestorsToArray * @memberOf module:symbol-tree# * @param {Object} object * @param {Object} [options] * @param {Object[]} [options.array=[]] * @param {Function} [options.filter] Function to test each object before it is added to the array. * Invoked with arguments (object). Should return `true` if an object * is to be included. * @param {*} [options.thisArg] Value to use as `this` when executing `filter`. * @return {Object[]} */ ancestorsToArray(object, options) { const array = options && options.array || []; const filter2 = options && options.filter || returnTrue; const thisArg = options && options.thisArg || void 0; let ancestor = object; while (ancestor) { if (filter2.call(thisArg, ancestor)) { array.push(ancestor); } ancestor = this._node(ancestor).parent; } return array; } /** * Append all descendants of the given object to an array (in tree order). * * * `O(n)` where `n` is the amount of objects in the sub-tree of the given `object` * * @method treeToArray * @memberOf module:symbol-tree# * @param {Object} root * @param {Object} [options] * @param {Object[]} [options.array=[]] * @param {Function} [options.filter] Function to test each object before it is added to the array. * Invoked with arguments (object). Should return `true` if an object * is to be included. * @param {*} [options.thisArg] Value to use as `this` when executing `filter`. * @return {Object[]} */ treeToArray(root, options) { const array = options && options.array || []; const filter2 = options && options.filter || returnTrue; const thisArg = options && options.thisArg || void 0; let object = root; while (object) { if (filter2.call(thisArg, object)) { array.push(object); } object = this.following(object, { root }); } return array; } /** * Iterate over all children of the given object * * * `O(1)` for a single iteration * * @method childrenIterator * @memberOf module:symbol-tree# * @param {Object} parent * @param {Object} [options] * @param {Boolean} [options.reverse=false] * @return {Object} An iterable iterator (ES6) */ childrenIterator(parent, options) { const reverse = options && options.reverse; const parentNode = this._node(parent); return new TreeIterator( this, parent, reverse ? parentNode.lastChild : parentNode.firstChild, reverse ? TreeIterator.PREV : TreeIterator.NEXT ); } /** * Iterate over all the previous siblings of the given object. (in reverse tree order) * * * `O(1)` for a single iteration * * @method previousSiblingsIterator * @memberOf module:symbol-tree# * @param {Object} object * @return {Object} An iterable iterator (ES6) */ previousSiblingsIterator(object) { return new TreeIterator( this, object, this._node(object).previousSibling, TreeIterator.PREV ); } /** * Iterate over all the next siblings of the given object. (in tree order) * * * `O(1)` for a single iteration * * @method nextSiblingsIterator * @memberOf module:symbol-tree# * @param {Object} object * @return {Object} An iterable iterator (ES6) */ nextSiblingsIterator(object) { return new TreeIterator( this, object, this._node(object).nextSibling, TreeIterator.NEXT ); } /** * Iterate over all inclusive ancestors of the given object * * * `O(1)` for a single iteration * * @method ancestorsIterator * @memberOf module:symbol-tree# * @param {Object} object * @return {Object} An iterable iterator (ES6) */ ancestorsIterator(object) { return new TreeIterator( this, object, object, TreeIterator.PARENT ); } /** * Iterate over all descendants of the given object (in tree order). * * Where `n` is the amount of objects in the sub-tree of the given `root`: * * * `O(n)` (worst case for a single iteration) * * `O(n)` (amortized, when completing the iterator) * * @method treeIterator * @memberOf module:symbol-tree# * @param {Object} root * @param {Object} options * @param {Boolean} [options.reverse=false] * @return {Object} An iterable iterator (ES6) */ treeIterator(root, options) { const reverse = options && options.reverse; return new TreeIterator( this, root, reverse ? this.lastInclusiveDescendant(root) : root, reverse ? TreeIterator.PRECEDING : TreeIterator.FOLLOWING ); } /** * Find the index of the given object (the number of preceding siblings). * * * `O(n)` where `n` is the amount of preceding siblings * * `O(1)` (amortized, if the tree is not modified) * * @method index * @memberOf module:symbol-tree# * @param {Object} child * @return {Number} The number of preceding siblings, or -1 if the object has no parent */ index(child) { const childNode = this._node(child); const parentNode = this._node(childNode.parent); if (!parentNode) { return -1; } let currentIndex = childNode.getCachedIndex(parentNode); if (currentIndex >= 0) { return currentIndex; } currentIndex = 0; let object = parentNode.firstChild; if (parentNode.childIndexCachedUpTo) { const cachedUpToNode = this._node(parentNode.childIndexCachedUpTo); object = cachedUpToNode.nextSibling; currentIndex = cachedUpToNode.getCachedIndex(parentNode) + 1; } while (object) { const node = this._node(object); node.setCachedIndex(parentNode, currentIndex); if (object === child) { break; } ++currentIndex; object = node.nextSibling; } parentNode.childIndexCachedUpTo = child; return currentIndex; } /** * Calculate the number of children. * * * `O(n)` where `n` is the amount of children * * `O(1)` (amortized, if the tree is not modified) * * @method childrenCount * @memberOf module:symbol-tree# * @param {Object} parent * @return {Number} */ childrenCount(parent) { const parentNode = this._node(parent); if (!parentNode.lastChild) { return 0; } return this.index(parentNode.lastChild) + 1; } /** * Compare the position of an object relative to another object. A bit set is returned: * * <ul> * <li>DISCONNECTED : 1</li> * <li>PRECEDING : 2</li> * <li>FOLLOWING : 4</li> * <li>CONTAINS : 8</li> * <li>CONTAINED_BY : 16</li> * </ul> * * The semantics are the same as compareDocumentPosition in DOM, with the exception that * DISCONNECTED never occurs with any other bit. * * where `n` and `m` are the amount of ancestors of `left` and `right`; * where `o` is the amount of children of the lowest common ancestor of `left` and `right`: * * * `O(n + m + o)` (worst case) * * `O(n + m)` (amortized, if the tree is not modified) * * @method compareTreePosition * @memberOf module:symbol-tree# * @param {Object} left * @param {Object} right * @return {Number} */ compareTreePosition(left, right) { if (left === right) { return 0; } const leftAncestors = []; { let leftAncestor = left; while (leftAncestor) { if (leftAncestor === right) { return TreePosition.CONTAINS | TreePosition.PRECEDING; } leftAncestors.push(leftAncestor); leftAncestor = this.parent(leftAncestor); } } const rightAncestors = []; { let rightAncestor = right; while (rightAncestor) { if (rightAncestor === left) { return TreePosition.CONTAINED_BY | TreePosition.FOLLOWING; } rightAncestors.push(rightAncestor); rightAncestor = this.parent(rightAncestor); } } const root = reverseArrayIndex(leftAncestors, 0); if (!root || root !== reverseArrayIndex(rightAncestors, 0)) { return TreePosition.DISCONNECTED; } let commonAncestorIndex = 0; const ancestorsMinLength = Math.min(leftAncestors.length, rightAncestors.length); for (let i5 = 0; i5 < ancestorsMinLength; ++i5) { const leftAncestor = reverseArrayIndex(leftAncestors, i5); const rightAncestor = reverseArrayIndex(rightAncestors, i5); if (leftAncestor !== rightAncestor) { break; } commonAncestorIndex = i5; } const leftIndex = this.index(reverseArrayIndex(leftAncestors, commonAncestorIndex + 1)); const rightIndex = this.index(reverseArrayIndex(rightAncestors, commonAncestorIndex + 1)); return rightIndex < leftIndex ? TreePosition.PRECEDING : TreePosition.FOLLOWING; } /** * Remove the object from this tree. * Has no effect if already removed. * * * `O(1)` * * @method remove * @memberOf module:symbol-tree# * @param {Object} removeObject * @return {Object} removeObject */ remove(removeObject) { const removeNode = this._node(removeObject); const parentNode = this._node(removeNode.parent); const prevNode = this._node(removeNode.previousSibling); const nextNode = this._node(removeNode.nextSibling); if (parentNode) { if (parentNode.firstChild === removeObject) { parentNode.firstChild = removeNode.nextSibling; } if (parentNode.lastChild === removeObject) { parentNode.lastChild = removeNode.previousSibling; } } if (prevNode) { prevNode.nextSibling = removeNode.nextSibling; } if (nextNode) { nextNode.previousSibling = removeNode.previousSibling; } removeNode.parent = null; removeNode.previousSibling = null; removeNode.nextSibling = null; removeNode.cachedIndex = -1; removeNode.cachedIndexVersion = NaN; if (parentNode) { parentNode.childrenChanged(); } return removeObject; } /** * Insert the given object before the reference object. * `newObject` is now the previous sibling of `referenceObject`. * * * `O(1)` * * @method insertBefore * @memberOf module:symbol-tree# * @param {Object} referenceObject * @param {Object} newObject * @throws {Error} If the newObject is already present in this SymbolTree * @return {Object} newObject */ insertBefore(referenceObject, newObject) { const referenceNode = this._node(referenceObject); const prevNode = this._node(referenceNode.previousSibling); const newNode = this._node(newObject); const parentNode = this._node(referenceNode.parent); if (newNode.isAttached) { throw Error("Given object is already present in this SymbolTree, remove it first"); } newNode.parent = referenceNode.parent; newNode.previousSibling = referenceNode.previousSibling; newNode.nextSibling = referenceObject; referenceNode.previousSibling = newObject; if (prevNode) { prevNode.nextSibling = newObject; } if (parentNode && parentNode.firstChild === referenceObject) { parentNode.firstChild = newObject; } if (parentNode) { parentNode.childrenChanged(); } return newObject; } /** * Insert the given object after the reference object. * `newObject` is now the next sibling of `referenceObject`. * * * `O(1)` * * @method insertAfter * @memberOf module:symbol-tree# * @param {Object} referenceObject * @param {Object} newObject * @throws {Error} If the newObject is already present in this SymbolTree * @return {Object} newObject */ insertAfter(referenceObject, newObject) { const referenceNode = this._node(referenceObject); const nextNode = this._node(referenceNode.nextSibling); const newNode = this._node(newObject); const parentNode = this._node(referenceNode.parent); if (newNode.isAttached) { throw Error("Given object is already present in this SymbolTree, remove it first"); } newNode.parent = referenceNode.parent; newNode.previousSibling = referenceObject; newNode.nextSibling = referenceNode.nextSibling; referenceNode.nextSibling = newObject; if (nextNode) { nextNode.previousSibling = newObject; } if (parentNode && parentNode.lastChild === referenceObject) { parentNode.lastChild = newObject; } if (parentNode) { parentNode.childrenChanged(); } return newObject; } /** * Insert the given object as the first child of the given reference object. * `newObject` is now the first child of `referenceObject`. * * * `O(1)` * * @method prependChild * @memberOf module:symbol-tree# * @param {Object} referenceObject * @param {Object} newObject * @throws {Error} If the newObject is already present in this SymbolTree * @return {Object} newObject */ prependChild(referenceObject, newObject) { const referenceNode = this._node(referenceObject); const newNode = this._node(newObject); if (newNode.isAttached) { throw Error("Given object is already present in this SymbolTree, remove it first"); } if (referenceNode.hasChildren) { this.insertBefore(referenceNode.firstChild, newObject); } else { newNode.parent = referenceObject; referenceNode.firstChild = newObject; referenceNode.lastChild = newObject; referenceNode.childrenChanged(); } return newObject; } /** * Insert the given object as the last child of the given reference object. * `newObject` is now the last child of `referenceObject`. * * * `O(1)` * * @method appendChild * @memberOf module:symbol-tree# * @param {Object} referenceObject * @param {Object} newObject * @throws {Error} If the newObject is already present in this SymbolTree * @return {Object} newObject */ appendChild(referenceObject, newObject) { const referenceNode = this._node(referenceObject); const newNode = this._node(newObject); if (newNode.isAttached) { throw Error("Given object is already present in this SymbolTree, remove it first"); } if (referenceNode.hasChildren) { this.insertAfter(referenceNode.lastChild, newObject); } else { newNode.parent = referenceObject; referenceNode.firstChild = newObject; referenceNode.lastChild = newObject; referenceNode.childrenChanged(); } return newObject; } }; module.exports = SymbolTree; SymbolTree.TreePosition = TreePosition; } }); // node_modules/.pnpm/punycode@1.4.1/node_modules/punycode/punycode.js var require_punycode = __commonJS({ "node_modules/.pnpm/punycode@1.4.1/node_modules/punycode/punycode.js"(exports, module) { ; (function(root) { var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports; var freeModule = typeof module == "object" && module && !module.nodeType && module; var freeGlobal = typeof global == "object" && global; if (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal || freeGlobal.self === freeGlobal) { root = freeGlobal; } var punycode, maxInt = 2147483647, base = 36, tMin = 1, tMax = 26, skew = 38, damp = 700, initialBias = 72, initialN = 128, delimiter = "-", regexPunycode = /^xn--/, regexNonASCII = /[^\x20-\x7E]/, regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g, errors = { "overflow": "Overflow: input needs wider integers to process", "not-basic": "Illegal input >= 0x80 (not a basic code point)", "invalid-input": "Invalid input" }, baseMinusTMin = base - tMin, floor = Math.floor, stringFromCharCode = String.fromCharCode, key; function error(type) { throw new RangeError(errors[type]); } function map3(array, fn) { var length = array.length; var result = []; while (length--) { result[length] = fn(array[length]); } return result; } function mapDomain(string, fn) { var parts = string.split("@"); var result = ""; if (parts.length > 1) { result = parts[0] + "@"; string = parts[1]; } string = string.replace(regexSeparators, "."); var labels = string.split("."); var encoded = map3(labels, fn).join("."); return result + encoded; } function ucs2decode(string) { var output = [], counter = 0, length = string.length, value, extra; while (counter < length) { value = string.charCodeAt(counter++); if (value >= 55296 && value <= 56319 && counter < length) { extra = string.charCodeAt(counter++); if ((extra & 64512) == 56320) { output.push(((value & 1023) << 10) + (extra & 1023) + 65536); } else { output.push(value); counter--; } } else { output.push(value); } } return output; } function ucs2encode(array) { return map3(array, function(value) { var output = ""; if (value > 65535) { value -= 65536; output += stringFromCharCode(value >>> 10 & 1023 | 55296); value = 56320 | value & 1023; } output += stringFromCharCode(value); return output; }).join(""); } function basicToDigit(codePoint) { if (codePoint - 48 < 10) { return codePoint - 22; } if (codePoint - 65 < 26) { return codePoint - 65; } if (codePoint - 97 < 26) { return codePoint - 97; } return base; } function digitToBasic(digit, flag) { return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); } function adapt(delta, numPoints, firstTime) { var k2 = 0; delta = firstTime ? floor(delta / damp) : delta >> 1; delta += floor(delta / numPoints); for (; delta > baseMinusTMin * tMax >> 1; k2 += base) { delta = floor(delta / baseMinusTMin); } return floor(k2 + (baseMinusTMin + 1) * delta / (delta + skew)); } function decode2(input) { var output = [], inputLength = input.length, out, i5 = 0, n8 = initialN, bias = initialBias, basic, j2, index, oldi, w2, k2, digit, t5, baseMinusT; basic = input.lastIndexOf(delimiter); if (basic < 0) { basic = 0; } for (j2 = 0; j2 < basic; ++j2) { if (input.charCodeAt(j2) >= 128) { error("not-basic"); } output.push(input.charCodeAt(j2)); } for (index = basic > 0 ? basic + 1 : 0; index < inputLength; ) { for (oldi = i5, w2 = 1, k2 = base; ; k2 += base) { if (index >= inputLength) { error("invalid-input"); } digit = basicToDigit(input.charCodeAt(index++)); if (digit >= base || digit > floor((maxInt - i5) / w2)) { error("overflow"); } i5 += digit * w2; t5 = k2 <= bias ? tMin : k2 >= bias + tMax ? tMax : k2 - bias; if (digit < t5) { break; } baseMinusT = base - t5; if (w2 > floor(maxInt / baseMinusT)) { error("overflow"); } w2 *= baseMinusT; } out = output.length + 1; bias = adapt(i5 - oldi, out, oldi == 0); if (floor(i5 / out) > maxInt - n8) { error("overflow"); } n8 += floor(i5 / out); i5 %= out; output.splice(i5++, 0, n8); } return ucs2encode(output); } function encode2(input) { var n8, delta, handledCPCount, basicLength, bias, j2, m3, q, k2, t5, currentValue, output = [], inputLength, handledCPCountPlusOne, baseMinusT, qMinusT; input = ucs2decode(input); inputLength = input.length; n8 = initialN; delta = 0; bias = initialBias; for (j2 = 0; j2 < inp