UNPKG

@zubridge/electron

Version:

A streamlined state management library for Electron applications using Zustand.

1,468 lines (1,449 loc) 76.2 kB
// Renderer-safe build with polyfilled Node.js modules const require_chunk = require('./chunk-CPpYY54z.cjs'); const require_os = require('./os-Dm0Fz436.cjs'); //#region ../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/types/tokens.js var require_tokens = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/types/tokens.js": ((exports) => { Object.defineProperty(exports, "__esModule", { value: true }); }) }); //#endregion //#region ../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/types/types.js var require_types$1 = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/types/types.js": ((exports) => { Object.defineProperty(exports, "__esModule", { value: true }); exports.types = void 0; (function(types$1) { types$1[types$1["ROOT"] = 0] = "ROOT"; types$1[types$1["GROUP"] = 1] = "GROUP"; types$1[types$1["POSITION"] = 2] = "POSITION"; types$1[types$1["SET"] = 3] = "SET"; types$1[types$1["RANGE"] = 4] = "RANGE"; types$1[types$1["REPETITION"] = 5] = "REPETITION"; types$1[types$1["REFERENCE"] = 6] = "REFERENCE"; types$1[types$1["CHAR"] = 7] = "CHAR"; })(exports.types || (exports.types = {})); }) }); //#endregion //#region ../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/types/set-lookup.js var require_set_lookup = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/types/set-lookup.js": ((exports) => { Object.defineProperty(exports, "__esModule", { value: true }); }) }); //#endregion //#region ../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/types/index.js var require_types = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/types/index.js": ((exports) => { var __createBinding$5 = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __exportStar$1 = exports && exports.__exportStar || function(m, exports$1) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports$1, p)) __createBinding$5(exports$1, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar$1(require_tokens(), exports); __exportStar$1(require_types$1(), exports); __exportStar$1(require_set_lookup(), exports); }) }); //#endregion //#region ../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/sets.js var require_sets = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/sets.js": ((exports) => { Object.defineProperty(exports, "__esModule", { value: true }); exports.anyChar = exports.notWhitespace = exports.whitespace = exports.notInts = exports.ints = exports.notWords = exports.words = void 0; const types_1$6 = require_types(); const INTS = () => [{ type: types_1$6.types.RANGE, from: 48, to: 57 }]; const WORDS = () => [ { type: types_1$6.types.CHAR, value: 95 }, { type: types_1$6.types.RANGE, from: 97, to: 122 }, { type: types_1$6.types.RANGE, from: 65, to: 90 }, { type: types_1$6.types.RANGE, from: 48, to: 57 } ]; const WHITESPACE = () => [ { type: types_1$6.types.CHAR, value: 9 }, { type: types_1$6.types.CHAR, value: 10 }, { type: types_1$6.types.CHAR, value: 11 }, { type: types_1$6.types.CHAR, value: 12 }, { type: types_1$6.types.CHAR, value: 13 }, { type: types_1$6.types.CHAR, value: 32 }, { type: types_1$6.types.CHAR, value: 160 }, { type: types_1$6.types.CHAR, value: 5760 }, { type: types_1$6.types.RANGE, from: 8192, to: 8202 }, { type: types_1$6.types.CHAR, value: 8232 }, { type: types_1$6.types.CHAR, value: 8233 }, { type: types_1$6.types.CHAR, value: 8239 }, { type: types_1$6.types.CHAR, value: 8287 }, { type: types_1$6.types.CHAR, value: 12288 }, { type: types_1$6.types.CHAR, value: 65279 } ]; const NOTANYCHAR = () => [ { type: types_1$6.types.CHAR, value: 10 }, { type: types_1$6.types.CHAR, value: 13 }, { type: types_1$6.types.CHAR, value: 8232 }, { type: types_1$6.types.CHAR, value: 8233 } ]; exports.words = () => ({ type: types_1$6.types.SET, set: WORDS(), not: false }); exports.notWords = () => ({ type: types_1$6.types.SET, set: WORDS(), not: true }); exports.ints = () => ({ type: types_1$6.types.SET, set: INTS(), not: false }); exports.notInts = () => ({ type: types_1$6.types.SET, set: INTS(), not: true }); exports.whitespace = () => ({ type: types_1$6.types.SET, set: WHITESPACE(), not: false }); exports.notWhitespace = () => ({ type: types_1$6.types.SET, set: WHITESPACE(), not: true }); exports.anyChar = () => ({ type: types_1$6.types.SET, set: NOTANYCHAR(), not: true }); }) }); //#endregion //#region ../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/util.js var require_util = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/util.js": ((exports) => { var __createBinding$4 = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault$3 = exports && exports.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar$3 = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding$4(result, mod, k); } __setModuleDefault$3(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.tokenizeClass = exports.strToChars = void 0; const types_1$5 = require_types(); const sets$2 = __importStar$3(require_sets()); const CTRL = "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^ ?"; /** * Finds character representations in str and convert all to * their respective characters. * * @param {string} str * @returns {string} */ exports.strToChars = (str) => { return str.replace(/(\[\\b\])|(\\)?\\(?:u([A-F0-9]{4})|x([A-F0-9]{2})|c([@A-Z[\\\]^?])|([0tnvfr]))/g, (s, b, lbs, a16, b16, dctrl, eslsh) => { if (lbs) return s; let code = b ? 8 : a16 ? parseInt(a16, 16) : b16 ? parseInt(b16, 16) : dctrl ? CTRL.indexOf(dctrl) : { 0: 0, t: 9, n: 10, v: 11, f: 12, r: 13 }[eslsh]; let c = String.fromCharCode(code); return /[[\]{}^$.|?*+()]/.test(c) ? `\\${c}` : c; }); }; /** * Turns class into tokens * reads str until it encounters a ] not preceeded by a \ * * @param {string} str * @param {string} regexpStr * @returns {Array.<Array.<Object>, number>} */ exports.tokenizeClass = (str, regexpStr) => { var _a, _b, _c, _d, _e, _f, _g; let tokens = [], rs, c; const regexp = /\\(?:(w)|(d)|(s)|(W)|(D)|(S))|((?:(?:\\)(.)|([^\]\\]))-(((?:\\)])|(((?:\\)?([^\]])))))|(\])|(?:\\)?([^])/g; while ((rs = regexp.exec(str)) !== null) { const p = (_g = (_f = (_e = (_d = (_c = (_b = (_a = rs[1] && sets$2.words()) !== null && _a !== void 0 ? _a : rs[2] && sets$2.ints()) !== null && _b !== void 0 ? _b : rs[3] && sets$2.whitespace()) !== null && _c !== void 0 ? _c : rs[4] && sets$2.notWords()) !== null && _d !== void 0 ? _d : rs[5] && sets$2.notInts()) !== null && _e !== void 0 ? _e : rs[6] && sets$2.notWhitespace()) !== null && _f !== void 0 ? _f : rs[7] && { type: types_1$5.types.RANGE, from: (rs[8] || rs[9]).charCodeAt(0), to: (c = rs[10]).charCodeAt(c.length - 1) }) !== null && _g !== void 0 ? _g : (c = rs[16]) && { type: types_1$5.types.CHAR, value: c.charCodeAt(0) }; if (p) tokens.push(p); else return [tokens, regexp.lastIndex]; } throw new SyntaxError(`Invalid regular expression: /${regexpStr}/: Unterminated character class`); }; }) }); //#endregion //#region ../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/tokenizer.js var require_tokenizer = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/tokenizer.js": ((exports) => { var __createBinding$3 = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault$2 = exports && exports.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar$2 = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding$3(result, mod, k); } __setModuleDefault$2(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.tokenizer = void 0; const util = __importStar$2(require_util()); const types_1$4 = require_types(); const sets$1 = __importStar$2(require_sets()); /** * Valid opening characters for capture group names. */ const captureGroupFirstChar = /^[a-zA-Z_$]$/i; /** * Valid characters for capture group names. */ const captureGroupChars = /^[a-zA-Z0-9_$]$/i; const digit = /\d/; /** * Tokenizes a regular expression (that is currently a string) * @param {string} regexpStr String of regular expression to be tokenized * * @returns {Root} */ exports.tokenizer = (regexpStr) => { let i = 0, c; let start = { type: types_1$4.types.ROOT, stack: [] }; let lastGroup = start; let last = start.stack; let groupStack = []; let referenceQueue = []; let groupCount = 0; const repeatErr = (col) => { throw new SyntaxError(`Invalid regular expression: /${regexpStr}/: Nothing to repeat at column ${col - 1}`); }; let str = util.strToChars(regexpStr); while (i < str.length) switch (c = str[i++]) { case "\\": if (i === str.length) throw new SyntaxError(`Invalid regular expression: /${regexpStr}/: \\ at end of pattern`); switch (c = str[i++]) { case "b": last.push({ type: types_1$4.types.POSITION, value: "b" }); break; case "B": last.push({ type: types_1$4.types.POSITION, value: "B" }); break; case "w": last.push(sets$1.words()); break; case "W": last.push(sets$1.notWords()); break; case "d": last.push(sets$1.ints()); break; case "D": last.push(sets$1.notInts()); break; case "s": last.push(sets$1.whitespace()); break; case "S": last.push(sets$1.notWhitespace()); break; default: if (digit.test(c)) { let digits = c; while (i < str.length && digit.test(str[i])) digits += str[i++]; let value = parseInt(digits, 10); const reference = { type: types_1$4.types.REFERENCE, value }; last.push(reference); referenceQueue.push({ reference, stack: last, index: last.length - 1 }); } else last.push({ type: types_1$4.types.CHAR, value: c.charCodeAt(0) }); } break; case "^": last.push({ type: types_1$4.types.POSITION, value: "^" }); break; case "$": last.push({ type: types_1$4.types.POSITION, value: "$" }); break; case "[": { let not; if (str[i] === "^") { not = true; i++; } else not = false; let classTokens = util.tokenizeClass(str.slice(i), regexpStr); i += classTokens[1]; last.push({ type: types_1$4.types.SET, set: classTokens[0], not }); break; } case ".": last.push(sets$1.anyChar()); break; case "(": { let group = { type: types_1$4.types.GROUP, stack: [], remember: true }; if (str[i] === "?") { c = str[i + 1]; i += 2; if (c === "=") { group.followedBy = true; group.remember = false; } else if (c === "!") { group.notFollowedBy = true; group.remember = false; } else if (c === "<") { let name = ""; if (captureGroupFirstChar.test(str[i])) { name += str[i]; i++; } else throw new SyntaxError(`Invalid regular expression: /${regexpStr}/: Invalid capture group name, character '${str[i]}' after '<' at column ${i + 1}`); while (i < str.length && captureGroupChars.test(str[i])) { name += str[i]; i++; } if (!name) throw new SyntaxError(`Invalid regular expression: /${regexpStr}/: Invalid capture group name, character '${str[i]}' after '<' at column ${i + 1}`); if (str[i] !== ">") throw new SyntaxError(`Invalid regular expression: /${regexpStr}/: Unclosed capture group name, expected '>', found '${str[i]}' at column ${i + 1}`); group.name = name; i++; } else if (c === ":") group.remember = false; else throw new SyntaxError(`Invalid regular expression: /${regexpStr}/: Invalid group, character '${c}' after '?' at column ${i - 1}`); } else groupCount += 1; last.push(group); groupStack.push(lastGroup); lastGroup = group; last = group.stack; break; } case ")": if (groupStack.length === 0) throw new SyntaxError(`Invalid regular expression: /${regexpStr}/: Unmatched ) at column ${i - 1}`); lastGroup = groupStack.pop(); last = lastGroup.options ? lastGroup.options[lastGroup.options.length - 1] : lastGroup.stack; break; case "|": { if (!lastGroup.options) { lastGroup.options = [lastGroup.stack]; delete lastGroup.stack; } let stack = []; lastGroup.options.push(stack); last = stack; break; } case "{": { let rs = /^(\d+)(,(\d+)?)?\}/.exec(str.slice(i)), min, max; if (rs !== null) { if (last.length === 0) repeatErr(i); min = parseInt(rs[1], 10); max = rs[2] ? rs[3] ? parseInt(rs[3], 10) : Infinity : min; i += rs[0].length; last.push({ type: types_1$4.types.REPETITION, min, max, value: last.pop() }); } else last.push({ type: types_1$4.types.CHAR, value: 123 }); break; } case "?": if (last.length === 0) repeatErr(i); last.push({ type: types_1$4.types.REPETITION, min: 0, max: 1, value: last.pop() }); break; case "+": if (last.length === 0) repeatErr(i); last.push({ type: types_1$4.types.REPETITION, min: 1, max: Infinity, value: last.pop() }); break; case "*": if (last.length === 0) repeatErr(i); last.push({ type: types_1$4.types.REPETITION, min: 0, max: Infinity, value: last.pop() }); break; default: last.push({ type: types_1$4.types.CHAR, value: c.charCodeAt(0) }); } if (groupStack.length !== 0) throw new SyntaxError(`Invalid regular expression: /${regexpStr}/: Unterminated group`); updateReferences(referenceQueue, groupCount); return start; }; /** * This is a side effecting function that changes references to chars * if there are not enough capturing groups to reference * See: https://github.com/fent/ret.js/pull/39#issuecomment-1006475703 * See: https://github.com/fent/ret.js/issues/38 * @param {(Reference | Char)[]} referenceQueue * @param {number} groupCount * @returns {void} */ function updateReferences(referenceQueue, groupCount) { for (const elem of referenceQueue.reverse()) if (groupCount < elem.reference.value) { elem.reference.type = types_1$4.types.CHAR; const valueString = elem.reference.value.toString(); elem.reference.value = parseInt(valueString, 8); if (!/^[0-7]+$/.test(valueString)) { let i = 0; while (valueString[i] !== "8" && valueString[i] !== "9") i += 1; if (i === 0) { elem.reference.value = valueString.charCodeAt(0); i += 1; } else elem.reference.value = parseInt(valueString.slice(0, i), 8); if (valueString.length > i) { const tail = elem.stack.splice(elem.index + 1); for (const char of valueString.slice(i)) elem.stack.push({ type: types_1$4.types.CHAR, value: char.charCodeAt(0) }); elem.stack.push(...tail); } } } } }) }); //#endregion //#region ../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/sets-lookup.js var require_sets_lookup = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/sets-lookup.js": ((exports) => { var __createBinding$2 = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault$1 = exports && exports.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar$1 = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding$2(result, mod, k); } __setModuleDefault$1(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.NOTANYCHAR = exports.WHITESPACE = exports.WORDS = exports.INTS = void 0; const Sets = __importStar$1(require_sets()); const types_1$3 = require_types(); function setToLookup(tokens) { let lookup = {}; let len = 0; for (const token of tokens) { if (token.type === types_1$3.types.CHAR) lookup[token.value] = true; if (token.type === types_1$3.types.RANGE) lookup[`${token.from}-${token.to}`] = true; len += 1; } return { lookup: () => Object.assign({}, lookup), len }; } exports.INTS = setToLookup(Sets.ints().set); exports.WORDS = setToLookup(Sets.words().set); exports.WHITESPACE = setToLookup(Sets.whitespace().set); exports.NOTANYCHAR = setToLookup(Sets.anyChar().set); }) }); //#endregion //#region ../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/write-set-tokens.js var require_write_set_tokens = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/write-set-tokens.js": ((exports) => { var __createBinding$1 = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding$1(result, mod, k); } __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.writeSetTokens = exports.setChar = void 0; const types_1$2 = require_types(); const sets = __importStar(require_sets_lookup()); /** * Takes character code and returns character to be displayed in a set * @param {number} charCode Character code of set element * @returns {string} The string for the sets character */ function setChar(charCode) { return charCode === 94 ? "\\^" : charCode === 92 ? "\\\\" : charCode === 93 ? "\\]" : charCode === 45 ? "\\-" : String.fromCharCode(charCode); } exports.setChar = setChar; /** * Test if a character set matches a 'set-lookup' * @param {SetTokens} set The set to be tested * @param {SetLookup} param The predefined 'set-lookup' & the number of elements in the lookup * @returns {boolean} True if the character set corresponds to the 'set-lookup' */ function isSameSet(set, { lookup, len }) { if (len !== set.length) return false; const map = lookup(); for (const elem of set) { if (elem.type === types_1$2.types.SET) return false; const key = elem.type === types_1$2.types.CHAR ? elem.value : `${elem.from}-${elem.to}`; if (map[key]) map[key] = false; else return false; } return true; } /** * Writes the tokens for a set * @param {Set} set The set to display * @param {boolean} isNested Whether the token is nested inside another set token * @returns {string} The tokens for the set */ function writeSetTokens(set, isNested = false) { if (isSameSet(set.set, sets.INTS)) return set.not ? "\\D" : "\\d"; if (isSameSet(set.set, sets.WORDS)) return set.not ? "\\W" : "\\w"; if (set.not && isSameSet(set.set, sets.NOTANYCHAR)) return "."; if (isSameSet(set.set, sets.WHITESPACE)) return set.not ? "\\S" : "\\s"; let tokenString = ""; for (let i = 0; i < set.set.length; i++) { const subset = set.set[i]; tokenString += writeSetToken(subset); } const contents = `${set.not ? "^" : ""}${tokenString}`; return isNested ? contents : `[${contents}]`; } exports.writeSetTokens = writeSetTokens; /** * Writes a token within a set * @param {Range | Char | Set} set The set token to display * @returns {string} The token as a string */ function writeSetToken(set) { if (set.type === types_1$2.types.CHAR) return setChar(set.value); else if (set.type === types_1$2.types.RANGE) return `${setChar(set.from)}-${setChar(set.to)}`; return writeSetTokens(set, true); } }) }); //#endregion //#region ../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/reconstruct.js var require_reconstruct = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/reconstruct.js": ((exports) => { Object.defineProperty(exports, "__esModule", { value: true }); exports.reconstruct = void 0; const types_1$1 = require_types(); const write_set_tokens_1 = require_write_set_tokens(); const reduceStack = (stack) => stack.map(exports.reconstruct).join(""); const createAlternate = (token) => { if ("options" in token) return token.options.map(reduceStack).join("|"); else if ("stack" in token) return reduceStack(token.stack); else throw new Error(`options or stack must be Root or Group token`); }; exports.reconstruct = (token) => { switch (token.type) { case types_1$1.types.ROOT: return createAlternate(token); case types_1$1.types.CHAR: { const c = String.fromCharCode(token.value); return (/[[\\{}$^.|?*+()]/.test(c) ? "\\" : "") + c; } case types_1$1.types.POSITION: if (token.value === "^" || token.value === "$") return token.value; else return `\\${token.value}`; case types_1$1.types.REFERENCE: return `\\${token.value}`; case types_1$1.types.SET: return write_set_tokens_1.writeSetTokens(token); case types_1$1.types.GROUP: return `(${token.name ? `?<${token.name}>` : token.remember ? "" : token.followedBy ? "?=" : token.notFollowedBy ? "?!" : "?:"}${createAlternate(token)})`; case types_1$1.types.REPETITION: { const { min, max } = token; let endWith; if (min === 0 && max === 1) endWith = "?"; else if (min === 1 && max === Infinity) endWith = "+"; else if (min === 0 && max === Infinity) endWith = "*"; else if (max === Infinity) endWith = `{${min},}`; else if (min === max) endWith = `{${min}}`; else endWith = `{${min},${max}}`; return `${exports.reconstruct(token.value)}${endWith}`; } case types_1$1.types.RANGE: return `${write_set_tokens_1.setChar(token.from)}-${write_set_tokens_1.setChar(token.to)}`; default: throw new Error(`Invalid token type ${token}`); } }; }) }); //#endregion //#region ../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/index.js var require_dist = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/index.js": ((exports, module) => { var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __exportStar = exports && exports.__exportStar || function(m, exports$1) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports$1, p)) __createBinding(exports$1, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.types = void 0; /* istanbul ignore file */ const types_1 = require_types(); Object.defineProperty(exports, "types", { enumerable: true, get: function() { return types_1.types; } }); __exportStar(require_tokenizer(), exports); __exportStar(require_reconstruct(), exports); const tokenizer_1 = require_tokenizer(); const reconstruct_1 = require_reconstruct(); __exportStar(require_types(), exports); exports.default = tokenizer_1.tokenizer; module.exports = tokenizer_1.tokenizer; module.exports.types = types_1.types; module.exports.reconstruct = reconstruct_1.reconstruct; }) }); //#endregion //#region ../../node_modules/.pnpm/safe-regex2@5.0.0/node_modules/safe-regex2/index.js var require_safe_regex2 = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modules/.pnpm/safe-regex2@5.0.0/node_modules/safe-regex2/index.js": ((exports, module) => { const parse = require_dist(); const types = parse.types; function safeRegex(re, opts) { if (!opts) opts = {}; /* c8 ignore next */ const replimit = opts.limit === void 0 ? 25 : opts.limit; /* c8 ignore next 2 */ if (isRegExp(re)) re = re.source; else if (typeof re !== "string") re = String(re); try { re = parse(re); } catch { return false; } let reps = 0; return (function walk(node, starHeight) { let i; let ok; let len; if (node.type === types.REPETITION) { starHeight++; reps++; if (starHeight > 1) return false; if (reps > replimit) return false; } if (node.options) for (i = 0, len = node.options.length; i < len; i++) { ok = walk({ stack: node.options[i] }, starHeight); if (!ok) return false; } const stack = node.stack || node.value?.stack; if (!stack) return true; for (i = 0; i < stack.length; i++) { ok = walk(stack[i], starHeight); if (!ok) return false; } return true; })(re, 0); } function isRegExp(x) { return {}.toString.call(x) === "[object RegExp]"; } module.exports = safeRegex; module.exports.default = safeRegex; module.exports.safeRegex = safeRegex; }) }); //#endregion //#region ../../node_modules/.pnpm/unenv@2.0.0-rc.24/node_modules/unenv/dist/runtime/node/internal/fs/promises.mjs var import_safe_regex2 = /* @__PURE__ */ require_chunk.__toESM(require_safe_regex2(), 1); const access$1 = /* @__PURE__ */ require_os.notImplemented("fs.access"); const copyFile$1 = /* @__PURE__ */ require_os.notImplemented("fs.copyFile"); const cp$1 = /* @__PURE__ */ require_os.notImplemented("fs.cp"); const open$1 = /* @__PURE__ */ require_os.notImplemented("fs.open"); const opendir$1 = /* @__PURE__ */ require_os.notImplemented("fs.opendir"); const rename$1 = /* @__PURE__ */ require_os.notImplemented("fs.rename"); const truncate$1 = /* @__PURE__ */ require_os.notImplemented("fs.truncate"); const rm$1 = /* @__PURE__ */ require_os.notImplemented("fs.rm"); const rmdir$1 = /* @__PURE__ */ require_os.notImplemented("fs.rmdir"); const mkdir$1 = /* @__PURE__ */ require_os.notImplemented("fs.mkdir"); const readdir$1 = /* @__PURE__ */ require_os.notImplemented("fs.readdir"); const readlink$1 = /* @__PURE__ */ require_os.notImplemented("fs.readlink"); const symlink$1 = /* @__PURE__ */ require_os.notImplemented("fs.symlink"); const lstat$1 = /* @__PURE__ */ require_os.notImplemented("fs.lstat"); const stat$1 = /* @__PURE__ */ require_os.notImplemented("fs.stat"); const link$1 = /* @__PURE__ */ require_os.notImplemented("fs.link"); const unlink$1 = /* @__PURE__ */ require_os.notImplemented("fs.unlink"); const chmod$1 = /* @__PURE__ */ require_os.notImplemented("fs.chmod"); const lchmod$1 = /* @__PURE__ */ require_os.notImplemented("fs.lchmod"); const lchown$1 = /* @__PURE__ */ require_os.notImplemented("fs.lchown"); const chown$1 = /* @__PURE__ */ require_os.notImplemented("fs.chown"); const utimes$1 = /* @__PURE__ */ require_os.notImplemented("fs.utimes"); const lutimes$1 = /* @__PURE__ */ require_os.notImplemented("fs.lutimes"); const realpath$1 = /* @__PURE__ */ require_os.notImplemented("fs.realpath"); const mkdtemp$1 = /* @__PURE__ */ require_os.notImplemented("fs.mkdtemp"); const writeFile$1 = /* @__PURE__ */ require_os.notImplemented("fs.writeFile"); const appendFile$1 = /* @__PURE__ */ require_os.notImplemented("fs.appendFile"); const readFile$1 = /* @__PURE__ */ require_os.notImplemented("fs.readFile"); const watch$1 = /* @__PURE__ */ require_os.notImplemented("fs.watch"); const statfs$1 = /* @__PURE__ */ require_os.notImplemented("fs.statfs"); const glob$1 = /* @__PURE__ */ require_os.notImplemented("fs.glob"); //#endregion //#region ../../node_modules/.pnpm/unenv@2.0.0-rc.24/node_modules/unenv/dist/runtime/node/internal/fs/constants.mjs var constants_exports = /* @__PURE__ */ require_chunk.__export({ COPYFILE_EXCL: () => COPYFILE_EXCL, COPYFILE_FICLONE: () => COPYFILE_FICLONE, COPYFILE_FICLONE_FORCE: () => COPYFILE_FICLONE_FORCE, EXTENSIONLESS_FORMAT_JAVASCRIPT: () => EXTENSIONLESS_FORMAT_JAVASCRIPT, EXTENSIONLESS_FORMAT_WASM: () => EXTENSIONLESS_FORMAT_WASM, F_OK: () => F_OK, O_APPEND: () => O_APPEND, O_CREAT: () => O_CREAT, O_DIRECT: () => O_DIRECT, O_DIRECTORY: () => O_DIRECTORY, O_DSYNC: () => O_DSYNC, O_EXCL: () => O_EXCL, O_NOATIME: () => O_NOATIME, O_NOCTTY: () => O_NOCTTY, O_NOFOLLOW: () => O_NOFOLLOW, O_NONBLOCK: () => O_NONBLOCK, O_RDONLY: () => O_RDONLY, O_RDWR: () => O_RDWR, O_SYNC: () => O_SYNC, O_TRUNC: () => O_TRUNC, O_WRONLY: () => O_WRONLY, R_OK: () => R_OK, S_IFBLK: () => S_IFBLK, S_IFCHR: () => S_IFCHR, S_IFDIR: () => S_IFDIR, S_IFIFO: () => S_IFIFO, S_IFLNK: () => S_IFLNK, S_IFMT: () => S_IFMT, S_IFREG: () => S_IFREG, S_IFSOCK: () => S_IFSOCK, S_IRGRP: () => S_IRGRP, S_IROTH: () => S_IROTH, S_IRUSR: () => S_IRUSR, S_IRWXG: () => S_IRWXG, S_IRWXO: () => S_IRWXO, S_IRWXU: () => S_IRWXU, S_IWGRP: () => S_IWGRP, S_IWOTH: () => S_IWOTH, S_IWUSR: () => S_IWUSR, S_IXGRP: () => S_IXGRP, S_IXOTH: () => S_IXOTH, S_IXUSR: () => S_IXUSR, UV_DIRENT_BLOCK: () => UV_DIRENT_BLOCK, UV_DIRENT_CHAR: () => UV_DIRENT_CHAR, UV_DIRENT_DIR: () => UV_DIRENT_DIR, UV_DIRENT_FIFO: () => UV_DIRENT_FIFO, UV_DIRENT_FILE: () => UV_DIRENT_FILE, UV_DIRENT_LINK: () => UV_DIRENT_LINK, UV_DIRENT_SOCKET: () => UV_DIRENT_SOCKET, UV_DIRENT_UNKNOWN: () => UV_DIRENT_UNKNOWN, UV_FS_COPYFILE_EXCL: () => UV_FS_COPYFILE_EXCL, UV_FS_COPYFILE_FICLONE: () => UV_FS_COPYFILE_FICLONE, UV_FS_COPYFILE_FICLONE_FORCE: () => UV_FS_COPYFILE_FICLONE_FORCE, UV_FS_O_FILEMAP: () => UV_FS_O_FILEMAP, UV_FS_SYMLINK_DIR: () => UV_FS_SYMLINK_DIR, UV_FS_SYMLINK_JUNCTION: () => UV_FS_SYMLINK_JUNCTION, W_OK: () => W_OK, X_OK: () => X_OK }); const UV_FS_SYMLINK_DIR = 1; const UV_FS_SYMLINK_JUNCTION = 2; const O_RDONLY = 0; const O_WRONLY = 1; const O_RDWR = 2; const UV_DIRENT_UNKNOWN = 0; const UV_DIRENT_FILE = 1; const UV_DIRENT_DIR = 2; const UV_DIRENT_LINK = 3; const UV_DIRENT_FIFO = 4; const UV_DIRENT_SOCKET = 5; const UV_DIRENT_CHAR = 6; const UV_DIRENT_BLOCK = 7; const EXTENSIONLESS_FORMAT_JAVASCRIPT = 0; const EXTENSIONLESS_FORMAT_WASM = 1; const S_IFMT = 61440; const S_IFREG = 32768; const S_IFDIR = 16384; const S_IFCHR = 8192; const S_IFBLK = 24576; const S_IFIFO = 4096; const S_IFLNK = 40960; const S_IFSOCK = 49152; const O_CREAT = 64; const O_EXCL = 128; const UV_FS_O_FILEMAP = 0; const O_NOCTTY = 256; const O_TRUNC = 512; const O_APPEND = 1024; const O_DIRECTORY = 65536; const O_NOATIME = 262144; const O_NOFOLLOW = 131072; const O_SYNC = 1052672; const O_DSYNC = 4096; const O_DIRECT = 16384; const O_NONBLOCK = 2048; const S_IRWXU = 448; const S_IRUSR = 256; const S_IWUSR = 128; const S_IXUSR = 64; const S_IRWXG = 56; const S_IRGRP = 32; const S_IWGRP = 16; const S_IXGRP = 8; const S_IRWXO = 7; const S_IROTH = 4; const S_IWOTH = 2; const S_IXOTH = 1; const F_OK = 0; const R_OK = 4; const W_OK = 2; const X_OK = 1; const UV_FS_COPYFILE_EXCL = 1; const COPYFILE_EXCL = 1; const UV_FS_COPYFILE_FICLONE = 2; const COPYFILE_FICLONE = 2; const UV_FS_COPYFILE_FICLONE_FORCE = 4; const COPYFILE_FICLONE_FORCE = 4; //#endregion //#region ../../node_modules/.pnpm/unenv@2.0.0-rc.24/node_modules/unenv/dist/runtime/node/fs/promises.mjs var promises_default = { constants: constants_exports, access: access$1, appendFile: appendFile$1, chmod: chmod$1, chown: chown$1, copyFile: copyFile$1, cp: cp$1, glob: glob$1, lchmod: lchmod$1, lchown: lchown$1, link: link$1, lstat: lstat$1, lutimes: lutimes$1, mkdir: mkdir$1, mkdtemp: mkdtemp$1, open: open$1, opendir: opendir$1, readFile: readFile$1, readdir: readdir$1, readlink: readlink$1, realpath: realpath$1, rename: rename$1, rm: rm$1, rmdir: rmdir$1, stat: stat$1, statfs: statfs$1, symlink: symlink$1, truncate: truncate$1, unlink: unlink$1, utimes: utimes$1, watch: watch$1, writeFile: writeFile$1 }; //#endregion //#region ../../node_modules/.pnpm/unenv@2.0.0-rc.24/node_modules/unenv/dist/runtime/node/internal/fs/classes.mjs const Dir = /* @__PURE__ */ require_os.notImplementedClass("fs.Dir"); const Dirent = /* @__PURE__ */ require_os.notImplementedClass("fs.Dirent"); const Stats = /* @__PURE__ */ require_os.notImplementedClass("fs.Stats"); const ReadStream = /* @__PURE__ */ require_os.notImplementedClass("fs.ReadStream"); const WriteStream = /* @__PURE__ */ require_os.notImplementedClass("fs.WriteStream"); const FileReadStream = ReadStream; const FileWriteStream = WriteStream; //#endregion //#region ../../node_modules/.pnpm/unenv@2.0.0-rc.24/node_modules/unenv/dist/runtime/node/internal/fs/fs.mjs function callbackify(fn) { const fnc = function(...args) { const cb = args.pop(); fn().catch((error) => cb(error)).then((val) => cb(void 0, val)); }; fnc.__promisify__ = fn; fnc.native = fnc; return fnc; } const access = callbackify(access$1); const appendFile = callbackify(appendFile$1); const chown = callbackify(chown$1); const chmod = callbackify(chmod$1); const copyFile = callbackify(copyFile$1); const cp = callbackify(cp$1); const lchown = callbackify(lchown$1); const lchmod = callbackify(lchmod$1); const link = callbackify(link$1); const lstat = callbackify(lstat$1); const lutimes = callbackify(lutimes$1); const mkdir = callbackify(mkdir$1); const mkdtemp = callbackify(mkdtemp$1); const realpath = callbackify(realpath$1); const open = callbackify(open$1); const opendir = callbackify(opendir$1); const readdir = callbackify(readdir$1); const readFile = callbackify(readFile$1); const readlink = callbackify(readlink$1); const rename = callbackify(rename$1); const rm = callbackify(rm$1); const rmdir = callbackify(rmdir$1); const stat = callbackify(stat$1); const symlink = callbackify(symlink$1); const truncate = callbackify(truncate$1); const unlink = callbackify(unlink$1); const utimes = callbackify(utimes$1); const writeFile = callbackify(writeFile$1); const statfs = callbackify(statfs$1); const close = /* @__PURE__ */ require_os.notImplementedAsync("fs.close"); const createReadStream = /* @__PURE__ */ require_os.notImplementedAsync("fs.createReadStream"); const createWriteStream = /* @__PURE__ */ require_os.notImplementedAsync("fs.createWriteStream"); const exists = /* @__PURE__ */ require_os.notImplementedAsync("fs.exists"); const fchown = /* @__PURE__ */ require_os.notImplementedAsync("fs.fchown"); const fchmod = /* @__PURE__ */ require_os.notImplementedAsync("fs.fchmod"); const fdatasync = /* @__PURE__ */ require_os.notImplementedAsync("fs.fdatasync"); const fstat = /* @__PURE__ */ require_os.notImplementedAsync("fs.fstat"); const fsync = /* @__PURE__ */ require_os.notImplementedAsync("fs.fsync"); const ftruncate = /* @__PURE__ */ require_os.notImplementedAsync("fs.ftruncate"); const futimes = /* @__PURE__ */ require_os.notImplementedAsync("fs.futimes"); const lstatSync = /* @__PURE__ */ require_os.notImplementedAsync("fs.lstatSync"); const read = /* @__PURE__ */ require_os.notImplementedAsync("fs.read"); const readv = /* @__PURE__ */ require_os.notImplementedAsync("fs.readv"); const realpathSync = /* @__PURE__ */ require_os.notImplementedAsync("fs.realpathSync"); const statSync = /* @__PURE__ */ require_os.notImplementedAsync("fs.statSync"); const unwatchFile = /* @__PURE__ */ require_os.notImplementedAsync("fs.unwatchFile"); const watch = /* @__PURE__ */ require_os.notImplementedAsync("fs.watch"); const watchFile = /* @__PURE__ */ require_os.notImplementedAsync("fs.watchFile"); const write = /* @__PURE__ */ require_os.notImplementedAsync("fs.write"); const writev = /* @__PURE__ */ require_os.notImplementedAsync("fs.writev"); const _toUnixTimestamp = /* @__PURE__ */ require_os.notImplementedAsync("fs._toUnixTimestamp"); const openAsBlob = /* @__PURE__ */ require_os.notImplementedAsync("fs.openAsBlob"); const glob = /* @__PURE__ */ require_os.notImplementedAsync("fs.glob"); const appendFileSync = /* @__PURE__ */ require_os.notImplemented("fs.appendFileSync"); const accessSync = /* @__PURE__ */ require_os.notImplemented("fs.accessSync"); const chownSync = /* @__PURE__ */ require_os.notImplemented("fs.chownSync"); const chmodSync = /* @__PURE__ */ require_os.notImplemented("fs.chmodSync"); const closeSync = /* @__PURE__ */ require_os.notImplemented("fs.closeSync"); const copyFileSync = /* @__PURE__ */ require_os.notImplemented("fs.copyFileSync"); const cpSync = /* @__PURE__ */ require_os.notImplemented("fs.cpSync"); const existsSync = () => false; const fchownSync = /* @__PURE__ */ require_os.notImplemented("fs.fchownSync"); const fchmodSync = /* @__PURE__ */ require_os.notImplemented("fs.fchmodSync"); const fdatasyncSync = /* @__PURE__ */ require_os.notImplemented("fs.fdatasyncSync"); const fstatSync = /* @__PURE__ */ require_os.notImplemented("fs.fstatSync"); const fsyncSync = /* @__PURE__ */ require_os.notImplemented("fs.fsyncSync"); const ftruncateSync = /* @__PURE__ */ require_os.notImplemented("fs.ftruncateSync"); const futimesSync = /* @__PURE__ */ require_os.notImplemented("fs.futimesSync"); const lchownSync = /* @__PURE__ */ require_os.notImplemented("fs.lchownSync"); const lchmodSync = /* @__PURE__ */ require_os.notImplemented("fs.lchmodSync"); const linkSync = /* @__PURE__ */ require_os.notImplemented("fs.linkSync"); const lutimesSync = /* @__PURE__ */ require_os.notImplemented("fs.lutimesSync"); const mkdirSync = /* @__PURE__ */ require_os.notImplemented("fs.mkdirSync"); const mkdtempSync = /* @__PURE__ */ require_os.notImplemented("fs.mkdtempSync"); const openSync = /* @__PURE__ */ require_os.notImplemented("fs.openSync"); const opendirSync = /* @__PURE__ */ require_os.notImplemented("fs.opendirSync"); const readdirSync = /* @__PURE__ */ require_os.notImplemented("fs.readdirSync"); const readSync = /* @__PURE__ */ require_os.notImplemented("fs.readSync"); const readvSync = /* @__PURE__ */ require_os.notImplemented("fs.readvSync"); const readFileSync = /* @__PURE__ */ require_os.notImplemented("fs.readFileSync"); const readlinkSync = /* @__PURE__ */ require_os.notImplemented("fs.readlinkSync"); const renameSync = /* @__PURE__ */ require_os.notImplemented("fs.renameSync"); const rmSync = /* @__PURE__ */ require_os.notImplemented("fs.rmSync"); const rmdirSync = /* @__PURE__ */ require_os.notImplemented("fs.rmdirSync"); const symlinkSync = /* @__PURE__ */ require_os.notImplemented("fs.symlinkSync"); const truncateSync = /* @__PURE__ */ require_os.notImplemented("fs.truncateSync"); const unlinkSync = /* @__PURE__ */ require_os.notImplemented("fs.unlinkSync"); const utimesSync = /* @__PURE__ */ require_os.notImplemented("fs.utimesSync"); const writeFileSync = /* @__PURE__ */ require_os.notImplemented("fs.writeFileSync"); const writeSync = /* @__PURE__ */ require_os.notImplemented("fs.writeSync"); const writevSync = /* @__PURE__ */ require_os.notImplemented("fs.writevSync"); const statfsSync = /* @__PURE__ */ require_os.notImplemented("fs.statfsSync"); const globSync = /* @__PURE__ */ require_os.notImplemented("fs.globSync"); //#endregion //#region ../../node_modules/.pnpm/unenv@2.0.0-rc.24/node_modules/unenv/dist/runtime/node/fs.mjs var fs_default = { F_OK, R_OK, W_OK, X_OK, constants: constants_exports, promises: promises_default, Dir, Dirent, FileReadStream, FileWriteStream, ReadStream, Stats, WriteStream, _toUnixTimestamp, access, accessSync, appendFile, appendFileSync, chmod, chmodSync, chown, chownSync, close, closeSync, copyFile, copyFileSync, cp, cpSync, createReadStream, createWriteStream, exists, existsSync, fchmod, fchmodSync, fchown, fchownSync, fdatasync, fdatasyncSync, fstat, fstatSync, fsync, fsyncSync, ftruncate, ftruncateSync, futimes, futimesSync, glob, lchmod, globSync, lchmodSync, lchown, lchownSync, link, linkSync, lstat, lstatSync, lutimes, lutimesSync, mkdir, mkdirSync, mkdtemp, mkdtempSync, open, openAsBlob, openSync, opendir, opendirSync, read, readFile, readFileSync, readSync, readdir, readdirSync, readlink, readlinkSync, readv, readvSync, realpath, realpathSync, rename, renameSync, rm, rmSync, rmdir, rmdirSync, stat, statSync, statfs, statfsSync, symlink, symlinkSync, truncate, truncateSync, unlink, unlinkSync, unwatchFile, utimes, utimesSync, watch, watchFile, write, writeFile, writeFileSync, writeSync, writev, writevSync }; //#endregion //#region ../../node_modules/.pnpm/loglevel@1.9.2/node_modules/loglevel/lib/loglevel.js var require_loglevel = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modules/.pnpm/loglevel@1.9.2/node_modules/loglevel/lib/loglevel.js": ((exports, module) => { (function(root, definition) { if (typeof define === "function" && define.amd) define(definition); else if (typeof module === "object" && module.exports) module.exports = definition(); else root.log = definition(); })(exports, function() { var noop = function() {}; var undefinedType = "undefined"; var isIE = typeof window !== undefinedType && typeof window.navigator !== undefinedType && /Trident\/|MSIE /.test(window.navigator.userAgent); var logMethods = [ "trace", "debug", "info", "warn", "error" ]; var _loggersByName = {}; var defaultLogger = null; function bindMethod(obj, methodName) { var method = obj[methodName]; if (typeof method.bind === "function") return method.bind(obj); else try { return Function.prototype.bind.call(method, obj); } catch (e) { return function() { return Function.prototype.apply.apply(method, [obj, arguments]); }; } } function traceForIE() { if (console.log) if (console.log.apply) console.log.apply(console, arguments); else Function.prototype.apply.apply(console.log, [console, arguments]); if (console.trace) console.trace(); } function realMethod(methodName) { if (methodName === "debug") methodName = "log"; if (typeof console === undefinedType) return false; else if (methodName === "trace" && isIE) return traceForIE; else if (console[methodName] !== void 0) return bindMethod(console, methodName); else if (console.log !== void 0) return bindMethod(console, "log"); else return noop; } function replaceLoggingMethods() { var level = this.getLevel(); for (var i = 0; i < logMethods.length; i++) { var methodName = logMethods[i]; this[methodName] = i < level ? noop : this.methodFactory(methodName, level, this.name); } this.log = this.debug; if (typeof console === undefinedType && level < this.levels.SILENT) return "No console available for logging"; } function enableLoggingWhenConsoleArrives(methodName) { return function() { if (typeof console !== undefinedType) { replaceLoggingMethods.call(this); this[methodName].apply(this, arguments); } }; } function defaultMethodFactory(methodName, _level, _loggerName) { return realMethod(methodName) || enableLoggingWhenConsoleArrives.apply(this, arguments); } function Logger(name, factory) { var self = this; /** * The level inherited from a parent logger (or a global default). We * cache this here rather than delegating to the parent so that it stays * in sync with the actual logging methods that we have installed (the * parent could change levels but we might not have rebuilt the loggers * in this child yet). * @type {number} */ var inheritedLevel; /** * The default level for this logger, if any. If set, this overrides * `inheritedLevel`. * @type {number|null} */ var defaultLevel; /** * A user-specific level for this logger. If set, this overrides * `defaultLevel`. * @type {number|null} */ var userLevel; var storageKey = "loglevel"; if (typeof name === "string") storageKey += ":" + name; else if (typeof name === "symbol") storageKey = void 0; function persistLevelIfPossible(levelNum) { var levelName = (logMethods[levelNum] || "silent").toUpperCase(); if (typeof window === undefinedType || !storageKey) return; try { window.localStorage[storageKey] = levelName; return; } catch (ignore) {} try { window.document.cookie = encodeURIComponent(storageKey) + "=" + levelName + ";"; } catch (ignore) {} } function getPersistedLevel() { var storedLevel; if (typeof window === undefinedType || !storageKey) return; try { storedLevel = window.localStorage[storageKey]; } catch (ignore) {} if (typeof storedLevel === undefinedType) try { var cookie = window.document.cookie; var cookieName = encodeURIComponent(storageKey); var location = cookie.indexOf(cookieName + "="); if (location !== -1) storedLevel = /^([^;]+)/.exec(cookie.slice(location + cookieName.length + 1))[1]; } catch (ignore) {} if (self.levels[storedLevel] === void 0) storedLevel = void 0; return storedLevel; } function clearPersistedLevel() { if (typeof window === undefinedType || !storageKey) return; try { window.localStorage.removeItem(storageKey); } catch (ignore) {} try { window.document.cookie = encodeURIComponent(storageKey) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC"; } catch (ignore) {} } function normalizeLevel(input) { var level = input; if (typeof level === "string" && self.levels[level.toUpperCase()] !== void 0) level = self.levels[level.toUpperCase()]; if (typeof level === "number" && level >= 0 && level <= self.levels.SILENT) return level; else throw new TypeError("log.setLevel() called with invalid level: " + input); } self.name = name; self.levels = { "TRACE": 0, "DEBUG": 1, "INFO": 2, "WARN": 3, "ERROR": 4, "SILENT": 5 }; self.methodFactory = factory || defaultMethodFactory; self.getLevel = function() { if (userLevel != null) return userLevel; else if (defaultLevel != null) return defaultLevel; else return inheritedLevel; }; self.setLevel = function(level, persist) { userLevel = normalizeLevel(level); if (persist !== false) persistLevelIfPossible(userLevel); return replaceLoggingMethods.call(self); }; self.setDefaultLevel = function(level) { defaultLevel = normalizeLevel(level); if (!getPersistedLevel()) self.setLevel(level, false); }; self.resetLevel = function() { userLevel = null; clearPersistedLevel(); replaceLoggingMethods.call(self); }; self.enableAll = function(persist) { self.setLevel(self.levels.TRACE, persist); }; self.disableAll = function(persist) { self.setLevel(self.levels.SILENT, persist); }; self.rebuild = function() { if (defaultLogger !== self) inheritedLevel = normalizeLevel(defaultLogger.getLevel()); replaceLoggingMethods.call(self); if (defaultLogger === self) for (var childName in _loggersByName) _loggersByName[childName].rebuild(); }; inheritedLevel = normalizeLevel(defaultLogger ? defaultLogger.getLevel() : "WARN"); var initialLevel = getPersistedLevel(); if (initialLevel != null) userLevel = normalizeLevel(initialLevel); replaceLoggingMethods.call(self); } defaultLogger = new Logger(); defaultLogger.getLogger = function getLogger$1(name) { if (typeof name !== "symbol" && typeof name !== "string" || name === "") throw new TypeError("You must supply a name when creating a logger."); var logger = _loggersByName[name]; if (!logger) logger = _loggersByName[name] = new Logger(name, defaultLogger.methodFactory); return logger; }; va