// node_modules/@ungap/structured-clone/esm/types.js var VOID = -1; var PRIMITIVE = 0; var ARRAY = 1; var OBJECT = 2; var DATE = 3; var REGEXP = 4; var MAP = 5; var SET = 6; var ERROR = 7; var BIGINT = 8; // node_modules/@ungap/structured-clone/esm/deserialize.js var env = typeof self === "object" ? self : globalThis; var deserializer = ($, _) => { const as = (out, index) => { $.set(index, out); return out; }; const unpair = (index) => { if ($.has(index)) return $.get(index); const [type, value] = _[index]; switch (type) { case PRIMITIVE: case VOID: return as(value, index); case ARRAY: { const arr = as([], index); for (const index2 of value) arr.push(unpair(index2)); return arr; } case OBJECT: { const object = as({}, index); for (const [key, index2] of value) object[unpair(key)] = unpair(index2); return object; } case DATE: return as(new Date(value), index); case REGEXP: { const { source, flags } = value; return as(new RegExp(source, flags), index); } case MAP: { const map = as(/* @__PURE__ */ new Map(), index); for (const [key, index2] of value) map.set(unpair(key), unpair(index2)); return map; } case SET: { const set = as(/* @__PURE__ */ new Set(), index); for (const index2 of value) set.add(unpair(index2)); return set; } case ERROR: { const { name, message } = value; return as(new env[name](message), index); } case BIGINT: return as(BigInt(value), index); case "BigInt": return as(Object(BigInt(value)), index); case "ArrayBuffer": return as(new Uint8Array(value).buffer, value); case "DataView": { const { buffer } = new Uint8Array(value); return as(new DataView(buffer), value); } } return as(new env[type](value), index); }; return unpair; }; var deserialize = (serialized) => deserializer(/* @__PURE__ */ new Map(), serialized)(0); // node_modules/@ungap/structured-clone/esm/serialize.js var EMPTY = ""; var { toString } = {}; var { keys } = Object; var typeOf = (value) => { const type = typeof value; if (type !== "object" || !value) return [PRIMITIVE, type]; const asString = toString.call(value).slice(8, -1); switch (asString) { case "Array": return [ARRAY, EMPTY]; case "Object": return [OBJECT, EMPTY]; case "Date": return [DATE, EMPTY]; case "RegExp": return [REGEXP, EMPTY]; case "Map": return [MAP, EMPTY]; case "Set": return [SET, EMPTY]; case "DataView": return [ARRAY, asString]; } if (asString.includes("Array")) return [ARRAY, asString]; if (asString.includes("Error")) return [ERROR, asString]; return [OBJECT, asString]; }; var shouldSkip = ([TYPE, type]) => TYPE === PRIMITIVE && (type === "function" || type === "symbol"); var serializer = (strict, json, $, _) => { const as = (out, value) => { const index = _.push(out) - 1; $.set(value, index); return index; }; const pair = (value) => { if ($.has(value)) return $.get(value); let [TYPE, type] = typeOf(value); switch (TYPE) { case PRIMITIVE: { let entry = value; switch (type) { case "bigint": TYPE = BIGINT; entry = value.toString(); break; case "function": case "symbol": if (strict) throw new TypeError("unable to serialize " + type); entry = null; break; case "undefined": return as([VOID], value); } return as([TYPE, entry], value); } case ARRAY: { if (type) { let spread = value; if (type === "DataView") { spread = new Uint8Array(value.buffer); } else if (type === "ArrayBuffer") { spread = new Uint8Array(value); } return as([type, [...spread]], value); } const arr = []; const index = as([TYPE, arr], value); for (const entry of value) arr.push(pair(entry)); return index; } case OBJECT: { if (type) { switch (type) { case "BigInt": return as([type, value.toString()], value); case "Boolean": case "Number": case "String": return as([type, value.valueOf()], value); } } if (json && "toJSON" in value) return pair(value.toJSON()); const entries = []; const index = as([TYPE, entries], value); for (const key of keys(value)) { if (strict || !shouldSkip(typeOf(value[key]))) entries.push([pair(key), pair(value[key])]); } return index; } case DATE: return as([TYPE, value.toISOString()], value); case REGEXP: { const { source, flags } = value; return as([TYPE, { source, flags }], value); } case MAP: { const entries = []; const index = as([TYPE, entries], value); for (const [key, entry] of value) { if (strict || !(shouldSkip(typeOf(key)) || shouldSkip(typeOf(entry)))) entries.push([pair(key), pair(entry)]); } return index; } case SET: { const entries = []; const index = as([TYPE, entries], value); for (const entry of value) { if (strict || !shouldSkip(typeOf(entry))) entries.push(pair(entry)); } return index; } } const { message } = value; return as([TYPE, { name: type, message }], value); }; return pair; }; var serialize = (value, { json, lossy } = {}) => { const _ = []; return serializer(!(json || lossy), !!json, /* @__PURE__ */ new Map(), _)(value), _; }; // node_modules/@ungap/structured-clone/esm/index.js var esm_default = typeof structuredClone === "function" ? ( /* c8 ignore start */ (any, options) => options && ("json" in options || "lossy" in options) ? deserialize(serialize(any, options)) : structuredClone(any) ) : (any, options) => deserialize(serialize(any, options)); // node_modules/unist-util-position/lib/index.js var pointEnd = point("end"); var pointStart = point("start"); function point(type) { return point2; function point2(node) { const point3 = node && node.position && node.position[type] || {}; if (typeof point3.line === "number" && point3.line > 0 && typeof point3.column === "number" && point3.column > 0) { return { line: point3.line, column: point3.column, offset: typeof point3.offset === "number" && point3.offset > -1 ? point3.offset : void 0 }; } } } function position(node) { const start = pointStart(node); const end = pointEnd(node); if (start && end) { return { start, end }; } } export { pointEnd, pointStart, position, esm_default }; //# sourceMappingURL=chunk-4GTXHKNR.js.map