@zubridge/electron
Version:
A streamlined state management library for Electron applications using Zustand.
1,375 lines (1,357 loc) • 270 kB
JavaScript
'use strict';
var process2 = require('process');
var os = require('os');
var tty = require('tty');
var fs = require('fs');
var util2 = require('util');
var events = require('events');
var uuid = require('uuid');
var electron = require('electron');
var dequal = require('dequal');
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
var process2__default = /*#__PURE__*/_interopDefault(process2);
var os__default = /*#__PURE__*/_interopDefault(os);
var tty__default = /*#__PURE__*/_interopDefault(tty);
var fs__default = /*#__PURE__*/_interopDefault(fs);
var util2__default = /*#__PURE__*/_interopDefault(util2);
// Node.js build with bundled dependencies
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 __esm = (fn, res) => function __init() {
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
};
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, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, 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.
__defProp(target, "default", { value: mod, enumerable: true }) ,
mod
));
// ../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/types/tokens.js
var require_tokens = __commonJS({
"../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/types/tokens.js"(exports) {
Object.defineProperty(exports, "__esModule", { value: true });
}
});
// ../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/types/types.js
var require_types = __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(types2) {
types2[types2["ROOT"] = 0] = "ROOT";
types2[types2["GROUP"] = 1] = "GROUP";
types2[types2["POSITION"] = 2] = "POSITION";
types2[types2["SET"] = 3] = "SET";
types2[types2["RANGE"] = 4] = "RANGE";
types2[types2["REPETITION"] = 5] = "REPETITION";
types2[types2["REFERENCE"] = 6] = "REFERENCE";
types2[types2["CHAR"] = 7] = "CHAR";
})(exports.types || (exports.types = {}));
}
});
// ../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/types/set-lookup.js
var require_set_lookup = __commonJS({
"../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/types/set-lookup.js"(exports) {
Object.defineProperty(exports, "__esModule", { value: true });
}
});
// ../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/types/index.js
var require_types2 = __commonJS({
"../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/types/index.js"(exports) {
var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o2, m2, k, k2) {
if (k2 === void 0) k2 = k;
Object.defineProperty(o2, k2, { enumerable: true, get: function() {
return m2[k];
} });
}) : (function(o2, m2, k, k2) {
if (k2 === void 0) k2 = k;
o2[k2] = m2[k];
}));
var __exportStar = exports && exports.__exportStar || function(m2, exports2) {
for (var p2 in m2) if (p2 !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p2)) __createBinding(exports2, m2, p2);
};
Object.defineProperty(exports, "__esModule", { value: true });
__exportStar(require_tokens(), exports);
__exportStar(require_types(), exports);
__exportStar(require_set_lookup(), exports);
}
});
// ../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/sets.js
var require_sets = __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;
var types_1 = require_types2();
var INTS = () => [{ type: types_1.types.RANGE, from: 48, to: 57 }];
var WORDS = () => [
{ type: types_1.types.CHAR, value: 95 },
{ type: types_1.types.RANGE, from: 97, to: 122 },
{ type: types_1.types.RANGE, from: 65, to: 90 },
{ type: types_1.types.RANGE, from: 48, to: 57 }
];
var WHITESPACE = () => [
{ type: types_1.types.CHAR, value: 9 },
{ type: types_1.types.CHAR, value: 10 },
{ type: types_1.types.CHAR, value: 11 },
{ type: types_1.types.CHAR, value: 12 },
{ type: types_1.types.CHAR, value: 13 },
{ type: types_1.types.CHAR, value: 32 },
{ type: types_1.types.CHAR, value: 160 },
{ type: types_1.types.CHAR, value: 5760 },
{ type: types_1.types.RANGE, from: 8192, to: 8202 },
{ type: types_1.types.CHAR, value: 8232 },
{ type: types_1.types.CHAR, value: 8233 },
{ type: types_1.types.CHAR, value: 8239 },
{ type: types_1.types.CHAR, value: 8287 },
{ type: types_1.types.CHAR, value: 12288 },
{ type: types_1.types.CHAR, value: 65279 }
];
var NOTANYCHAR = () => [
{ type: types_1.types.CHAR, value: 10 },
{ type: types_1.types.CHAR, value: 13 },
{ type: types_1.types.CHAR, value: 8232 },
{ type: types_1.types.CHAR, value: 8233 }
];
exports.words = () => ({ type: types_1.types.SET, set: WORDS(), not: false });
exports.notWords = () => ({ type: types_1.types.SET, set: WORDS(), not: true });
exports.ints = () => ({ type: types_1.types.SET, set: INTS(), not: false });
exports.notInts = () => ({ type: types_1.types.SET, set: INTS(), not: true });
exports.whitespace = () => ({ type: types_1.types.SET, set: WHITESPACE(), not: false });
exports.notWhitespace = () => ({ type: types_1.types.SET, set: WHITESPACE(), not: true });
exports.anyChar = () => ({ type: types_1.types.SET, set: NOTANYCHAR(), not: true });
}
});
// ../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/util.js
var require_util = __commonJS({
"../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/util.js"(exports) {
var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o2, m2, k, k2) {
if (k2 === void 0) k2 = k;
Object.defineProperty(o2, k2, { enumerable: true, get: function() {
return m2[k];
} });
}) : (function(o2, m2, k, k2) {
if (k2 === void 0) k2 = k;
o2[k2] = m2[k];
}));
var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? (function(o2, v) {
Object.defineProperty(o2, "default", { enumerable: true, value: v });
}) : function(o2, v) {
o2["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(result, mod, k);
}
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.tokenizeClass = exports.strToChars = void 0;
var types_1 = require_types2();
var sets = __importStar(require_sets());
var CTRL = "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^ ?";
exports.strToChars = (str) => {
const charsRegex = /(\[\\b\])|(\\)?\\(?:u([A-F0-9]{4})|x([A-F0-9]{2})|c([@A-Z[\\\]^?])|([0tnvfr]))/g;
return str.replace(charsRegex, (s2, b, lbs, a16, b16, dctrl, eslsh) => {
if (lbs) {
return s2;
}
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 c2 = String.fromCharCode(code);
return /[[\]{}^$.|?*+()]/.test(c2) ? `\\${c2}` : c2;
});
};
exports.tokenizeClass = (str, regexpStr) => {
var _a, _b, _c, _d, _e, _f, _g;
let tokens = [], rs, c2;
const regexp = /\\(?:(w)|(d)|(s)|(W)|(D)|(S))|((?:(?:\\)(.)|([^\]\\]))-(((?:\\)])|(((?:\\)?([^\]])))))|(\])|(?:\\)?([^])/g;
while ((rs = regexp.exec(str)) !== null) {
const p2 = (_g = (_f = (_e = (_d = (_c = (_b = (_a = rs[1] && sets.words()) !== null && _a !== void 0 ? _a : rs[2] && sets.ints()) !== null && _b !== void 0 ? _b : rs[3] && sets.whitespace()) !== null && _c !== void 0 ? _c : rs[4] && sets.notWords()) !== null && _d !== void 0 ? _d : rs[5] && sets.notInts()) !== null && _e !== void 0 ? _e : rs[6] && sets.notWhitespace()) !== null && _f !== void 0 ? _f : rs[7] && {
type: types_1.types.RANGE,
from: (rs[8] || rs[9]).charCodeAt(0),
to: (c2 = rs[10]).charCodeAt(c2.length - 1)
}) !== null && _g !== void 0 ? _g : (c2 = rs[16]) && { type: types_1.types.CHAR, value: c2.charCodeAt(0) };
if (p2) {
tokens.push(p2);
} else {
return [tokens, regexp.lastIndex];
}
}
throw new SyntaxError(`Invalid regular expression: /${regexpStr}/: Unterminated character class`);
};
}
});
// ../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/tokenizer.js
var require_tokenizer = __commonJS({
"../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/tokenizer.js"(exports) {
var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o2, m2, k, k2) {
if (k2 === void 0) k2 = k;
Object.defineProperty(o2, k2, { enumerable: true, get: function() {
return m2[k];
} });
}) : (function(o2, m2, k, k2) {
if (k2 === void 0) k2 = k;
o2[k2] = m2[k];
}));
var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? (function(o2, v) {
Object.defineProperty(o2, "default", { enumerable: true, value: v });
}) : function(o2, v) {
o2["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(result, mod, k);
}
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.tokenizer = void 0;
var util3 = __importStar(require_util());
var types_1 = require_types2();
var sets = __importStar(require_sets());
var captureGroupFirstChar = /^[a-zA-Z_$]$/i;
var captureGroupChars = /^[a-zA-Z0-9_$]$/i;
var digit = /\d/;
exports.tokenizer = (regexpStr) => {
let i2 = 0, c2;
let start = { type: types_1.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 = util3.strToChars(regexpStr);
while (i2 < str.length) {
switch (c2 = str[i2++]) {
// Handle escaped characters, inclues a few sets.
case "\\":
if (i2 === str.length) {
throw new SyntaxError(`Invalid regular expression: /${regexpStr}/: \\ at end of pattern`);
}
switch (c2 = str[i2++]) {
case "b":
last.push({ type: types_1.types.POSITION, value: "b" });
break;
case "B":
last.push({ type: types_1.types.POSITION, value: "B" });
break;
case "w":
last.push(sets.words());
break;
case "W":
last.push(sets.notWords());
break;
case "d":
last.push(sets.ints());
break;
case "D":
last.push(sets.notInts());
break;
case "s":
last.push(sets.whitespace());
break;
case "S":
last.push(sets.notWhitespace());
break;
default:
if (digit.test(c2)) {
let digits = c2;
while (i2 < str.length && digit.test(str[i2])) {
digits += str[i2++];
}
let value = parseInt(digits, 10);
const reference = { type: types_1.types.REFERENCE, value };
last.push(reference);
referenceQueue.push({ reference, stack: last, index: last.length - 1 });
} else {
last.push({ type: types_1.types.CHAR, value: c2.charCodeAt(0) });
}
}
break;
// Positionals.
case "^":
last.push({ type: types_1.types.POSITION, value: "^" });
break;
case "$":
last.push({ type: types_1.types.POSITION, value: "$" });
break;
// Handle custom sets.
case "[": {
let not;
if (str[i2] === "^") {
not = true;
i2++;
} else {
not = false;
}
let classTokens = util3.tokenizeClass(str.slice(i2), regexpStr);
i2 += classTokens[1];
last.push({
type: types_1.types.SET,
set: classTokens[0],
not
});
break;
}
// Class of any character except \n.
case ".":
last.push(sets.anyChar());
break;
// Push group onto stack.
case "(": {
let group = {
type: types_1.types.GROUP,
stack: [],
remember: true
};
if (str[i2] === "?") {
c2 = str[i2 + 1];
i2 += 2;
if (c2 === "=") {
group.followedBy = true;
group.remember = false;
} else if (c2 === "!") {
group.notFollowedBy = true;
group.remember = false;
} else if (c2 === "<") {
let name = "";
if (captureGroupFirstChar.test(str[i2])) {
name += str[i2];
i2++;
} else {
throw new SyntaxError(`Invalid regular expression: /${regexpStr}/: Invalid capture group name, character '${str[i2]}' after '<' at column ${i2 + 1}`);
}
while (i2 < str.length && captureGroupChars.test(str[i2])) {
name += str[i2];
i2++;
}
if (!name) {
throw new SyntaxError(`Invalid regular expression: /${regexpStr}/: Invalid capture group name, character '${str[i2]}' after '<' at column ${i2 + 1}`);
}
if (str[i2] !== ">") {
throw new SyntaxError(`Invalid regular expression: /${regexpStr}/: Unclosed capture group name, expected '>', found '${str[i2]}' at column ${i2 + 1}`);
}
group.name = name;
i2++;
} else if (c2 === ":") {
group.remember = false;
} else {
throw new SyntaxError(`Invalid regular expression: /${regexpStr}/: Invalid group, character '${c2}' after '?' at column ${i2 - 1}`);
}
} else {
groupCount += 1;
}
last.push(group);
groupStack.push(lastGroup);
lastGroup = group;
last = group.stack;
break;
}
// Pop group out of stack.
case ")":
if (groupStack.length === 0) {
throw new SyntaxError(`Invalid regular expression: /${regexpStr}/: Unmatched ) at column ${i2 - 1}`);
}
lastGroup = groupStack.pop();
last = lastGroup.options ? lastGroup.options[lastGroup.options.length - 1] : lastGroup.stack;
break;
// Use pipe character to give more choices.
case "|": {
if (!lastGroup.options) {
lastGroup.options = [lastGroup.stack];
delete lastGroup.stack;
}
let stack = [];
lastGroup.options.push(stack);
last = stack;
break;
}
// Repetition.
// For every repetition, remove last element from last stack
// then insert back a RANGE object.
// This design is chosen because there could be more than
// one repetition symbols in a regex i.e. `a?+{2,3}`.
case "{": {
let rs = /^(\d+)(,(\d+)?)?\}/.exec(str.slice(i2)), min, max;
if (rs !== null) {
if (last.length === 0) {
repeatErr(i2);
}
min = parseInt(rs[1], 10);
max = rs[2] ? rs[3] ? parseInt(rs[3], 10) : Infinity : min;
i2 += rs[0].length;
last.push({
type: types_1.types.REPETITION,
min,
max,
value: last.pop()
});
} else {
last.push({
type: types_1.types.CHAR,
value: 123
});
}
break;
}
case "?":
if (last.length === 0) {
repeatErr(i2);
}
last.push({
type: types_1.types.REPETITION,
min: 0,
max: 1,
value: last.pop()
});
break;
case "+":
if (last.length === 0) {
repeatErr(i2);
}
last.push({
type: types_1.types.REPETITION,
min: 1,
max: Infinity,
value: last.pop()
});
break;
case "*":
if (last.length === 0) {
repeatErr(i2);
}
last.push({
type: types_1.types.REPETITION,
min: 0,
max: Infinity,
value: last.pop()
});
break;
// Default is a character that is not `\[](){}?+*^$`.
default:
last.push({
type: types_1.types.CHAR,
value: c2.charCodeAt(0)
});
}
}
if (groupStack.length !== 0) {
throw new SyntaxError(`Invalid regular expression: /${regexpStr}/: Unterminated group`);
}
updateReferences(referenceQueue, groupCount);
return start;
};
function updateReferences(referenceQueue, groupCount) {
for (const elem of referenceQueue.reverse()) {
if (groupCount < elem.reference.value) {
elem.reference.type = types_1.types.CHAR;
const valueString = elem.reference.value.toString();
elem.reference.value = parseInt(valueString, 8);
if (!/^[0-7]+$/.test(valueString)) {
let i2 = 0;
while (valueString[i2] !== "8" && valueString[i2] !== "9") {
i2 += 1;
}
if (i2 === 0) {
elem.reference.value = valueString.charCodeAt(0);
i2 += 1;
} else {
elem.reference.value = parseInt(valueString.slice(0, i2), 8);
}
if (valueString.length > i2) {
const tail = elem.stack.splice(elem.index + 1);
for (const char of valueString.slice(i2)) {
elem.stack.push({
type: types_1.types.CHAR,
value: char.charCodeAt(0)
});
}
elem.stack.push(...tail);
}
}
}
}
}
}
});
// ../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/sets-lookup.js
var require_sets_lookup = __commonJS({
"../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/sets-lookup.js"(exports) {
var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o2, m2, k, k2) {
if (k2 === void 0) k2 = k;
Object.defineProperty(o2, k2, { enumerable: true, get: function() {
return m2[k];
} });
}) : (function(o2, m2, k, k2) {
if (k2 === void 0) k2 = k;
o2[k2] = m2[k];
}));
var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? (function(o2, v) {
Object.defineProperty(o2, "default", { enumerable: true, value: v });
}) : function(o2, v) {
o2["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(result, mod, k);
}
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.NOTANYCHAR = exports.WHITESPACE = exports.WORDS = exports.INTS = void 0;
var Sets = __importStar(require_sets());
var types_1 = require_types2();
function setToLookup(tokens) {
let lookup = {};
let len = 0;
for (const token of tokens) {
if (token.type === types_1.types.CHAR) {
lookup[token.value] = true;
}
if (token.type === types_1.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);
}
});
// ../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/write-set-tokens.js
var require_write_set_tokens = __commonJS({
"../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/write-set-tokens.js"(exports) {
var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o2, m2, k, k2) {
if (k2 === void 0) k2 = k;
Object.defineProperty(o2, k2, { enumerable: true, get: function() {
return m2[k];
} });
}) : (function(o2, m2, k, k2) {
if (k2 === void 0) k2 = k;
o2[k2] = m2[k];
}));
var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? (function(o2, v) {
Object.defineProperty(o2, "default", { enumerable: true, value: v });
}) : function(o2, v) {
o2["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(result, mod, k);
}
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.writeSetTokens = exports.setChar = void 0;
var types_1 = require_types2();
var sets = __importStar(require_sets_lookup());
function setChar(charCode) {
return charCode === 94 ? "\\^" : charCode === 92 ? "\\\\" : charCode === 93 ? "\\]" : charCode === 45 ? "\\-" : String.fromCharCode(charCode);
}
exports.setChar = setChar;
function isSameSet(set, { lookup, len }) {
if (len !== set.length) {
return false;
}
const map = lookup();
for (const elem of set) {
if (elem.type === types_1.types.SET) {
return false;
}
const key = elem.type === types_1.types.CHAR ? elem.value : `${elem.from}-${elem.to}`;
if (map[key]) {
map[key] = false;
} else {
return false;
}
}
return true;
}
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 i2 = 0; i2 < set.set.length; i2++) {
const subset = set.set[i2];
tokenString += writeSetToken(subset);
}
const contents = `${set.not ? "^" : ""}${tokenString}`;
return isNested ? contents : `[${contents}]`;
}
exports.writeSetTokens = writeSetTokens;
function writeSetToken(set) {
if (set.type === types_1.types.CHAR) {
return setChar(set.value);
} else if (set.type === types_1.types.RANGE) {
return `${setChar(set.from)}-${setChar(set.to)}`;
}
return writeSetTokens(set, true);
}
}
});
// ../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/reconstruct.js
var require_reconstruct = __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;
var types_1 = require_types2();
var write_set_tokens_1 = require_write_set_tokens();
var reduceStack = (stack) => stack.map(exports.reconstruct).join("");
var 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.types.ROOT:
return createAlternate(token);
case types_1.types.CHAR: {
const c2 = String.fromCharCode(token.value);
return (/[[\\{}$^.|?*+()]/.test(c2) ? "\\" : "") + c2;
}
case types_1.types.POSITION:
if (token.value === "^" || token.value === "$") {
return token.value;
} else {
return `\\${token.value}`;
}
case types_1.types.REFERENCE:
return `\\${token.value}`;
case types_1.types.SET:
return write_set_tokens_1.writeSetTokens(token);
case types_1.types.GROUP: {
const prefix2 = token.name ? `?<${token.name}>` : token.remember ? "" : token.followedBy ? "?=" : token.notFollowedBy ? "?!" : "?:";
return `(${prefix2}${createAlternate(token)})`;
}
case types_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.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}`);
}
};
}
});
// ../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/index.js
var require_dist = __commonJS({
"../../node_modules/.pnpm/ret@0.5.0/node_modules/ret/dist/index.js"(exports, module) {
var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o2, m2, k, k2) {
if (k2 === void 0) k2 = k;
Object.defineProperty(o2, k2, { enumerable: true, get: function() {
return m2[k];
} });
}) : (function(o2, m2, k, k2) {
if (k2 === void 0) k2 = k;
o2[k2] = m2[k];
}));
var __exportStar = exports && exports.__exportStar || function(m2, exports2) {
for (var p2 in m2) if (p2 !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p2)) __createBinding(exports2, m2, p2);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.types = void 0;
var types_1 = require_types2();
Object.defineProperty(exports, "types", { enumerable: true, get: function() {
return types_1.types;
} });
__exportStar(require_tokenizer(), exports);
__exportStar(require_reconstruct(), exports);
var tokenizer_1 = require_tokenizer();
var reconstruct_1 = require_reconstruct();
__exportStar(require_types2(), exports);
exports.default = tokenizer_1.tokenizer;
module.exports = tokenizer_1.tokenizer;
module.exports.types = types_1.types;
module.exports.reconstruct = reconstruct_1.reconstruct;
}
});
// ../../node_modules/.pnpm/safe-regex2@5.0.0/node_modules/safe-regex2/index.js
var require_safe_regex2 = __commonJS({
"../../node_modules/.pnpm/safe-regex2@5.0.0/node_modules/safe-regex2/index.js"(exports, module) {
var parse = require_dist();
var types = parse.types;
function safeRegex(re, opts) {
if (!opts) opts = {};
const replimit = opts.limit === void 0 ? 25 : opts.limit;
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 i2;
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 (i2 = 0, len = node.options.length; i2 < len; i2++) {
ok = walk({ stack: node.options[i2] }, starHeight);
if (!ok) return false;
}
}
const stack = node.stack || node.value?.stack;
if (!stack) return true;
for (i2 = 0; i2 < stack.length; i2++) {
ok = walk(stack[i2], 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;
}
});
// ../../node_modules/.pnpm/loglevel@1.9.2/node_modules/loglevel/lib/loglevel.js
var require_loglevel = __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 (e2) {
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 i2 = 0; i2 < logMethods.length; i2++) {
var methodName = logMethods[i2];
this[methodName] = i2 < 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;
var inheritedLevel;
var defaultLevel;
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 getLogger2(name) {
if (typeof name !== "symbol" && typeof name !== "string" || name === "") {
throw new TypeError("You must supply a name when creating a logger.");
}
var logger2 = _loggersByName[name];
if (!logger2) {
logger2 = _loggersByName[name] = new Logger(
name,
defaultLogger.methodFactory
);
}
return logger2;
};
var _log = typeof window !== undefinedType ? window.log : void 0;
defaultLogger.noConflict = function() {
if (typeof window !== undefinedType && window.log === defaultLogger) {
window.log = _log;
}
return defaultLogger;
};
defaultLogger.getLoggers = function getLoggers() {
return _loggersByName;
};
defaultLogger["default"] = defaultLogger;
return defaultLogger;
});
}
});
// ../../node_modules/.pnpm/chalk@5.6.2/node_modules/chalk/source/vendor/ansi-styles/index.js
function assembleStyles() {
const codes = /* @__PURE__ */ new Map();
for (const [groupName, group] of Object.entries(styles)) {
for (const [styleName, style] of Object.entries(group)) {
styles[styleName] = {
open: `\x1B[${style[0]}m`,
close: `\x1B[${style[1]}m`
};
group[styleName] = styles[styleName];
codes.set(style[0], style[1]);
}
Object.defineProperty(styles, groupName, {
value: group,
enumerable: false
});
}
Object.defineProperty(styles, "codes", {
value: codes,
enumerable: false
});
styles.color.close = "\x1B[39m";
styles.bgColor.close = "\x1B[49m";
styles.color.ansi = wrapAnsi16();
styles.color.ansi256 = wrapAnsi256();
styles.color.ansi16m = wrapAnsi16m();
styles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);
styles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
styles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
Object.defineProperties(styles, {
rgbToAnsi256: {
value(red, green, blue) {
if (red === green && green === blue) {
if (red < 8) {
return 16;
}
if (red > 248) {
return 231;
}
return Math.round((red - 8) / 247 * 24) + 232;
}
return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
},
enumerable: false
},
hexToRgb: {
value(hex) {
const matches2 = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
if (!matches2) {
return [0, 0, 0];
}
let [colorString] = matches2;
if (colorString.length === 3) {
colorString = [...colorString].map((character) => character + character).join("");
}
const integer = Number.parseInt(colorString, 16);
return [
/* eslint-disable no-bitwise */
integer >> 16 & 255,
integer >> 8 & 255,
integer & 255
/* eslint-enable no-bitwise */
];
},
enumerable: false
},
hexToAnsi256: {
value: (hex) => styles.rgbToAnsi256(...styles.hexToRgb(hex)),
enumerable: false
},
ansi256ToAnsi: {
value(code) {
if (code < 8) {
return 30 + code;
}
if (code < 16) {
return 90 + (code - 8);
}
let red;
let green;
let blue;
if (code >= 232) {
red = ((code - 232) * 10 + 8) / 255;
green = red;
blue = red;
} else {
code -= 16;
const remainder = code % 36;
red = Math.floor(code / 36) / 5;
green = Math.floor(remainder / 6) / 5;
blue = remainder % 6 / 5;
}
const value = Math.max(red, green, blue) * 2;
if (value === 0) {
return 30;
}
let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
if (value === 2) {
result += 60;
}
return result;
},
enumerable: false
},
rgbToAnsi: {
value: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),
enumerable: false
},
hexToAnsi: {
value: (hex) => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),
enumerable: false
}
});
return styles;
}
var ANSI_BACKGROUND_OFFSET, wrapAnsi16, wrapAnsi256, wrapAnsi16m, styles, foregroundColorNames, backgroundColorNames, ansiStyles, ansi_styles_default;
var init_ansi_styles = __esm({
"../../node_modules/.pnpm/chalk@5.6.2/node_modules/chalk/source/vendor/ansi-styles/index.js"() {
ANSI_BACKGROUND_OFFSET = 10;
wrapAnsi16 = (offset = 0) => (code) => `\x1B[${code + offset}m`;
wrapAnsi256 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`;
wrapAnsi16m = (offset = 0) => (red, green, blue) => `\x1B[${38 + offset};2;${red};${green};${blue}m`;
styles = {
modifier: {
reset: [0, 0],
// 21 isn't widely supported and 22 does the same thing
bold: [1, 22],
dim: [2, 22],
italic: [3, 23],
underline: [4, 24],
overline: [53, 55],
inverse: [7, 27],
hidden: [8, 28],
strikethrough: [9, 29]
},
color: {
black: [30, 39],
red: [31, 39],
green: [32, 39],
yellow: [33, 39],
blue: [34, 39],
magenta: [35, 39],
cyan: [36, 39],
white: [37, 39],
// Bright color
blackBright: [90, 39],
gray: [90, 39],
// Alias of `blackBright`
grey: [90, 39],
// Alias of `blackBright`
redBright: [91, 39],
greenBright: [92, 39],
yellowBright: [93, 39],
blueBright: [94, 39],
magentaBright: [95, 39],
cyanBright: [96, 39],
whiteBright: [97, 39]
},
bgColor: {
bgBlack: [40, 49],
bgRed: [41, 49],
bgGreen: [42, 49],
bgYellow: [43, 49],
bgBlue: [44, 49],
bgMagenta: [45, 49],
bgCyan: [46, 49],
bgWhite: [47, 49],
// Bright color
bgBlackBright: [100, 49],
bgGray: [100, 49],
// Alias of `bgBlackBright`
bgGrey: [100, 49],
// Alias of `bgBlackBright`
bgRedBright: [101, 49],
bgGreenBright: [102, 49],
bgYellowBright: [103, 49],
bgBlueBright: [104, 49],
bgMagentaBright: [105, 49],
bgCyanBright: [106, 49],
bgWhiteBright: [107, 49]
}
};
Object.keys(styles.modifier);
foregroundColorNames = Object.keys(styles.color);
backgroundColorNames = Object.keys(styles.bgColor);
[...foregroundColorNames, ...backgroundColorNames];
ansiStyles = assembleStyles();
ansi_styles_default = ansiStyles;
}
});
function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process2__default.default.argv) {
const prefix2 = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
const position = argv.indexOf(prefix2 + flag);
const terminatorPosition = argv.indexOf("--");
return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
}
function envForceColor() {
if ("FORCE_COLOR" in env) {
if (env.FORCE_COLOR === "true") {
return 1;
}
if (env.FORCE_COLOR === "false") {
return 0;
}
return env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
}
}
function translateLevel(level) {
if (level === 0) {
return false;
}
return {
level,
hasBasic: true,
has256: level >= 2,
has16m: level >= 3
};
}
function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
const noFlagForceColor = envForceColor();
if (noFlagForceColor !== void 0) {
flagForceColor = noFlagForceColor;
}
const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
if (forceColor === 0) {
return 0;
}
if (sniffFlags) {
if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
return 3;
}
if (hasFlag("color=256")) {
return 2;
}
}
if ("TF_BUILD" in env && "AGENT_NAME" in env) {
return 1;
}
if (haveStream && !streamIsTTY && forceColor === void 0) {
return 0;
}
const min = forceColor || 0;
if (env.TERM === "dumb") {
return min;
}
if (process2__default.default.platform === "win32") {
const osRelease = os__default.default.release().split(".");
if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
return Number(osRelease[2]) >= 14931 ? 3 : 2;
}
return 1;
}
if ("CI" in env) {
if (["GITHUB_ACTIONS", "GITEA_ACTIONS", "CIRCLECI"].some((key) => key in env)) {
return 3;
}
if (["TRAVIS", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
return 1;
}
return min;
}
if ("TEAMCITY_VERSION" in env) {
return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
}
if (env.COLORTERM === "truecolor") {
return 3;
}
if (env.TERM === "xterm-kitty") {
return 3;
}
if (env.TERM === "xterm-ghostty") {
return 3;
}
if (env.TERM === "wezterm") {
return 3;
}
if ("TERM_PROGRAM" in env) {
const version = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
switch (env.TERM_PROGRAM) {
case "iTerm.app": {
return version >= 3 ? 3 : 2;
}
case "Apple_Terminal": {
return 2;
}
}
}
if (/-256(color)?$/i.test(env.TERM)) {
return 2;
}
if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
return 1;
}
if ("COLORTERM" in env) {
return 1;
}
return min;
}
function createSupportsColor(stream, options = {}) {
const level = _supportsColor(stream, {
streamIsTTY: stream && stream.isTTY,
...options
});
return translateLevel(level);
}
var env, flagForceColor, supportsColor, supports_color_default;
var init_supports_color = __esm({
"../../node_modules/.pnpm/chalk@5.6.2/node_modules/chalk/source/vendor/supports-color/index.js"() {
({ env } = process2__default.default);
if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
flagForceColor = 0;
} else if (hasFlag("color") || hasFlag("colors") || hasFlag("co