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, all4) => { for (var name2 in all4) __defProp(target, name2, { get: all4[name2], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key2 of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key2) && key2 !== except) __defProp(to, key2, { get: () => from[key2], enumerable: !(desc = __getOwnPropDesc(from, key2)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // node_modules/is-buffer/index.js var require_is_buffer = __commonJS({ "node_modules/is-buffer/index.js"(exports, module2) { module2.exports = function isBuffer2(obj) { return obj != null && obj.constructor != null && typeof obj.constructor.isBuffer === "function" && obj.constructor.isBuffer(obj); }; } }); // node_modules/extend/index.js var require_extend = __commonJS({ "node_modules/extend/index.js"(exports, module2) { "use strict"; var hasOwn2 = Object.prototype.hasOwnProperty; var toStr = Object.prototype.toString; var defineProperty = Object.defineProperty; var gOPD = Object.getOwnPropertyDescriptor; var isArray3 = function isArray4(arr) { if (typeof Array.isArray === "function") { return Array.isArray(arr); } return toStr.call(arr) === "[object Array]"; }; var isPlainObject2 = function isPlainObject3(obj) { if (!obj || toStr.call(obj) !== "[object Object]") { return false; } var hasOwnConstructor = hasOwn2.call(obj, "constructor"); var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn2.call(obj.constructor.prototype, "isPrototypeOf"); if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) { return false; } var key2; for (key2 in obj) { } return typeof key2 === "undefined" || hasOwn2.call(obj, key2); }; var setProperty = function setProperty2(target, options) { if (defineProperty && options.name === "__proto__") { defineProperty(target, options.name, { enumerable: true, configurable: true, value: options.newValue, writable: true }); } else { target[options.name] = options.newValue; } }; var getProperty = function getProperty2(obj, name2) { if (name2 === "__proto__") { if (!hasOwn2.call(obj, name2)) { return void 0; } else if (gOPD) { return gOPD(obj, name2).value; } } return obj[name2]; }; module2.exports = function extend4() { var options, name2, src, copy, copyIsArray, clone; var target = arguments[0]; var i = 1; var length = arguments.length; var deep = false; if (typeof target === "boolean") { deep = target; target = arguments[1] || {}; i = 2; } if (target == null || typeof target !== "object" && typeof target !== "function") { target = {}; } for (; i < length; ++i) { options = arguments[i]; if (options != null) { for (name2 in options) { src = getProperty(target, name2); copy = getProperty(options, name2); if (target !== copy) { if (deep && copy && (isPlainObject2(copy) || (copyIsArray = isArray3(copy)))) { if (copyIsArray) { copyIsArray = false; clone = src && isArray3(src) ? src : []; } else { clone = src && isPlainObject2(src) ? src : {}; } setProperty(target, { name: name2, newValue: extend4(deep, clone, copy) }); } else if (typeof copy !== "undefined") { setProperty(target, { name: name2, newValue: copy }); } } } } } return target; }; } }); // node_modules/acorn-jsx/xhtml.js var require_xhtml = __commonJS({ "node_modules/acorn-jsx/xhtml.js"(exports, module2) { module2.exports = { quot: '"', amp: "&", apos: "'", lt: "<", gt: ">", nbsp: "\xA0", iexcl: "\xA1", cent: "\xA2", pound: "\xA3", curren: "\xA4", yen: "\xA5", brvbar: "\xA6", sect: "\xA7", uml: "\xA8", copy: "\xA9", ordf: "\xAA", laquo: "\xAB", not: "\xAC", shy: "\xAD", reg: "\xAE", macr: "\xAF", deg: "\xB0", plusmn: "\xB1", sup2: "\xB2", sup3: "\xB3", acute: "\xB4", micro: "\xB5", para: "\xB6", middot: "\xB7", cedil: "\xB8", sup1: "\xB9", ordm: "\xBA", raquo: "\xBB", frac14: "\xBC", frac12: "\xBD", frac34: "\xBE", iquest: "\xBF", Agrave: "\xC0", Aacute: "\xC1", Acirc: "\xC2", Atilde: "\xC3", Auml: "\xC4", Aring: "\xC5", AElig: "\xC6", Ccedil: "\xC7", Egrave: "\xC8", Eacute: "\xC9", Ecirc: "\xCA", Euml: "\xCB", Igrave: "\xCC", Iacute: "\xCD", Icirc: "\xCE", Iuml: "\xCF", ETH: "\xD0", Ntilde: "\xD1", Ograve: "\xD2", Oacute: "\xD3", Ocirc: "\xD4", Otilde: "\xD5", Ouml: "\xD6", times: "\xD7", Oslash: "\xD8", Ugrave: "\xD9", Uacute: "\xDA", Ucirc: "\xDB", Uuml: "\xDC", Yacute: "\xDD", THORN: "\xDE", szlig: "\xDF", agrave: "\xE0", aacute: "\xE1", acirc: "\xE2", atilde: "\xE3", auml: "\xE4", aring: "\xE5", aelig: "\xE6", ccedil: "\xE7", egrave: "\xE8", eacute: "\xE9", ecirc: "\xEA", euml: "\xEB", igrave: "\xEC", iacute: "\xED", icirc: "\xEE", iuml: "\xEF", eth: "\xF0", ntilde: "\xF1", ograve: "\xF2", oacute: "\xF3", ocirc: "\xF4", otilde: "\xF5", ouml: "\xF6", divide: "\xF7", oslash: "\xF8", ugrave: "\xF9", uacute: "\xFA", ucirc: "\xFB", uuml: "\xFC", yacute: "\xFD", thorn: "\xFE", yuml: "\xFF", OElig: "\u0152", oelig: "\u0153", Scaron: "\u0160", scaron: "\u0161", Yuml: "\u0178", fnof: "\u0192", circ: "\u02C6", tilde: "\u02DC", Alpha: "\u0391", Beta: "\u0392", Gamma: "\u0393", Delta: "\u0394", Epsilon: "\u0395", Zeta: "\u0396", Eta: "\u0397", Theta: "\u0398", Iota: "\u0399", Kappa: "\u039A", Lambda: "\u039B", Mu: "\u039C", Nu: "\u039D", Xi: "\u039E", Omicron: "\u039F", Pi: "\u03A0", Rho: "\u03A1", Sigma: "\u03A3", Tau: "\u03A4", Upsilon: "\u03A5", Phi: "\u03A6", Chi: "\u03A7", Psi: "\u03A8", Omega: "\u03A9", alpha: "\u03B1", beta: "\u03B2", gamma: "\u03B3", delta: "\u03B4", epsilon: "\u03B5", zeta: "\u03B6", eta: "\u03B7", theta: "\u03B8", iota: "\u03B9", kappa: "\u03BA", lambda: "\u03BB", mu: "\u03BC", nu: "\u03BD", xi: "\u03BE", omicron: "\u03BF", pi: "\u03C0", rho: "\u03C1", sigmaf: "\u03C2", sigma: "\u03C3", tau: "\u03C4", upsilon: "\u03C5", phi: "\u03C6", chi: "\u03C7", psi: "\u03C8", omega: "\u03C9", thetasym: "\u03D1", upsih: "\u03D2", piv: "\u03D6", ensp: "\u2002", emsp: "\u2003", thinsp: "\u2009", zwnj: "\u200C", zwj: "\u200D", lrm: "\u200E", rlm: "\u200F", ndash: "\u2013", mdash: "\u2014", lsquo: "\u2018", rsquo: "\u2019", sbquo: "\u201A", ldquo: "\u201C", rdquo: "\u201D", bdquo: "\u201E", dagger: "\u2020", Dagger: "\u2021", bull: "\u2022", hellip: "\u2026", permil: "\u2030", prime: "\u2032", Prime: "\u2033", lsaquo: "\u2039", rsaquo: "\u203A", oline: "\u203E", frasl: "\u2044", euro: "\u20AC", image: "\u2111", weierp: "\u2118", real: "\u211C", trade: "\u2122", alefsym: "\u2135", larr: "\u2190", uarr: "\u2191", rarr: "\u2192", darr: "\u2193", harr: "\u2194", crarr: "\u21B5", lArr: "\u21D0", uArr: "\u21D1", rArr: "\u21D2", dArr: "\u21D3", hArr: "\u21D4", forall: "\u2200", part: "\u2202", exist: "\u2203", empty: "\u2205", nabla: "\u2207", isin: "\u2208", notin: "\u2209", ni: "\u220B", prod: "\u220F", sum: "\u2211", minus: "\u2212", lowast: "\u2217", radic: "\u221A", prop: "\u221D", infin: "\u221E", ang: "\u2220", and: "\u2227", or: "\u2228", cap: "\u2229", cup: "\u222A", "int": "\u222B", there4: "\u2234", sim: "\u223C", cong: "\u2245", asymp: "\u2248", ne: "\u2260", equiv: "\u2261", le: "\u2264", ge: "\u2265", sub: "\u2282", sup: "\u2283", nsub: "\u2284", sube: "\u2286", supe: "\u2287", oplus: "\u2295", otimes: "\u2297", perp: "\u22A5", sdot: "\u22C5", lceil: "\u2308", rceil: "\u2309", lfloor: "\u230A", rfloor: "\u230B", lang: "\u2329", rang: "\u232A", loz: "\u25CA", spades: "\u2660", clubs: "\u2663", hearts: "\u2665", diams: "\u2666" }; } }); // node_modules/acorn-jsx/node_modules/acorn/dist/acorn.mjs var acorn_exports = {}; __export(acorn_exports, { Node: () => Node3, Parser: () => Parser3, Position: () => Position3, SourceLocation: () => SourceLocation3, TokContext: () => TokContext3, Token: () => Token3, TokenType: () => TokenType3, defaultOptions: () => defaultOptions2, getLineInfo: () => getLineInfo2, isIdentifierChar: () => isIdentifierChar2, isIdentifierStart: () => isIdentifierStart2, isNewLine: () => isNewLine2, keywordTypes: () => keywords$12, lineBreak: () => lineBreak2, lineBreakG: () => lineBreakG2, nonASCIIwhitespace: () => nonASCIIwhitespace2, parse: () => parse5, parseExpressionAt: () => parseExpressionAt3, tokContexts: () => types$12, tokTypes: () => types2, tokenizer: () => tokenizer3, version: () => version2 }); function isInAstralSet2(code2, set) { var pos2 = 65536; for (var i = 0; i < set.length; i += 2) { pos2 += set[i]; if (pos2 > code2) { return false; } pos2 += set[i + 1]; if (pos2 >= code2) { return true; } } } function isIdentifierStart2(code2, astral) { if (code2 < 65) { return code2 === 36; } if (code2 < 91) { return true; } if (code2 < 97) { return code2 === 95; } if (code2 < 123) { return true; } if (code2 <= 65535) { return code2 >= 170 && nonASCIIidentifierStart2.test(String.fromCharCode(code2)); } if (astral === false) { return false; } return isInAstralSet2(code2, astralIdentifierStartCodes2); } function isIdentifierChar2(code2, astral) { if (code2 < 48) { return code2 === 36; } if (code2 < 58) { return true; } if (code2 < 65) { return false; } if (code2 < 91) { return true; } if (code2 < 97) { return code2 === 95; } if (code2 < 123) { return true; } if (code2 <= 65535) { return code2 >= 170 && nonASCIIidentifier2.test(String.fromCharCode(code2)); } if (astral === false) { return false; } return isInAstralSet2(code2, astralIdentifierStartCodes2) || isInAstralSet2(code2, astralIdentifierCodes2); } function binop2(name2, prec) { return new TokenType3(name2, { beforeExpr: true, binop: prec }); } function kw2(name2, options) { if (options === void 0) options = {}; options.keyword = name2; return keywords$12[name2] = new TokenType3(name2, options); } function isNewLine2(code2, ecma2019String) { return code2 === 10 || code2 === 13 || !ecma2019String && (code2 === 8232 || code2 === 8233); } function has(obj, propName) { return hasOwnProperty2.call(obj, propName); } function wordsRegexp2(words) { return new RegExp("^(?:" + words.replace(/ /g, "|") + ")$"); } function getLineInfo2(input, offset3) { for (var line2 = 1, cur = 0; ; ) { lineBreakG2.lastIndex = cur; var match = lineBreakG2.exec(input); if (match && match.index < offset3) { ++line2; cur = match.index + match[0].length; } else { return new Position3(line2, offset3 - cur); } } } function getOptions2(opts) { var options = {}; for (var opt in defaultOptions2) { options[opt] = opts && has(opts, opt) ? opts[opt] : defaultOptions2[opt]; } if (options.ecmaVersion >= 2015) { options.ecmaVersion -= 2009; } if (options.allowReserved == null) { options.allowReserved = options.ecmaVersion < 5; } if (isArray2(options.onToken)) { var tokens = options.onToken; options.onToken = function(token2) { return tokens.push(token2); }; } if (isArray2(options.onComment)) { options.onComment = pushComment2(options, options.onComment); } return options; } function pushComment2(options, array) { return function(block, text5, start3, end, startLoc, endLoc) { var comment2 = { type: block ? "Block" : "Line", value: text5, start: start3, end }; if (options.locations) { comment2.loc = new SourceLocation3(this, startLoc, endLoc); } if (options.ranges) { comment2.range = [start3, end]; } array.push(comment2); }; } function functionFlags2(async, generator) { return SCOPE_FUNCTION2 | (async ? SCOPE_ASYNC2 : 0) | (generator ? SCOPE_GENERATOR2 : 0); } function DestructuringErrors3() { this.shorthandAssign = this.trailingComma = this.parenthesizedAssign = this.parenthesizedBind = this.doubleProto = -1; } function finishNodeAt2(node2, type, pos2, loc) { node2.type = type; node2.end = pos2; if (this.options.locations) { node2.loc.end = loc; } if (this.options.ranges) { node2.range[1] = pos2; } return node2; } function buildUnicodeData2(ecmaVersion) { var d = data2[ecmaVersion] = { binary: wordsRegexp2(unicodeBinaryProperties2[ecmaVersion] + " " + unicodeGeneralCategoryValues2), nonBinary: { General_Category: wordsRegexp2(unicodeGeneralCategoryValues2), Script: wordsRegexp2(unicodeScriptValues2[ecmaVersion]) } }; d.nonBinary.Script_Extensions = d.nonBinary.Script; d.nonBinary.gc = d.nonBinary.General_Category; d.nonBinary.sc = d.nonBinary.Script; d.nonBinary.scx = d.nonBinary.Script_Extensions; } function codePointToString2(ch) { if (ch <= 65535) { return String.fromCharCode(ch); } ch -= 65536; return String.fromCharCode((ch >> 10) + 55296, (ch & 1023) + 56320); } function isSyntaxCharacter2(ch) { return ch === 36 || ch >= 40 && ch <= 43 || ch === 46 || ch === 63 || ch >= 91 && ch <= 94 || ch >= 123 && ch <= 125; } function isRegExpIdentifierStart2(ch) { return isIdentifierStart2(ch, true) || ch === 36 || ch === 95; } function isRegExpIdentifierPart2(ch) { return isIdentifierChar2(ch, true) || ch === 36 || ch === 95 || ch === 8204 || ch === 8205; } function isControlLetter2(ch) { return ch >= 65 && ch <= 90 || ch >= 97 && ch <= 122; } function isValidUnicode2(ch) { return ch >= 0 && ch <= 1114111; } function isCharacterClassEscape2(ch) { return ch === 100 || ch === 68 || ch === 115 || ch === 83 || ch === 119 || ch === 87; } function isUnicodePropertyNameCharacter2(ch) { return isControlLetter2(ch) || ch === 95; } function isUnicodePropertyValueCharacter2(ch) { return isUnicodePropertyNameCharacter2(ch) || isDecimalDigit2(ch); } function isDecimalDigit2(ch) { return ch >= 48 && ch <= 57; } function isHexDigit2(ch) { return ch >= 48 && ch <= 57 || ch >= 65 && ch <= 70 || ch >= 97 && ch <= 102; } function hexToInt2(ch) { if (ch >= 65 && ch <= 70) { return 10 + (ch - 65); } if (ch >= 97 && ch <= 102) { return 10 + (ch - 97); } return ch - 48; } function isOctalDigit2(ch) { return ch >= 48 && ch <= 55; } function stringToNumber2(str, isLegacyOctalNumericLiteral) { if (isLegacyOctalNumericLiteral) { return parseInt(str, 8); } return parseFloat(str.replace(/_/g, "")); } function stringToBigInt2(str) { if (typeof BigInt !== "function") { return null; } return BigInt(str.replace(/_/g, "")); } function codePointToString$1(code2) { if (code2 <= 65535) { return String.fromCharCode(code2); } code2 -= 65536; return String.fromCharCode((code2 >> 10) + 55296, (code2 & 1023) + 56320); } function parse5(input, options) { return Parser3.parse(input, options); } function parseExpressionAt3(input, pos2, options) { return Parser3.parseExpressionAt(input, pos2, options); } function tokenizer3(input, options) { return Parser3.tokenizer(input, options); } var reservedWords2, ecma5AndLessKeywords2, keywords2, keywordRelationalOperator2, nonASCIIidentifierStartChars2, nonASCIIidentifierChars2, nonASCIIidentifierStart2, nonASCIIidentifier2, astralIdentifierStartCodes2, astralIdentifierCodes2, TokenType3, beforeExpr2, startsExpr2, keywords$12, types2, lineBreak2, lineBreakG2, nonASCIIwhitespace2, skipWhiteSpace2, ref2, hasOwnProperty2, toString2, isArray2, Position3, SourceLocation3, defaultOptions2, SCOPE_TOP2, SCOPE_FUNCTION2, SCOPE_VAR2, SCOPE_ASYNC2, SCOPE_GENERATOR2, SCOPE_ARROW2, SCOPE_SIMPLE_CATCH2, SCOPE_SUPER2, SCOPE_DIRECT_SUPER2, BIND_NONE2, BIND_VAR2, BIND_LEXICAL2, BIND_FUNCTION2, BIND_SIMPLE_CATCH2, BIND_OUTSIDE2, Parser3, prototypeAccessors2, pp2, literal2, pp$12, loopLabel2, switchLabel2, empty2, FUNC_STATEMENT2, FUNC_HANGING_STATEMENT2, FUNC_NULLABLE_ID2, pp$22, pp$32, empty$12, pp$42, pp$52, Scope3, Node3, pp$62, TokContext3, types$12, pp$72, ecma9BinaryProperties2, ecma10BinaryProperties2, ecma11BinaryProperties2, unicodeBinaryProperties2, unicodeGeneralCategoryValues2, ecma9ScriptValues2, ecma10ScriptValues2, ecma11ScriptValues2, unicodeScriptValues2, data2, pp$82, RegExpValidationState3, Token3, pp$92, INVALID_TEMPLATE_ESCAPE_ERROR2, version2; var init_acorn = __esm({ "node_modules/acorn-jsx/node_modules/acorn/dist/acorn.mjs"() { reservedWords2 = { 3: "abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile", 5: "class enum extends super const export import", 6: "enum", strict: "implements interface let package private protected public static yield", strictBind: "eval arguments" }; ecma5AndLessKeywords2 = "break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this"; keywords2 = { 5: ecma5AndLessKeywords2, "5module": ecma5AndLessKeywords2 + " export import", 6: ecma5AndLessKeywords2 + " const class extends export import super" }; keywordRelationalOperator2 = /^in(stanceof)?$/; nonASCIIidentifierStartChars2 = "\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC"; nonASCIIidentifierChars2 = "\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF\u1AC0\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F"; nonASCIIidentifierStart2 = new RegExp("[" + nonASCIIidentifierStartChars2 + "]"); nonASCIIidentifier2 = new RegExp("[" + nonASCIIidentifierStartChars2 + nonASCIIidentifierChars2 + "]"); nonASCIIidentifierStartChars2 = nonASCIIidentifierChars2 = null; astralIdentifierStartCodes2 = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 157, 310, 10, 21, 11, 7, 153, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 107, 20, 28, 22, 13, 52, 76, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 85, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 230, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 35, 56, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 190, 0, 80, 921, 103, 110, 18, 195, 2749, 1070, 4050, 582, 8634, 568, 8, 30, 114, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8952, 286, 50, 2, 18, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 2357, 44, 11, 6, 17, 0, 370, 43, 1301, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42717, 35, 4148, 12, 221, 3, 5761, 15, 7472, 3104, 541, 1507, 4938]; astralIdentifierCodes2 = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 154, 10, 176, 2, 54, 14, 32, 9, 16, 3, 46, 10, 54, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 161, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 19306, 9, 135, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 5319, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 262, 6, 10, 9, 419, 13, 1495, 6, 110, 6, 6, 9, 4759, 9, 787719, 239]; TokenType3 = function TokenType4(label, conf) { if (conf === void 0) conf = {}; this.label = label; this.keyword = conf.keyword; this.beforeExpr = !!conf.beforeExpr; this.startsExpr = !!conf.startsExpr; this.isLoop = !!conf.isLoop; this.isAssign = !!conf.isAssign; this.prefix = !!conf.prefix; this.postfix = !!conf.postfix; this.binop = conf.binop || null; this.updateContext = null; }; beforeExpr2 = { beforeExpr: true }; startsExpr2 = { startsExpr: true }; keywords$12 = {}; types2 = { num: new TokenType3("num", startsExpr2), regexp: new TokenType3("regexp", startsExpr2), string: new TokenType3("string", startsExpr2), name: new TokenType3("name", startsExpr2), eof: new TokenType3("eof"), // Punctuation token types. bracketL: new TokenType3("[", { beforeExpr: true, startsExpr: true }), bracketR: new TokenType3("]"), braceL: new TokenType3("{", { beforeExpr: true, startsExpr: true }), braceR: new TokenType3("}"), parenL: new TokenType3("(", { beforeExpr: true, startsExpr: true }), parenR: new TokenType3(")"), comma: new TokenType3(",", beforeExpr2), semi: new TokenType3(";", beforeExpr2), colon: new TokenType3(":", beforeExpr2), dot: new TokenType3("."), question: new TokenType3("?", beforeExpr2), questionDot: new TokenType3("?."), arrow: new TokenType3("=>", beforeExpr2), template: new TokenType3("template"), invalidTemplate: new TokenType3("invalidTemplate"), ellipsis: new TokenType3("...", beforeExpr2), backQuote: new TokenType3("`", startsExpr2), dollarBraceL: new TokenType3("${", { beforeExpr: true, startsExpr: true }), // Operators. These carry several kinds of properties to help the // parser use them properly (the presence of these properties is // what categorizes them as operators). // // `binop`, when present, specifies that this operator is a binary // operator, and will refer to its precedence. // // `prefix` and `postfix` mark the operator as a prefix or postfix // unary operator. // // `isAssign` marks all of `=`, `+=`, `-=` etcetera, which act as // binary operators with a very low precedence, that should result // in AssignmentExpression nodes. eq: new TokenType3("=", { beforeExpr: true, isAssign: true }), assign: new TokenType3("_=", { beforeExpr: true, isAssign: true }), incDec: new TokenType3("++/--", { prefix: true, postfix: true, startsExpr: true }), prefix: new TokenType3("!/~", { beforeExpr: true, prefix: true, startsExpr: true }), logicalOR: binop2("||", 1), logicalAND: binop2("&&", 2), bitwiseOR: binop2("|", 3), bitwiseXOR: binop2("^", 4), bitwiseAND: binop2("&", 5), equality: binop2("==/!=/===/!==", 6), relational: binop2("/<=/>=", 7), bitShift: binop2("<>/>>>", 8), plusMin: new TokenType3("+/-", { beforeExpr: true, binop: 9, prefix: true, startsExpr: true }), modulo: binop2("%", 10), star: binop2("*", 10), slash: binop2("/", 10), starstar: new TokenType3("**", { beforeExpr: true }), coalesce: binop2("??", 1), // Keyword token types. _break: kw2("break"), _case: kw2("case", beforeExpr2), _catch: kw2("catch"), _continue: kw2("continue"), _debugger: kw2("debugger"), _default: kw2("default", beforeExpr2), _do: kw2("do", { isLoop: true, beforeExpr: true }), _else: kw2("else", beforeExpr2), _finally: kw2("finally"), _for: kw2("for", { isLoop: true }), _function: kw2("function", startsExpr2), _if: kw2("if"), _return: kw2("return", beforeExpr2), _switch: kw2("switch"), _throw: kw2("throw", beforeExpr2), _try: kw2("try"), _var: kw2("var"), _const: kw2("const"), _while: kw2("while", { isLoop: true }), _with: kw2("with"), _new: kw2("new", { beforeExpr: true, startsExpr: true }), _this: kw2("this", startsExpr2), _super: kw2("super", startsExpr2), _class: kw2("class", startsExpr2), _extends: kw2("extends", beforeExpr2), _export: kw2("export"), _import: kw2("import", startsExpr2), _null: kw2("null", startsExpr2), _true: kw2("true", startsExpr2), _false: kw2("false", startsExpr2), _in: kw2("in", { beforeExpr: true, binop: 7 }), _instanceof: kw2("instanceof", { beforeExpr: true, binop: 7 }), _typeof: kw2("typeof", { beforeExpr: true, prefix: true, startsExpr: true }), _void: kw2("void", { beforeExpr: true, prefix: true, startsExpr: true }), _delete: kw2("delete", { beforeExpr: true, prefix: true, startsExpr: true }) }; lineBreak2 = /\r\n?|\n|\u2028|\u2029/; lineBreakG2 = new RegExp(lineBreak2.source, "g"); nonASCIIwhitespace2 = /[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/; skipWhiteSpace2 = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g; ref2 = Object.prototype; hasOwnProperty2 = ref2.hasOwnProperty; toString2 = ref2.toString; isArray2 = Array.isArray || function(obj) { return toString2.call(obj) === "[object Array]"; }; Position3 = function Position4(line2, col) { this.line = line2; this.column = col; }; Position3.prototype.offset = function offset2(n) { return new Position3(this.line, this.column + n); }; SourceLocation3 = function SourceLocation4(p, start3, end) { this.start = start3; this.end = end; if (p.sourceFile !== null) { this.source = p.sourceFile; } }; defaultOptions2 = { // `ecmaVersion` indicates the ECMAScript version to parse. Must be // either 3, 5, 6 (2015), 7 (2016), 8 (2017), 9 (2018), or 10 // (2019). This influences support for strict mode, the set of // reserved words, and support for new syntax features. The default // is 10. ecmaVersion: 10, // `sourceType` indicates the mode the code should be parsed in. // Can be either `"script"` or `"module"`. This influences global // strict mode and parsing of `import` and `export` declarations. sourceType: "script", // `onInsertedSemicolon` can be a callback that will be called // when a semicolon is automatically inserted. It will be passed // the position of the comma as an offset, and if `locations` is // enabled, it is given the location as a `{line, column}` object // as second argument. onInsertedSemicolon: null, // `onTrailingComma` is similar to `onInsertedSemicolon`, but for // trailing commas. onTrailingComma: null, // By default, reserved words are only enforced if ecmaVersion >= 5. // Set `allowReserved` to a boolean value to explicitly turn this on // an off. When this option has the value "never", reserved words // and keywords can also not be used as property names. allowReserved: null, // When enabled, a return at the top level is not considered an // error. allowReturnOutsideFunction: false, // When enabled, import/export statements are not constrained to // appearing at the top of the program. allowImportExportEverywhere: false, // When enabled, await identifiers are allowed to appear at the top-level scope, // but they are still not allowed in non-async functions. allowAwaitOutsideFunction: false, // When enabled, hashbang directive in the beginning of file // is allowed and treated as a line comment. allowHashBang: false, // When `locations` is on, `loc` properties holding objects with // `start` and `end` properties in `{line, column}` form (with // line being 1-based and column 0-based) will be attached to the // nodes. locations: false, // A function can be passed as `onToken` option, which will // cause Acorn to call that function with object in the same // format as tokens returned from `tokenizer().getToken()`. Note // that you are not allowed to call the parser from the // callback—that will corrupt its internal state. onToken: null, // A function can be passed as `onComment` option, which will // cause Acorn to call that function with `(block, text, start, // end)` parameters whenever a comment is skipped. `block` is a // boolean indicating whether this is a block (`/* */`) comment, // `text` is the content of the comment, and `start` and `end` are // character offsets that denote the start and end of the comment. // When the `locations` option is on, two more parameters are // passed, the full `{line, column}` locations of the start and // end of the comments. Note that you are not allowed to call the // parser from the callback—that will corrupt its internal state. onComment: null, // Nodes have their start and end characters offsets recorded in // `start` and `end` properties (directly on the node, rather than // the `loc` object, which holds line/column data. To also add a // [semi-standardized][range] `range` property holding a `[start, // end]` array with the same numbers, set the `ranges` option to // `true`. // // [range]: https://bugzilla.mozilla.org/show_bug.cgi?id=745678 ranges: false, // It is possible to parse multiple files into a single AST by // passing the tree produced by parsing the first file as // `program` option in subsequent parses. This will add the // toplevel forms of the parsed file to the `Program` (top) node // of an existing parse tree. program: null, // When `locations` is on, you can pass this to record the source // file in every node's `loc` object. sourceFile: null, // This value, if given, is stored in every node, whether // `locations` is on or off. directSourceFile: null, // When enabled, parenthesized expressions are represented by // (non-standard) ParenthesizedExpression nodes preserveParens: false }; SCOPE_TOP2 = 1; SCOPE_FUNCTION2 = 2; SCOPE_VAR2 = SCOPE_TOP2 | SCOPE_FUNCTION2; SCOPE_ASYNC2 = 4; SCOPE_GENERATOR2 = 8; SCOPE_ARROW2 = 16; SCOPE_SIMPLE_CATCH2 = 32; SCOPE_SUPER2 = 64; SCOPE_DIRECT_SUPER2 = 128; BIND_NONE2 = 0; BIND_VAR2 = 1; BIND_LEXICAL2 = 2; BIND_FUNCTION2 = 3; BIND_SIMPLE_CATCH2 = 4; BIND_OUTSIDE2 = 5; Parser3 = function Parser4(options, input, startPos) { this.options = options = getOptions2(options); this.sourceFile = options.sourceFile; this.keywords = wordsRegexp2(keywords2[options.ecmaVersion >= 6 ? 6 : options.sourceType === "module" ? "5module" : 5]); var reserved = ""; if (options.allowReserved !== true) { for (var v = options.ecmaVersion; ; v--) { if (reserved = reservedWords2[v]) { break; } } if (options.sourceType === "module") { reserved += " await"; } } this.reservedWords = wordsRegexp2(reserved); var reservedStrict = (reserved ? reserved + " " : "") + reservedWords2.strict; this.reservedWordsStrict = wordsRegexp2(reservedStrict); this.reservedWordsStrictBind = wordsRegexp2(reservedStrict + " " + reservedWords2.strictBind); this.input = String(input); this.containsEsc = false; if (startPos) { this.pos = startPos; this.lineStart = this.input.lastIndexOf("\n", startPos - 1) + 1; this.curLine = this.input.slice(0, this.lineStart).split(lineBreak2).length; } else { this.pos = this.lineStart = 0; this.curLine = 1; } this.type = types2.eof; this.value = null; this.start = this.end = this.pos; this.startLoc = this.endLoc = this.curPosition(); this.lastTokEndLoc = this.lastTokStartLoc = null; this.lastTokStart = this.lastTokEnd = this.pos; this.context = this.initialContext(); this.exprAllowed = true; this.inModule = options.sourceType === "module"; this.strict = this.inModule || this.strictDirective(this.pos); this.potentialArrowAt = -1; this.yieldPos = this.awaitPos = this.awaitIdentPos = 0; this.labels = []; this.undefinedExports = {}; if (this.pos === 0 && options.allowHashBang && this.input.slice(0, 2) === "#!") { this.skipLineComment(2); } this.scopeStack = []; this.enterScope(SCOPE_TOP2); this.regexpState = null; }; prototypeAccessors2 = { inFunction: { configurable: true }, inGenerator: { configurable: true }, inAsync: { configurable: true }, allowSuper: { configurable: true }, allowDirectSuper: { configurable: true }, treatFunctionsAsVar: { configurable: true } }; Parser3.prototype.parse = function parse3() { var node2 = this.options.program || this.startNode(); this.nextToken(); return this.parseTopLevel(node2); }; prototypeAccessors2.inFunction.get = function() { return (this.currentVarScope().flags & SCOPE_FUNCTION2) > 0; }; prototypeAccessors2.inGenerator.get = function() { return (this.currentVarScope().flags & SCOPE_GENERATOR2) > 0; }; prototypeAccessors2.inAsync.get = function() { return (this.currentVarScope().flags & SCOPE_ASYNC2) > 0; }; prototypeAccessors2.allowSuper.get = function() { return (this.currentThisScope().flags & SCOPE_SUPER2) > 0; }; prototypeAccessors2.allowDirectSuper.get = function() { return (this.currentThisScope().flags & SCOPE_DIRECT_SUPER2) > 0; }; prototypeAccessors2.treatFunctionsAsVar.get = function() { return this.treatFunctionsAsVarInScope(this.currentScope()); }; Parser3.prototype.inNonArrowFunction = function inNonArrowFunction() { return (this.currentThisScope().flags & SCOPE_FUNCTION2) > 0; }; Parser3.extend = function extend3() { var plugins = [], len = arguments.length; while (len--) plugins[len] = arguments[len]; var cls = this; for (var i = 0; i < plugins.length; i++) { cls = plugins[i](cls); } return cls; }; Parser3.parse = function parse4(input, options) { return new this(options, input).parse(); }; Parser3.parseExpressionAt = function parseExpressionAt2(input, pos2, options) { var parser = new this(options, input, pos2); parser.nextToken(); return parser.parseExpression(); }; Parser3.tokenizer = function tokenizer2(input, options) { return new this(options, input); }; Object.defineProperties(Parser3.prototype, prototypeAccessors2); pp2 = Parser3.prototype; literal2 = /^(?:'((?:\\.|[^'\\])*?)'|"((?:\\.|[^"\\])*?)")/; pp2.strictDirective = function(start3) { for (; ; ) { skipWhiteSpace2.lastIndex = start3; start3 += skipWhiteSpace2.exec(this.input)[0].length; var match = literal2.exec(this.input.slice(start3)); if (!match) { return false; } if ((match[1] || match[2]) === "use strict") { skipWhiteSpace2.lastIndex = start3 + match[0].length; var spaceAfter = skipWhiteSpace2.exec(this.input), end = spaceAfter.index + spaceAfter[0].length; var next = this.input.charAt(end); return next === ";" || next === "}" || lineBreak2.test(spaceAfter[0]) && !(/[(`.[+\-/*%<>=,?^&]/.test(next) || next === "!" && this.input.charAt(end + 1) === "="); } start3 += match[0].length; skipWhiteSpace2.lastIndex = start3; start3 += skipWhiteSpace2.exec(this.input)[0].length; if (this.input[start3] === ";") { start3++; } } }; pp2.eat = function(type) { if (this.type === type) { this.next(); return true; } else { return false; } }; pp2.isContextual = function(name2) { return this.type === types2.name && this.value === name2 && !this.containsEsc; }; pp2.eatContextual = function(name2) { if (!this.isContextual(name2)) { return false; } this.next(); return true; }; pp2.expectContextual = function(name2) { if (!this.eatContextual(name2)) { this.unexpected(); } }; pp2.canInsertSemicolon = function() { return this.type === types2.eof || this.type === types2.braceR || lineBreak2.test(this.input.slice(this.lastTokEnd, this.start)); }; pp2.insertSemicolon = function() { if (this.canInsertSemicolon()) { if (this.options.onInsertedSemicolon) { this.options.onInsertedSemicolon(this.lastTokEnd, this.lastTokEndLoc); } return true; } }; pp2.semicolon = function() { if (!this.eat(types2.semi) && !this.insertSemicolon()) { this.unexpected(); } }; pp2.afterTrailingComma = function(tokType, notNext) { if (this.type === tokType) { if (this.options.onTrailingComma) { this.options.onTrailingComma(this.lastTokStart, this.lastTokStartLoc); } if (!notNext) { this.next(); } return true; } }; pp2.expect = function(type) { this.eat(type) || this.unexpected(); }; pp2.unexpected = function(pos2) { this.raise(pos2 != null ? pos2 : this.start, "Unexpected token"); }; pp2.checkPatternErrors = function(refDestructuringErrors, isAssign) { if (!refDestructuringErrors) { return; } if (refDestructuringErrors.trailingComma > -1) { this.raiseRecoverable(refDestructuringErrors.trailingComma, "Comma is not permitted after the rest element"); } var parens = isAssign ? refDestructuringErrors.parenthesizedAssign : refDestructuringErrors.parenthesizedBind; if (parens > -1) { this.raiseRecoverable(parens, "Parenthesized pattern"); } }; pp2.checkExpressionErrors = function(refDestructuringErrors, andThrow) { if (!refDestructuringErrors) { return false; } var shorthandAssign = refDestructuringErrors.shorthandAssign; var doubleProto = refDestructuringErrors.doubleProto; if (!andThrow) { return shorthandAssign >= 0 || doubleProto >= 0; } if (shorthandAssign >= 0) { this.raise(shorthandAssign, "Shorthand property assignments are valid only in destructuring patterns"); } if (doubleProto >= 0) { this.raiseRecoverable(doubleProto, "Redefinition of __proto__ property"); } }; pp2.checkYieldAwaitInDefaultParams = function() { if (this.yieldPos && (!this.awaitPos || this.yieldPos < this.awaitPos)) { this.raise(this.yieldPos, "Yield expression cannot be a default value"); } if (this.awaitPos) { this.raise(this.awaitPos, "Await expression cannot be a default value"); } }; pp2.isSimpleAssignTarget = function(expr) { if (expr.type === "ParenthesizedExpression") { return this.isSimpleAssignTarget(expr.expression); } return expr.type === "Identifier" || expr.type === "MemberExpression"; }; pp$12 = Parser3.prototype; pp$12.parseTopLevel = function(node2) { var exports = {}; if (!node2.body) { node2.body = []; } while (this.type !== types2.eof) { var stmt = this.parseStatement(null, true, exports); node2.body.push(stmt); } if (this.inModule) { for (var i = 0, list3 = Object.keys(this.undefinedExports); i < list3.length; i += 1) { var name2 = list3[i]; this.raiseRecoverable(this.undefinedExports[name2].start, "Export '" + name2 + "' is not defined"); } } this.adaptDirectivePrologue(node2.body); this.next(); node2.sourceType = this.options.sourceType; return this.finishNode(node2, "Program"); }; loopLabel2 = { kind: "loop" }; switchLabel2 = { kind: "switch" }; pp$12.isLet = function(context) { if (this.options.ecmaVersion < 6 || !this.isContextual("let")) { return false; } skipWhiteSpace2.lastIndex = this.pos; var skip = skipWhiteSpace2.exec(this.input); var next = this.pos + skip[0].length, nextCh = this.input.charCodeAt(next); if (nextCh === 91) { return true; } if (context) { return false; } if (nextCh === 123) { return true; } if (isIdentifierStart2(nextCh, true)) { var pos2 = next + 1; while (isIdentifierChar2(this.input.charCodeAt(pos2), true)) { ++pos2; } var ident = this.input.slice(next, pos2); if (!keywordRelationalOperator2.test(ident)) { return true; } } return false; }; pp$12.isAsyncFunction = function() { if (this.options.ecmaVersion < 8 || !this.isContextual("async")) { return false; } skipWhiteSpace2.lastIndex = this.pos; var skip = skipWhiteSpace2.exec(this.input); var next = this.pos + skip[0].length; return !lineBreak2.test(this.input.slice(this.pos, next)) && this.input.slice(next, next + 8) === "function" && (next + 8 === this.input.length || !isIdentifierChar2(this.input.charAt(next + 8))); }; pp$12.parseStatement = function(context, topLevel, exports) { var starttype = this.type, node2 = this.startNode(), kind; if (this.isLet(context)) { starttype = types2._var; kind = "let"; } switch (starttype) { case types2._break: case types2._continue: return this.parseBreakContinueStatement(node2, starttype.keyword); case types2._debugger: return this.parseDebuggerStatement(node2); case types2._do: return this.parseDoStatement(node2); case types2._for: return this.parseForStatement(node2); case types2._function: if (context && (this.strict || context !== "if" && context !== "label") && this.options.ecmaVersion >= 6) { this.unexpected(); } return this.parseFunctionStatement(node2, false, !context); case types2._class: if (context) { this.unexpected(); } return this.parseClass(node2, true); case types2._if: return this.parseIfStatement(node2); case types2._return: return this.parseReturnStatement(node2); case types2._switch: return this.parseSwitchStatement(node2); case types2._throw: return this.parseThrowStatement(node2); case types2._try: return this.parseTryStatement(node2); case types2._const: case types2._var: kind = kind || this.value; if (context && kind !== "var") { this.unexpected(); } return this.parseVarStatement(node2, kind); case types2._while: return this.parseWhileStatement(node2); case types2._with: return this.parseWithStatement(node2); case types2.braceL: return this.parseBlock(true, node2); case types2.semi: return this.parseEmptyStatement(node2); case types2._export: case types2._import: if (this.options.ecmaVersion > 10 && starttype === types2._import) { skipWhiteSpace2.lastIndex = this.pos; var skip = skipWhiteSpace2.exec(this.input); var next = this.pos + skip[0].length, nextCh = this.input.charCodeAt(next); if (nextCh === 40 || nextCh === 46) { return this.parseExpressionStatement(node2, this.parseExpression()); } } if (!this.options.allowImportExportEverywhere) { if (!topLevel) { this.raise(this.start, "'import' and 'export' may only appear at the top level"); } if (!this.inModule) { this.raise(this.start, "'import' and 'export' may appear only with 'sourceType: module'"); } } return starttype === types2._import ? this.parseImport(node2) : this.parseExport(node2, exports); default: if (this.isAsyncFunction()) { if (context) { this.unexpected(); } this.next(); return this.parseFunctionStatement(node2, true, !context); } var maybeName = this.value, expr = this.parseExpression(); if (starttype === types2.name && expr.type === "Identifier" && this.eat(types2.colon)) { return this.parseLabeledStatement(node2, maybeName, expr, context); } else { return this.parseExpressionStatement(node2, expr); } } }; pp$12.parseBreakContinueStatement = function(node2, keyword) { var isBreak = keyword === "break"; this.next(); if (this.eat(types2.semi) || this.insertSemicolon()) { node2.label = null; } else if (this.type !== types2.name) { this.unexpected(); } else { node2.label = this.parseIdent(); this.semicolon(); } var i = 0; for (; i < this.labels.length; ++i) { var lab = this.labels[i]; if (node2.label == null || lab.name === node2.label.name) { if (lab.kind != null && (isBreak || lab.kind === "loop")) { break; } if (node2.label && isBreak) { break; } } } if (i === this.labels.length) { this.raise(node2.start, "Unsyntactic " + keyword); } return this.finishNode(node2, isBreak ? "BreakStatement" : "ContinueStatement"); }; pp$12.parseDebuggerStatement = function(node2) { this.next(); this.semicolon(); return this.finishNode(node2, "DebuggerStatement"); }; pp$12.parseDoStatement = function(node2) { this.next(); this.labels.push(loopLabel2); node2.body = this.parseStatement("do"); this.labels.pop(); this.expect(types2._while); node2.test = this.parseParenExpression(); if (this.options.ecmaVersion >= 6) { this.eat(types2.semi); } else { this.semicolon(); } return this.finishNode(node2, "DoWhileStatement"); }; pp$12.parseForStatement = function(node2) { this.next(); var awaitAt = this.options.ecmaVersion >= 9 && (this.inAsync || !this.inFunction && this.options.allowAwaitOutsideFunction) && this.eatContextual("await") ? this.lastTokStart : -1; this.labels.push(loopLabel2); this.enterScope(0); this.expect(types2.parenL); if (this.type === types2.semi) { if (awaitAt > -1) { this.unexpected(awaitAt); } return this.parseFor(node2, null); } var isLet = this.isLet(); if (this.type === types2._var || this.type === types2._const || isLet) { var init$1 = this.startNode(), kind = isLet ? "let" : this.value; this.next(); this.parseVar(init$1, true, kind); this.finishNode(init$1, "VariableDeclaration"); if ((this.type === types2._in || this.options.ecmaVersion >= 6 && this.isContextual("of")) && init$1.declarations.length === 1) { if (this.options.ecmaVersion >= 9) { if (this.type === types2._in) { if (awaitAt > -1) { this.unexpected(awaitAt); } } else { node2.await = awaitAt > -1; } } return this.parseForIn(node2, init$1); } if (awaitAt > -1) { this.unexpected(awaitAt); } return this.parseFor(node2, init$1); } var refDestructuringErrors = new DestructuringErrors3(); var init = this.parseExpression(true, refDestructuringErrors); if (this.type === types2._in || this.options.ecmaVersion >= 6 && this.isContextual("of")) { if (this.options.ecmaVersion >= 9) { if (this.type === types2._in) { if (awaitAt > -1) { this.unexpected(awaitAt); } } else { node2.await = awaitAt > -1; } } this.toAssignable(init, false, refDestructuringErrors); this.checkLVal(init); return this.parseForIn(node2, init); } else { this.checkExpressionErrors(refDestructuringErrors, true); } if (awaitAt > -1) { this.unexpected(awaitAt); } return this.parseFor(node2, init); }; pp$12.parseFunctionStatement = function(node2, isAsync, declarationPosition) { this.next(); return this.parseFunction(node2, FUNC_STATEMENT2 | (declarationPosition ? 0 : FUNC_HANGING_STATEMENT2), false, isAsync); }; pp$12.parseIfStatement = function(node2) { this.next(); node2.test = this.parseParenExpression(); node2.consequent = this.parseStatement("if"); node2.alternate = this.eat(types2._else) ? this.parseStatement("if") : null; return this.finishNode(node2, "IfStatement"); }; pp$12.parseReturnStatement = function(node2) { if (!this.inFunction && !this.options.allowReturnOutsideFunction) { this.raise(this.start, "'return' outside of function"); } this.next(); if (this.eat(types2.semi) || this.insertSemicolon()) { node2.argument = null; } else { node2.argument = this.parseExpression(); this.semicolon(); } return this.finishNode(node2, "ReturnStatement"); }; pp$12.parseSwitchStatement = function(node2) { this.next(); node2.discriminant = this.parseParenExpression(); node2.cases = []; this.expect(types2.braceL); this.labels.push(switchLabel2); this.enterScope(0); var cur; for (var sawDefault = false; this.type !== types2.braceR; ) { if (this.type === types2._case || this.type === types2._default) { var isCase = this.type === types2._case; if (cur) { this.finishNode(cur, "SwitchCase"); } node2.cases.push(cur = this.startNode()); cur.consequent = []; this.next(); if (isCase) { cur.test = this.parseExpression(); } else { if (sawDefault) { this.raiseRecoverable(this.lastTokStart, "Multiple default clauses"); } sawDefault = true; cur.test = null; } this.expect(types2.colon); } else { if (!cur) { this.unexpected(); } cur.consequent.push(this.parseStatement(null)); } } this.exitScope(); if (cur) { this.finishNode(cur, "SwitchCase"); } this.next(); this.labels.pop(); return this.finishNode(node2, "SwitchStatement"); }; pp$12.parseThrowStatement = function(node2) { this.next(); if (lineBreak2.test(this.input.slice(this.lastTokEnd, this.start))) { this.raise(this.lastTokEnd, "Illegal newline after throw"); } node2.argument = this.parseExpression(); this.semicolon(); return this.finishNode(node2, "ThrowStatement"); }; empty2 = []; pp$12.parseTryStatement = function(node2) { this.next(); node2.block = this.parseBlock(); node2.handler = null; if (this.type === types2._catch) { var clause = this.startNode(); this.next(); if (this.eat(types2.parenL)) { clause.param = this.parseBindingAtom(); var simple = clause.param.type === "Identifier"; this.enterScope(simple ? SCOPE_SIMPLE_CATCH2 : 0); this.checkLVal(clause.param, simple ? BIND_SIMPLE_CATCH2 : BIND_LEXICAL2); this.expect(types2.parenR); } else { if (this.options.ecmaVersion < 10) { this.unexpected(); } clause.param = null; this.enterScope(0); } clause.body = this.parseBlock(false); this.exitScope(); node2.handler = this.finishNode(clause, "CatchClause"); } node2.finalizer = this.eat(types2._finally) ? this.parseBlock() : null; if (!node2.handler && !node2.finalizer) { this.raise(node2.start, "Missing catch or finally clause"); } return this.finishNode(node2, "TryStatement"); }; pp$12.parseVarStatement = function(node2, kind) { this.next(); this.parseVar(node2, false, kind); this.semicolon(); return this.finishNode(node2, "VariableDeclaration"); }; pp$12.parseWhileStatement = function(node2) { this.next(); node2.test = this.parseParenExpression(); this.labels.push(loopLabel2); node2.body = this.parseStatement("while"); this.labels.pop(); return this.finishNode(node2, "WhileStatement"); }; pp$12.parseWithStatement = function(node2) { if (this.strict) { this.raise(this.start, "'with' in strict mode"); } this.next(); node2.object = this.parseParenExpression(); node2.body = this.parseStatement("with"); return this.finishNode(node2, "WithStatement"); }; pp$12.parseEmptyStatement = function(node2) { this.next(); return this.finishNode(node2, "EmptyStatement"); }; pp$12.parseLabeledStatement = function(node2, maybeName, expr, context) { for (var i$1 = 0, list3 = this.labels; i$1 < list3.length; i$1 += 1) { var label = list3[i$1]; if (label.name === maybeName) { this.raise(expr.start, "Label '" + maybeName + "' is already declared"); } } var kind = this.type.isLoop ? "loop" : this.type === types2._switch ? "switch" : null; for (var i = this.labels.length - 1; i >= 0; i--) { var label$1 = this.labels[i]; if (label$1.statementStart === node2.start) { label$1.statementStart = this.start; label$1.kind = kind; } else { break; } } this.labels.push({ name: maybeName, kind, statementStart: this.start }); node2.body = this.parseStatement(context ? context.indexOf("label") === -1 ? context + "label" : context : "label"); this.labels.pop(); node2.label = expr; return this.finishNode(node2, "LabeledStatement"); }; pp$12.parseExpressionStatement = function(node2, expr) { node2.expression = expr; this.semicolon(); return this.finishNode(node2, "ExpressionStatement"); }; pp$12.parseBlock = function(createNewLexicalScope, node2, exitStrict) { if (createNewLexicalScope === void 0) createNewLexicalScope = true; if (node2 === void 0) node2 = this.startNode(); node2.body = []; this.expect(types2.braceL); if (createNewLexicalScope) { this.enterScope(0); } while (this.type !== types2.braceR) { var stmt = this.parseStatement(null); node2.body.push(stmt); } if (exitStrict) { this.strict = false; } this.next(); if (createNewLexicalScope) { this.exitScope(); } return this.finishNode(node2, "BlockStatement"); }; pp$12.parseFor = function(node2, init) { node2.init = init; this.expect(types2.semi); node2.test = this.type === types2.semi ? null : this.parseExpression(); this.expect(types2.semi); node2.update = this.type === types2.parenR ? null : this.parseExpression(); this.expect(types2.parenR); node2.body = this.parseStatement("for"); this.exitScope(); this.labels.pop(); return this.finishNode(node2, "ForStatement"); }; pp$12.parseForIn = function(node2, init) { var isForIn = this.type === types2._in; this.next(); if (init.type === "VariableDeclaration" && init.declarations[0].init != null && (!isForIn || this.options.ecmaVersion < 8 || this.strict || init.kind !== "var" || init.declarations[0].id.type !== "Identifier")) { this.raise( init.start, (isForIn ? "for-in" : "for-of") + " loop variable declaration may not have an initializer" ); } else if (init.type === "AssignmentPattern") { this.raise(init.start, "Invalid left-hand side in for-loop"); } node2.left = init; node2.right = isForIn ? this.parseExpression() : this.parseMaybeAssign(); this.expect(types2.parenR); node2.body = this.parseStatement("for"); this.exitScope(); this.labels.pop(); return this.finishNode(node2, isForIn ? "ForInStatement" : "ForOfStatement"); }; pp$12.parseVar = function(node2, isFor, kind) { node2.declarations = []; node2.kind = kind; for (; ; ) { var decl = this.startNode(); this.parseVarId(decl, kind); if (this.eat(types2.eq)) { decl.init = this.parseMaybeAssign(isFor); } else if (kind === "const" && !(this.type === types2._in || this.options.ecmaVersion >= 6 && this.isContextual("of"))) { this.unexpected(); } else if (decl.id.type !== "Identifier" && !(isFor && (this.type === types2._in || this.isContextual("of")))) { this.raise(this.lastTokEnd, "Complex binding patterns require an initialization value"); } else { decl.init = null; } node2.declarations.push(this.finishNode(decl, "VariableDeclarator")); if (!this.eat(types2.comma)) { break; } } return node2; }; pp$12.parseVarId = function(decl, kind) { decl.id = this.parseBindingAtom(); this.checkLVal(decl.id, kind === "var" ? BIND_VAR2 : BIND_LEXICAL2, false); }; FUNC_STATEMENT2 = 1; FUNC_HANGING_STATEMENT2 = 2; FUNC_NULLABLE_ID2 = 4; pp$12.parseFunction = function(node2, statement, allowExpressionBody, isAsync) { this.initFunction(node2); if (this.options.ecmaVersion >= 9 || this.options.ecmaVersion >= 6 && !isAsync) { if (this.type === types2.star && statement & FUNC_HANGING_STATEMENT2) { this.unexpected(); } node2.generator = this.eat(types2.star); } if (this.options.ecmaVersion >= 8) { node2.async = !!isAsync; } if (statement & FUNC_STATEMENT2) { node2.id = statement & FUNC_NULLABLE_ID2 && this.type !== types2.name ? null : this.parseIdent(); if (node2.id && !(statement & FUNC_HANGING_STATEMENT2)) { this.checkLVal(node2.id, this.strict || node2.generator || node2.async ? this.treatFunctionsAsVar ? BIND_VAR2 : BIND_LEXICAL2 : BIND_FUNCTION2); } } var oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos; this.yieldPos = 0; this.awaitPos = 0; this.awaitIdentPos = 0; this.enterScope(functionFlags2(node2.async, node2.generator)); if (!(statement & FUNC_STATEMENT2)) { node2.id = this.type === types2.name ? this.parseIdent() : null; } this.parseFunctionParams(node2); this.parseFunctionBody(node2, allowExpressionBody, false); this.yieldPos = oldYieldPos; this.awaitPos = oldAwaitPos; this.awaitIdentPos = oldAwaitIdentPos; return this.finishNode(node2, statement & FUNC_STATEMENT2 ? "FunctionDeclaration" : "FunctionExpression"); }; pp$12.parseFunctionParams = function(node2) { this.expect(types2.parenL); node2.params = this.parseBindingList(types2.parenR, false, this.options.ecmaVersion >= 8); this.checkYieldAwaitInDefaultParams(); }; pp$12.parseClass = function(node2, isStatement) { this.next(); var oldStrict = this.strict; this.strict = true; this.parseClassId(node2, isStatement); this.parseClassSuper(node2); var classBody = this.startNode(); var hadConstructor = false; classBody.body = []; this.expect(types2.braceL); while (this.type !== types2.braceR) { var element2 = this.parseClassElement(node2.superClass !== null); if (element2) { classBody.body.push(element2); if (element2.type === "MethodDefinition" && element2.kind === "constructor") { if (hadConstructor) { this.raise(element2.start, "Duplicate constructor in the same class"); } hadConstructor = true; } } } this.strict = oldStrict; this.next(); node2.body = this.finishNode(classBody, "ClassBody"); return this.finishNode(node2, isStatement ? "ClassDeclaration" : "ClassExpression"); }; pp$12.parseClassElement = function(constructorAllowsSuper) { var this$1 = this; if (this.eat(types2.semi)) { return null; } var method = this.startNode(); var tryContextual = function(k, noLineBreak) { if (noLineBreak === void 0) noLineBreak = false; var start3 = this$1.start, startLoc = this$1.startLoc; if (!this$1.eatContextual(k)) { return false; } if (this$1.type !== types2.parenL && (!noLineBreak || !this$1.canInsertSemicolon())) { return true; } if (method.key) { this$1.unexpected(); } method.computed = false; method.key = this$1.startNodeAt(start3, startLoc); method.key.name = k; this$1.finishNode(method.key, "Identifier"); return false; }; method.kind = "method"; method.static = tryContextual("static"); var isGenerator = this.eat(types2.star); var isAsync = false; if (!isGenerator) { if (this.options.ecmaVersion >= 8 && tryContextual("async", true)) { isAsync = true; isGenerator = this.options.ecmaVersion >= 9 && this.eat(types2.star); } else if (tryContextual("get")) { method.kind = "get"; } else if (tryContextual("set")) { method.kind = "set"; } } if (!method.key) { this.parsePropertyName(method); } var key2 = method.key; var allowsDirectSuper = false; if (!method.computed && !method.static && (key2.type === "Identifier" && key2.name === "constructor" || key2.type === "Literal" && key2.value === "constructor")) { if (method.kind !== "method") { this.raise(key2.start, "Constructor can't have get/set modifier"); } if (isGenerator) { this.raise(key2.start, "Constructor can't be a generator"); } if (isAsync) { this.raise(key2.start, "Constructor can't be an async method"); } method.kind = "constructor"; allowsDirectSuper = constructorAllowsSuper; } else if (method.static && key2.type === "Identifier" && key2.name === "prototype") { this.raise(key2.start, "Classes may not have a static property named prototype"); } this.parseClassMethod(method, isGenerator, isAsync, allowsDirectSuper); if (method.kind === "get" && method.value.params.length !== 0) { this.raiseRecoverable(method.value.start, "getter should have no params"); } if (method.kind === "set" && method.value.params.length !== 1) { this.raiseRecoverable(method.value.start, "setter should have exactly one param"); } if (method.kind === "set" && method.value.params[0].type === "RestElement") { this.raiseRecoverable(method.value.params[0].start, "Setter cannot use rest params"); } return method; }; pp$12.parseClassMethod = function(method, isGenerator, isAsync, allowsDirectSuper) { method.value = this.parseMethod(isGenerator, isAsync, allowsDirectSuper); return this.finishNode(method, "MethodDefinition"); }; pp$12.parseClassId = function(node2, isStatement) { if (this.type === types2.name) { node2.id = this.parseIdent(); if (isStatement) { this.checkLVal(node2.id, BIND_LEXICAL2, false); } } else { if (isStatement === true) { this.unexpected(); } node2.id = null; } }; pp$12.parseClassSuper = function(node2) { node2.superClass = this.eat(types2._extends) ? this.parseExprSubscripts() : null; }; pp$12.parseExport = function(node2, exports) { this.next(); if (this.eat(types2.star)) { if (this.options.ecmaVersion >= 11) { if (this.eatContextual("as")) { node2.exported = this.parseIdent(true); this.checkExport(exports, node2.exported.name, this.lastTokStart); } else { node2.exported = null; } } this.expectContextual("from"); if (this.type !== types2.string) { this.unexpected(); } node2.source = this.parseExprAtom(); this.semicolon(); return this.finishNode(node2, "ExportAllDeclaration"); } if (this.eat(types2._default)) { this.checkExport(exports, "default", this.lastTokStart); var isAsync; if (this.type === types2._function || (isAsync = this.isAsyncFunction())) { var fNode = this.startNode(); this.next(); if (isAsync) { this.next(); } node2.declaration = this.parseFunction(fNode, FUNC_STATEMENT2 | FUNC_NULLABLE_ID2, false, isAsync); } else if (this.type === types2._class) { var cNode = this.startNode(); node2.declaration = this.parseClass(cNode, "nullableID"); } else { node2.declaration = this.parseMaybeAssign(); this.semicolon(); } return this.finishNode(node2, "ExportDefaultDeclaration"); } if (this.shouldParseExportStatement()) { node2.declaration = this.parseStatement(null); if (node2.declaration.type === "VariableDeclaration") { this.checkVariableExport(exports, node2.declaration.declarations); } else { this.checkExport(exports, node2.declaration.id.name, node2.declaration.id.start); } node2.specifiers = []; node2.source = null; } else { node2.declaration = null; node2.specifiers = this.parseExportSpecifiers(exports); if (this.eatContextual("from")) { if (this.type !== types2.string) { this.unexpected(); } node2.source = this.parseExprAtom(); } else { for (var i = 0, list3 = node2.specifiers; i < list3.length; i += 1) { var spec = list3[i]; this.checkUnreserved(spec.local); this.checkLocalExport(spec.local); } node2.source = null; } this.semicolon(); } return this.finishNode(node2, "ExportNamedDeclaration"); }; pp$12.checkExport = function(exports, name2, pos2) { if (!exports) { return; } if (has(exports, name2)) { this.raiseRecoverable(pos2, "Duplicate export '" + name2 + "'"); } exports[name2] = true; }; pp$12.checkPatternExport = function(exports, pat) { var type = pat.type; if (type === "Identifier") { this.checkExport(exports, pat.name, pat.start); } else if (type === "ObjectPattern") { for (var i = 0, list3 = pat.properties; i < list3.length; i += 1) { var prop = list3[i]; this.checkPatternExport(exports, prop); } } else if (type === "ArrayPattern") { for (var i$1 = 0, list$1 = pat.elements; i$1 < list$1.length; i$1 += 1) { var elt = list$1[i$1]; if (elt) { this.checkPatternExport(exports, elt); } } } else if (type === "Property") { this.checkPatternExport(exports, pat.value); } else if (type === "AssignmentPattern") { this.checkPatternExport(exports, pat.left); } else if (type === "RestElement") { this.checkPatternExport(exports, pat.argument); } else if (type === "ParenthesizedExpression") { this.checkPatternExport(exports, pat.expression); } }; pp$12.checkVariableExport = function(exports, decls) { if (!exports) { return; } for (var i = 0, list3 = decls; i < list3.length; i += 1) { var decl = list3[i]; this.checkPatternExport(exports, decl.id); } }; pp$12.shouldParseExportStatement = function() { return this.type.keyword === "var" || this.type.keyword === "const" || this.type.keyword === "class" || this.type.keyword === "function" || this.isLet() || this.isAsyncFunction(); }; pp$12.parseExportSpecifiers = function(exports) { var nodes = [], first = true; this.expect(types2.braceL); while (!this.eat(types2.braceR)) { if (!first) { this.expect(types2.comma); if (this.afterTrailingComma(types2.braceR)) { break; } } else { first = false; } var node2 = this.startNode(); node2.local = this.parseIdent(true); node2.exported = this.eatContextual("as") ? this.parseIdent(true) : node2.local; this.checkExport(exports, node2.exported.name, node2.exported.start); nodes.push(this.finishNode(node2, "ExportSpecifier")); } return nodes; }; pp$12.parseImport = function(node2) { this.next(); if (this.type === types2.string) { node2.specifiers = empty2; node2.source = this.parseExprAtom(); } else { node2.specifiers = this.parseImportSpecifiers(); this.expectContextual("from"); node2.source = this.type === types2.string ? this.parseExprAtom() : this.unexpected(); } this.semicolon(); return this.finishNode(node2, "ImportDeclaration"); }; pp$12.parseImportSpecifiers = function() { var nodes = [], first = true; if (this.type === types2.name) { var node2 = this.startNode(); node2.local = this.parseIdent(); this.checkLVal(node2.local, BIND_LEXICAL2); nodes.push(this.finishNode(node2, "ImportDefaultSpecifier")); if (!this.eat(types2.comma)) { return nodes; } } if (this.type === types2.star) { var node$1 = this.startNode(); this.next(); this.expectContextual("as"); node$1.local = this.parseIdent(); this.checkLVal(node$1.local, BIND_LEXICAL2); nodes.push(this.finishNode(node$1, "ImportNamespaceSpecifier")); return nodes; } this.expect(types2.braceL); while (!this.eat(types2.braceR)) { if (!first) { this.expect(types2.comma); if (this.afterTrailingComma(types2.braceR)) { break; } } else { first = false; } var node$2 = this.startNode(); node$2.imported = this.parseIdent(true); if (this.eatContextual("as")) { node$2.local = this.parseIdent(); } else { this.checkUnreserved(node$2.imported); node$2.local = node$2.imported; } this.checkLVal(node$2.local, BIND_LEXICAL2); nodes.push(this.finishNode(node$2, "ImportSpecifier")); } return nodes; }; pp$12.adaptDirectivePrologue = function(statements) { for (var i = 0; i < statements.length && this.isDirectiveCandidate(statements[i]); ++i) { statements[i].directive = statements[i].expression.raw.slice(1, -1); } }; pp$12.isDirectiveCandidate = function(statement) { return statement.type === "ExpressionStatement" && statement.expression.type === "Literal" && typeof statement.expression.value === "string" && // Reject parenthesized strings. (this.input[statement.start] === '"' || this.input[statement.start] === "'"); }; pp$22 = Parser3.prototype; pp$22.toAssignable = function(node2, isBinding, refDestructuringErrors) { if (this.options.ecmaVersion >= 6 && node2) { switch (node2.type) { case "Identifier": if (this.inAsync && node2.name === "await") { this.raise(node2.start, "Cannot use 'await' as identifier inside an async function"); } break; case "ObjectPattern": case "ArrayPattern": case "RestElement": break; case "ObjectExpression": node2.type = "ObjectPattern"; if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); } for (var i = 0, list3 = node2.properties; i < list3.length; i += 1) { var prop = list3[i]; this.toAssignable(prop, isBinding); if (prop.type === "RestElement" && (prop.argument.type === "ArrayPattern" || prop.argument.type === "ObjectPattern")) { this.raise(prop.argument.start, "Unexpected token"); } } break; case "Property": if (node2.kind !== "init") { this.raise(node2.key.start, "Object pattern can't contain getter or setter"); } this.toAssignable(node2.value, isBinding); break; case "ArrayExpression": node2.type = "ArrayPattern"; if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); } this.toAssignableList(node2.elements, isBinding); break; case "SpreadElement": node2.type = "RestElement"; this.toAssignable(node2.argument, isBinding); if (node2.argument.type === "AssignmentPattern") { this.raise(node2.argument.start, "Rest elements cannot have a default value"); } break; case "AssignmentExpression": if (node2.operator !== "=") { this.raise(node2.left.end, "Only '=' operator can be used for specifying default value."); } node2.type = "AssignmentPattern"; delete node2.operator; this.toAssignable(node2.left, isBinding); case "AssignmentPattern": break; case "ParenthesizedExpression": this.toAssignable(node2.expression, isBinding, refDestructuringErrors); break; case "ChainExpression": this.raiseRecoverable(node2.start, "Optional chaining cannot appear in left-hand side"); break; case "MemberExpression": if (!isBinding) { break; } default: this.raise(node2.start, "Assigning to rvalue"); } } else if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); } return node2; }; pp$22.toAssignableList = function(exprList, isBinding) { var end = exprList.length; for (var i = 0; i < end; i++) { var elt = exprList[i]; if (elt) { this.toAssignable(elt, isBinding); } } if (end) { var last = exprList[end - 1]; if (this.options.ecmaVersion === 6 && isBinding && last && last.type === "RestElement" && last.argument.type !== "Identifier") { this.unexpected(last.argument.start); } } return exprList; }; pp$22.parseSpread = function(refDestructuringErrors) { var node2 = this.startNode(); this.next(); node2.argument = this.parseMaybeAssign(false, refDestructuringErrors); return this.finishNode(node2, "SpreadElement"); }; pp$22.parseRestBinding = function() { var node2 = this.startNode(); this.next(); if (this.options.ecmaVersion === 6 && this.type !== types2.name) { this.unexpected(); } node2.argument = this.parseBindingAtom(); return this.finishNode(node2, "RestElement"); }; pp$22.parseBindingAtom = function() { if (this.options.ecmaVersion >= 6) { switch (this.type) { case types2.bracketL: var node2 = this.startNode(); this.next(); node2.elements = this.parseBindingList(types2.bracketR, true, true); return this.finishNode(node2, "ArrayPattern"); case types2.braceL: return this.parseObj(true); } } return this.parseIdent(); }; pp$22.parseBindingList = function(close, allowEmpty, allowTrailingComma) { var elts = [], first = true; while (!this.eat(close)) { if (first) { first = false; } else { this.expect(types2.comma); } if (allowEmpty && this.type === types2.comma) { elts.push(null); } else if (allowTrailingComma && this.afterTrailingComma(close)) { break; } else if (this.type === types2.ellipsis) { var rest = this.parseRestBinding(); this.parseBindingListItem(rest); elts.push(rest); if (this.type === types2.comma) { this.raise(this.start, "Comma is not permitted after the rest element"); } this.expect(close); break; } else { var elem = this.parseMaybeDefault(this.start, this.startLoc); this.parseBindingListItem(elem); elts.push(elem); } } return elts; }; pp$22.parseBindingListItem = function(param) { return param; }; pp$22.parseMaybeDefault = function(startPos, startLoc, left) { left = left || this.parseBindingAtom(); if (this.options.ecmaVersion < 6 || !this.eat(types2.eq)) { return left; } var node2 = this.startNodeAt(startPos, startLoc); node2.left = left; node2.right = this.parseMaybeAssign(); return this.finishNode(node2, "AssignmentPattern"); }; pp$22.checkLVal = function(expr, bindingType, checkClashes) { if (bindingType === void 0) bindingType = BIND_NONE2; switch (expr.type) { case "Identifier": if (bindingType === BIND_LEXICAL2 && expr.name === "let") { this.raiseRecoverable(expr.start, "let is disallowed as a lexically bound name"); } if (this.strict && this.reservedWordsStrictBind.test(expr.name)) { this.raiseRecoverable(expr.start, (bindingType ? "Binding " : "Assigning to ") + expr.name + " in strict mode"); } if (checkClashes) { if (has(checkClashes, expr.name)) { this.raiseRecoverable(expr.start, "Argument name clash"); } checkClashes[expr.name] = true; } if (bindingType !== BIND_NONE2 && bindingType !== BIND_OUTSIDE2) { this.declareName(expr.name, bindingType, expr.start); } break; case "ChainExpression": this.raiseRecoverable(expr.start, "Optional chaining cannot appear in left-hand side"); break; case "MemberExpression": if (bindingType) { this.raiseRecoverable(expr.start, "Binding member expression"); } break; case "ObjectPattern": for (var i = 0, list3 = expr.properties; i < list3.length; i += 1) { var prop = list3[i]; this.checkLVal(prop, bindingType, checkClashes); } break; case "Property": this.checkLVal(expr.value, bindingType, checkClashes); break; case "ArrayPattern": for (var i$1 = 0, list$1 = expr.elements; i$1 < list$1.length; i$1 += 1) { var elem = list$1[i$1]; if (elem) { this.checkLVal(elem, bindingType, checkClashes); } } break; case "AssignmentPattern": this.checkLVal(expr.left, bindingType, checkClashes); break; case "RestElement": this.checkLVal(expr.argument, bindingType, checkClashes); break; case "ParenthesizedExpression": this.checkLVal(expr.expression, bindingType, checkClashes); break; default: this.raise(expr.start, (bindingType ? "Binding" : "Assigning to") + " rvalue"); } }; pp$32 = Parser3.prototype; pp$32.checkPropClash = function(prop, propHash, refDestructuringErrors) { if (this.options.ecmaVersion >= 9 && prop.type === "SpreadElement") { return; } if (this.options.ecmaVersion >= 6 && (prop.computed || prop.method || prop.shorthand)) { return; } var key2 = prop.key; var name2; switch (key2.type) { case "Identifier": name2 = key2.name; break; case "Literal": name2 = String(key2.value); break; default: return; } var kind = prop.kind; if (this.options.ecmaVersion >= 6) { if (name2 === "__proto__" && kind === "init") { if (propHash.proto) { if (refDestructuringErrors) { if (refDestructuringErrors.doubleProto < 0) { refDestructuringErrors.doubleProto = key2.start; } } else { this.raiseRecoverable(key2.start, "Redefinition of __proto__ property"); } } propHash.proto = true; } return; } name2 = "$" + name2; var other = propHash[name2]; if (other) { var redefinition; if (kind === "init") { redefinition = this.strict && other.init || other.get || other.set; } else { redefinition = other.init || other[kind]; } if (redefinition) { this.raiseRecoverable(key2.start, "Redefinition of property"); } } else { other = propHash[name2] = { init: false, get: false, set: false }; } other[kind] = true; }; pp$32.parseExpression = function(noIn, refDestructuringErrors) { var startPos = this.start, startLoc = this.startLoc; var expr = this.parseMaybeAssign(noIn, refDestructuringErrors); if (this.type === types2.comma) { var node2 = this.startNodeAt(startPos, startLoc); node2.expressions = [expr]; while (this.eat(types2.comma)) { node2.expressions.push(this.parseMaybeAssign(noIn, refDestructuringErrors)); } return this.finishNode(node2, "SequenceExpression"); } return expr; }; pp$32.parseMaybeAssign = function(noIn, refDestructuringErrors, afterLeftParse) { if (this.isContextual("yield")) { if (this.inGenerator) { return this.parseYield(noIn); } else { this.exprAllowed = false; } } var ownDestructuringErrors = false, oldParenAssign = -1, oldTrailingComma = -1; if (refDestructuringErrors) { oldParenAssign = refDestructuringErrors.parenthesizedAssign; oldTrailingComma = refDestructuringErrors.trailingComma; refDestructuringErrors.parenthesizedAssign = refDestructuringErrors.trailingComma = -1; } else { refDestructuringErrors = new DestructuringErrors3(); ownDestructuringErrors = true; } var startPos = this.start, startLoc = this.startLoc; if (this.type === types2.parenL || this.type === types2.name) { this.potentialArrowAt = this.start; } var left = this.parseMaybeConditional(noIn, refDestructuringErrors); if (afterLeftParse) { left = afterLeftParse.call(this, left, startPos, startLoc); } if (this.type.isAssign) { var node2 = this.startNodeAt(startPos, startLoc); node2.operator = this.value; node2.left = this.type === types2.eq ? this.toAssignable(left, false, refDestructuringErrors) : left; if (!ownDestructuringErrors) { refDestructuringErrors.parenthesizedAssign = refDestructuringErrors.trailingComma = refDestructuringErrors.doubleProto = -1; } if (refDestructuringErrors.shorthandAssign >= node2.left.start) { refDestructuringErrors.shorthandAssign = -1; } this.checkLVal(left); this.next(); node2.right = this.parseMaybeAssign(noIn); return this.finishNode(node2, "AssignmentExpression"); } else { if (ownDestructuringErrors) { this.checkExpressionErrors(refDestructuringErrors, true); } } if (oldParenAssign > -1) { refDestructuringErrors.parenthesizedAssign = oldParenAssign; } if (oldTrailingComma > -1) { refDestructuringErrors.trailingComma = oldTrailingComma; } return left; }; pp$32.parseMaybeConditional = function(noIn, refDestructuringErrors) { var startPos = this.start, startLoc = this.startLoc; var expr = this.parseExprOps(noIn, refDestructuringErrors); if (this.checkExpressionErrors(refDestructuringErrors)) { return expr; } if (this.eat(types2.question)) { var node2 = this.startNodeAt(startPos, startLoc); node2.test = expr; node2.consequent = this.parseMaybeAssign(); this.expect(types2.colon); node2.alternate = this.parseMaybeAssign(noIn); return this.finishNode(node2, "ConditionalExpression"); } return expr; }; pp$32.parseExprOps = function(noIn, refDestructuringErrors) { var startPos = this.start, startLoc = this.startLoc; var expr = this.parseMaybeUnary(refDestructuringErrors, false); if (this.checkExpressionErrors(refDestructuringErrors)) { return expr; } return expr.start === startPos && expr.type === "ArrowFunctionExpression" ? expr : this.parseExprOp(expr, startPos, startLoc, -1, noIn); }; pp$32.parseExprOp = function(left, leftStartPos, leftStartLoc, minPrec, noIn) { var prec = this.type.binop; if (prec != null && (!noIn || this.type !== types2._in)) { if (prec > minPrec) { var logical = this.type === types2.logicalOR || this.type === types2.logicalAND; var coalesce = this.type === types2.coalesce; if (coalesce) { prec = types2.logicalAND.binop; } var op = this.value; this.next(); var startPos = this.start, startLoc = this.startLoc; var right = this.parseExprOp(this.parseMaybeUnary(null, false), startPos, startLoc, prec, noIn); var node2 = this.buildBinary(leftStartPos, leftStartLoc, left, right, op, logical || coalesce); if (logical && this.type === types2.coalesce || coalesce && (this.type === types2.logicalOR || this.type === types2.logicalAND)) { this.raiseRecoverable(this.start, "Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses"); } return this.parseExprOp(node2, leftStartPos, leftStartLoc, minPrec, noIn); } } return left; }; pp$32.buildBinary = function(startPos, startLoc, left, right, op, logical) { var node2 = this.startNodeAt(startPos, startLoc); node2.left = left; node2.operator = op; node2.right = right; return this.finishNode(node2, logical ? "LogicalExpression" : "BinaryExpression"); }; pp$32.parseMaybeUnary = function(refDestructuringErrors, sawUnary) { var startPos = this.start, startLoc = this.startLoc, expr; if (this.isContextual("await") && (this.inAsync || !this.inFunction && this.options.allowAwaitOutsideFunction)) { expr = this.parseAwait(); sawUnary = true; } else if (this.type.prefix) { var node2 = this.startNode(), update = this.type === types2.incDec; node2.operator = this.value; node2.prefix = true; this.next(); node2.argument = this.parseMaybeUnary(null, true); this.checkExpressionErrors(refDestructuringErrors, true); if (update) { this.checkLVal(node2.argument); } else if (this.strict && node2.operator === "delete" && node2.argument.type === "Identifier") { this.raiseRecoverable(node2.start, "Deleting local variable in strict mode"); } else { sawUnary = true; } expr = this.finishNode(node2, update ? "UpdateExpression" : "UnaryExpression"); } else { expr = this.parseExprSubscripts(refDestructuringErrors); if (this.checkExpressionErrors(refDestructuringErrors)) { return expr; } while (this.type.postfix && !this.canInsertSemicolon()) { var node$1 = this.startNodeAt(startPos, startLoc); node$1.operator = this.value; node$1.prefix = false; node$1.argument = expr; this.checkLVal(expr); this.next(); expr = this.finishNode(node$1, "UpdateExpression"); } } if (!sawUnary && this.eat(types2.starstar)) { return this.buildBinary(startPos, startLoc, expr, this.parseMaybeUnary(null, false), "**", false); } else { return expr; } }; pp$32.parseExprSubscripts = function(refDestructuringErrors) { var startPos = this.start, startLoc = this.startLoc; var expr = this.parseExprAtom(refDestructuringErrors); if (expr.type === "ArrowFunctionExpression" && this.input.slice(this.lastTokStart, this.lastTokEnd) !== ")") { return expr; } var result = this.parseSubscripts(expr, startPos, startLoc); if (refDestructuringErrors && result.type === "MemberExpression") { if (refDestructuringErrors.parenthesizedAssign >= result.start) { refDestructuringErrors.parenthesizedAssign = -1; } if (refDestructuringErrors.parenthesizedBind >= result.start) { refDestructuringErrors.parenthesizedBind = -1; } } return result; }; pp$32.parseSubscripts = function(base2, startPos, startLoc, noCalls) { var maybeAsyncArrow = this.options.ecmaVersion >= 8 && base2.type === "Identifier" && base2.name === "async" && this.lastTokEnd === base2.end && !this.canInsertSemicolon() && base2.end - base2.start === 5 && this.potentialArrowAt === base2.start; var optionalChained = false; while (true) { var element2 = this.parseSubscript(base2, startPos, startLoc, noCalls, maybeAsyncArrow, optionalChained); if (element2.optional) { optionalChained = true; } if (element2 === base2 || element2.type === "ArrowFunctionExpression") { if (optionalChained) { var chainNode = this.startNodeAt(startPos, startLoc); chainNode.expression = element2; element2 = this.finishNode(chainNode, "ChainExpression"); } return element2; } base2 = element2; } }; pp$32.parseSubscript = function(base2, startPos, startLoc, noCalls, maybeAsyncArrow, optionalChained) { var optionalSupported = this.options.ecmaVersion >= 11; var optional = optionalSupported && this.eat(types2.questionDot); if (noCalls && optional) { this.raise(this.lastTokStart, "Optional chaining cannot appear in the callee of new expressions"); } var computed = this.eat(types2.bracketL); if (computed || optional && this.type !== types2.parenL && this.type !== types2.backQuote || this.eat(types2.dot)) { var node2 = this.startNodeAt(startPos, startLoc); node2.object = base2; node2.property = computed ? this.parseExpression() : this.parseIdent(this.options.allowReserved !== "never"); node2.computed = !!computed; if (computed) { this.expect(types2.bracketR); } if (optionalSupported) { node2.optional = optional; } base2 = this.finishNode(node2, "MemberExpression"); } else if (!noCalls && this.eat(types2.parenL)) { var refDestructuringErrors = new DestructuringErrors3(), oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos; this.yieldPos = 0; this.awaitPos = 0; this.awaitIdentPos = 0; var exprList = this.parseExprList(types2.parenR, this.options.ecmaVersion >= 8, false, refDestructuringErrors); if (maybeAsyncArrow && !optional && !this.canInsertSemicolon() && this.eat(types2.arrow)) { this.checkPatternErrors(refDestructuringErrors, false); this.checkYieldAwaitInDefaultParams(); if (this.awaitIdentPos > 0) { this.raise(this.awaitIdentPos, "Cannot use 'await' as identifier inside an async function"); } this.yieldPos = oldYieldPos; this.awaitPos = oldAwaitPos; this.awaitIdentPos = oldAwaitIdentPos; return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList, true); } this.checkExpressionErrors(refDestructuringErrors, true); this.yieldPos = oldYieldPos || this.yieldPos; this.awaitPos = oldAwaitPos || this.awaitPos; this.awaitIdentPos = oldAwaitIdentPos || this.awaitIdentPos; var node$1 = this.startNodeAt(startPos, startLoc); node$1.callee = base2; node$1.arguments = exprList; if (optionalSupported) { node$1.optional = optional; } base2 = this.finishNode(node$1, "CallExpression"); } else if (this.type === types2.backQuote) { if (optional || optionalChained) { this.raise(this.start, "Optional chaining cannot appear in the tag of tagged template expressions"); } var node$2 = this.startNodeAt(startPos, startLoc); node$2.tag = base2; node$2.quasi = this.parseTemplate({ isTagged: true }); base2 = this.finishNode(node$2, "TaggedTemplateExpression"); } return base2; }; pp$32.parseExprAtom = function(refDestructuringErrors) { if (this.type === types2.slash) { this.readRegexp(); } var node2, canBeArrow = this.potentialArrowAt === this.start; switch (this.type) { case types2._super: if (!this.allowSuper) { this.raise(this.start, "'super' keyword outside a method"); } node2 = this.startNode(); this.next(); if (this.type === types2.parenL && !this.allowDirectSuper) { this.raise(node2.start, "super() call outside constructor of a subclass"); } if (this.type !== types2.dot && this.type !== types2.bracketL && this.type !== types2.parenL) { this.unexpected(); } return this.finishNode(node2, "Super"); case types2._this: node2 = this.startNode(); this.next(); return this.finishNode(node2, "ThisExpression"); case types2.name: var startPos = this.start, startLoc = this.startLoc, containsEsc = this.containsEsc; var id = this.parseIdent(false); if (this.options.ecmaVersion >= 8 && !containsEsc && id.name === "async" && !this.canInsertSemicolon() && this.eat(types2._function)) { return this.parseFunction(this.startNodeAt(startPos, startLoc), 0, false, true); } if (canBeArrow && !this.canInsertSemicolon()) { if (this.eat(types2.arrow)) { return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], false); } if (this.options.ecmaVersion >= 8 && id.name === "async" && this.type === types2.name && !containsEsc) { id = this.parseIdent(false); if (this.canInsertSemicolon() || !this.eat(types2.arrow)) { this.unexpected(); } return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], true); } } return id; case types2.regexp: var value2 = this.value; node2 = this.parseLiteral(value2.value); node2.regex = { pattern: value2.pattern, flags: value2.flags }; return node2; case types2.num: case types2.string: return this.parseLiteral(this.value); case types2._null: case types2._true: case types2._false: node2 = this.startNode(); node2.value = this.type === types2._null ? null : this.type === types2._true; node2.raw = this.type.keyword; this.next(); return this.finishNode(node2, "Literal"); case types2.parenL: var start3 = this.start, expr = this.parseParenAndDistinguishExpression(canBeArrow); if (refDestructuringErrors) { if (refDestructuringErrors.parenthesizedAssign < 0 && !this.isSimpleAssignTarget(expr)) { refDestructuringErrors.parenthesizedAssign = start3; } if (refDestructuringErrors.parenthesizedBind < 0) { refDestructuringErrors.parenthesizedBind = start3; } } return expr; case types2.bracketL: node2 = this.startNode(); this.next(); node2.elements = this.parseExprList(types2.bracketR, true, true, refDestructuringErrors); return this.finishNode(node2, "ArrayExpression"); case types2.braceL: return this.parseObj(false, refDestructuringErrors); case types2._function: node2 = this.startNode(); this.next(); return this.parseFunction(node2, 0); case types2._class: return this.parseClass(this.startNode(), false); case types2._new: return this.parseNew(); case types2.backQuote: return this.parseTemplate(); case types2._import: if (this.options.ecmaVersion >= 11) { return this.parseExprImport(); } else { return this.unexpected(); } default: this.unexpected(); } }; pp$32.parseExprImport = function() { var node2 = this.startNode(); if (this.containsEsc) { this.raiseRecoverable(this.start, "Escape sequence in keyword import"); } var meta = this.parseIdent(true); switch (this.type) { case types2.parenL: return this.parseDynamicImport(node2); case types2.dot: node2.meta = meta; return this.parseImportMeta(node2); default: this.unexpected(); } }; pp$32.parseDynamicImport = function(node2) { this.next(); node2.source = this.parseMaybeAssign(); if (!this.eat(types2.parenR)) { var errorPos = this.start; if (this.eat(types2.comma) && this.eat(types2.parenR)) { this.raiseRecoverable(errorPos, "Trailing comma is not allowed in import()"); } else { this.unexpected(errorPos); } } return this.finishNode(node2, "ImportExpression"); }; pp$32.parseImportMeta = function(node2) { this.next(); var containsEsc = this.containsEsc; node2.property = this.parseIdent(true); if (node2.property.name !== "meta") { this.raiseRecoverable(node2.property.start, "The only valid meta property for import is 'import.meta'"); } if (containsEsc) { this.raiseRecoverable(node2.start, "'import.meta' must not contain escaped characters"); } if (this.options.sourceType !== "module") { this.raiseRecoverable(node2.start, "Cannot use 'import.meta' outside a module"); } return this.finishNode(node2, "MetaProperty"); }; pp$32.parseLiteral = function(value2) { var node2 = this.startNode(); node2.value = value2; node2.raw = this.input.slice(this.start, this.end); if (node2.raw.charCodeAt(node2.raw.length - 1) === 110) { node2.bigint = node2.raw.slice(0, -1).replace(/_/g, ""); } this.next(); return this.finishNode(node2, "Literal"); }; pp$32.parseParenExpression = function() { this.expect(types2.parenL); var val = this.parseExpression(); this.expect(types2.parenR); return val; }; pp$32.parseParenAndDistinguishExpression = function(canBeArrow) { var startPos = this.start, startLoc = this.startLoc, val, allowTrailingComma = this.options.ecmaVersion >= 8; if (this.options.ecmaVersion >= 6) { this.next(); var innerStartPos = this.start, innerStartLoc = this.startLoc; var exprList = [], first = true, lastIsComma = false; var refDestructuringErrors = new DestructuringErrors3(), oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, spreadStart; this.yieldPos = 0; this.awaitPos = 0; while (this.type !== types2.parenR) { first ? first = false : this.expect(types2.comma); if (allowTrailingComma && this.afterTrailingComma(types2.parenR, true)) { lastIsComma = true; break; } else if (this.type === types2.ellipsis) { spreadStart = this.start; exprList.push(this.parseParenItem(this.parseRestBinding())); if (this.type === types2.comma) { this.raise(this.start, "Comma is not permitted after the rest element"); } break; } else { exprList.push(this.parseMaybeAssign(false, refDestructuringErrors, this.parseParenItem)); } } var innerEndPos = this.start, innerEndLoc = this.startLoc; this.expect(types2.parenR); if (canBeArrow && !this.canInsertSemicolon() && this.eat(types2.arrow)) { this.checkPatternErrors(refDestructuringErrors, false); this.checkYieldAwaitInDefaultParams(); this.yieldPos = oldYieldPos; this.awaitPos = oldAwaitPos; return this.parseParenArrowList(startPos, startLoc, exprList); } if (!exprList.length || lastIsComma) { this.unexpected(this.lastTokStart); } if (spreadStart) { this.unexpected(spreadStart); } this.checkExpressionErrors(refDestructuringErrors, true); this.yieldPos = oldYieldPos || this.yieldPos; this.awaitPos = oldAwaitPos || this.awaitPos; if (exprList.length > 1) { val = this.startNodeAt(innerStartPos, innerStartLoc); val.expressions = exprList; this.finishNodeAt(val, "SequenceExpression", innerEndPos, innerEndLoc); } else { val = exprList[0]; } } else { val = this.parseParenExpression(); } if (this.options.preserveParens) { var par = this.startNodeAt(startPos, startLoc); par.expression = val; return this.finishNode(par, "ParenthesizedExpression"); } else { return val; } }; pp$32.parseParenItem = function(item) { return item; }; pp$32.parseParenArrowList = function(startPos, startLoc, exprList) { return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList); }; empty$12 = []; pp$32.parseNew = function() { if (this.containsEsc) { this.raiseRecoverable(this.start, "Escape sequence in keyword new"); } var node2 = this.startNode(); var meta = this.parseIdent(true); if (this.options.ecmaVersion >= 6 && this.eat(types2.dot)) { node2.meta = meta; var containsEsc = this.containsEsc; node2.property = this.parseIdent(true); if (node2.property.name !== "target") { this.raiseRecoverable(node2.property.start, "The only valid meta property for new is 'new.target'"); } if (containsEsc) { this.raiseRecoverable(node2.start, "'new.target' must not contain escaped characters"); } if (!this.inNonArrowFunction()) { this.raiseRecoverable(node2.start, "'new.target' can only be used in functions"); } return this.finishNode(node2, "MetaProperty"); } var startPos = this.start, startLoc = this.startLoc, isImport = this.type === types2._import; node2.callee = this.parseSubscripts(this.parseExprAtom(), startPos, startLoc, true); if (isImport && node2.callee.type === "ImportExpression") { this.raise(startPos, "Cannot use new with import()"); } if (this.eat(types2.parenL)) { node2.arguments = this.parseExprList(types2.parenR, this.options.ecmaVersion >= 8, false); } else { node2.arguments = empty$12; } return this.finishNode(node2, "NewExpression"); }; pp$32.parseTemplateElement = function(ref3) { var isTagged = ref3.isTagged; var elem = this.startNode(); if (this.type === types2.invalidTemplate) { if (!isTagged) { this.raiseRecoverable(this.start, "Bad escape sequence in untagged template literal"); } elem.value = { raw: this.value, cooked: null }; } else { elem.value = { raw: this.input.slice(this.start, this.end).replace(/\r\n?/g, "\n"), cooked: this.value }; } this.next(); elem.tail = this.type === types2.backQuote; return this.finishNode(elem, "TemplateElement"); }; pp$32.parseTemplate = function(ref3) { if (ref3 === void 0) ref3 = {}; var isTagged = ref3.isTagged; if (isTagged === void 0) isTagged = false; var node2 = this.startNode(); this.next(); node2.expressions = []; var curElt = this.parseTemplateElement({ isTagged }); node2.quasis = [curElt]; while (!curElt.tail) { if (this.type === types2.eof) { this.raise(this.pos, "Unterminated template literal"); } this.expect(types2.dollarBraceL); node2.expressions.push(this.parseExpression()); this.expect(types2.braceR); node2.quasis.push(curElt = this.parseTemplateElement({ isTagged })); } this.next(); return this.finishNode(node2, "TemplateLiteral"); }; pp$32.isAsyncProp = function(prop) { return !prop.computed && prop.key.type === "Identifier" && prop.key.name === "async" && (this.type === types2.name || this.type === types2.num || this.type === types2.string || this.type === types2.bracketL || this.type.keyword || this.options.ecmaVersion >= 9 && this.type === types2.star) && !lineBreak2.test(this.input.slice(this.lastTokEnd, this.start)); }; pp$32.parseObj = function(isPattern, refDestructuringErrors) { var node2 = this.startNode(), first = true, propHash = {}; node2.properties = []; this.next(); while (!this.eat(types2.braceR)) { if (!first) { this.expect(types2.comma); if (this.options.ecmaVersion >= 5 && this.afterTrailingComma(types2.braceR)) { break; } } else { first = false; } var prop = this.parseProperty(isPattern, refDestructuringErrors); if (!isPattern) { this.checkPropClash(prop, propHash, refDestructuringErrors); } node2.properties.push(prop); } return this.finishNode(node2, isPattern ? "ObjectPattern" : "ObjectExpression"); }; pp$32.parseProperty = function(isPattern, refDestructuringErrors) { var prop = this.startNode(), isGenerator, isAsync, startPos, startLoc; if (this.options.ecmaVersion >= 9 && this.eat(types2.ellipsis)) { if (isPattern) { prop.argument = this.parseIdent(false); if (this.type === types2.comma) { this.raise(this.start, "Comma is not permitted after the rest element"); } return this.finishNode(prop, "RestElement"); } if (this.type === types2.parenL && refDestructuringErrors) { if (refDestructuringErrors.parenthesizedAssign < 0) { refDestructuringErrors.parenthesizedAssign = this.start; } if (refDestructuringErrors.parenthesizedBind < 0) { refDestructuringErrors.parenthesizedBind = this.start; } } prop.argument = this.parseMaybeAssign(false, refDestructuringErrors); if (this.type === types2.comma && refDestructuringErrors && refDestructuringErrors.trailingComma < 0) { refDestructuringErrors.trailingComma = this.start; } return this.finishNode(prop, "SpreadElement"); } if (this.options.ecmaVersion >= 6) { prop.method = false; prop.shorthand = false; if (isPattern || refDestructuringErrors) { startPos = this.start; startLoc = this.startLoc; } if (!isPattern) { isGenerator = this.eat(types2.star); } } var containsEsc = this.containsEsc; this.parsePropertyName(prop); if (!isPattern && !containsEsc && this.options.ecmaVersion >= 8 && !isGenerator && this.isAsyncProp(prop)) { isAsync = true; isGenerator = this.options.ecmaVersion >= 9 && this.eat(types2.star); this.parsePropertyName(prop, refDestructuringErrors); } else { isAsync = false; } this.parsePropertyValue(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors, containsEsc); return this.finishNode(prop, "Property"); }; pp$32.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors, containsEsc) { if ((isGenerator || isAsync) && this.type === types2.colon) { this.unexpected(); } if (this.eat(types2.colon)) { prop.value = isPattern ? this.parseMaybeDefault(this.start, this.startLoc) : this.parseMaybeAssign(false, refDestructuringErrors); prop.kind = "init"; } else if (this.options.ecmaVersion >= 6 && this.type === types2.parenL) { if (isPattern) { this.unexpected(); } prop.kind = "init"; prop.method = true; prop.value = this.parseMethod(isGenerator, isAsync); } else if (!isPattern && !containsEsc && this.options.ecmaVersion >= 5 && !prop.computed && prop.key.type === "Identifier" && (prop.key.name === "get" || prop.key.name === "set") && (this.type !== types2.comma && this.type !== types2.braceR && this.type !== types2.eq)) { if (isGenerator || isAsync) { this.unexpected(); } prop.kind = prop.key.name; this.parsePropertyName(prop); prop.value = this.parseMethod(false); var paramCount = prop.kind === "get" ? 0 : 1; if (prop.value.params.length !== paramCount) { var start3 = prop.value.start; if (prop.kind === "get") { this.raiseRecoverable(start3, "getter should have no params"); } else { this.raiseRecoverable(start3, "setter should have exactly one param"); } } else { if (prop.kind === "set" && prop.value.params[0].type === "RestElement") { this.raiseRecoverable(prop.value.params[0].start, "Setter cannot use rest params"); } } } else if (this.options.ecmaVersion >= 6 && !prop.computed && prop.key.type === "Identifier") { if (isGenerator || isAsync) { this.unexpected(); } this.checkUnreserved(prop.key); if (prop.key.name === "await" && !this.awaitIdentPos) { this.awaitIdentPos = startPos; } prop.kind = "init"; if (isPattern) { prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key); } else if (this.type === types2.eq && refDestructuringErrors) { if (refDestructuringErrors.shorthandAssign < 0) { refDestructuringErrors.shorthandAssign = this.start; } prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key); } else { prop.value = prop.key; } prop.shorthand = true; } else { this.unexpected(); } }; pp$32.parsePropertyName = function(prop) { if (this.options.ecmaVersion >= 6) { if (this.eat(types2.bracketL)) { prop.computed = true; prop.key = this.parseMaybeAssign(); this.expect(types2.bracketR); return prop.key; } else { prop.computed = false; } } return prop.key = this.type === types2.num || this.type === types2.string ? this.parseExprAtom() : this.parseIdent(this.options.allowReserved !== "never"); }; pp$32.initFunction = function(node2) { node2.id = null; if (this.options.ecmaVersion >= 6) { node2.generator = node2.expression = false; } if (this.options.ecmaVersion >= 8) { node2.async = false; } }; pp$32.parseMethod = function(isGenerator, isAsync, allowDirectSuper) { var node2 = this.startNode(), oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos; this.initFunction(node2); if (this.options.ecmaVersion >= 6) { node2.generator = isGenerator; } if (this.options.ecmaVersion >= 8) { node2.async = !!isAsync; } this.yieldPos = 0; this.awaitPos = 0; this.awaitIdentPos = 0; this.enterScope(functionFlags2(isAsync, node2.generator) | SCOPE_SUPER2 | (allowDirectSuper ? SCOPE_DIRECT_SUPER2 : 0)); this.expect(types2.parenL); node2.params = this.parseBindingList(types2.parenR, false, this.options.ecmaVersion >= 8); this.checkYieldAwaitInDefaultParams(); this.parseFunctionBody(node2, false, true); this.yieldPos = oldYieldPos; this.awaitPos = oldAwaitPos; this.awaitIdentPos = oldAwaitIdentPos; return this.finishNode(node2, "FunctionExpression"); }; pp$32.parseArrowExpression = function(node2, params, isAsync) { var oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos; this.enterScope(functionFlags2(isAsync, false) | SCOPE_ARROW2); this.initFunction(node2); if (this.options.ecmaVersion >= 8) { node2.async = !!isAsync; } this.yieldPos = 0; this.awaitPos = 0; this.awaitIdentPos = 0; node2.params = this.toAssignableList(params, true); this.parseFunctionBody(node2, true, false); this.yieldPos = oldYieldPos; this.awaitPos = oldAwaitPos; this.awaitIdentPos = oldAwaitIdentPos; return this.finishNode(node2, "ArrowFunctionExpression"); }; pp$32.parseFunctionBody = function(node2, isArrowFunction, isMethod) { var isExpression = isArrowFunction && this.type !== types2.braceL; var oldStrict = this.strict, useStrict = false; if (isExpression) { node2.body = this.parseMaybeAssign(); node2.expression = true; this.checkParams(node2, false); } else { var nonSimple = this.options.ecmaVersion >= 7 && !this.isSimpleParamList(node2.params); if (!oldStrict || nonSimple) { useStrict = this.strictDirective(this.end); if (useStrict && nonSimple) { this.raiseRecoverable(node2.start, "Illegal 'use strict' directive in function with non-simple parameter list"); } } var oldLabels = this.labels; this.labels = []; if (useStrict) { this.strict = true; } this.checkParams(node2, !oldStrict && !useStrict && !isArrowFunction && !isMethod && this.isSimpleParamList(node2.params)); if (this.strict && node2.id) { this.checkLVal(node2.id, BIND_OUTSIDE2); } node2.body = this.parseBlock(false, void 0, useStrict && !oldStrict); node2.expression = false; this.adaptDirectivePrologue(node2.body.body); this.labels = oldLabels; } this.exitScope(); }; pp$32.isSimpleParamList = function(params) { for (var i = 0, list3 = params; i < list3.length; i += 1) { var param = list3[i]; if (param.type !== "Identifier") { return false; } } return true; }; pp$32.checkParams = function(node2, allowDuplicates) { var nameHash = {}; for (var i = 0, list3 = node2.params; i < list3.length; i += 1) { var param = list3[i]; this.checkLVal(param, BIND_VAR2, allowDuplicates ? null : nameHash); } }; pp$32.parseExprList = function(close, allowTrailingComma, allowEmpty, refDestructuringErrors) { var elts = [], first = true; while (!this.eat(close)) { if (!first) { this.expect(types2.comma); if (allowTrailingComma && this.afterTrailingComma(close)) { break; } } else { first = false; } var elt = void 0; if (allowEmpty && this.type === types2.comma) { elt = null; } else if (this.type === types2.ellipsis) { elt = this.parseSpread(refDestructuringErrors); if (refDestructuringErrors && this.type === types2.comma && refDestructuringErrors.trailingComma < 0) { refDestructuringErrors.trailingComma = this.start; } } else { elt = this.parseMaybeAssign(false, refDestructuringErrors); } elts.push(elt); } return elts; }; pp$32.checkUnreserved = function(ref3) { var start3 = ref3.start; var end = ref3.end; var name2 = ref3.name; if (this.inGenerator && name2 === "yield") { this.raiseRecoverable(start3, "Cannot use 'yield' as identifier inside a generator"); } if (this.inAsync && name2 === "await") { this.raiseRecoverable(start3, "Cannot use 'await' as identifier inside an async function"); } if (this.keywords.test(name2)) { this.raise(start3, "Unexpected keyword '" + name2 + "'"); } if (this.options.ecmaVersion < 6 && this.input.slice(start3, end).indexOf("\\") !== -1) { return; } var re = this.strict ? this.reservedWordsStrict : this.reservedWords; if (re.test(name2)) { if (!this.inAsync && name2 === "await") { this.raiseRecoverable(start3, "Cannot use keyword 'await' outside an async function"); } this.raiseRecoverable(start3, "The keyword '" + name2 + "' is reserved"); } }; pp$32.parseIdent = function(liberal, isBinding) { var node2 = this.startNode(); if (this.type === types2.name) { node2.name = this.value; } else if (this.type.keyword) { node2.name = this.type.keyword; if ((node2.name === "class" || node2.name === "function") && (this.lastTokEnd !== this.lastTokStart + 1 || this.input.charCodeAt(this.lastTokStart) !== 46)) { this.context.pop(); } } else { this.unexpected(); } this.next(!!liberal); this.finishNode(node2, "Identifier"); if (!liberal) { this.checkUnreserved(node2); if (node2.name === "await" && !this.awaitIdentPos) { this.awaitIdentPos = node2.start; } } return node2; }; pp$32.parseYield = function(noIn) { if (!this.yieldPos) { this.yieldPos = this.start; } var node2 = this.startNode(); this.next(); if (this.type === types2.semi || this.canInsertSemicolon() || this.type !== types2.star && !this.type.startsExpr) { node2.delegate = false; node2.argument = null; } else { node2.delegate = this.eat(types2.star); node2.argument = this.parseMaybeAssign(noIn); } return this.finishNode(node2, "YieldExpression"); }; pp$32.parseAwait = function() { if (!this.awaitPos) { this.awaitPos = this.start; } var node2 = this.startNode(); this.next(); node2.argument = this.parseMaybeUnary(null, false); return this.finishNode(node2, "AwaitExpression"); }; pp$42 = Parser3.prototype; pp$42.raise = function(pos2, message) { var loc = getLineInfo2(this.input, pos2); message += " (" + loc.line + ":" + loc.column + ")"; var err = new SyntaxError(message); err.pos = pos2; err.loc = loc; err.raisedAt = this.pos; throw err; }; pp$42.raiseRecoverable = pp$42.raise; pp$42.curPosition = function() { if (this.options.locations) { return new Position3(this.curLine, this.pos - this.lineStart); } }; pp$52 = Parser3.prototype; Scope3 = function Scope4(flags) { this.flags = flags; this.var = []; this.lexical = []; this.functions = []; }; pp$52.enterScope = function(flags) { this.scopeStack.push(new Scope3(flags)); }; pp$52.exitScope = function() { this.scopeStack.pop(); }; pp$52.treatFunctionsAsVarInScope = function(scope) { return scope.flags & SCOPE_FUNCTION2 || !this.inModule && scope.flags & SCOPE_TOP2; }; pp$52.declareName = function(name2, bindingType, pos2) { var redeclared = false; if (bindingType === BIND_LEXICAL2) { var scope = this.currentScope(); redeclared = scope.lexical.indexOf(name2) > -1 || scope.functions.indexOf(name2) > -1 || scope.var.indexOf(name2) > -1; scope.lexical.push(name2); if (this.inModule && scope.flags & SCOPE_TOP2) { delete this.undefinedExports[name2]; } } else if (bindingType === BIND_SIMPLE_CATCH2) { var scope$1 = this.currentScope(); scope$1.lexical.push(name2); } else if (bindingType === BIND_FUNCTION2) { var scope$2 = this.currentScope(); if (this.treatFunctionsAsVar) { redeclared = scope$2.lexical.indexOf(name2) > -1; } else { redeclared = scope$2.lexical.indexOf(name2) > -1 || scope$2.var.indexOf(name2) > -1; } scope$2.functions.push(name2); } else { for (var i = this.scopeStack.length - 1; i >= 0; --i) { var scope$3 = this.scopeStack[i]; if (scope$3.lexical.indexOf(name2) > -1 && !(scope$3.flags & SCOPE_SIMPLE_CATCH2 && scope$3.lexical[0] === name2) || !this.treatFunctionsAsVarInScope(scope$3) && scope$3.functions.indexOf(name2) > -1) { redeclared = true; break; } scope$3.var.push(name2); if (this.inModule && scope$3.flags & SCOPE_TOP2) { delete this.undefinedExports[name2]; } if (scope$3.flags & SCOPE_VAR2) { break; } } } if (redeclared) { this.raiseRecoverable(pos2, "Identifier '" + name2 + "' has already been declared"); } }; pp$52.checkLocalExport = function(id) { if (this.scopeStack[0].lexical.indexOf(id.name) === -1 && this.scopeStack[0].var.indexOf(id.name) === -1) { this.undefinedExports[id.name] = id; } }; pp$52.currentScope = function() { return this.scopeStack[this.scopeStack.length - 1]; }; pp$52.currentVarScope = function() { for (var i = this.scopeStack.length - 1; ; i--) { var scope = this.scopeStack[i]; if (scope.flags & SCOPE_VAR2) { return scope; } } }; pp$52.currentThisScope = function() { for (var i = this.scopeStack.length - 1; ; i--) { var scope = this.scopeStack[i]; if (scope.flags & SCOPE_VAR2 && !(scope.flags & SCOPE_ARROW2)) { return scope; } } }; Node3 = function Node4(parser, pos2, loc) { this.type = ""; this.start = pos2; this.end = 0; if (parser.options.locations) { this.loc = new SourceLocation3(parser, loc); } if (parser.options.directSourceFile) { this.sourceFile = parser.options.directSourceFile; } if (parser.options.ranges) { this.range = [pos2, 0]; } }; pp$62 = Parser3.prototype; pp$62.startNode = function() { return new Node3(this, this.start, this.startLoc); }; pp$62.startNodeAt = function(pos2, loc) { return new Node3(this, pos2, loc); }; pp$62.finishNode = function(node2, type) { return finishNodeAt2.call(this, node2, type, this.lastTokEnd, this.lastTokEndLoc); }; pp$62.finishNodeAt = function(node2, type, pos2, loc) { return finishNodeAt2.call(this, node2, type, pos2, loc); }; TokContext3 = function TokContext4(token2, isExpr, preserveSpace, override, generator) { this.token = token2; this.isExpr = !!isExpr; this.preserveSpace = !!preserveSpace; this.override = override; this.generator = !!generator; }; types$12 = { b_stat: new TokContext3("{", false), b_expr: new TokContext3("{", true), b_tmpl: new TokContext3("${", false), p_stat: new TokContext3("(", false), p_expr: new TokContext3("(", true), q_tmpl: new TokContext3("`", true, true, function(p) { return p.tryReadTemplateToken(); }), f_stat: new TokContext3("function", false), f_expr: new TokContext3("function", true), f_expr_gen: new TokContext3("function", true, false, null, true), f_gen: new TokContext3("function", false, false, null, true) }; pp$72 = Parser3.prototype; pp$72.initialContext = function() { return [types$12.b_stat]; }; pp$72.braceIsBlock = function(prevType) { var parent = this.curContext(); if (parent === types$12.f_expr || parent === types$12.f_stat) { return true; } if (prevType === types2.colon && (parent === types$12.b_stat || parent === types$12.b_expr)) { return !parent.isExpr; } if (prevType === types2._return || prevType === types2.name && this.exprAllowed) { return lineBreak2.test(this.input.slice(this.lastTokEnd, this.start)); } if (prevType === types2._else || prevType === types2.semi || prevType === types2.eof || prevType === types2.parenR || prevType === types2.arrow) { return true; } if (prevType === types2.braceL) { return parent === types$12.b_stat; } if (prevType === types2._var || prevType === types2._const || prevType === types2.name) { return false; } return !this.exprAllowed; }; pp$72.inGeneratorContext = function() { for (var i = this.context.length - 1; i >= 1; i--) { var context = this.context[i]; if (context.token === "function") { return context.generator; } } return false; }; pp$72.updateContext = function(prevType) { var update, type = this.type; if (type.keyword && prevType === types2.dot) { this.exprAllowed = false; } else if (update = type.updateContext) { update.call(this, prevType); } else { this.exprAllowed = type.beforeExpr; } }; types2.parenR.updateContext = types2.braceR.updateContext = function() { if (this.context.length === 1) { this.exprAllowed = true; return; } var out = this.context.pop(); if (out === types$12.b_stat && this.curContext().token === "function") { out = this.context.pop(); } this.exprAllowed = !out.isExpr; }; types2.braceL.updateContext = function(prevType) { this.context.push(this.braceIsBlock(prevType) ? types$12.b_stat : types$12.b_expr); this.exprAllowed = true; }; types2.dollarBraceL.updateContext = function() { this.context.push(types$12.b_tmpl); this.exprAllowed = true; }; types2.parenL.updateContext = function(prevType) { var statementParens = prevType === types2._if || prevType === types2._for || prevType === types2._with || prevType === types2._while; this.context.push(statementParens ? types$12.p_stat : types$12.p_expr); this.exprAllowed = true; }; types2.incDec.updateContext = function() { }; types2._function.updateContext = types2._class.updateContext = function(prevType) { if (prevType.beforeExpr && prevType !== types2.semi && prevType !== types2._else && !(prevType === types2._return && lineBreak2.test(this.input.slice(this.lastTokEnd, this.start))) && !((prevType === types2.colon || prevType === types2.braceL) && this.curContext() === types$12.b_stat)) { this.context.push(types$12.f_expr); } else { this.context.push(types$12.f_stat); } this.exprAllowed = false; }; types2.backQuote.updateContext = function() { if (this.curContext() === types$12.q_tmpl) { this.context.pop(); } else { this.context.push(types$12.q_tmpl); } this.exprAllowed = false; }; types2.star.updateContext = function(prevType) { if (prevType === types2._function) { var index2 = this.context.length - 1; if (this.context[index2] === types$12.f_expr) { this.context[index2] = types$12.f_expr_gen; } else { this.context[index2] = types$12.f_gen; } } this.exprAllowed = true; }; types2.name.updateContext = function(prevType) { var allowed = false; if (this.options.ecmaVersion >= 6 && prevType !== types2.dot) { if (this.value === "of" && !this.exprAllowed || this.value === "yield" && this.inGeneratorContext()) { allowed = true; } } this.exprAllowed = allowed; }; ecma9BinaryProperties2 = "ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS"; ecma10BinaryProperties2 = ecma9BinaryProperties2 + " Extended_Pictographic"; ecma11BinaryProperties2 = ecma10BinaryProperties2; unicodeBinaryProperties2 = { 9: ecma9BinaryProperties2, 10: ecma10BinaryProperties2, 11: ecma11BinaryProperties2 }; unicodeGeneralCategoryValues2 = "Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu"; ecma9ScriptValues2 = "Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb"; ecma10ScriptValues2 = ecma9ScriptValues2 + " Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd"; ecma11ScriptValues2 = ecma10ScriptValues2 + " Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho"; unicodeScriptValues2 = { 9: ecma9ScriptValues2, 10: ecma10ScriptValues2, 11: ecma11ScriptValues2 }; data2 = {}; buildUnicodeData2(9); buildUnicodeData2(10); buildUnicodeData2(11); pp$82 = Parser3.prototype; RegExpValidationState3 = function RegExpValidationState4(parser) { this.parser = parser; this.validFlags = "gim" + (parser.options.ecmaVersion >= 6 ? "uy" : "") + (parser.options.ecmaVersion >= 9 ? "s" : ""); this.unicodeProperties = data2[parser.options.ecmaVersion >= 11 ? 11 : parser.options.ecmaVersion]; this.source = ""; this.flags = ""; this.start = 0; this.switchU = false; this.switchN = false; this.pos = 0; this.lastIntValue = 0; this.lastStringValue = ""; this.lastAssertionIsQuantifiable = false; this.numCapturingParens = 0; this.maxBackReference = 0; this.groupNames = []; this.backReferenceNames = []; }; RegExpValidationState3.prototype.reset = function reset2(start3, pattern, flags) { var unicode2 = flags.indexOf("u") !== -1; this.start = start3 | 0; this.source = pattern + ""; this.flags = flags; this.switchU = unicode2 && this.parser.options.ecmaVersion >= 6; this.switchN = unicode2 && this.parser.options.ecmaVersion >= 9; }; RegExpValidationState3.prototype.raise = function raise2(message) { this.parser.raiseRecoverable(this.start, "Invalid regular expression: /" + this.source + "/: " + message); }; RegExpValidationState3.prototype.at = function at2(i, forceU) { if (forceU === void 0) forceU = false; var s = this.source; var l = s.length; if (i >= l) { return -1; } var c2 = s.charCodeAt(i); if (!(forceU || this.switchU) || c2 <= 55295 || c2 >= 57344 || i + 1 >= l) { return c2; } var next = s.charCodeAt(i + 1); return next >= 56320 && next <= 57343 ? (c2 << 10) + next - 56613888 : c2; }; RegExpValidationState3.prototype.nextIndex = function nextIndex2(i, forceU) { if (forceU === void 0) forceU = false; var s = this.source; var l = s.length; if (i >= l) { return l; } var c2 = s.charCodeAt(i), next; if (!(forceU || this.switchU) || c2 <= 55295 || c2 >= 57344 || i + 1 >= l || (next = s.charCodeAt(i + 1)) < 56320 || next > 57343) { return i + 1; } return i + 2; }; RegExpValidationState3.prototype.current = function current2(forceU) { if (forceU === void 0) forceU = false; return this.at(this.pos, forceU); }; RegExpValidationState3.prototype.lookahead = function lookahead2(forceU) { if (forceU === void 0) forceU = false; return this.at(this.nextIndex(this.pos, forceU), forceU); }; RegExpValidationState3.prototype.advance = function advance2(forceU) { if (forceU === void 0) forceU = false; this.pos = this.nextIndex(this.pos, forceU); }; RegExpValidationState3.prototype.eat = function eat2(ch, forceU) { if (forceU === void 0) forceU = false; if (this.current(forceU) === ch) { this.advance(forceU); return true; } return false; }; pp$82.validateRegExpFlags = function(state) { var validFlags = state.validFlags; var flags = state.flags; for (var i = 0; i < flags.length; i++) { var flag = flags.charAt(i); if (validFlags.indexOf(flag) === -1) { this.raise(state.start, "Invalid regular expression flag"); } if (flags.indexOf(flag, i + 1) > -1) { this.raise(state.start, "Duplicate regular expression flag"); } } }; pp$82.validateRegExpPattern = function(state) { this.regexp_pattern(state); if (!state.switchN && this.options.ecmaVersion >= 9 && state.groupNames.length > 0) { state.switchN = true; this.regexp_pattern(state); } }; pp$82.regexp_pattern = function(state) { state.pos = 0; state.lastIntValue = 0; state.lastStringValue = ""; state.lastAssertionIsQuantifiable = false; state.numCapturingParens = 0; state.maxBackReference = 0; state.groupNames.length = 0; state.backReferenceNames.length = 0; this.regexp_disjunction(state); if (state.pos !== state.source.length) { if (state.eat( 41 /* ) */ )) { state.raise("Unmatched ')'"); } if (state.eat( 93 /* ] */ ) || state.eat( 125 /* } */ )) { state.raise("Lone quantifier brackets"); } } if (state.maxBackReference > state.numCapturingParens) { state.raise("Invalid escape"); } for (var i = 0, list3 = state.backReferenceNames; i < list3.length; i += 1) { var name2 = list3[i]; if (state.groupNames.indexOf(name2) === -1) { state.raise("Invalid named capture referenced"); } } }; pp$82.regexp_disjunction = function(state) { this.regexp_alternative(state); while (state.eat( 124 /* | */ )) { this.regexp_alternative(state); } if (this.regexp_eatQuantifier(state, true)) { state.raise("Nothing to repeat"); } if (state.eat( 123 /* { */ )) { state.raise("Lone quantifier brackets"); } }; pp$82.regexp_alternative = function(state) { while (state.pos < state.source.length && this.regexp_eatTerm(state)) { } }; pp$82.regexp_eatTerm = function(state) { if (this.regexp_eatAssertion(state)) { if (state.lastAssertionIsQuantifiable && this.regexp_eatQuantifier(state)) { if (state.switchU) { state.raise("Invalid quantifier"); } } return true; } if (state.switchU ? this.regexp_eatAtom(state) : this.regexp_eatExtendedAtom(state)) { this.regexp_eatQuantifier(state); return true; } return false; }; pp$82.regexp_eatAssertion = function(state) { var start3 = state.pos; state.lastAssertionIsQuantifiable = false; if (state.eat( 94 /* ^ */ ) || state.eat( 36 /* $ */ )) { return true; } if (state.eat( 92 /* \ */ )) { if (state.eat( 66 /* B */ ) || state.eat( 98 /* b */ )) { return true; } state.pos = start3; } if (state.eat( 40 /* ( */ ) && state.eat( 63 /* ? */ )) { var lookbehind = false; if (this.options.ecmaVersion >= 9) { lookbehind = state.eat( 60 /* < */ ); } if (state.eat( 61 /* = */ ) || state.eat( 33 /* ! */ )) { this.regexp_disjunction(state); if (!state.eat( 41 /* ) */ )) { state.raise("Unterminated group"); } state.lastAssertionIsQuantifiable = !lookbehind; return true; } } state.pos = start3; return false; }; pp$82.regexp_eatQuantifier = function(state, noError) { if (noError === void 0) noError = false; if (this.regexp_eatQuantifierPrefix(state, noError)) { state.eat( 63 /* ? */ ); return true; } return false; }; pp$82.regexp_eatQuantifierPrefix = function(state, noError) { return state.eat( 42 /* * */ ) || state.eat( 43 /* + */ ) || state.eat( 63 /* ? */ ) || this.regexp_eatBracedQuantifier(state, noError); }; pp$82.regexp_eatBracedQuantifier = function(state, noError) { var start3 = state.pos; if (state.eat( 123 /* { */ )) { var min = 0, max = -1; if (this.regexp_eatDecimalDigits(state)) { min = state.lastIntValue; if (state.eat( 44 /* , */ ) && this.regexp_eatDecimalDigits(state)) { max = state.lastIntValue; } if (state.eat( 125 /* } */ )) { if (max !== -1 && max < min && !noError) { state.raise("numbers out of order in {} quantifier"); } return true; } } if (state.switchU && !noError) { state.raise("Incomplete quantifier"); } state.pos = start3; } return false; }; pp$82.regexp_eatAtom = function(state) { return this.regexp_eatPatternCharacters(state) || state.eat( 46 /* . */ ) || this.regexp_eatReverseSolidusAtomEscape(state) || this.regexp_eatCharacterClass(state) || this.regexp_eatUncapturingGroup(state) || this.regexp_eatCapturingGroup(state); }; pp$82.regexp_eatReverseSolidusAtomEscape = function(state) { var start3 = state.pos; if (state.eat( 92 /* \ */ )) { if (this.regexp_eatAtomEscape(state)) { return true; } state.pos = start3; } return false; }; pp$82.regexp_eatUncapturingGroup = function(state) { var start3 = state.pos; if (state.eat( 40 /* ( */ )) { if (state.eat( 63 /* ? */ ) && state.eat( 58 /* : */ )) { this.regexp_disjunction(state); if (state.eat( 41 /* ) */ )) { return true; } state.raise("Unterminated group"); } state.pos = start3; } return false; }; pp$82.regexp_eatCapturingGroup = function(state) { if (state.eat( 40 /* ( */ )) { if (this.options.ecmaVersion >= 9) { this.regexp_groupSpecifier(state); } else if (state.current() === 63) { state.raise("Invalid group"); } this.regexp_disjunction(state); if (state.eat( 41 /* ) */ )) { state.numCapturingParens += 1; return true; } state.raise("Unterminated group"); } return false; }; pp$82.regexp_eatExtendedAtom = function(state) { return state.eat( 46 /* . */ ) || this.regexp_eatReverseSolidusAtomEscape(state) || this.regexp_eatCharacterClass(state) || this.regexp_eatUncapturingGroup(state) || this.regexp_eatCapturingGroup(state) || this.regexp_eatInvalidBracedQuantifier(state) || this.regexp_eatExtendedPatternCharacter(state); }; pp$82.regexp_eatInvalidBracedQuantifier = function(state) { if (this.regexp_eatBracedQuantifier(state, true)) { state.raise("Nothing to repeat"); } return false; }; pp$82.regexp_eatSyntaxCharacter = function(state) { var ch = state.current(); if (isSyntaxCharacter2(ch)) { state.lastIntValue = ch; state.advance(); return true; } return false; }; pp$82.regexp_eatPatternCharacters = function(state) { var start3 = state.pos; var ch = 0; while ((ch = state.current()) !== -1 && !isSyntaxCharacter2(ch)) { state.advance(); } return state.pos !== start3; }; pp$82.regexp_eatExtendedPatternCharacter = function(state) { var ch = state.current(); if (ch !== -1 && ch !== 36 && !(ch >= 40 && ch <= 43) && ch !== 46 && ch !== 63 && ch !== 91 && ch !== 94 && ch !== 124) { state.advance(); return true; } return false; }; pp$82.regexp_groupSpecifier = function(state) { if (state.eat( 63 /* ? */ )) { if (this.regexp_eatGroupName(state)) { if (state.groupNames.indexOf(state.lastStringValue) !== -1) { state.raise("Duplicate capture group name"); } state.groupNames.push(state.lastStringValue); return; } state.raise("Invalid group"); } }; pp$82.regexp_eatGroupName = function(state) { state.lastStringValue = ""; if (state.eat( 60 /* < */ )) { if (this.regexp_eatRegExpIdentifierName(state) && state.eat( 62 /* > */ )) { return true; } state.raise("Invalid capture group name"); } return false; }; pp$82.regexp_eatRegExpIdentifierName = function(state) { state.lastStringValue = ""; if (this.regexp_eatRegExpIdentifierStart(state)) { state.lastStringValue += codePointToString2(state.lastIntValue); while (this.regexp_eatRegExpIdentifierPart(state)) { state.lastStringValue += codePointToString2(state.lastIntValue); } return true; } return false; }; pp$82.regexp_eatRegExpIdentifierStart = function(state) { var start3 = state.pos; var forceU = this.options.ecmaVersion >= 11; var ch = state.current(forceU); state.advance(forceU); if (ch === 92 && this.regexp_eatRegExpUnicodeEscapeSequence(state, forceU)) { ch = state.lastIntValue; } if (isRegExpIdentifierStart2(ch)) { state.lastIntValue = ch; return true; } state.pos = start3; return false; }; pp$82.regexp_eatRegExpIdentifierPart = function(state) { var start3 = state.pos; var forceU = this.options.ecmaVersion >= 11; var ch = state.current(forceU); state.advance(forceU); if (ch === 92 && this.regexp_eatRegExpUnicodeEscapeSequence(state, forceU)) { ch = state.lastIntValue; } if (isRegExpIdentifierPart2(ch)) { state.lastIntValue = ch; return true; } state.pos = start3; return false; }; pp$82.regexp_eatAtomEscape = function(state) { if (this.regexp_eatBackReference(state) || this.regexp_eatCharacterClassEscape(state) || this.regexp_eatCharacterEscape(state) || state.switchN && this.regexp_eatKGroupName(state)) { return true; } if (state.switchU) { if (state.current() === 99) { state.raise("Invalid unicode escape"); } state.raise("Invalid escape"); } return false; }; pp$82.regexp_eatBackReference = function(state) { var start3 = state.pos; if (this.regexp_eatDecimalEscape(state)) { var n = state.lastIntValue; if (state.switchU) { if (n > state.maxBackReference) { state.maxBackReference = n; } return true; } if (n <= state.numCapturingParens) { return true; } state.pos = start3; } return false; }; pp$82.regexp_eatKGroupName = function(state) { if (state.eat( 107 /* k */ )) { if (this.regexp_eatGroupName(state)) { state.backReferenceNames.push(state.lastStringValue); return true; } state.raise("Invalid named reference"); } return false; }; pp$82.regexp_eatCharacterEscape = function(state) { return this.regexp_eatControlEscape(state) || this.regexp_eatCControlLetter(state) || this.regexp_eatZero(state) || this.regexp_eatHexEscapeSequence(state) || this.regexp_eatRegExpUnicodeEscapeSequence(state, false) || !state.switchU && this.regexp_eatLegacyOctalEscapeSequence(state) || this.regexp_eatIdentityEscape(state); }; pp$82.regexp_eatCControlLetter = function(state) { var start3 = state.pos; if (state.eat( 99 /* c */ )) { if (this.regexp_eatControlLetter(state)) { return true; } state.pos = start3; } return false; }; pp$82.regexp_eatZero = function(state) { if (state.current() === 48 && !isDecimalDigit2(state.lookahead())) { state.lastIntValue = 0; state.advance(); return true; } return false; }; pp$82.regexp_eatControlEscape = function(state) { var ch = state.current(); if (ch === 116) { state.lastIntValue = 9; state.advance(); return true; } if (ch === 110) { state.lastIntValue = 10; state.advance(); return true; } if (ch === 118) { state.lastIntValue = 11; state.advance(); return true; } if (ch === 102) { state.lastIntValue = 12; state.advance(); return true; } if (ch === 114) { state.lastIntValue = 13; state.advance(); return true; } return false; }; pp$82.regexp_eatControlLetter = function(state) { var ch = state.current(); if (isControlLetter2(ch)) { state.lastIntValue = ch % 32; state.advance(); return true; } return false; }; pp$82.regexp_eatRegExpUnicodeEscapeSequence = function(state, forceU) { if (forceU === void 0) forceU = false; var start3 = state.pos; var switchU = forceU || state.switchU; if (state.eat( 117 /* u */ )) { if (this.regexp_eatFixedHexDigits(state, 4)) { var lead = state.lastIntValue; if (switchU && lead >= 55296 && lead <= 56319) { var leadSurrogateEnd = state.pos; if (state.eat( 92 /* \ */ ) && state.eat( 117 /* u */ ) && this.regexp_eatFixedHexDigits(state, 4)) { var trail = state.lastIntValue; if (trail >= 56320 && trail <= 57343) { state.lastIntValue = (lead - 55296) * 1024 + (trail - 56320) + 65536; return true; } } state.pos = leadSurrogateEnd; state.lastIntValue = lead; } return true; } if (switchU && state.eat( 123 /* { */ ) && this.regexp_eatHexDigits(state) && state.eat( 125 /* } */ ) && isValidUnicode2(state.lastIntValue)) { return true; } if (switchU) { state.raise("Invalid unicode escape"); } state.pos = start3; } return false; }; pp$82.regexp_eatIdentityEscape = function(state) { if (state.switchU) { if (this.regexp_eatSyntaxCharacter(state)) { return true; } if (state.eat( 47 /* / */ )) { state.lastIntValue = 47; return true; } return false; } var ch = state.current(); if (ch !== 99 && (!state.switchN || ch !== 107)) { state.lastIntValue = ch; state.advance(); return true; } return false; }; pp$82.regexp_eatDecimalEscape = function(state) { state.lastIntValue = 0; var ch = state.current(); if (ch >= 49 && ch <= 57) { do { state.lastIntValue = 10 * state.lastIntValue + (ch - 48); state.advance(); } while ((ch = state.current()) >= 48 && ch <= 57); return true; } return false; }; pp$82.regexp_eatCharacterClassEscape = function(state) { var ch = state.current(); if (isCharacterClassEscape2(ch)) { state.lastIntValue = -1; state.advance(); return true; } if (state.switchU && this.options.ecmaVersion >= 9 && (ch === 80 || ch === 112)) { state.lastIntValue = -1; state.advance(); if (state.eat( 123 /* { */ ) && this.regexp_eatUnicodePropertyValueExpression(state) && state.eat( 125 /* } */ )) { return true; } state.raise("Invalid property name"); } return false; }; pp$82.regexp_eatUnicodePropertyValueExpression = function(state) { var start3 = state.pos; if (this.regexp_eatUnicodePropertyName(state) && state.eat( 61 /* = */ )) { var name2 = state.lastStringValue; if (this.regexp_eatUnicodePropertyValue(state)) { var value2 = state.lastStringValue; this.regexp_validateUnicodePropertyNameAndValue(state, name2, value2); return true; } } state.pos = start3; if (this.regexp_eatLoneUnicodePropertyNameOrValue(state)) { var nameOrValue = state.lastStringValue; this.regexp_validateUnicodePropertyNameOrValue(state, nameOrValue); return true; } return false; }; pp$82.regexp_validateUnicodePropertyNameAndValue = function(state, name2, value2) { if (!has(state.unicodeProperties.nonBinary, name2)) { state.raise("Invalid property name"); } if (!state.unicodeProperties.nonBinary[name2].test(value2)) { state.raise("Invalid property value"); } }; pp$82.regexp_validateUnicodePropertyNameOrValue = function(state, nameOrValue) { if (!state.unicodeProperties.binary.test(nameOrValue)) { state.raise("Invalid property name"); } }; pp$82.regexp_eatUnicodePropertyName = function(state) { var ch = 0; state.lastStringValue = ""; while (isUnicodePropertyNameCharacter2(ch = state.current())) { state.lastStringValue += codePointToString2(ch); state.advance(); } return state.lastStringValue !== ""; }; pp$82.regexp_eatUnicodePropertyValue = function(state) { var ch = 0; state.lastStringValue = ""; while (isUnicodePropertyValueCharacter2(ch = state.current())) { state.lastStringValue += codePointToString2(ch); state.advance(); } return state.lastStringValue !== ""; }; pp$82.regexp_eatLoneUnicodePropertyNameOrValue = function(state) { return this.regexp_eatUnicodePropertyValue(state); }; pp$82.regexp_eatCharacterClass = function(state) { if (state.eat( 91 /* [ */ )) { state.eat( 94 /* ^ */ ); this.regexp_classRanges(state); if (state.eat( 93 /* ] */ )) { return true; } state.raise("Unterminated character class"); } return false; }; pp$82.regexp_classRanges = function(state) { while (this.regexp_eatClassAtom(state)) { var left = state.lastIntValue; if (state.eat( 45 /* - */ ) && this.regexp_eatClassAtom(state)) { var right = state.lastIntValue; if (state.switchU && (left === -1 || right === -1)) { state.raise("Invalid character class"); } if (left !== -1 && right !== -1 && left > right) { state.raise("Range out of order in character class"); } } } }; pp$82.regexp_eatClassAtom = function(state) { var start3 = state.pos; if (state.eat( 92 /* \ */ )) { if (this.regexp_eatClassEscape(state)) { return true; } if (state.switchU) { var ch$1 = state.current(); if (ch$1 === 99 || isOctalDigit2(ch$1)) { state.raise("Invalid class escape"); } state.raise("Invalid escape"); } state.pos = start3; } var ch = state.current(); if (ch !== 93) { state.lastIntValue = ch; state.advance(); return true; } return false; }; pp$82.regexp_eatClassEscape = function(state) { var start3 = state.pos; if (state.eat( 98 /* b */ )) { state.lastIntValue = 8; return true; } if (state.switchU && state.eat( 45 /* - */ )) { state.lastIntValue = 45; return true; } if (!state.switchU && state.eat( 99 /* c */ )) { if (this.regexp_eatClassControlLetter(state)) { return true; } state.pos = start3; } return this.regexp_eatCharacterClassEscape(state) || this.regexp_eatCharacterEscape(state); }; pp$82.regexp_eatClassControlLetter = function(state) { var ch = state.current(); if (isDecimalDigit2(ch) || ch === 95) { state.lastIntValue = ch % 32; state.advance(); return true; } return false; }; pp$82.regexp_eatHexEscapeSequence = function(state) { var start3 = state.pos; if (state.eat( 120 /* x */ )) { if (this.regexp_eatFixedHexDigits(state, 2)) { return true; } if (state.switchU) { state.raise("Invalid escape"); } state.pos = start3; } return false; }; pp$82.regexp_eatDecimalDigits = function(state) { var start3 = state.pos; var ch = 0; state.lastIntValue = 0; while (isDecimalDigit2(ch = state.current())) { state.lastIntValue = 10 * state.lastIntValue + (ch - 48); state.advance(); } return state.pos !== start3; }; pp$82.regexp_eatHexDigits = function(state) { var start3 = state.pos; var ch = 0; state.lastIntValue = 0; while (isHexDigit2(ch = state.current())) { state.lastIntValue = 16 * state.lastIntValue + hexToInt2(ch); state.advance(); } return state.pos !== start3; }; pp$82.regexp_eatLegacyOctalEscapeSequence = function(state) { if (this.regexp_eatOctalDigit(state)) { var n1 = state.lastIntValue; if (this.regexp_eatOctalDigit(state)) { var n2 = state.lastIntValue; if (n1 <= 3 && this.regexp_eatOctalDigit(state)) { state.lastIntValue = n1 * 64 + n2 * 8 + state.lastIntValue; } else { state.lastIntValue = n1 * 8 + n2; } } else { state.lastIntValue = n1; } return true; } return false; }; pp$82.regexp_eatOctalDigit = function(state) { var ch = state.current(); if (isOctalDigit2(ch)) { state.lastIntValue = ch - 48; state.advance(); return true; } state.lastIntValue = 0; return false; }; pp$82.regexp_eatFixedHexDigits = function(state, length) { var start3 = state.pos; state.lastIntValue = 0; for (var i = 0; i < length; ++i) { var ch = state.current(); if (!isHexDigit2(ch)) { state.pos = start3; return false; } state.lastIntValue = 16 * state.lastIntValue + hexToInt2(ch); state.advance(); } return true; }; Token3 = function Token4(p) { this.type = p.type; this.value = p.value; this.start = p.start; this.end = p.end; if (p.options.locations) { this.loc = new SourceLocation3(p, p.startLoc, p.endLoc); } if (p.options.ranges) { this.range = [p.start, p.end]; } }; pp$92 = Parser3.prototype; pp$92.next = function(ignoreEscapeSequenceInKeyword) { if (!ignoreEscapeSequenceInKeyword && this.type.keyword && this.containsEsc) { this.raiseRecoverable(this.start, "Escape sequence in keyword " + this.type.keyword); } if (this.options.onToken) { this.options.onToken(new Token3(this)); } this.lastTokEnd = this.end; this.lastTokStart = this.start; this.lastTokEndLoc = this.endLoc; this.lastTokStartLoc = this.startLoc; this.nextToken(); }; pp$92.getToken = function() { this.next(); return new Token3(this); }; if (typeof Symbol !== "undefined") { pp$92[Symbol.iterator] = function() { var this$1 = this; return { next: function() { var token2 = this$1.getToken(); return { done: token2.type === types2.eof, value: token2 }; } }; }; } pp$92.curContext = function() { return this.context[this.context.length - 1]; }; pp$92.nextToken = function() { var curContext = this.curContext(); if (!curContext || !curContext.preserveSpace) { this.skipSpace(); } this.start = this.pos; if (this.options.locations) { this.startLoc = this.curPosition(); } if (this.pos >= this.input.length) { return this.finishToken(types2.eof); } if (curContext.override) { return curContext.override(this); } else { this.readToken(this.fullCharCodeAtPos()); } }; pp$92.readToken = function(code2) { if (isIdentifierStart2(code2, this.options.ecmaVersion >= 6) || code2 === 92) { return this.readWord(); } return this.getTokenFromCode(code2); }; pp$92.fullCharCodeAtPos = function() { var code2 = this.input.charCodeAt(this.pos); if (code2 <= 55295 || code2 >= 57344) { return code2; } var next = this.input.charCodeAt(this.pos + 1); return (code2 << 10) + next - 56613888; }; pp$92.skipBlockComment = function() { var startLoc = this.options.onComment && this.curPosition(); var start3 = this.pos, end = this.input.indexOf("*/", this.pos += 2); if (end === -1) { this.raise(this.pos - 2, "Unterminated comment"); } this.pos = end + 2; if (this.options.locations) { lineBreakG2.lastIndex = start3; var match; while ((match = lineBreakG2.exec(this.input)) && match.index < this.pos) { ++this.curLine; this.lineStart = match.index + match[0].length; } } if (this.options.onComment) { this.options.onComment( true, this.input.slice(start3 + 2, end), start3, this.pos, startLoc, this.curPosition() ); } }; pp$92.skipLineComment = function(startSkip) { var start3 = this.pos; var startLoc = this.options.onComment && this.curPosition(); var ch = this.input.charCodeAt(this.pos += startSkip); while (this.pos < this.input.length && !isNewLine2(ch)) { ch = this.input.charCodeAt(++this.pos); } if (this.options.onComment) { this.options.onComment( false, this.input.slice(start3 + startSkip, this.pos), start3, this.pos, startLoc, this.curPosition() ); } }; pp$92.skipSpace = function() { loop: while (this.pos < this.input.length) { var ch = this.input.charCodeAt(this.pos); switch (ch) { case 32: case 160: ++this.pos; break; case 13: if (this.input.charCodeAt(this.pos + 1) === 10) { ++this.pos; } case 10: case 8232: case 8233: ++this.pos; if (this.options.locations) { ++this.curLine; this.lineStart = this.pos; } break; case 47: switch (this.input.charCodeAt(this.pos + 1)) { case 42: this.skipBlockComment(); break; case 47: this.skipLineComment(2); break; default: break loop; } break; default: if (ch > 8 && ch < 14 || ch >= 5760 && nonASCIIwhitespace2.test(String.fromCharCode(ch))) { ++this.pos; } else { break loop; } } } }; pp$92.finishToken = function(type, val) { this.end = this.pos; if (this.options.locations) { this.endLoc = this.curPosition(); } var prevType = this.type; this.type = type; this.value = val; this.updateContext(prevType); }; pp$92.readToken_dot = function() { var next = this.input.charCodeAt(this.pos + 1); if (next >= 48 && next <= 57) { return this.readNumber(true); } var next2 = this.input.charCodeAt(this.pos + 2); if (this.options.ecmaVersion >= 6 && next === 46 && next2 === 46) { this.pos += 3; return this.finishToken(types2.ellipsis); } else { ++this.pos; return this.finishToken(types2.dot); } }; pp$92.readToken_slash = function() { var next = this.input.charCodeAt(this.pos + 1); if (this.exprAllowed) { ++this.pos; return this.readRegexp(); } if (next === 61) { return this.finishOp(types2.assign, 2); } return this.finishOp(types2.slash, 1); }; pp$92.readToken_mult_modulo_exp = function(code2) { var next = this.input.charCodeAt(this.pos + 1); var size = 1; var tokentype = code2 === 42 ? types2.star : types2.modulo; if (this.options.ecmaVersion >= 7 && code2 === 42 && next === 42) { ++size; tokentype = types2.starstar; next = this.input.charCodeAt(this.pos + 2); } if (next === 61) { return this.finishOp(types2.assign, size + 1); } return this.finishOp(tokentype, size); }; pp$92.readToken_pipe_amp = function(code2) { var next = this.input.charCodeAt(this.pos + 1); if (next === code2) { if (this.options.ecmaVersion >= 12) { var next2 = this.input.charCodeAt(this.pos + 2); if (next2 === 61) { return this.finishOp(types2.assign, 3); } } return this.finishOp(code2 === 124 ? types2.logicalOR : types2.logicalAND, 2); } if (next === 61) { return this.finishOp(types2.assign, 2); } return this.finishOp(code2 === 124 ? types2.bitwiseOR : types2.bitwiseAND, 1); }; pp$92.readToken_caret = function() { var next = this.input.charCodeAt(this.pos + 1); if (next === 61) { return this.finishOp(types2.assign, 2); } return this.finishOp(types2.bitwiseXOR, 1); }; pp$92.readToken_plus_min = function(code2) { var next = this.input.charCodeAt(this.pos + 1); if (next === code2) { if (next === 45 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 62 && (this.lastTokEnd === 0 || lineBreak2.test(this.input.slice(this.lastTokEnd, this.pos)))) { this.skipLineComment(3); this.skipSpace(); return this.nextToken(); } return this.finishOp(types2.incDec, 2); } if (next === 61) { return this.finishOp(types2.assign, 2); } return this.finishOp(types2.plusMin, 1); }; pp$92.readToken_lt_gt = function(code2) { var next = this.input.charCodeAt(this.pos + 1); var size = 1; if (next === code2) { size = code2 === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2; if (this.input.charCodeAt(this.pos + size) === 61) { return this.finishOp(types2.assign, size + 1); } return this.finishOp(types2.bitShift, size); } if (next === 33 && code2 === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 && this.input.charCodeAt(this.pos + 3) === 45) { this.skipLineComment(4); this.skipSpace(); return this.nextToken(); } if (next === 61) { size = 2; } return this.finishOp(types2.relational, size); }; pp$92.readToken_eq_excl = function(code2) { var next = this.input.charCodeAt(this.pos + 1); if (next === 61) { return this.finishOp(types2.equality, this.input.charCodeAt(this.pos + 2) === 61 ? 3 : 2); } if (code2 === 61 && next === 62 && this.options.ecmaVersion >= 6) { this.pos += 2; return this.finishToken(types2.arrow); } return this.finishOp(code2 === 61 ? types2.eq : types2.prefix, 1); }; pp$92.readToken_question = function() { var ecmaVersion = this.options.ecmaVersion; if (ecmaVersion >= 11) { var next = this.input.charCodeAt(this.pos + 1); if (next === 46) { var next2 = this.input.charCodeAt(this.pos + 2); if (next2 < 48 || next2 > 57) { return this.finishOp(types2.questionDot, 2); } } if (next === 63) { if (ecmaVersion >= 12) { var next2$1 = this.input.charCodeAt(this.pos + 2); if (next2$1 === 61) { return this.finishOp(types2.assign, 3); } } return this.finishOp(types2.coalesce, 2); } } return this.finishOp(types2.question, 1); }; pp$92.getTokenFromCode = function(code2) { switch (code2) { case 46: return this.readToken_dot(); case 40: ++this.pos; return this.finishToken(types2.parenL); case 41: ++this.pos; return this.finishToken(types2.parenR); case 59: ++this.pos; return this.finishToken(types2.semi); case 44: ++this.pos; return this.finishToken(types2.comma); case 91: ++this.pos; return this.finishToken(types2.bracketL); case 93: ++this.pos; return this.finishToken(types2.bracketR); case 123: ++this.pos; return this.finishToken(types2.braceL); case 125: ++this.pos; return this.finishToken(types2.braceR); case 58: ++this.pos; return this.finishToken(types2.colon); case 96: if (this.options.ecmaVersion < 6) { break; } ++this.pos; return this.finishToken(types2.backQuote); case 48: var next = this.input.charCodeAt(this.pos + 1); if (next === 120 || next === 88) { return this.readRadixNumber(16); } if (this.options.ecmaVersion >= 6) { if (next === 111 || next === 79) { return this.readRadixNumber(8); } if (next === 98 || next === 66) { return this.readRadixNumber(2); } } case 49: case 50: case 51: case 52: case 53: case 54: case 55: case 56: case 57: return this.readNumber(false); case 34: case 39: return this.readString(code2); case 47: return this.readToken_slash(); case 37: case 42: return this.readToken_mult_modulo_exp(code2); case 124: case 38: return this.readToken_pipe_amp(code2); case 94: return this.readToken_caret(); case 43: case 45: return this.readToken_plus_min(code2); case 60: case 62: return this.readToken_lt_gt(code2); case 61: case 33: return this.readToken_eq_excl(code2); case 63: return this.readToken_question(); case 126: return this.finishOp(types2.prefix, 1); } this.raise(this.pos, "Unexpected character '" + codePointToString$1(code2) + "'"); }; pp$92.finishOp = function(type, size) { var str = this.input.slice(this.pos, this.pos + size); this.pos += size; return this.finishToken(type, str); }; pp$92.readRegexp = function() { var escaped, inClass, start3 = this.pos; for (; ; ) { if (this.pos >= this.input.length) { this.raise(start3, "Unterminated regular expression"); } var ch = this.input.charAt(this.pos); if (lineBreak2.test(ch)) { this.raise(start3, "Unterminated regular expression"); } if (!escaped) { if (ch === "[") { inClass = true; } else if (ch === "]" && inClass) { inClass = false; } else if (ch === "/" && !inClass) { break; } escaped = ch === "\\"; } else { escaped = false; } ++this.pos; } var pattern = this.input.slice(start3, this.pos); ++this.pos; var flagsStart = this.pos; var flags = this.readWord1(); if (this.containsEsc) { this.unexpected(flagsStart); } var state = this.regexpState || (this.regexpState = new RegExpValidationState3(this)); state.reset(start3, pattern, flags); this.validateRegExpFlags(state); this.validateRegExpPattern(state); var value2 = null; try { value2 = new RegExp(pattern, flags); } catch (e) { } return this.finishToken(types2.regexp, { pattern, flags, value: value2 }); }; pp$92.readInt = function(radix, len, maybeLegacyOctalNumericLiteral) { var allowSeparators = this.options.ecmaVersion >= 12 && len === void 0; var isLegacyOctalNumericLiteral = maybeLegacyOctalNumericLiteral && this.input.charCodeAt(this.pos) === 48; var start3 = this.pos, total = 0, lastCode = 0; for (var i = 0, e = len == null ? Infinity : len; i < e; ++i, ++this.pos) { var code2 = this.input.charCodeAt(this.pos), val = void 0; if (allowSeparators && code2 === 95) { if (isLegacyOctalNumericLiteral) { this.raiseRecoverable(this.pos, "Numeric separator is not allowed in legacy octal numeric literals"); } if (lastCode === 95) { this.raiseRecoverable(this.pos, "Numeric separator must be exactly one underscore"); } if (i === 0) { this.raiseRecoverable(this.pos, "Numeric separator is not allowed at the first of digits"); } lastCode = code2; continue; } if (code2 >= 97) { val = code2 - 97 + 10; } else if (code2 >= 65) { val = code2 - 65 + 10; } else if (code2 >= 48 && code2 <= 57) { val = code2 - 48; } else { val = Infinity; } if (val >= radix) { break; } lastCode = code2; total = total * radix + val; } if (allowSeparators && lastCode === 95) { this.raiseRecoverable(this.pos - 1, "Numeric separator is not allowed at the last of digits"); } if (this.pos === start3 || len != null && this.pos - start3 !== len) { return null; } return total; }; pp$92.readRadixNumber = function(radix) { var start3 = this.pos; this.pos += 2; var val = this.readInt(radix); if (val == null) { this.raise(this.start + 2, "Expected number in radix " + radix); } if (this.options.ecmaVersion >= 11 && this.input.charCodeAt(this.pos) === 110) { val = stringToBigInt2(this.input.slice(start3, this.pos)); ++this.pos; } else if (isIdentifierStart2(this.fullCharCodeAtPos())) { this.raise(this.pos, "Identifier directly after number"); } return this.finishToken(types2.num, val); }; pp$92.readNumber = function(startsWithDot) { var start3 = this.pos; if (!startsWithDot && this.readInt(10, void 0, true) === null) { this.raise(start3, "Invalid number"); } var octal = this.pos - start3 >= 2 && this.input.charCodeAt(start3) === 48; if (octal && this.strict) { this.raise(start3, "Invalid number"); } var next = this.input.charCodeAt(this.pos); if (!octal && !startsWithDot && this.options.ecmaVersion >= 11 && next === 110) { var val$1 = stringToBigInt2(this.input.slice(start3, this.pos)); ++this.pos; if (isIdentifierStart2(this.fullCharCodeAtPos())) { this.raise(this.pos, "Identifier directly after number"); } return this.finishToken(types2.num, val$1); } if (octal && /[89]/.test(this.input.slice(start3, this.pos))) { octal = false; } if (next === 46 && !octal) { ++this.pos; this.readInt(10); next = this.input.charCodeAt(this.pos); } if ((next === 69 || next === 101) && !octal) { next = this.input.charCodeAt(++this.pos); if (next === 43 || next === 45) { ++this.pos; } if (this.readInt(10) === null) { this.raise(start3, "Invalid number"); } } if (isIdentifierStart2(this.fullCharCodeAtPos())) { this.raise(this.pos, "Identifier directly after number"); } var val = stringToNumber2(this.input.slice(start3, this.pos), octal); return this.finishToken(types2.num, val); }; pp$92.readCodePoint = function() { var ch = this.input.charCodeAt(this.pos), code2; if (ch === 123) { if (this.options.ecmaVersion < 6) { this.unexpected(); } var codePos = ++this.pos; code2 = this.readHexChar(this.input.indexOf("}", this.pos) - this.pos); ++this.pos; if (code2 > 1114111) { this.invalidStringToken(codePos, "Code point out of bounds"); } } else { code2 = this.readHexChar(4); } return code2; }; pp$92.readString = function(quote) { var out = "", chunkStart = ++this.pos; for (; ; ) { if (this.pos >= this.input.length) { this.raise(this.start, "Unterminated string constant"); } var ch = this.input.charCodeAt(this.pos); if (ch === quote) { break; } if (ch === 92) { out += this.input.slice(chunkStart, this.pos); out += this.readEscapedChar(false); chunkStart = this.pos; } else { if (isNewLine2(ch, this.options.ecmaVersion >= 10)) { this.raise(this.start, "Unterminated string constant"); } ++this.pos; } } out += this.input.slice(chunkStart, this.pos++); return this.finishToken(types2.string, out); }; INVALID_TEMPLATE_ESCAPE_ERROR2 = {}; pp$92.tryReadTemplateToken = function() { this.inTemplateElement = true; try { this.readTmplToken(); } catch (err) { if (err === INVALID_TEMPLATE_ESCAPE_ERROR2) { this.readInvalidTemplateToken(); } else { throw err; } } this.inTemplateElement = false; }; pp$92.invalidStringToken = function(position3, message) { if (this.inTemplateElement && this.options.ecmaVersion >= 9) { throw INVALID_TEMPLATE_ESCAPE_ERROR2; } else { this.raise(position3, message); } }; pp$92.readTmplToken = function() { var out = "", chunkStart = this.pos; for (; ; ) { if (this.pos >= this.input.length) { this.raise(this.start, "Unterminated template"); } var ch = this.input.charCodeAt(this.pos); if (ch === 96 || ch === 36 && this.input.charCodeAt(this.pos + 1) === 123) { if (this.pos === this.start && (this.type === types2.template || this.type === types2.invalidTemplate)) { if (ch === 36) { this.pos += 2; return this.finishToken(types2.dollarBraceL); } else { ++this.pos; return this.finishToken(types2.backQuote); } } out += this.input.slice(chunkStart, this.pos); return this.finishToken(types2.template, out); } if (ch === 92) { out += this.input.slice(chunkStart, this.pos); out += this.readEscapedChar(true); chunkStart = this.pos; } else if (isNewLine2(ch)) { out += this.input.slice(chunkStart, this.pos); ++this.pos; switch (ch) { case 13: if (this.input.charCodeAt(this.pos) === 10) { ++this.pos; } case 10: out += "\n"; break; default: out += String.fromCharCode(ch); break; } if (this.options.locations) { ++this.curLine; this.lineStart = this.pos; } chunkStart = this.pos; } else { ++this.pos; } } }; pp$92.readInvalidTemplateToken = function() { for (; this.pos < this.input.length; this.pos++) { switch (this.input[this.pos]) { case "\\": ++this.pos; break; case "$": if (this.input[this.pos + 1] !== "{") { break; } case "`": return this.finishToken(types2.invalidTemplate, this.input.slice(this.start, this.pos)); } } this.raise(this.start, "Unterminated template"); }; pp$92.readEscapedChar = function(inTemplate) { var ch = this.input.charCodeAt(++this.pos); ++this.pos; switch (ch) { case 110: return "\n"; case 114: return "\r"; case 120: return String.fromCharCode(this.readHexChar(2)); case 117: return codePointToString$1(this.readCodePoint()); case 116: return " "; case 98: return "\b"; case 118: return "\v"; case 102: return "\f"; case 13: if (this.input.charCodeAt(this.pos) === 10) { ++this.pos; } case 10: if (this.options.locations) { this.lineStart = this.pos; ++this.curLine; } return ""; case 56: case 57: if (inTemplate) { var codePos = this.pos - 1; this.invalidStringToken( codePos, "Invalid escape sequence in template string" ); return null; } default: if (ch >= 48 && ch <= 55) { var octalStr = this.input.substr(this.pos - 1, 3).match(/^[0-7]+/)[0]; var octal = parseInt(octalStr, 8); if (octal > 255) { octalStr = octalStr.slice(0, -1); octal = parseInt(octalStr, 8); } this.pos += octalStr.length - 1; ch = this.input.charCodeAt(this.pos); if ((octalStr !== "0" || ch === 56 || ch === 57) && (this.strict || inTemplate)) { this.invalidStringToken( this.pos - 1 - octalStr.length, inTemplate ? "Octal literal in template string" : "Octal literal in strict mode" ); } return String.fromCharCode(octal); } if (isNewLine2(ch)) { return ""; } return String.fromCharCode(ch); } }; pp$92.readHexChar = function(len) { var codePos = this.pos; var n = this.readInt(16, len); if (n === null) { this.invalidStringToken(codePos, "Bad character escape sequence"); } return n; }; pp$92.readWord1 = function() { this.containsEsc = false; var word = "", first = true, chunkStart = this.pos; var astral = this.options.ecmaVersion >= 6; while (this.pos < this.input.length) { var ch = this.fullCharCodeAtPos(); if (isIdentifierChar2(ch, astral)) { this.pos += ch <= 65535 ? 1 : 2; } else if (ch === 92) { this.containsEsc = true; word += this.input.slice(chunkStart, this.pos); var escStart = this.pos; if (this.input.charCodeAt(++this.pos) !== 117) { this.invalidStringToken(this.pos, "Expecting Unicode escape sequence \\uXXXX"); } ++this.pos; var esc = this.readCodePoint(); if (!(first ? isIdentifierStart2 : isIdentifierChar2)(esc, astral)) { this.invalidStringToken(escStart, "Invalid Unicode escape"); } word += codePointToString$1(esc); chunkStart = this.pos; } else { break; } first = false; } return word + this.input.slice(chunkStart, this.pos); }; pp$92.readWord = function() { var word = this.readWord1(); var type = types2.name; if (this.keywords.test(word)) { type = keywords$12[word]; } return this.finishToken(type, word); }; version2 = "7.4.1"; Parser3.acorn = { Parser: Parser3, version: version2, defaultOptions: defaultOptions2, Position: Position3, SourceLocation: SourceLocation3, getLineInfo: getLineInfo2, Node: Node3, TokenType: TokenType3, tokTypes: types2, keywordTypes: keywords$12, TokContext: TokContext3, tokContexts: types$12, isIdentifierChar: isIdentifierChar2, isIdentifierStart: isIdentifierStart2, Token: Token3, isNewLine: isNewLine2, lineBreak: lineBreak2, lineBreakG: lineBreakG2, nonASCIIwhitespace: nonASCIIwhitespace2 }; } }); // node_modules/acorn-jsx/index.js var require_acorn_jsx = __commonJS({ "node_modules/acorn-jsx/index.js"(exports, module2) { "use strict"; var XHTMLEntities = require_xhtml(); var hexNumber = /^[\da-fA-F]+$/; var decimalNumber = /^\d+$/; var acornJsxMap = /* @__PURE__ */ new WeakMap(); function getJsxTokens(acorn) { acorn = acorn.Parser.acorn || acorn; let acornJsx2 = acornJsxMap.get(acorn); if (!acornJsx2) { const tt = acorn.tokTypes; const TokContext5 = acorn.TokContext; const TokenType5 = acorn.TokenType; const tc_oTag = new TokContext5("...", true, true); const tokContexts = { tc_oTag, tc_cTag, tc_expr }; const tokTypes = { jsxName: new TokenType5("jsxName"), jsxText: new TokenType5("jsxText", { beforeExpr: true }), jsxTagStart: new TokenType5("jsxTagStart", { startsExpr: true }), jsxTagEnd: new TokenType5("jsxTagEnd") }; tokTypes.jsxTagStart.updateContext = function() { this.context.push(tc_expr); this.context.push(tc_oTag); this.exprAllowed = false; }; tokTypes.jsxTagEnd.updateContext = function(prevType) { let out = this.context.pop(); if (out === tc_oTag && prevType === tt.slash || out === tc_cTag) { this.context.pop(); this.exprAllowed = this.curContext() === tc_expr; } else { this.exprAllowed = true; } }; acornJsx2 = { tokContexts, tokTypes }; acornJsxMap.set(acorn, acornJsx2); } return acornJsx2; } function getQualifiedJSXName(object) { if (!object) return object; if (object.type === "JSXIdentifier") return object.name; if (object.type === "JSXNamespacedName") return object.namespace.name + ":" + object.name.name; if (object.type === "JSXMemberExpression") return getQualifiedJSXName(object.object) + "." + getQualifiedJSXName(object.property); } module2.exports = function(options) { options = options || {}; return function(Parser5) { return plugin2({ allowNamespaces: options.allowNamespaces !== false, allowNamespacedObjects: !!options.allowNamespacedObjects }, Parser5); }; }; Object.defineProperty(module2.exports, "tokTypes", { get: function get_tokTypes() { return getJsxTokens((init_acorn(), __toCommonJS(acorn_exports))).tokTypes; }, configurable: true, enumerable: true }); function plugin2(options, Parser5) { const acorn = Parser5.acorn || (init_acorn(), __toCommonJS(acorn_exports)); const acornJsx2 = getJsxTokens(acorn); const tt = acorn.tokTypes; const tok = acornJsx2.tokTypes; const tokContexts = acorn.tokContexts; const tc_oTag = acornJsx2.tokContexts.tc_oTag; const tc_cTag = acornJsx2.tokContexts.tc_cTag; const tc_expr = acornJsx2.tokContexts.tc_expr; const isNewLine3 = acorn.isNewLine; const isIdentifierStart3 = acorn.isIdentifierStart; const isIdentifierChar3 = acorn.isIdentifierChar; return class extends Parser5 { // Expose actual `tokTypes` and `tokContexts` to other plugins. static get acornJsx() { return acornJsx2; } // Reads inline JSX contents token. jsx_readToken() { let out = "", chunkStart = this.pos; for (; ; ) { if (this.pos >= this.input.length) this.raise(this.start, "Unterminated JSX contents"); let ch = this.input.charCodeAt(this.pos); switch (ch) { case 60: case 123: if (this.pos === this.start) { if (ch === 60 && this.exprAllowed) { ++this.pos; return this.finishToken(tok.jsxTagStart); } return this.getTokenFromCode(ch); } out += this.input.slice(chunkStart, this.pos); return this.finishToken(tok.jsxText, out); case 38: out += this.input.slice(chunkStart, this.pos); out += this.jsx_readEntity(); chunkStart = this.pos; break; case 62: case 125: this.raise( this.pos, "Unexpected token `" + this.input[this.pos] + "`. Did you mean `" + (ch === 62 ? ">" : "}") + '` or `{"' + this.input[this.pos] + '"}`?' ); default: if (isNewLine3(ch)) { out += this.input.slice(chunkStart, this.pos); out += this.jsx_readNewLine(true); chunkStart = this.pos; } else { ++this.pos; } } } } jsx_readNewLine(normalizeCRLF) { let ch = this.input.charCodeAt(this.pos); let out; ++this.pos; if (ch === 13 && this.input.charCodeAt(this.pos) === 10) { ++this.pos; out = normalizeCRLF ? "\n" : "\r\n"; } else { out = String.fromCharCode(ch); } if (this.options.locations) { ++this.curLine; this.lineStart = this.pos; } return out; } jsx_readString(quote) { let out = "", chunkStart = ++this.pos; for (; ; ) { if (this.pos >= this.input.length) this.raise(this.start, "Unterminated string constant"); let ch = this.input.charCodeAt(this.pos); if (ch === quote) break; if (ch === 38) { out += this.input.slice(chunkStart, this.pos); out += this.jsx_readEntity(); chunkStart = this.pos; } else if (isNewLine3(ch)) { out += this.input.slice(chunkStart, this.pos); out += this.jsx_readNewLine(false); chunkStart = this.pos; } else { ++this.pos; } } out += this.input.slice(chunkStart, this.pos++); return this.finishToken(tt.string, out); } jsx_readEntity() { let str = "", count = 0, entity; let ch = this.input[this.pos]; if (ch !== "&") this.raise(this.pos, "Entity must start with an ampersand"); let startPos = ++this.pos; while (this.pos < this.input.length && count++ < 10) { ch = this.input[this.pos++]; if (ch === ";") { if (str[0] === "#") { if (str[1] === "x") { str = str.substr(2); if (hexNumber.test(str)) entity = String.fromCharCode(parseInt(str, 16)); } else { str = str.substr(1); if (decimalNumber.test(str)) entity = String.fromCharCode(parseInt(str, 10)); } } else { entity = XHTMLEntities[str]; } break; } str += ch; } if (!entity) { this.pos = startPos; return "&"; } return entity; } // Read a JSX identifier (valid tag or attribute name). // // Optimized version since JSX identifiers can't contain // escape characters and so can be read as single slice. // Also assumes that first character was already checked // by isIdentifierStart in readToken. jsx_readWord() { let ch, start3 = this.pos; do { ch = this.input.charCodeAt(++this.pos); } while (isIdentifierChar3(ch) || ch === 45); return this.finishToken(tok.jsxName, this.input.slice(start3, this.pos)); } // Parse next token as JSX identifier jsx_parseIdentifier() { let node2 = this.startNode(); if (this.type === tok.jsxName) node2.name = this.value; else if (this.type.keyword) node2.name = this.type.keyword; else this.unexpected(); this.next(); return this.finishNode(node2, "JSXIdentifier"); } // Parse namespaced identifier. jsx_parseNamespacedName() { let startPos = this.start, startLoc = this.startLoc; let name2 = this.jsx_parseIdentifier(); if (!options.allowNamespaces || !this.eat(tt.colon)) return name2; var node2 = this.startNodeAt(startPos, startLoc); node2.namespace = name2; node2.name = this.jsx_parseIdentifier(); return this.finishNode(node2, "JSXNamespacedName"); } // Parses element name in any form - namespaced, member // or single identifier. jsx_parseElementName() { if (this.type === tok.jsxTagEnd) return ""; let startPos = this.start, startLoc = this.startLoc; let node2 = this.jsx_parseNamespacedName(); if (this.type === tt.dot && node2.type === "JSXNamespacedName" && !options.allowNamespacedObjects) { this.unexpected(); } while (this.eat(tt.dot)) { let newNode = this.startNodeAt(startPos, startLoc); newNode.object = node2; newNode.property = this.jsx_parseIdentifier(); node2 = this.finishNode(newNode, "JSXMemberExpression"); } return node2; } // Parses any type of JSX attribute value. jsx_parseAttributeValue() { switch (this.type) { case tt.braceL: let node2 = this.jsx_parseExpressionContainer(); if (node2.expression.type === "JSXEmptyExpression") this.raise(node2.start, "JSX attributes must only be assigned a non-empty expression"); return node2; case tok.jsxTagStart: case tt.string: return this.parseExprAtom(); default: this.raise(this.start, "JSX value should be either an expression or a quoted JSX text"); } } // JSXEmptyExpression is unique type since it doesn't actually parse anything, // and so it should start at the end of last read token (left brace) and finish // at the beginning of the next one (right brace). jsx_parseEmptyExpression() { let node2 = this.startNodeAt(this.lastTokEnd, this.lastTokEndLoc); return this.finishNodeAt(node2, "JSXEmptyExpression", this.start, this.startLoc); } // Parses JSX expression enclosed into curly brackets. jsx_parseExpressionContainer() { let node2 = this.startNode(); this.next(); node2.expression = this.type === tt.braceR ? this.jsx_parseEmptyExpression() : this.parseExpression(); this.expect(tt.braceR); return this.finishNode(node2, "JSXExpressionContainer"); } // Parses following JSX attribute name-value pair. jsx_parseAttribute() { let node2 = this.startNode(); if (this.eat(tt.braceL)) { this.expect(tt.ellipsis); node2.argument = this.parseMaybeAssign(); this.expect(tt.braceR); return this.finishNode(node2, "JSXSpreadAttribute"); } node2.name = this.jsx_parseNamespacedName(); node2.value = this.eat(tt.eq) ? this.jsx_parseAttributeValue() : null; return this.finishNode(node2, "JSXAttribute"); } // Parses JSX opening tag starting after '<'. jsx_parseOpeningElementAt(startPos, startLoc) { let node2 = this.startNodeAt(startPos, startLoc); node2.attributes = []; let nodeName = this.jsx_parseElementName(); if (nodeName) node2.name = nodeName; while (this.type !== tt.slash && this.type !== tok.jsxTagEnd) node2.attributes.push(this.jsx_parseAttribute()); node2.selfClosing = this.eat(tt.slash); this.expect(tok.jsxTagEnd); return this.finishNode(node2, nodeName ? "JSXOpeningElement" : "JSXOpeningFragment"); } // Parses JSX closing tag starting after '" ); } } let fragmentOrElement = openingElement.name ? "Element" : "Fragment"; node2["opening" + fragmentOrElement] = openingElement; node2["closing" + fragmentOrElement] = closingElement; node2.children = children; if (this.type === tt.relational && this.value === "<") { this.raise(this.start, "Adjacent JSX elements must be wrapped in an enclosing tag"); } return this.finishNode(node2, "JSX" + fragmentOrElement); } // Parse JSX text jsx_parseText() { let node2 = this.parseLiteral(this.value); node2.type = "JSXText"; return node2; } // Parses entire JSX element from current position. jsx_parseElement() { let startPos = this.start, startLoc = this.startLoc; this.next(); return this.jsx_parseElementAt(startPos, startLoc); } parseExprAtom(refShortHandDefaultPos) { if (this.type === tok.jsxText) return this.jsx_parseText(); else if (this.type === tok.jsxTagStart) return this.jsx_parseElement(); else return super.parseExprAtom(refShortHandDefaultPos); } readToken(code2) { let context = this.curContext(); if (context === tc_expr) return this.jsx_readToken(); if (context === tc_oTag || context === tc_cTag) { if (isIdentifierStart3(code2)) return this.jsx_readWord(); if (code2 == 62) { ++this.pos; return this.finishToken(tok.jsxTagEnd); } if ((code2 === 34 || code2 === 39) && context == tc_oTag) return this.jsx_readString(code2); } if (code2 === 60 && this.exprAllowed && this.input.charCodeAt(this.pos + 1) !== 33) { ++this.pos; return this.finishToken(tok.jsxTagStart); } return super.readToken(code2); } updateContext(prevType) { if (this.type == tt.braceL) { var curContext = this.curContext(); if (curContext == tc_oTag) this.context.push(tokContexts.b_expr); else if (curContext == tc_expr) this.context.push(tokContexts.b_tmpl); else super.updateContext(prevType); this.exprAllowed = true; } else if (this.type === tt.slash && prevType === tok.jsxTagStart) { this.context.length -= 2; this.context.push(tc_cTag); this.exprAllowed = false; } else { return super.updateContext(prevType); } } }; } } }); // node_modules/inline-style-parser/index.js var require_inline_style_parser = __commonJS({ "node_modules/inline-style-parser/index.js"(exports, module2) { var COMMENT_REGEX = /\/\*[^*]*\*+([^/*][^*]*\*+)*\//g; var NEWLINE_REGEX = /\n/g; var WHITESPACE_REGEX = /^\s*/; var PROPERTY_REGEX = /^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/; var COLON_REGEX = /^:\s*/; var VALUE_REGEX = /^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/; var SEMICOLON_REGEX = /^[;\s]*/; var TRIM_REGEX = /^\s+|\s+$/g; var NEWLINE = "\n"; var FORWARD_SLASH = "/"; var ASTERISK = "*"; var EMPTY_STRING = ""; var TYPE_COMMENT = "comment"; var TYPE_DECLARATION = "declaration"; module2.exports = function(style, options) { if (typeof style !== "string") { throw new TypeError("First argument must be a string"); } if (!style) return []; options = options || {}; var lineno = 1; var column2 = 1; function updatePosition(str) { var lines = str.match(NEWLINE_REGEX); if (lines) lineno += lines.length; var i = str.lastIndexOf(NEWLINE); column2 = ~i ? str.length - i : column2 + str.length; } function position3() { var start3 = { line: lineno, column: column2 }; return function(node2) { node2.position = new Position5(start3); whitespace2(); return node2; }; } function Position5(start3) { this.start = start3; this.end = { line: lineno, column: column2 }; this.source = options.source; } Position5.prototype.content = style; var errorsList = []; function error(msg) { var err = new Error( options.source + ":" + lineno + ":" + column2 + ": " + msg ); err.reason = msg; err.filename = options.source; err.line = lineno; err.column = column2; err.source = style; if (options.silent) { errorsList.push(err); } else { throw err; } } function match(re) { var m = re.exec(style); if (!m) return; var str = m[0]; updatePosition(str); style = style.slice(str.length); return m; } function whitespace2() { match(WHITESPACE_REGEX); } function comments(rules) { var c2; rules = rules || []; while (c2 = comment2()) { if (c2 !== false) { rules.push(c2); } } return rules; } function comment2() { var pos2 = position3(); if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return; var i = 2; while (EMPTY_STRING != style.charAt(i) && (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))) { ++i; } i += 2; if (EMPTY_STRING === style.charAt(i - 1)) { return error("End of comment missing"); } var str = style.slice(2, i - 2); column2 += 2; updatePosition(str); style = style.slice(i); column2 += 2; return pos2({ type: TYPE_COMMENT, comment: str }); } function declaration() { var pos2 = position3(); var prop = match(PROPERTY_REGEX); if (!prop) return; comment2(); if (!match(COLON_REGEX)) return error("property missing ':'"); var val = match(VALUE_REGEX); var ret = pos2({ type: TYPE_DECLARATION, property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)), value: val ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING)) : EMPTY_STRING }); match(SEMICOLON_REGEX); return ret; } function declarations() { var decls = []; comments(decls); var decl; while (decl = declaration()) { if (decl !== false) { decls.push(decl); comments(decls); } } return decls; } whitespace2(); return declarations(); }; function trim(str) { return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING; } } }); // node_modules/style-to-object/index.js var require_style_to_object = __commonJS({ "node_modules/style-to-object/index.js"(exports, module2) { var parse9 = require_inline_style_parser(); function StyleToObject2(style, iterator) { var output = null; if (!style || typeof style !== "string") { return output; } var declaration; var declarations = parse9(style); var hasIterator = typeof iterator === "function"; var property; var value2; for (var i = 0, len = declarations.length; i < len; i++) { declaration = declarations[i]; property = declaration.property; value2 = declaration.value; if (hasIterator) { iterator(property, value2, declaration); } else if (value2) { output || (output = {}); output[property] = value2; } } return output; } module2.exports = StyleToObject2; module2.exports.default = StyleToObject2; } }); // node_modules/markdown-extensions/markdown-extensions.json var require_markdown_extensions = __commonJS({ "node_modules/markdown-extensions/markdown-extensions.json"(exports, module2) { module2.exports = [ "md", "markdown", "mdown", "mkdn", "mkd", "mdwn", "mkdown", "ron" ]; } }); // node_modules/markdown-extensions/index.js var require_markdown_extensions2 = __commonJS({ "node_modules/markdown-extensions/index.js"(exports, module2) { "use strict"; module2.exports = require_markdown_extensions(); } }); // node_modules/@jridgewell/set-array/dist/set-array.umd.js var require_set_array_umd = __commonJS({ "node_modules/@jridgewell/set-array/dist/set-array.umd.js"(exports, module2) { (function(global2, factory) { typeof exports === "object" && typeof module2 !== "undefined" ? factory(exports) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.setArray = {})); })(exports, function(exports2) { "use strict"; exports2.get = void 0; exports2.put = void 0; exports2.pop = void 0; class SetArray { constructor() { this._indexes = { __proto__: null }; this.array = []; } } (() => { exports2.get = (strarr, key2) => strarr._indexes[key2]; exports2.put = (strarr, key2) => { const index2 = exports2.get(strarr, key2); if (index2 !== void 0) return index2; const { array, _indexes: indexes } = strarr; return indexes[key2] = array.push(key2) - 1; }; exports2.pop = (strarr) => { const { array, _indexes: indexes } = strarr; if (array.length === 0) return; const last = array.pop(); indexes[last] = void 0; }; })(); exports2.SetArray = SetArray; Object.defineProperty(exports2, "__esModule", { value: true }); }); } }); // node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js var require_sourcemap_codec_umd = __commonJS({ "node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js"(exports, module2) { (function(global2, factory) { typeof exports === "object" && typeof module2 !== "undefined" ? factory(exports) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.sourcemapCodec = {})); })(exports, function(exports2) { "use strict"; const comma = ",".charCodeAt(0); const semicolon = ";".charCodeAt(0); const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; const intToChar = new Uint8Array(64); const charToInt = new Uint8Array(128); for (let i = 0; i < chars.length; i++) { const c2 = chars.charCodeAt(i); intToChar[i] = c2; charToInt[c2] = i; } const td = typeof TextDecoder !== "undefined" ? /* @__PURE__ */ new TextDecoder() : typeof Buffer !== "undefined" ? { decode(buf) { const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength); return out.toString(); } } : { decode(buf) { let out = ""; for (let i = 0; i < buf.length; i++) { out += String.fromCharCode(buf[i]); } return out; } }; function decode2(mappings) { const state = new Int32Array(5); const decoded = []; let index2 = 0; do { const semi = indexOf(mappings, index2); const line2 = []; let sorted = true; let lastCol = 0; state[0] = 0; for (let i = index2; i < semi; i++) { let seg; i = decodeInteger(mappings, i, state, 0); const col = state[0]; if (col < lastCol) sorted = false; lastCol = col; if (hasMoreVlq(mappings, i, semi)) { i = decodeInteger(mappings, i, state, 1); i = decodeInteger(mappings, i, state, 2); i = decodeInteger(mappings, i, state, 3); if (hasMoreVlq(mappings, i, semi)) { i = decodeInteger(mappings, i, state, 4); seg = [col, state[1], state[2], state[3], state[4]]; } else { seg = [col, state[1], state[2], state[3]]; } } else { seg = [col]; } line2.push(seg); } if (!sorted) sort(line2); decoded.push(line2); index2 = semi + 1; } while (index2 <= mappings.length); return decoded; } function indexOf(mappings, index2) { const idx = mappings.indexOf(";", index2); return idx === -1 ? mappings.length : idx; } function decodeInteger(mappings, pos2, state, j) { let value2 = 0; let shift = 0; let integer = 0; do { const c2 = mappings.charCodeAt(pos2++); integer = charToInt[c2]; value2 |= (integer & 31) << shift; shift += 5; } while (integer & 32); const shouldNegate = value2 & 1; value2 >>>= 1; if (shouldNegate) { value2 = -2147483648 | -value2; } state[j] += value2; return pos2; } function hasMoreVlq(mappings, i, length) { if (i >= length) return false; return mappings.charCodeAt(i) !== comma; } function sort(line2) { line2.sort(sortComparator); } function sortComparator(a, b) { return a[0] - b[0]; } function encode(decoded) { const state = new Int32Array(5); const bufLength = 1024 * 16; const subLength = bufLength - 36; const buf = new Uint8Array(bufLength); const sub = buf.subarray(0, subLength); let pos2 = 0; let out = ""; for (let i = 0; i < decoded.length; i++) { const line2 = decoded[i]; if (i > 0) { if (pos2 === bufLength) { out += td.decode(buf); pos2 = 0; } buf[pos2++] = semicolon; } if (line2.length === 0) continue; state[0] = 0; for (let j = 0; j < line2.length; j++) { const segment = line2[j]; if (pos2 > subLength) { out += td.decode(sub); buf.copyWithin(0, subLength, pos2); pos2 -= subLength; } if (j > 0) buf[pos2++] = comma; pos2 = encodeInteger(buf, pos2, state, segment, 0); if (segment.length === 1) continue; pos2 = encodeInteger(buf, pos2, state, segment, 1); pos2 = encodeInteger(buf, pos2, state, segment, 2); pos2 = encodeInteger(buf, pos2, state, segment, 3); if (segment.length === 4) continue; pos2 = encodeInteger(buf, pos2, state, segment, 4); } } return out + td.decode(buf.subarray(0, pos2)); } function encodeInteger(buf, pos2, state, segment, j) { const next = segment[j]; let num = next - state[j]; state[j] = next; num = num < 0 ? -num << 1 | 1 : num << 1; do { let clamped = num & 31; num >>>= 5; if (num > 0) clamped |= 32; buf[pos2++] = intToChar[clamped]; } while (num > 0); return pos2; } exports2.decode = decode2; exports2.encode = encode; Object.defineProperty(exports2, "__esModule", { value: true }); }); } }); // node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js var require_sourcemap_codec_umd2 = __commonJS({ "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js"(exports, module2) { (function(global2, factory) { typeof exports === "object" && typeof module2 !== "undefined" ? factory(exports) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.sourcemapCodec = {})); })(exports, function(exports2) { "use strict"; const comma = ",".charCodeAt(0); const semicolon = ";".charCodeAt(0); const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; const intToChar = new Uint8Array(64); const charToInt = new Uint8Array(128); for (let i = 0; i < chars.length; i++) { const c2 = chars.charCodeAt(i); intToChar[i] = c2; charToInt[c2] = i; } const td = typeof TextDecoder !== "undefined" ? /* @__PURE__ */ new TextDecoder() : typeof Buffer !== "undefined" ? { decode(buf) { const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength); return out.toString(); } } : { decode(buf) { let out = ""; for (let i = 0; i < buf.length; i++) { out += String.fromCharCode(buf[i]); } return out; } }; function decode2(mappings) { const state = new Int32Array(5); const decoded = []; let index2 = 0; do { const semi = indexOf(mappings, index2); const line2 = []; let sorted = true; let lastCol = 0; state[0] = 0; for (let i = index2; i < semi; i++) { let seg; i = decodeInteger(mappings, i, state, 0); const col = state[0]; if (col < lastCol) sorted = false; lastCol = col; if (hasMoreVlq(mappings, i, semi)) { i = decodeInteger(mappings, i, state, 1); i = decodeInteger(mappings, i, state, 2); i = decodeInteger(mappings, i, state, 3); if (hasMoreVlq(mappings, i, semi)) { i = decodeInteger(mappings, i, state, 4); seg = [col, state[1], state[2], state[3], state[4]]; } else { seg = [col, state[1], state[2], state[3]]; } } else { seg = [col]; } line2.push(seg); } if (!sorted) sort(line2); decoded.push(line2); index2 = semi + 1; } while (index2 <= mappings.length); return decoded; } function indexOf(mappings, index2) { const idx = mappings.indexOf(";", index2); return idx === -1 ? mappings.length : idx; } function decodeInteger(mappings, pos2, state, j) { let value2 = 0; let shift = 0; let integer = 0; do { const c2 = mappings.charCodeAt(pos2++); integer = charToInt[c2]; value2 |= (integer & 31) << shift; shift += 5; } while (integer & 32); const shouldNegate = value2 & 1; value2 >>>= 1; if (shouldNegate) { value2 = -2147483648 | -value2; } state[j] += value2; return pos2; } function hasMoreVlq(mappings, i, length) { if (i >= length) return false; return mappings.charCodeAt(i) !== comma; } function sort(line2) { line2.sort(sortComparator); } function sortComparator(a, b) { return a[0] - b[0]; } function encode(decoded) { const state = new Int32Array(5); const bufLength = 1024 * 16; const subLength = bufLength - 36; const buf = new Uint8Array(bufLength); const sub = buf.subarray(0, subLength); let pos2 = 0; let out = ""; for (let i = 0; i < decoded.length; i++) { const line2 = decoded[i]; if (i > 0) { if (pos2 === bufLength) { out += td.decode(buf); pos2 = 0; } buf[pos2++] = semicolon; } if (line2.length === 0) continue; state[0] = 0; for (let j = 0; j < line2.length; j++) { const segment = line2[j]; if (pos2 > subLength) { out += td.decode(sub); buf.copyWithin(0, subLength, pos2); pos2 -= subLength; } if (j > 0) buf[pos2++] = comma; pos2 = encodeInteger(buf, pos2, state, segment, 0); if (segment.length === 1) continue; pos2 = encodeInteger(buf, pos2, state, segment, 1); pos2 = encodeInteger(buf, pos2, state, segment, 2); pos2 = encodeInteger(buf, pos2, state, segment, 3); if (segment.length === 4) continue; pos2 = encodeInteger(buf, pos2, state, segment, 4); } } return out + td.decode(buf.subarray(0, pos2)); } function encodeInteger(buf, pos2, state, segment, j) { const next = segment[j]; let num = next - state[j]; state[j] = next; num = num < 0 ? -num << 1 | 1 : num << 1; do { let clamped = num & 31; num >>>= 5; if (num > 0) clamped |= 32; buf[pos2++] = intToChar[clamped]; } while (num > 0); return pos2; } exports2.decode = decode2; exports2.encode = encode; Object.defineProperty(exports2, "__esModule", { value: true }); }); } }); // node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js var require_resolve_uri_umd = __commonJS({ "node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js"(exports, module2) { (function(global2, factory) { typeof exports === "object" && typeof module2 !== "undefined" ? module2.exports = factory() : typeof define === "function" && define.amd ? define(factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, global2.resolveURI = factory()); })(exports, function() { "use strict"; const schemeRegex = /^[\w+.-]+:\/\//; const urlRegex = /^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/; const fileRegex = /^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i; var UrlType; (function(UrlType2) { UrlType2[UrlType2["Empty"] = 1] = "Empty"; UrlType2[UrlType2["Hash"] = 2] = "Hash"; UrlType2[UrlType2["Query"] = 3] = "Query"; UrlType2[UrlType2["RelativePath"] = 4] = "RelativePath"; UrlType2[UrlType2["AbsolutePath"] = 5] = "AbsolutePath"; UrlType2[UrlType2["SchemeRelative"] = 6] = "SchemeRelative"; UrlType2[UrlType2["Absolute"] = 7] = "Absolute"; })(UrlType || (UrlType = {})); function isAbsoluteUrl(input) { return schemeRegex.test(input); } function isSchemeRelativeUrl(input) { return input.startsWith("//"); } function isAbsolutePath(input) { return input.startsWith("/"); } function isFileUrl(input) { return input.startsWith("file:"); } function isRelative(input) { return /^[.?#]/.test(input); } function parseAbsoluteUrl(input) { const match = urlRegex.exec(input); return makeUrl(match[1], match[2] || "", match[3], match[4] || "", match[5] || "/", match[6] || "", match[7] || ""); } function parseFileUrl(input) { const match = fileRegex.exec(input); const path = match[2]; return makeUrl("file:", "", match[1] || "", "", isAbsolutePath(path) ? path : "/" + path, match[3] || "", match[4] || ""); } function makeUrl(scheme, user, host, port, path, query, hash) { return { scheme, user, host, port, path, query, hash, type: UrlType.Absolute }; } function parseUrl(input) { if (isSchemeRelativeUrl(input)) { const url2 = parseAbsoluteUrl("http:" + input); url2.scheme = ""; url2.type = UrlType.SchemeRelative; return url2; } if (isAbsolutePath(input)) { const url2 = parseAbsoluteUrl("http://foo.com" + input); url2.scheme = ""; url2.host = ""; url2.type = UrlType.AbsolutePath; return url2; } if (isFileUrl(input)) return parseFileUrl(input); if (isAbsoluteUrl(input)) return parseAbsoluteUrl(input); const url = parseAbsoluteUrl("http://foo.com/" + input); url.scheme = ""; url.host = ""; url.type = input ? input.startsWith("?") ? UrlType.Query : input.startsWith("#") ? UrlType.Hash : UrlType.RelativePath : UrlType.Empty; return url; } function stripPathFilename(path) { if (path.endsWith("/..")) return path; const index2 = path.lastIndexOf("/"); return path.slice(0, index2 + 1); } function mergePaths(url, base2) { normalizePath(base2, base2.type); if (url.path === "/") { url.path = base2.path; } else { url.path = stripPathFilename(base2.path) + url.path; } } function normalizePath(url, type) { const rel = type <= UrlType.RelativePath; const pieces = url.path.split("/"); let pointer = 1; let positive = 0; let addTrailingSlash = false; for (let i = 1; i < pieces.length; i++) { const piece = pieces[i]; if (!piece) { addTrailingSlash = true; continue; } addTrailingSlash = false; if (piece === ".") continue; if (piece === "..") { if (positive) { addTrailingSlash = true; positive--; pointer--; } else if (rel) { pieces[pointer++] = piece; } continue; } pieces[pointer++] = piece; positive++; } let path = ""; for (let i = 1; i < pointer; i++) { path += "/" + pieces[i]; } if (!path || addTrailingSlash && !path.endsWith("/..")) { path += "/"; } url.path = path; } function resolve(input, base2) { if (!input && !base2) return ""; const url = parseUrl(input); let inputType = url.type; if (base2 && inputType !== UrlType.Absolute) { const baseUrl = parseUrl(base2); const baseType = baseUrl.type; switch (inputType) { case UrlType.Empty: url.hash = baseUrl.hash; case UrlType.Hash: url.query = baseUrl.query; case UrlType.Query: case UrlType.RelativePath: mergePaths(url, baseUrl); case UrlType.AbsolutePath: url.user = baseUrl.user; url.host = baseUrl.host; url.port = baseUrl.port; case UrlType.SchemeRelative: url.scheme = baseUrl.scheme; } if (baseType > inputType) inputType = baseType; } normalizePath(url, inputType); const queryHash = url.query + url.hash; switch (inputType) { case UrlType.Hash: case UrlType.Query: return queryHash; case UrlType.RelativePath: { const path = url.path.slice(1); if (!path) return queryHash || "."; if (isRelative(base2 || input) && !isRelative(path)) { return "./" + path + queryHash; } return path + queryHash; } case UrlType.AbsolutePath: return url.path + queryHash; default: return url.scheme + "//" + url.user + url.host + url.port + url.path + queryHash; } } return resolve; }); } }); // node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js var require_trace_mapping_umd = __commonJS({ "node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js"(exports, module2) { (function(global2, factory) { typeof exports === "object" && typeof module2 !== "undefined" ? factory(exports, require_sourcemap_codec_umd2(), require_resolve_uri_umd()) : typeof define === "function" && define.amd ? define(["exports", "@jridgewell/sourcemap-codec", "@jridgewell/resolve-uri"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.traceMapping = {}, global2.sourcemapCodec, global2.resolveURI)); })(exports, function(exports2, sourcemapCodec, resolveUri) { "use strict"; function _interopDefaultLegacy(e) { return e && typeof e === "object" && "default" in e ? e : { "default": e }; } var resolveUri__default = /* @__PURE__ */ _interopDefaultLegacy(resolveUri); function resolve(input, base2) { if (base2 && !base2.endsWith("/")) base2 += "/"; return resolveUri__default["default"](input, base2); } function stripFilename(path) { if (!path) return ""; const index2 = path.lastIndexOf("/"); return path.slice(0, index2 + 1); } const COLUMN = 0; const SOURCES_INDEX = 1; const SOURCE_LINE = 2; const SOURCE_COLUMN = 3; const NAMES_INDEX = 4; const REV_GENERATED_LINE = 1; const REV_GENERATED_COLUMN = 2; function maybeSort(mappings, owned) { const unsortedIndex = nextUnsortedSegmentLine(mappings, 0); if (unsortedIndex === mappings.length) return mappings; if (!owned) mappings = mappings.slice(); for (let i = unsortedIndex; i < mappings.length; i = nextUnsortedSegmentLine(mappings, i + 1)) { mappings[i] = sortSegments(mappings[i], owned); } return mappings; } function nextUnsortedSegmentLine(mappings, start3) { for (let i = start3; i < mappings.length; i++) { if (!isSorted(mappings[i])) return i; } return mappings.length; } function isSorted(line2) { for (let j = 1; j < line2.length; j++) { if (line2[j][COLUMN] < line2[j - 1][COLUMN]) { return false; } } return true; } function sortSegments(line2, owned) { if (!owned) line2 = line2.slice(); return line2.sort(sortComparator); } function sortComparator(a, b) { return a[COLUMN] - b[COLUMN]; } let found = false; function binarySearch(haystack, needle, low, high) { while (low <= high) { const mid = low + (high - low >> 1); const cmp = haystack[mid][COLUMN] - needle; if (cmp === 0) { found = true; return mid; } if (cmp < 0) { low = mid + 1; } else { high = mid - 1; } } found = false; return low - 1; } function upperBound(haystack, needle, index2) { for (let i = index2 + 1; i < haystack.length; index2 = i++) { if (haystack[i][COLUMN] !== needle) break; } return index2; } function lowerBound(haystack, needle, index2) { for (let i = index2 - 1; i >= 0; index2 = i--) { if (haystack[i][COLUMN] !== needle) break; } return index2; } function memoizedState() { return { lastKey: -1, lastNeedle: -1, lastIndex: -1 }; } function memoizedBinarySearch(haystack, needle, state, key2) { const { lastKey, lastNeedle, lastIndex } = state; let low = 0; let high = haystack.length - 1; if (key2 === lastKey) { if (needle === lastNeedle) { found = lastIndex !== -1 && haystack[lastIndex][COLUMN] === needle; return lastIndex; } if (needle >= lastNeedle) { low = lastIndex === -1 ? 0 : lastIndex; } else { high = lastIndex; } } state.lastKey = key2; state.lastNeedle = needle; return state.lastIndex = binarySearch(haystack, needle, low, high); } function buildBySources(decoded, memos) { const sources = memos.map(buildNullArray); for (let i = 0; i < decoded.length; i++) { const line2 = decoded[i]; for (let j = 0; j < line2.length; j++) { const seg = line2[j]; if (seg.length === 1) continue; const sourceIndex = seg[SOURCES_INDEX]; const sourceLine = seg[SOURCE_LINE]; const sourceColumn = seg[SOURCE_COLUMN]; const originalSource = sources[sourceIndex]; const originalLine = originalSource[sourceLine] || (originalSource[sourceLine] = []); const memo = memos[sourceIndex]; const index2 = upperBound(originalLine, sourceColumn, memoizedBinarySearch(originalLine, sourceColumn, memo, sourceLine)); insert(originalLine, memo.lastIndex = index2 + 1, [sourceColumn, i, seg[COLUMN]]); } } return sources; } function insert(array, index2, value2) { for (let i = array.length; i > index2; i--) { array[i] = array[i - 1]; } array[index2] = value2; } function buildNullArray() { return { __proto__: null }; } const AnyMap = function(map, mapUrl) { const parsed = typeof map === "string" ? JSON.parse(map) : map; if (!("sections" in parsed)) return new TraceMap(parsed, mapUrl); const mappings = []; const sources = []; const sourcesContent = []; const names = []; recurse(parsed, mapUrl, mappings, sources, sourcesContent, names, 0, 0, Infinity, Infinity); const joined = { version: 3, file: parsed.file, names, sources, sourcesContent, mappings }; return exports2.presortedDecodedMap(joined); }; function recurse(input, mapUrl, mappings, sources, sourcesContent, names, lineOffset, columnOffset, stopLine, stopColumn) { const { sections } = input; for (let i = 0; i < sections.length; i++) { const { map, offset: offset3 } = sections[i]; let sl = stopLine; let sc = stopColumn; if (i + 1 < sections.length) { const nextOffset = sections[i + 1].offset; sl = Math.min(stopLine, lineOffset + nextOffset.line); if (sl === stopLine) { sc = Math.min(stopColumn, columnOffset + nextOffset.column); } else if (sl < stopLine) { sc = columnOffset + nextOffset.column; } } addSection(map, mapUrl, mappings, sources, sourcesContent, names, lineOffset + offset3.line, columnOffset + offset3.column, sl, sc); } } function addSection(input, mapUrl, mappings, sources, sourcesContent, names, lineOffset, columnOffset, stopLine, stopColumn) { if ("sections" in input) return recurse(...arguments); const map = new TraceMap(input, mapUrl); const sourcesOffset = sources.length; const namesOffset = names.length; const decoded = exports2.decodedMappings(map); const { resolvedSources, sourcesContent: contents } = map; append(sources, resolvedSources); append(names, map.names); if (contents) append(sourcesContent, contents); else for (let i = 0; i < resolvedSources.length; i++) sourcesContent.push(null); for (let i = 0; i < decoded.length; i++) { const lineI = lineOffset + i; if (lineI > stopLine) return; const out = getLine(mappings, lineI); const cOffset = i === 0 ? columnOffset : 0; const line2 = decoded[i]; for (let j = 0; j < line2.length; j++) { const seg = line2[j]; const column2 = cOffset + seg[COLUMN]; if (lineI === stopLine && column2 >= stopColumn) return; if (seg.length === 1) { out.push([column2]); continue; } const sourcesIndex = sourcesOffset + seg[SOURCES_INDEX]; const sourceLine = seg[SOURCE_LINE]; const sourceColumn = seg[SOURCE_COLUMN]; out.push(seg.length === 4 ? [column2, sourcesIndex, sourceLine, sourceColumn] : [column2, sourcesIndex, sourceLine, sourceColumn, namesOffset + seg[NAMES_INDEX]]); } } } function append(arr, other) { for (let i = 0; i < other.length; i++) arr.push(other[i]); } function getLine(arr, index2) { for (let i = arr.length; i <= index2; i++) arr[i] = []; return arr[index2]; } const LINE_GTR_ZERO = "`line` must be greater than 0 (lines start at line 1)"; const COL_GTR_EQ_ZERO = "`column` must be greater than or equal to 0 (columns start at column 0)"; const LEAST_UPPER_BOUND = -1; const GREATEST_LOWER_BOUND = 1; exports2.encodedMappings = void 0; exports2.decodedMappings = void 0; exports2.traceSegment = void 0; exports2.originalPositionFor = void 0; exports2.generatedPositionFor = void 0; exports2.allGeneratedPositionsFor = void 0; exports2.eachMapping = void 0; exports2.sourceContentFor = void 0; exports2.presortedDecodedMap = void 0; exports2.decodedMap = void 0; exports2.encodedMap = void 0; class TraceMap { constructor(map, mapUrl) { const isString = typeof map === "string"; if (!isString && map._decodedMemo) return map; const parsed = isString ? JSON.parse(map) : map; const { version: version3, file, names, sourceRoot, sources, sourcesContent } = parsed; this.version = version3; this.file = file; this.names = names; this.sourceRoot = sourceRoot; this.sources = sources; this.sourcesContent = sourcesContent; const from = resolve(sourceRoot || "", stripFilename(mapUrl)); this.resolvedSources = sources.map((s) => resolve(s || "", from)); const { mappings } = parsed; if (typeof mappings === "string") { this._encoded = mappings; this._decoded = void 0; } else { this._encoded = void 0; this._decoded = maybeSort(mappings, isString); } this._decodedMemo = memoizedState(); this._bySources = void 0; this._bySourceMemos = void 0; } } (() => { exports2.encodedMappings = (map) => { var _a; return (_a = map._encoded) !== null && _a !== void 0 ? _a : map._encoded = sourcemapCodec.encode(map._decoded); }; exports2.decodedMappings = (map) => { return map._decoded || (map._decoded = sourcemapCodec.decode(map._encoded)); }; exports2.traceSegment = (map, line2, column2) => { const decoded = exports2.decodedMappings(map); if (line2 >= decoded.length) return null; const segments = decoded[line2]; const index2 = traceSegmentInternal(segments, map._decodedMemo, line2, column2, GREATEST_LOWER_BOUND); return index2 === -1 ? null : segments[index2]; }; exports2.originalPositionFor = (map, { line: line2, column: column2, bias }) => { line2--; if (line2 < 0) throw new Error(LINE_GTR_ZERO); if (column2 < 0) throw new Error(COL_GTR_EQ_ZERO); const decoded = exports2.decodedMappings(map); if (line2 >= decoded.length) return OMapping(null, null, null, null); const segments = decoded[line2]; const index2 = traceSegmentInternal(segments, map._decodedMemo, line2, column2, bias || GREATEST_LOWER_BOUND); if (index2 === -1) return OMapping(null, null, null, null); const segment = segments[index2]; if (segment.length === 1) return OMapping(null, null, null, null); const { names, resolvedSources } = map; return OMapping(resolvedSources[segment[SOURCES_INDEX]], segment[SOURCE_LINE] + 1, segment[SOURCE_COLUMN], segment.length === 5 ? names[segment[NAMES_INDEX]] : null); }; exports2.allGeneratedPositionsFor = (map, { source: source2, line: line2, column: column2, bias }) => { return generatedPosition(map, source2, line2, column2, bias || LEAST_UPPER_BOUND, true); }; exports2.generatedPositionFor = (map, { source: source2, line: line2, column: column2, bias }) => { return generatedPosition(map, source2, line2, column2, bias || GREATEST_LOWER_BOUND, false); }; exports2.eachMapping = (map, cb) => { const decoded = exports2.decodedMappings(map); const { names, resolvedSources } = map; for (let i = 0; i < decoded.length; i++) { const line2 = decoded[i]; for (let j = 0; j < line2.length; j++) { const seg = line2[j]; const generatedLine = i + 1; const generatedColumn = seg[0]; let source2 = null; let originalLine = null; let originalColumn = null; let name2 = null; if (seg.length !== 1) { source2 = resolvedSources[seg[1]]; originalLine = seg[2] + 1; originalColumn = seg[3]; } if (seg.length === 5) name2 = names[seg[4]]; cb({ generatedLine, generatedColumn, source: source2, originalLine, originalColumn, name: name2 }); } } }; exports2.sourceContentFor = (map, source2) => { const { sources, resolvedSources, sourcesContent } = map; if (sourcesContent == null) return null; let index2 = sources.indexOf(source2); if (index2 === -1) index2 = resolvedSources.indexOf(source2); return index2 === -1 ? null : sourcesContent[index2]; }; exports2.presortedDecodedMap = (map, mapUrl) => { const tracer = new TraceMap(clone(map, []), mapUrl); tracer._decoded = map.mappings; return tracer; }; exports2.decodedMap = (map) => { return clone(map, exports2.decodedMappings(map)); }; exports2.encodedMap = (map) => { return clone(map, exports2.encodedMappings(map)); }; function generatedPosition(map, source2, line2, column2, bias, all4) { line2--; if (line2 < 0) throw new Error(LINE_GTR_ZERO); if (column2 < 0) throw new Error(COL_GTR_EQ_ZERO); const { sources, resolvedSources } = map; let sourceIndex = sources.indexOf(source2); if (sourceIndex === -1) sourceIndex = resolvedSources.indexOf(source2); if (sourceIndex === -1) return all4 ? [] : GMapping(null, null); const generated2 = map._bySources || (map._bySources = buildBySources(exports2.decodedMappings(map), map._bySourceMemos = sources.map(memoizedState))); const segments = generated2[sourceIndex][line2]; if (segments == null) return all4 ? [] : GMapping(null, null); const memo = map._bySourceMemos[sourceIndex]; if (all4) return sliceGeneratedPositions(segments, memo, line2, column2, bias); const index2 = traceSegmentInternal(segments, memo, line2, column2, bias); if (index2 === -1) return GMapping(null, null); const segment = segments[index2]; return GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN]); } })(); function clone(map, mappings) { return { version: map.version, file: map.file, names: map.names, sourceRoot: map.sourceRoot, sources: map.sources, sourcesContent: map.sourcesContent, mappings }; } function OMapping(source2, line2, column2, name2) { return { source: source2, line: line2, column: column2, name: name2 }; } function GMapping(line2, column2) { return { line: line2, column: column2 }; } function traceSegmentInternal(segments, memo, line2, column2, bias) { let index2 = memoizedBinarySearch(segments, column2, memo, line2); if (found) { index2 = (bias === LEAST_UPPER_BOUND ? upperBound : lowerBound)(segments, column2, index2); } else if (bias === LEAST_UPPER_BOUND) index2++; if (index2 === -1 || index2 === segments.length) return -1; return index2; } function sliceGeneratedPositions(segments, memo, line2, column2, bias) { let min = traceSegmentInternal(segments, memo, line2, column2, GREATEST_LOWER_BOUND); if (!found && bias === LEAST_UPPER_BOUND) min++; if (min === -1 || min === segments.length) return []; const matchedColumn = found ? column2 : segments[min][COLUMN]; if (!found) min = lowerBound(segments, matchedColumn, min); const max = upperBound(segments, matchedColumn, min); const result = []; for (; min <= max; min++) { const segment = segments[min]; result.push(GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN])); } return result; } exports2.AnyMap = AnyMap; exports2.GREATEST_LOWER_BOUND = GREATEST_LOWER_BOUND; exports2.LEAST_UPPER_BOUND = LEAST_UPPER_BOUND; exports2.TraceMap = TraceMap; Object.defineProperty(exports2, "__esModule", { value: true }); }); } }); // node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js var require_gen_mapping_umd = __commonJS({ "node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js"(exports, module2) { (function(global2, factory) { typeof exports === "object" && typeof module2 !== "undefined" ? factory(exports, require_set_array_umd(), require_sourcemap_codec_umd(), require_trace_mapping_umd()) : typeof define === "function" && define.amd ? define(["exports", "@jridgewell/set-array", "@jridgewell/sourcemap-codec", "@jridgewell/trace-mapping"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.genMapping = {}, global2.setArray, global2.sourcemapCodec, global2.traceMapping)); })(exports, function(exports2, setArray, sourcemapCodec, traceMapping) { "use strict"; const COLUMN = 0; const SOURCES_INDEX = 1; const SOURCE_LINE = 2; const SOURCE_COLUMN = 3; const NAMES_INDEX = 4; const NO_NAME = -1; exports2.addSegment = void 0; exports2.addMapping = void 0; exports2.maybeAddSegment = void 0; exports2.maybeAddMapping = void 0; exports2.setSourceContent = void 0; exports2.toDecodedMap = void 0; exports2.toEncodedMap = void 0; exports2.fromMap = void 0; exports2.allMappings = void 0; let addSegmentInternal; class GenMapping { constructor({ file, sourceRoot } = {}) { this._names = new setArray.SetArray(); this._sources = new setArray.SetArray(); this._sourcesContent = []; this._mappings = []; this.file = file; this.sourceRoot = sourceRoot; } } (() => { exports2.addSegment = (map, genLine, genColumn, source2, sourceLine, sourceColumn, name2, content3) => { return addSegmentInternal(false, map, genLine, genColumn, source2, sourceLine, sourceColumn, name2, content3); }; exports2.maybeAddSegment = (map, genLine, genColumn, source2, sourceLine, sourceColumn, name2, content3) => { return addSegmentInternal(true, map, genLine, genColumn, source2, sourceLine, sourceColumn, name2, content3); }; exports2.addMapping = (map, mapping) => { return addMappingInternal(false, map, mapping); }; exports2.maybeAddMapping = (map, mapping) => { return addMappingInternal(true, map, mapping); }; exports2.setSourceContent = (map, source2, content3) => { const { _sources: sources, _sourcesContent: sourcesContent } = map; sourcesContent[setArray.put(sources, source2)] = content3; }; exports2.toDecodedMap = (map) => { const { file, sourceRoot, _mappings: mappings, _sources: sources, _sourcesContent: sourcesContent, _names: names } = map; removeEmptyFinalLines(mappings); return { version: 3, file: file || void 0, names: names.array, sourceRoot: sourceRoot || void 0, sources: sources.array, sourcesContent, mappings }; }; exports2.toEncodedMap = (map) => { const decoded = exports2.toDecodedMap(map); return Object.assign(Object.assign({}, decoded), { mappings: sourcemapCodec.encode(decoded.mappings) }); }; exports2.allMappings = (map) => { const out = []; const { _mappings: mappings, _sources: sources, _names: names } = map; for (let i = 0; i < mappings.length; i++) { const line2 = mappings[i]; for (let j = 0; j < line2.length; j++) { const seg = line2[j]; const generated2 = { line: i + 1, column: seg[COLUMN] }; let source2 = void 0; let original = void 0; let name2 = void 0; if (seg.length !== 1) { source2 = sources.array[seg[SOURCES_INDEX]]; original = { line: seg[SOURCE_LINE] + 1, column: seg[SOURCE_COLUMN] }; if (seg.length === 5) name2 = names.array[seg[NAMES_INDEX]]; } out.push({ generated: generated2, source: source2, original, name: name2 }); } } return out; }; exports2.fromMap = (input) => { const map = new traceMapping.TraceMap(input); const gen = new GenMapping({ file: map.file, sourceRoot: map.sourceRoot }); putAll(gen._names, map.names); putAll(gen._sources, map.sources); gen._sourcesContent = map.sourcesContent || map.sources.map(() => null); gen._mappings = traceMapping.decodedMappings(map); return gen; }; addSegmentInternal = (skipable, map, genLine, genColumn, source2, sourceLine, sourceColumn, name2, content3) => { const { _mappings: mappings, _sources: sources, _sourcesContent: sourcesContent, _names: names } = map; const line2 = getLine(mappings, genLine); const index2 = getColumnIndex(line2, genColumn); if (!source2) { if (skipable && skipSourceless(line2, index2)) return; return insert(line2, index2, [genColumn]); } const sourcesIndex = setArray.put(sources, source2); const namesIndex = name2 ? setArray.put(names, name2) : NO_NAME; if (sourcesIndex === sourcesContent.length) sourcesContent[sourcesIndex] = content3 !== null && content3 !== void 0 ? content3 : null; if (skipable && skipSource(line2, index2, sourcesIndex, sourceLine, sourceColumn, namesIndex)) { return; } return insert(line2, index2, name2 ? [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex] : [genColumn, sourcesIndex, sourceLine, sourceColumn]); }; })(); function getLine(mappings, index2) { for (let i = mappings.length; i <= index2; i++) { mappings[i] = []; } return mappings[index2]; } function getColumnIndex(line2, genColumn) { let index2 = line2.length; for (let i = index2 - 1; i >= 0; index2 = i--) { const current3 = line2[i]; if (genColumn >= current3[COLUMN]) break; } return index2; } function insert(array, index2, value2) { for (let i = array.length; i > index2; i--) { array[i] = array[i - 1]; } array[index2] = value2; } function removeEmptyFinalLines(mappings) { const { length } = mappings; let len = length; for (let i = len - 1; i >= 0; len = i, i--) { if (mappings[i].length > 0) break; } if (len < length) mappings.length = len; } function putAll(strarr, array) { for (let i = 0; i < array.length; i++) setArray.put(strarr, array[i]); } function skipSourceless(line2, index2) { if (index2 === 0) return true; const prev = line2[index2 - 1]; return prev.length === 1; } function skipSource(line2, index2, sourcesIndex, sourceLine, sourceColumn, namesIndex) { if (index2 === 0) return false; const prev = line2[index2 - 1]; if (prev.length === 1) return false; return sourcesIndex === prev[SOURCES_INDEX] && sourceLine === prev[SOURCE_LINE] && sourceColumn === prev[SOURCE_COLUMN] && namesIndex === (prev.length === 5 ? prev[NAMES_INDEX] : NO_NAME); } function addMappingInternal(skipable, map, mapping) { const { generated: generated2, source: source2, original, name: name2, content: content3 } = mapping; if (!source2) { return addSegmentInternal(skipable, map, generated2.line - 1, generated2.column, null, null, null, null, null); } const s = source2; return addSegmentInternal(skipable, map, generated2.line - 1, generated2.column, s, original.line - 1, original.column, name2, content3); } exports2.GenMapping = GenMapping; Object.defineProperty(exports2, "__esModule", { value: true }); }); } }); // node_modules/@babel/generator/lib/source-map.js var require_source_map = __commonJS({ "node_modules/@babel/generator/lib/source-map.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _genMapping = require_gen_mapping_umd(); var _traceMapping = require_trace_mapping_umd(); var SourceMap = class { constructor(opts, code2) { var _opts$sourceFileName; this._map = void 0; this._rawMappings = void 0; this._sourceFileName = void 0; this._lastGenLine = 0; this._lastSourceLine = 0; this._lastSourceColumn = 0; this._inputMap = void 0; const map = this._map = new _genMapping.GenMapping({ sourceRoot: opts.sourceRoot }); this._sourceFileName = (_opts$sourceFileName = opts.sourceFileName) == null ? void 0 : _opts$sourceFileName.replace(/\\/g, "/"); this._rawMappings = void 0; if (opts.inputSourceMap) { this._inputMap = new _traceMapping.TraceMap(opts.inputSourceMap); const resolvedSources = this._inputMap.resolvedSources; if (resolvedSources.length) { for (let i = 0; i < resolvedSources.length; i++) { var _this$_inputMap$sourc; (0, _genMapping.setSourceContent)(map, resolvedSources[i], (_this$_inputMap$sourc = this._inputMap.sourcesContent) == null ? void 0 : _this$_inputMap$sourc[i]); } } } if (typeof code2 === "string" && !opts.inputSourceMap) { (0, _genMapping.setSourceContent)(map, this._sourceFileName, code2); } else if (typeof code2 === "object") { for (const sourceFileName of Object.keys(code2)) { (0, _genMapping.setSourceContent)(map, sourceFileName.replace(/\\/g, "/"), code2[sourceFileName]); } } } get() { return (0, _genMapping.toEncodedMap)(this._map); } getDecoded() { return (0, _genMapping.toDecodedMap)(this._map); } getRawMappings() { return this._rawMappings || (this._rawMappings = (0, _genMapping.allMappings)(this._map)); } mark(generated2, line2, column2, identifierName, identifierNamePos, filename) { var _originalMapping; this._rawMappings = void 0; let originalMapping; if (line2 != null) { if (this._inputMap) { originalMapping = (0, _traceMapping.originalPositionFor)(this._inputMap, { line: line2, column: column2 }); if (!originalMapping.name && identifierNamePos) { const originalIdentifierMapping = (0, _traceMapping.originalPositionFor)(this._inputMap, identifierNamePos); if (originalIdentifierMapping.name) { identifierName = originalIdentifierMapping.name; } } } else { originalMapping = { source: (filename == null ? void 0 : filename.replace(/\\/g, "/")) || this._sourceFileName, line: line2, column: column2 }; } } (0, _genMapping.maybeAddMapping)(this._map, { name: identifierName, generated: generated2, source: (_originalMapping = originalMapping) == null ? void 0 : _originalMapping.source, original: originalMapping }); } }; exports.default = SourceMap; } }); // node_modules/@babel/generator/lib/buffer.js var require_buffer = __commonJS({ "node_modules/@babel/generator/lib/buffer.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var Buffer2 = class { constructor(map) { this._map = null; this._buf = ""; this._str = ""; this._appendCount = 0; this._last = 0; this._queue = []; this._queueCursor = 0; this._canMarkIdName = true; this._position = { line: 1, column: 0 }; this._sourcePosition = { identifierName: void 0, identifierNamePos: void 0, line: void 0, column: void 0, filename: void 0 }; this._map = map; this._allocQueue(); } _allocQueue() { const queue = this._queue; for (let i = 0; i < 16; i++) { queue.push({ char: 0, repeat: 1, line: void 0, column: void 0, identifierName: void 0, identifierNamePos: void 0, filename: "" }); } } _pushQueue(char, repeat, line2, column2, filename) { const cursor = this._queueCursor; if (cursor === this._queue.length) { this._allocQueue(); } const item = this._queue[cursor]; item.char = char; item.repeat = repeat; item.line = line2; item.column = column2; item.filename = filename; this._queueCursor++; } _popQueue() { if (this._queueCursor === 0) { throw new Error("Cannot pop from empty queue"); } return this._queue[--this._queueCursor]; } get() { this._flush(); const map = this._map; const result = { code: (this._buf + this._str).trimRight(), decodedMap: map == null ? void 0 : map.getDecoded(), get __mergedMap() { return this.map; }, get map() { const resultMap = map ? map.get() : null; result.map = resultMap; return resultMap; }, set map(value2) { Object.defineProperty(result, "map", { value: value2, writable: true }); }, get rawMappings() { const mappings = map == null ? void 0 : map.getRawMappings(); result.rawMappings = mappings; return mappings; }, set rawMappings(value2) { Object.defineProperty(result, "rawMappings", { value: value2, writable: true }); } }; return result; } append(str, maybeNewline) { this._flush(); this._append(str, this._sourcePosition, maybeNewline); } appendChar(char) { this._flush(); this._appendChar(char, 1, this._sourcePosition); } queue(char) { if (char === 10) { while (this._queueCursor !== 0) { const char2 = this._queue[this._queueCursor - 1].char; if (char2 !== 32 && char2 !== 9) { break; } this._queueCursor--; } } const sourcePosition = this._sourcePosition; this._pushQueue(char, 1, sourcePosition.line, sourcePosition.column, sourcePosition.filename); } queueIndentation(char, repeat) { this._pushQueue(char, repeat, void 0, void 0, void 0); } _flush() { const queueCursor = this._queueCursor; const queue = this._queue; for (let i = 0; i < queueCursor; i++) { const item = queue[i]; this._appendChar(item.char, item.repeat, item); } this._queueCursor = 0; } _appendChar(char, repeat, sourcePos) { this._last = char; this._str += repeat > 1 ? String.fromCharCode(char).repeat(repeat) : String.fromCharCode(char); if (char !== 10) { this._mark(sourcePos.line, sourcePos.column, sourcePos.identifierName, sourcePos.identifierNamePos, sourcePos.filename); this._position.column += repeat; } else { this._position.line++; this._position.column = 0; } if (this._canMarkIdName) { sourcePos.identifierName = void 0; sourcePos.identifierNamePos = void 0; } } _append(str, sourcePos, maybeNewline) { const len = str.length; const position3 = this._position; this._last = str.charCodeAt(len - 1); if (++this._appendCount > 4096) { +this._str; this._buf += this._str; this._str = str; this._appendCount = 0; } else { this._str += str; } if (!maybeNewline && !this._map) { position3.column += len; return; } const { column: column2, identifierName, identifierNamePos, filename } = sourcePos; let line2 = sourcePos.line; if ((identifierName != null || identifierNamePos != null) && this._canMarkIdName) { sourcePos.identifierName = void 0; sourcePos.identifierNamePos = void 0; } let i = str.indexOf("\n"); let last = 0; if (i !== 0) { this._mark(line2, column2, identifierName, identifierNamePos, filename); } while (i !== -1) { position3.line++; position3.column = 0; last = i + 1; if (last < len && line2 !== void 0) { this._mark(++line2, 0, null, null, filename); } i = str.indexOf("\n", last); } position3.column += len - last; } _mark(line2, column2, identifierName, identifierNamePos, filename) { var _this$_map; (_this$_map = this._map) == null ? void 0 : _this$_map.mark(this._position, line2, column2, identifierName, identifierNamePos, filename); } removeTrailingNewline() { const queueCursor = this._queueCursor; if (queueCursor !== 0 && this._queue[queueCursor - 1].char === 10) { this._queueCursor--; } } removeLastSemicolon() { const queueCursor = this._queueCursor; if (queueCursor !== 0 && this._queue[queueCursor - 1].char === 59) { this._queueCursor--; } } getLastChar() { const queueCursor = this._queueCursor; return queueCursor !== 0 ? this._queue[queueCursor - 1].char : this._last; } getNewlineCount() { const queueCursor = this._queueCursor; let count = 0; if (queueCursor === 0) return this._last === 10 ? 1 : 0; for (let i = queueCursor - 1; i >= 0; i--) { if (this._queue[i].char !== 10) { break; } count++; } return count === queueCursor && this._last === 10 ? count + 1 : count; } endsWithCharAndNewline() { const queue = this._queue; const queueCursor = this._queueCursor; if (queueCursor !== 0) { const lastCp = queue[queueCursor - 1].char; if (lastCp !== 10) return; if (queueCursor > 1) { return queue[queueCursor - 2].char; } else { return this._last; } } } hasContent() { return this._queueCursor !== 0 || !!this._last; } exactSource(loc, cb) { if (!this._map) { cb(); return; } this.source("start", loc); const identifierName = loc.identifierName; const sourcePos = this._sourcePosition; if (identifierName) { this._canMarkIdName = false; sourcePos.identifierName = identifierName; } cb(); if (identifierName) { this._canMarkIdName = true; sourcePos.identifierName = void 0; sourcePos.identifierNamePos = void 0; } this.source("end", loc); } source(prop, loc) { if (!this._map) return; this._normalizePosition(prop, loc, 0, 0); } sourceWithOffset(prop, loc, lineOffset, columnOffset) { if (!this._map) return; this._normalizePosition(prop, loc, lineOffset, columnOffset); } withSource(prop, loc, cb) { if (this._map) { this.source(prop, loc); } cb(); } _normalizePosition(prop, loc, lineOffset, columnOffset) { const pos2 = loc[prop]; const target = this._sourcePosition; if (pos2) { target.line = pos2.line + lineOffset; target.column = pos2.column + columnOffset; target.filename = loc.filename; } } getCurrentColumn() { const queue = this._queue; const queueCursor = this._queueCursor; let lastIndex = -1; let len = 0; for (let i = 0; i < queueCursor; i++) { const item = queue[i]; if (item.char === 10) { lastIndex = len; } len += item.repeat; } return lastIndex === -1 ? this._position.column + len : len - 1 - lastIndex; } getCurrentLine() { let count = 0; const queue = this._queue; for (let i = 0; i < this._queueCursor; i++) { if (queue[i].char === 10) { count++; } } return this._position.line + count; } }; exports.default = Buffer2; } }); // node_modules/@babel/types/lib/utils/shallowEqual.js var require_shallowEqual = __commonJS({ "node_modules/@babel/types/lib/utils/shallowEqual.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = shallowEqual; function shallowEqual(actual, expected) { const keys2 = Object.keys(expected); for (const key2 of keys2) { if (actual[key2] !== expected[key2]) { return false; } } return true; } } }); // node_modules/@babel/types/lib/utils/deprecationWarning.js var require_deprecationWarning = __commonJS({ "node_modules/@babel/types/lib/utils/deprecationWarning.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = deprecationWarning; var warnings = /* @__PURE__ */ new Set(); function deprecationWarning(oldName, newName, prefix = "") { if (warnings.has(oldName)) return; warnings.add(oldName); const { internal, trace } = captureShortStackTrace(1, 2); if (internal) { return; } console.warn(`${prefix}\`${oldName}\` has been deprecated, please migrate to \`${newName}\` ${trace}`); } function captureShortStackTrace(skip, length) { const { stackTraceLimit, prepareStackTrace } = Error; let stackTrace; Error.stackTraceLimit = 1 + skip + length; Error.prepareStackTrace = function(err, stack2) { stackTrace = stack2; }; new Error().stack; Error.stackTraceLimit = stackTraceLimit; Error.prepareStackTrace = prepareStackTrace; if (!stackTrace) return { internal: false, trace: "" }; const shortStackTrace = stackTrace.slice(1 + skip, 1 + skip + length); return { internal: /[\\/]@babel[\\/]/.test(shortStackTrace[1].getFileName()), trace: shortStackTrace.map((frame) => ` at ${frame}`).join("\n") }; } } }); // node_modules/@babel/types/lib/validators/generated/index.js var require_generated = __commonJS({ "node_modules/@babel/types/lib/validators/generated/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isAccessor = isAccessor; exports.isAnyTypeAnnotation = isAnyTypeAnnotation; exports.isArgumentPlaceholder = isArgumentPlaceholder; exports.isArrayExpression = isArrayExpression; exports.isArrayPattern = isArrayPattern; exports.isArrayTypeAnnotation = isArrayTypeAnnotation; exports.isArrowFunctionExpression = isArrowFunctionExpression2; exports.isAssignmentExpression = isAssignmentExpression; exports.isAssignmentPattern = isAssignmentPattern; exports.isAwaitExpression = isAwaitExpression; exports.isBigIntLiteral = isBigIntLiteral; exports.isBinary = isBinary; exports.isBinaryExpression = isBinaryExpression; exports.isBindExpression = isBindExpression; exports.isBlock = isBlock; exports.isBlockParent = isBlockParent; exports.isBlockStatement = isBlockStatement; exports.isBooleanLiteral = isBooleanLiteral; exports.isBooleanLiteralTypeAnnotation = isBooleanLiteralTypeAnnotation; exports.isBooleanTypeAnnotation = isBooleanTypeAnnotation; exports.isBreakStatement = isBreakStatement; exports.isCallExpression = isCallExpression2; exports.isCatchClause = isCatchClause; exports.isClass = isClass; exports.isClassAccessorProperty = isClassAccessorProperty; exports.isClassBody = isClassBody; exports.isClassDeclaration = isClassDeclaration; exports.isClassExpression = isClassExpression; exports.isClassImplements = isClassImplements; exports.isClassMethod = isClassMethod; exports.isClassPrivateMethod = isClassPrivateMethod; exports.isClassPrivateProperty = isClassPrivateProperty; exports.isClassProperty = isClassProperty; exports.isCompletionStatement = isCompletionStatement; exports.isConditional = isConditional; exports.isConditionalExpression = isConditionalExpression; exports.isContinueStatement = isContinueStatement; exports.isDebuggerStatement = isDebuggerStatement; exports.isDecimalLiteral = isDecimalLiteral; exports.isDeclaration = isDeclaration2; exports.isDeclareClass = isDeclareClass; exports.isDeclareExportAllDeclaration = isDeclareExportAllDeclaration; exports.isDeclareExportDeclaration = isDeclareExportDeclaration; exports.isDeclareFunction = isDeclareFunction; exports.isDeclareInterface = isDeclareInterface; exports.isDeclareModule = isDeclareModule; exports.isDeclareModuleExports = isDeclareModuleExports; exports.isDeclareOpaqueType = isDeclareOpaqueType; exports.isDeclareTypeAlias = isDeclareTypeAlias; exports.isDeclareVariable = isDeclareVariable; exports.isDeclaredPredicate = isDeclaredPredicate; exports.isDecorator = isDecorator; exports.isDirective = isDirective; exports.isDirectiveLiteral = isDirectiveLiteral; exports.isDoExpression = isDoExpression; exports.isDoWhileStatement = isDoWhileStatement; exports.isEmptyStatement = isEmptyStatement; exports.isEmptyTypeAnnotation = isEmptyTypeAnnotation; exports.isEnumBody = isEnumBody; exports.isEnumBooleanBody = isEnumBooleanBody; exports.isEnumBooleanMember = isEnumBooleanMember; exports.isEnumDeclaration = isEnumDeclaration; exports.isEnumDefaultedMember = isEnumDefaultedMember; exports.isEnumMember = isEnumMember; exports.isEnumNumberBody = isEnumNumberBody; exports.isEnumNumberMember = isEnumNumberMember; exports.isEnumStringBody = isEnumStringBody; exports.isEnumStringMember = isEnumStringMember; exports.isEnumSymbolBody = isEnumSymbolBody; exports.isExistsTypeAnnotation = isExistsTypeAnnotation; exports.isExportAllDeclaration = isExportAllDeclaration; exports.isExportDeclaration = isExportDeclaration; exports.isExportDefaultDeclaration = isExportDefaultDeclaration; exports.isExportDefaultSpecifier = isExportDefaultSpecifier; exports.isExportNamedDeclaration = isExportNamedDeclaration2; exports.isExportNamespaceSpecifier = isExportNamespaceSpecifier; exports.isExportSpecifier = isExportSpecifier; exports.isExpression = isExpression; exports.isExpressionStatement = isExpressionStatement2; exports.isExpressionWrapper = isExpressionWrapper; exports.isFile = isFile; exports.isFlow = isFlow; exports.isFlowBaseAnnotation = isFlowBaseAnnotation; exports.isFlowDeclaration = isFlowDeclaration; exports.isFlowPredicate = isFlowPredicate; exports.isFlowType = isFlowType; exports.isFor = isFor; exports.isForInStatement = isForInStatement; exports.isForOfStatement = isForOfStatement; exports.isForStatement = isForStatement; exports.isForXStatement = isForXStatement; exports.isFunction = isFunction; exports.isFunctionDeclaration = isFunctionDeclaration; exports.isFunctionExpression = isFunctionExpression; exports.isFunctionParent = isFunctionParent; exports.isFunctionTypeAnnotation = isFunctionTypeAnnotation; exports.isFunctionTypeParam = isFunctionTypeParam; exports.isGenericTypeAnnotation = isGenericTypeAnnotation; exports.isIdentifier = isIdentifier3; exports.isIfStatement = isIfStatement; exports.isImmutable = isImmutable; exports.isImport = isImport; exports.isImportAttribute = isImportAttribute; exports.isImportDeclaration = isImportDeclaration; exports.isImportDefaultSpecifier = isImportDefaultSpecifier; exports.isImportNamespaceSpecifier = isImportNamespaceSpecifier; exports.isImportOrExportDeclaration = isImportOrExportDeclaration; exports.isImportSpecifier = isImportSpecifier; exports.isIndexedAccessType = isIndexedAccessType; exports.isInferredPredicate = isInferredPredicate; exports.isInterfaceDeclaration = isInterfaceDeclaration; exports.isInterfaceExtends = isInterfaceExtends; exports.isInterfaceTypeAnnotation = isInterfaceTypeAnnotation; exports.isInterpreterDirective = isInterpreterDirective; exports.isIntersectionTypeAnnotation = isIntersectionTypeAnnotation; exports.isJSX = isJSX; exports.isJSXAttribute = isJSXAttribute; exports.isJSXClosingElement = isJSXClosingElement; exports.isJSXClosingFragment = isJSXClosingFragment; exports.isJSXElement = isJSXElement3; exports.isJSXEmptyExpression = isJSXEmptyExpression; exports.isJSXExpressionContainer = isJSXExpressionContainer3; exports.isJSXFragment = isJSXFragment2; exports.isJSXIdentifier = isJSXIdentifier3; exports.isJSXMemberExpression = isJSXMemberExpression; exports.isJSXNamespacedName = isJSXNamespacedName; exports.isJSXOpeningElement = isJSXOpeningElement; exports.isJSXOpeningFragment = isJSXOpeningFragment; exports.isJSXSpreadAttribute = isJSXSpreadAttribute; exports.isJSXSpreadChild = isJSXSpreadChild; exports.isJSXText = isJSXText2; exports.isLVal = isLVal; exports.isLabeledStatement = isLabeledStatement; exports.isLiteral = isLiteral; exports.isLogicalExpression = isLogicalExpression; exports.isLoop = isLoop; exports.isMemberExpression = isMemberExpression2; exports.isMetaProperty = isMetaProperty; exports.isMethod = isMethod; exports.isMiscellaneous = isMiscellaneous; exports.isMixedTypeAnnotation = isMixedTypeAnnotation; exports.isModuleDeclaration = isModuleDeclaration; exports.isModuleExpression = isModuleExpression; exports.isModuleSpecifier = isModuleSpecifier; exports.isNewExpression = isNewExpression; exports.isNoop = isNoop; exports.isNullLiteral = isNullLiteral; exports.isNullLiteralTypeAnnotation = isNullLiteralTypeAnnotation; exports.isNullableTypeAnnotation = isNullableTypeAnnotation; exports.isNumberLiteral = isNumberLiteral; exports.isNumberLiteralTypeAnnotation = isNumberLiteralTypeAnnotation; exports.isNumberTypeAnnotation = isNumberTypeAnnotation; exports.isNumericLiteral = isNumericLiteral; exports.isObjectExpression = isObjectExpression2; exports.isObjectMember = isObjectMember; exports.isObjectMethod = isObjectMethod; exports.isObjectPattern = isObjectPattern; exports.isObjectProperty = isObjectProperty; exports.isObjectTypeAnnotation = isObjectTypeAnnotation; exports.isObjectTypeCallProperty = isObjectTypeCallProperty; exports.isObjectTypeIndexer = isObjectTypeIndexer; exports.isObjectTypeInternalSlot = isObjectTypeInternalSlot; exports.isObjectTypeProperty = isObjectTypeProperty; exports.isObjectTypeSpreadProperty = isObjectTypeSpreadProperty; exports.isOpaqueType = isOpaqueType; exports.isOptionalCallExpression = isOptionalCallExpression; exports.isOptionalIndexedAccessType = isOptionalIndexedAccessType; exports.isOptionalMemberExpression = isOptionalMemberExpression; exports.isParenthesizedExpression = isParenthesizedExpression; exports.isPattern = isPattern; exports.isPatternLike = isPatternLike; exports.isPipelineBareFunction = isPipelineBareFunction; exports.isPipelinePrimaryTopicReference = isPipelinePrimaryTopicReference; exports.isPipelineTopicExpression = isPipelineTopicExpression; exports.isPlaceholder = isPlaceholder; exports.isPrivate = isPrivate; exports.isPrivateName = isPrivateName; exports.isProgram = isProgram; exports.isProperty = isProperty; exports.isPureish = isPureish; exports.isQualifiedTypeIdentifier = isQualifiedTypeIdentifier; exports.isRecordExpression = isRecordExpression; exports.isRegExpLiteral = isRegExpLiteral; exports.isRegexLiteral = isRegexLiteral; exports.isRestElement = isRestElement; exports.isRestProperty = isRestProperty; exports.isReturnStatement = isReturnStatement; exports.isScopable = isScopable; exports.isSequenceExpression = isSequenceExpression; exports.isSpreadElement = isSpreadElement; exports.isSpreadProperty = isSpreadProperty; exports.isStandardized = isStandardized; exports.isStatement = isStatement; exports.isStaticBlock = isStaticBlock; exports.isStringLiteral = isStringLiteral2; exports.isStringLiteralTypeAnnotation = isStringLiteralTypeAnnotation; exports.isStringTypeAnnotation = isStringTypeAnnotation; exports.isSuper = isSuper; exports.isSwitchCase = isSwitchCase; exports.isSwitchStatement = isSwitchStatement; exports.isSymbolTypeAnnotation = isSymbolTypeAnnotation; exports.isTSAnyKeyword = isTSAnyKeyword; exports.isTSArrayType = isTSArrayType; exports.isTSAsExpression = isTSAsExpression; exports.isTSBaseType = isTSBaseType; exports.isTSBigIntKeyword = isTSBigIntKeyword; exports.isTSBooleanKeyword = isTSBooleanKeyword; exports.isTSCallSignatureDeclaration = isTSCallSignatureDeclaration; exports.isTSConditionalType = isTSConditionalType; exports.isTSConstructSignatureDeclaration = isTSConstructSignatureDeclaration; exports.isTSConstructorType = isTSConstructorType; exports.isTSDeclareFunction = isTSDeclareFunction; exports.isTSDeclareMethod = isTSDeclareMethod; exports.isTSEntityName = isTSEntityName; exports.isTSEnumDeclaration = isTSEnumDeclaration; exports.isTSEnumMember = isTSEnumMember; exports.isTSExportAssignment = isTSExportAssignment; exports.isTSExpressionWithTypeArguments = isTSExpressionWithTypeArguments; exports.isTSExternalModuleReference = isTSExternalModuleReference; exports.isTSFunctionType = isTSFunctionType; exports.isTSImportEqualsDeclaration = isTSImportEqualsDeclaration; exports.isTSImportType = isTSImportType; exports.isTSIndexSignature = isTSIndexSignature; exports.isTSIndexedAccessType = isTSIndexedAccessType; exports.isTSInferType = isTSInferType; exports.isTSInstantiationExpression = isTSInstantiationExpression; exports.isTSInterfaceBody = isTSInterfaceBody; exports.isTSInterfaceDeclaration = isTSInterfaceDeclaration; exports.isTSIntersectionType = isTSIntersectionType; exports.isTSIntrinsicKeyword = isTSIntrinsicKeyword; exports.isTSLiteralType = isTSLiteralType; exports.isTSMappedType = isTSMappedType; exports.isTSMethodSignature = isTSMethodSignature; exports.isTSModuleBlock = isTSModuleBlock; exports.isTSModuleDeclaration = isTSModuleDeclaration; exports.isTSNamedTupleMember = isTSNamedTupleMember; exports.isTSNamespaceExportDeclaration = isTSNamespaceExportDeclaration; exports.isTSNeverKeyword = isTSNeverKeyword; exports.isTSNonNullExpression = isTSNonNullExpression; exports.isTSNullKeyword = isTSNullKeyword; exports.isTSNumberKeyword = isTSNumberKeyword; exports.isTSObjectKeyword = isTSObjectKeyword; exports.isTSOptionalType = isTSOptionalType; exports.isTSParameterProperty = isTSParameterProperty; exports.isTSParenthesizedType = isTSParenthesizedType; exports.isTSPropertySignature = isTSPropertySignature; exports.isTSQualifiedName = isTSQualifiedName; exports.isTSRestType = isTSRestType; exports.isTSSatisfiesExpression = isTSSatisfiesExpression; exports.isTSStringKeyword = isTSStringKeyword; exports.isTSSymbolKeyword = isTSSymbolKeyword; exports.isTSThisType = isTSThisType; exports.isTSTupleType = isTSTupleType; exports.isTSType = isTSType; exports.isTSTypeAliasDeclaration = isTSTypeAliasDeclaration; exports.isTSTypeAnnotation = isTSTypeAnnotation; exports.isTSTypeAssertion = isTSTypeAssertion; exports.isTSTypeElement = isTSTypeElement; exports.isTSTypeLiteral = isTSTypeLiteral; exports.isTSTypeOperator = isTSTypeOperator; exports.isTSTypeParameter = isTSTypeParameter; exports.isTSTypeParameterDeclaration = isTSTypeParameterDeclaration; exports.isTSTypeParameterInstantiation = isTSTypeParameterInstantiation; exports.isTSTypePredicate = isTSTypePredicate; exports.isTSTypeQuery = isTSTypeQuery; exports.isTSTypeReference = isTSTypeReference; exports.isTSUndefinedKeyword = isTSUndefinedKeyword; exports.isTSUnionType = isTSUnionType; exports.isTSUnknownKeyword = isTSUnknownKeyword; exports.isTSVoidKeyword = isTSVoidKeyword; exports.isTaggedTemplateExpression = isTaggedTemplateExpression; exports.isTemplateElement = isTemplateElement; exports.isTemplateLiteral = isTemplateLiteral; exports.isTerminatorless = isTerminatorless; exports.isThisExpression = isThisExpression; exports.isThisTypeAnnotation = isThisTypeAnnotation; exports.isThrowStatement = isThrowStatement; exports.isTopicReference = isTopicReference; exports.isTryStatement = isTryStatement; exports.isTupleExpression = isTupleExpression; exports.isTupleTypeAnnotation = isTupleTypeAnnotation; exports.isTypeAlias = isTypeAlias; exports.isTypeAnnotation = isTypeAnnotation; exports.isTypeCastExpression = isTypeCastExpression; exports.isTypeParameter = isTypeParameter; exports.isTypeParameterDeclaration = isTypeParameterDeclaration; exports.isTypeParameterInstantiation = isTypeParameterInstantiation; exports.isTypeScript = isTypeScript; exports.isTypeofTypeAnnotation = isTypeofTypeAnnotation; exports.isUnaryExpression = isUnaryExpression; exports.isUnaryLike = isUnaryLike; exports.isUnionTypeAnnotation = isUnionTypeAnnotation; exports.isUpdateExpression = isUpdateExpression; exports.isUserWhitespacable = isUserWhitespacable; exports.isV8IntrinsicIdentifier = isV8IntrinsicIdentifier; exports.isVariableDeclaration = isVariableDeclaration2; exports.isVariableDeclarator = isVariableDeclarator2; exports.isVariance = isVariance; exports.isVoidTypeAnnotation = isVoidTypeAnnotation; exports.isWhile = isWhile; exports.isWhileStatement = isWhileStatement; exports.isWithStatement = isWithStatement; exports.isYieldExpression = isYieldExpression; var _shallowEqual = require_shallowEqual(); var _deprecationWarning = require_deprecationWarning(); function isArrayExpression(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ArrayExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isAssignmentExpression(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "AssignmentExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isBinaryExpression(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "BinaryExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isInterpreterDirective(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "InterpreterDirective") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isDirective(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "Directive") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isDirectiveLiteral(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "DirectiveLiteral") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isBlockStatement(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "BlockStatement") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isBreakStatement(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "BreakStatement") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isCallExpression2(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "CallExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isCatchClause(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "CatchClause") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isConditionalExpression(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ConditionalExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isContinueStatement(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ContinueStatement") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isDebuggerStatement(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "DebuggerStatement") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isDoWhileStatement(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "DoWhileStatement") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isEmptyStatement(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "EmptyStatement") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isExpressionStatement2(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ExpressionStatement") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isFile(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "File") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isForInStatement(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ForInStatement") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isForStatement(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ForStatement") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isFunctionDeclaration(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "FunctionDeclaration") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isFunctionExpression(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "FunctionExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isIdentifier3(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "Identifier") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isIfStatement(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "IfStatement") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isLabeledStatement(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "LabeledStatement") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isStringLiteral2(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "StringLiteral") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isNumericLiteral(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "NumericLiteral") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isNullLiteral(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "NullLiteral") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isBooleanLiteral(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "BooleanLiteral") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isRegExpLiteral(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "RegExpLiteral") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isLogicalExpression(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "LogicalExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isMemberExpression2(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "MemberExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isNewExpression(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "NewExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isProgram(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "Program") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isObjectExpression2(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ObjectExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isObjectMethod(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ObjectMethod") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isObjectProperty(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ObjectProperty") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isRestElement(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "RestElement") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isReturnStatement(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ReturnStatement") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isSequenceExpression(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "SequenceExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isParenthesizedExpression(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ParenthesizedExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isSwitchCase(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "SwitchCase") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isSwitchStatement(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "SwitchStatement") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isThisExpression(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ThisExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isThrowStatement(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ThrowStatement") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTryStatement(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TryStatement") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isUnaryExpression(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "UnaryExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isUpdateExpression(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "UpdateExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isVariableDeclaration2(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "VariableDeclaration") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isVariableDeclarator2(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "VariableDeclarator") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isWhileStatement(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "WhileStatement") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isWithStatement(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "WithStatement") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isAssignmentPattern(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "AssignmentPattern") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isArrayPattern(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ArrayPattern") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isArrowFunctionExpression2(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ArrowFunctionExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isClassBody(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ClassBody") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isClassExpression(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ClassExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isClassDeclaration(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ClassDeclaration") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isExportAllDeclaration(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ExportAllDeclaration") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isExportDefaultDeclaration(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ExportDefaultDeclaration") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isExportNamedDeclaration2(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ExportNamedDeclaration") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isExportSpecifier(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ExportSpecifier") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isForOfStatement(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ForOfStatement") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isImportDeclaration(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ImportDeclaration") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isImportDefaultSpecifier(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ImportDefaultSpecifier") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isImportNamespaceSpecifier(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ImportNamespaceSpecifier") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isImportSpecifier(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ImportSpecifier") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isMetaProperty(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "MetaProperty") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isClassMethod(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ClassMethod") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isObjectPattern(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ObjectPattern") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isSpreadElement(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "SpreadElement") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isSuper(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "Super") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTaggedTemplateExpression(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TaggedTemplateExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTemplateElement(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TemplateElement") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTemplateLiteral(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TemplateLiteral") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isYieldExpression(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "YieldExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isAwaitExpression(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "AwaitExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isImport(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "Import") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isBigIntLiteral(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "BigIntLiteral") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isExportNamespaceSpecifier(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ExportNamespaceSpecifier") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isOptionalMemberExpression(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "OptionalMemberExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isOptionalCallExpression(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "OptionalCallExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isClassProperty(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ClassProperty") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isClassAccessorProperty(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ClassAccessorProperty") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isClassPrivateProperty(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ClassPrivateProperty") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isClassPrivateMethod(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ClassPrivateMethod") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isPrivateName(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "PrivateName") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isStaticBlock(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "StaticBlock") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isAnyTypeAnnotation(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "AnyTypeAnnotation") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isArrayTypeAnnotation(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ArrayTypeAnnotation") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isBooleanTypeAnnotation(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "BooleanTypeAnnotation") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isBooleanLiteralTypeAnnotation(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "BooleanLiteralTypeAnnotation") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isNullLiteralTypeAnnotation(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "NullLiteralTypeAnnotation") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isClassImplements(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ClassImplements") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isDeclareClass(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "DeclareClass") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isDeclareFunction(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "DeclareFunction") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isDeclareInterface(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "DeclareInterface") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isDeclareModule(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "DeclareModule") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isDeclareModuleExports(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "DeclareModuleExports") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isDeclareTypeAlias(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "DeclareTypeAlias") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isDeclareOpaqueType(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "DeclareOpaqueType") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isDeclareVariable(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "DeclareVariable") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isDeclareExportDeclaration(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "DeclareExportDeclaration") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isDeclareExportAllDeclaration(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "DeclareExportAllDeclaration") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isDeclaredPredicate(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "DeclaredPredicate") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isExistsTypeAnnotation(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ExistsTypeAnnotation") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isFunctionTypeAnnotation(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "FunctionTypeAnnotation") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isFunctionTypeParam(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "FunctionTypeParam") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isGenericTypeAnnotation(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "GenericTypeAnnotation") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isInferredPredicate(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "InferredPredicate") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isInterfaceExtends(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "InterfaceExtends") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isInterfaceDeclaration(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "InterfaceDeclaration") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isInterfaceTypeAnnotation(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "InterfaceTypeAnnotation") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isIntersectionTypeAnnotation(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "IntersectionTypeAnnotation") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isMixedTypeAnnotation(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "MixedTypeAnnotation") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isEmptyTypeAnnotation(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "EmptyTypeAnnotation") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isNullableTypeAnnotation(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "NullableTypeAnnotation") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isNumberLiteralTypeAnnotation(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "NumberLiteralTypeAnnotation") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isNumberTypeAnnotation(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "NumberTypeAnnotation") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isObjectTypeAnnotation(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ObjectTypeAnnotation") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isObjectTypeInternalSlot(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ObjectTypeInternalSlot") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isObjectTypeCallProperty(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ObjectTypeCallProperty") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isObjectTypeIndexer(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ObjectTypeIndexer") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isObjectTypeProperty(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ObjectTypeProperty") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isObjectTypeSpreadProperty(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ObjectTypeSpreadProperty") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isOpaqueType(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "OpaqueType") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isQualifiedTypeIdentifier(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "QualifiedTypeIdentifier") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isStringLiteralTypeAnnotation(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "StringLiteralTypeAnnotation") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isStringTypeAnnotation(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "StringTypeAnnotation") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isSymbolTypeAnnotation(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "SymbolTypeAnnotation") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isThisTypeAnnotation(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ThisTypeAnnotation") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTupleTypeAnnotation(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TupleTypeAnnotation") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTypeofTypeAnnotation(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TypeofTypeAnnotation") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTypeAlias(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TypeAlias") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTypeAnnotation(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TypeAnnotation") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTypeCastExpression(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TypeCastExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTypeParameter(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TypeParameter") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTypeParameterDeclaration(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TypeParameterDeclaration") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTypeParameterInstantiation(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TypeParameterInstantiation") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isUnionTypeAnnotation(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "UnionTypeAnnotation") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isVariance(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "Variance") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isVoidTypeAnnotation(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "VoidTypeAnnotation") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isEnumDeclaration(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "EnumDeclaration") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isEnumBooleanBody(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "EnumBooleanBody") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isEnumNumberBody(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "EnumNumberBody") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isEnumStringBody(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "EnumStringBody") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isEnumSymbolBody(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "EnumSymbolBody") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isEnumBooleanMember(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "EnumBooleanMember") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isEnumNumberMember(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "EnumNumberMember") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isEnumStringMember(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "EnumStringMember") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isEnumDefaultedMember(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "EnumDefaultedMember") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isIndexedAccessType(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "IndexedAccessType") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isOptionalIndexedAccessType(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "OptionalIndexedAccessType") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isJSXAttribute(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "JSXAttribute") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isJSXClosingElement(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "JSXClosingElement") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isJSXElement3(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "JSXElement") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isJSXEmptyExpression(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "JSXEmptyExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isJSXExpressionContainer3(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "JSXExpressionContainer") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isJSXSpreadChild(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "JSXSpreadChild") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isJSXIdentifier3(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "JSXIdentifier") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isJSXMemberExpression(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "JSXMemberExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isJSXNamespacedName(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "JSXNamespacedName") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isJSXOpeningElement(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "JSXOpeningElement") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isJSXSpreadAttribute(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "JSXSpreadAttribute") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isJSXText2(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "JSXText") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isJSXFragment2(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "JSXFragment") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isJSXOpeningFragment(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "JSXOpeningFragment") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isJSXClosingFragment(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "JSXClosingFragment") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isNoop(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "Noop") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isPlaceholder(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "Placeholder") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isV8IntrinsicIdentifier(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "V8IntrinsicIdentifier") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isArgumentPlaceholder(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ArgumentPlaceholder") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isBindExpression(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "BindExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isImportAttribute(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ImportAttribute") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isDecorator(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "Decorator") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isDoExpression(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "DoExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isExportDefaultSpecifier(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ExportDefaultSpecifier") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isRecordExpression(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "RecordExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTupleExpression(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TupleExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isDecimalLiteral(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "DecimalLiteral") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isModuleExpression(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "ModuleExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTopicReference(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TopicReference") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isPipelineTopicExpression(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "PipelineTopicExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isPipelineBareFunction(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "PipelineBareFunction") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isPipelinePrimaryTopicReference(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "PipelinePrimaryTopicReference") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSParameterProperty(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSParameterProperty") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSDeclareFunction(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSDeclareFunction") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSDeclareMethod(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSDeclareMethod") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSQualifiedName(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSQualifiedName") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSCallSignatureDeclaration(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSCallSignatureDeclaration") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSConstructSignatureDeclaration(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSConstructSignatureDeclaration") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSPropertySignature(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSPropertySignature") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSMethodSignature(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSMethodSignature") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSIndexSignature(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSIndexSignature") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSAnyKeyword(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSAnyKeyword") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSBooleanKeyword(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSBooleanKeyword") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSBigIntKeyword(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSBigIntKeyword") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSIntrinsicKeyword(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSIntrinsicKeyword") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSNeverKeyword(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSNeverKeyword") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSNullKeyword(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSNullKeyword") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSNumberKeyword(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSNumberKeyword") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSObjectKeyword(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSObjectKeyword") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSStringKeyword(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSStringKeyword") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSSymbolKeyword(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSSymbolKeyword") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSUndefinedKeyword(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSUndefinedKeyword") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSUnknownKeyword(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSUnknownKeyword") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSVoidKeyword(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSVoidKeyword") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSThisType(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSThisType") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSFunctionType(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSFunctionType") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSConstructorType(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSConstructorType") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSTypeReference(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSTypeReference") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSTypePredicate(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSTypePredicate") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSTypeQuery(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSTypeQuery") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSTypeLiteral(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSTypeLiteral") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSArrayType(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSArrayType") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSTupleType(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSTupleType") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSOptionalType(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSOptionalType") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSRestType(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSRestType") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSNamedTupleMember(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSNamedTupleMember") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSUnionType(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSUnionType") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSIntersectionType(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSIntersectionType") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSConditionalType(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSConditionalType") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSInferType(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSInferType") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSParenthesizedType(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSParenthesizedType") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSTypeOperator(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSTypeOperator") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSIndexedAccessType(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSIndexedAccessType") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSMappedType(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSMappedType") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSLiteralType(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSLiteralType") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSExpressionWithTypeArguments(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSExpressionWithTypeArguments") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSInterfaceDeclaration(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSInterfaceDeclaration") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSInterfaceBody(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSInterfaceBody") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSTypeAliasDeclaration(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSTypeAliasDeclaration") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSInstantiationExpression(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSInstantiationExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSAsExpression(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSAsExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSSatisfiesExpression(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSSatisfiesExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSTypeAssertion(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSTypeAssertion") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSEnumDeclaration(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSEnumDeclaration") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSEnumMember(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSEnumMember") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSModuleDeclaration(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSModuleDeclaration") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSModuleBlock(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSModuleBlock") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSImportType(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSImportType") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSImportEqualsDeclaration(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSImportEqualsDeclaration") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSExternalModuleReference(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSExternalModuleReference") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSNonNullExpression(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSNonNullExpression") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSExportAssignment(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSExportAssignment") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSNamespaceExportDeclaration(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSNamespaceExportDeclaration") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSTypeAnnotation(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSTypeAnnotation") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSTypeParameterInstantiation(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSTypeParameterInstantiation") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSTypeParameterDeclaration(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSTypeParameterDeclaration") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSTypeParameter(node2, opts) { if (!node2) return false; const nodeType = node2.type; if (nodeType === "TSTypeParameter") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isStandardized(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("ArrayExpression" === nodeType || "AssignmentExpression" === nodeType || "BinaryExpression" === nodeType || "InterpreterDirective" === nodeType || "Directive" === nodeType || "DirectiveLiteral" === nodeType || "BlockStatement" === nodeType || "BreakStatement" === nodeType || "CallExpression" === nodeType || "CatchClause" === nodeType || "ConditionalExpression" === nodeType || "ContinueStatement" === nodeType || "DebuggerStatement" === nodeType || "DoWhileStatement" === nodeType || "EmptyStatement" === nodeType || "ExpressionStatement" === nodeType || "File" === nodeType || "ForInStatement" === nodeType || "ForStatement" === nodeType || "FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "Identifier" === nodeType || "IfStatement" === nodeType || "LabeledStatement" === nodeType || "StringLiteral" === nodeType || "NumericLiteral" === nodeType || "NullLiteral" === nodeType || "BooleanLiteral" === nodeType || "RegExpLiteral" === nodeType || "LogicalExpression" === nodeType || "MemberExpression" === nodeType || "NewExpression" === nodeType || "Program" === nodeType || "ObjectExpression" === nodeType || "ObjectMethod" === nodeType || "ObjectProperty" === nodeType || "RestElement" === nodeType || "ReturnStatement" === nodeType || "SequenceExpression" === nodeType || "ParenthesizedExpression" === nodeType || "SwitchCase" === nodeType || "SwitchStatement" === nodeType || "ThisExpression" === nodeType || "ThrowStatement" === nodeType || "TryStatement" === nodeType || "UnaryExpression" === nodeType || "UpdateExpression" === nodeType || "VariableDeclaration" === nodeType || "VariableDeclarator" === nodeType || "WhileStatement" === nodeType || "WithStatement" === nodeType || "AssignmentPattern" === nodeType || "ArrayPattern" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassBody" === nodeType || "ClassExpression" === nodeType || "ClassDeclaration" === nodeType || "ExportAllDeclaration" === nodeType || "ExportDefaultDeclaration" === nodeType || "ExportNamedDeclaration" === nodeType || "ExportSpecifier" === nodeType || "ForOfStatement" === nodeType || "ImportDeclaration" === nodeType || "ImportDefaultSpecifier" === nodeType || "ImportNamespaceSpecifier" === nodeType || "ImportSpecifier" === nodeType || "MetaProperty" === nodeType || "ClassMethod" === nodeType || "ObjectPattern" === nodeType || "SpreadElement" === nodeType || "Super" === nodeType || "TaggedTemplateExpression" === nodeType || "TemplateElement" === nodeType || "TemplateLiteral" === nodeType || "YieldExpression" === nodeType || "AwaitExpression" === nodeType || "Import" === nodeType || "BigIntLiteral" === nodeType || "ExportNamespaceSpecifier" === nodeType || "OptionalMemberExpression" === nodeType || "OptionalCallExpression" === nodeType || "ClassProperty" === nodeType || "ClassAccessorProperty" === nodeType || "ClassPrivateProperty" === nodeType || "ClassPrivateMethod" === nodeType || "PrivateName" === nodeType || "StaticBlock" === nodeType || nodeType === "Placeholder" && ("Identifier" === node2.expectedNode || "StringLiteral" === node2.expectedNode || "BlockStatement" === node2.expectedNode || "ClassBody" === node2.expectedNode)) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isExpression(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("ArrayExpression" === nodeType || "AssignmentExpression" === nodeType || "BinaryExpression" === nodeType || "CallExpression" === nodeType || "ConditionalExpression" === nodeType || "FunctionExpression" === nodeType || "Identifier" === nodeType || "StringLiteral" === nodeType || "NumericLiteral" === nodeType || "NullLiteral" === nodeType || "BooleanLiteral" === nodeType || "RegExpLiteral" === nodeType || "LogicalExpression" === nodeType || "MemberExpression" === nodeType || "NewExpression" === nodeType || "ObjectExpression" === nodeType || "SequenceExpression" === nodeType || "ParenthesizedExpression" === nodeType || "ThisExpression" === nodeType || "UnaryExpression" === nodeType || "UpdateExpression" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassExpression" === nodeType || "MetaProperty" === nodeType || "Super" === nodeType || "TaggedTemplateExpression" === nodeType || "TemplateLiteral" === nodeType || "YieldExpression" === nodeType || "AwaitExpression" === nodeType || "Import" === nodeType || "BigIntLiteral" === nodeType || "OptionalMemberExpression" === nodeType || "OptionalCallExpression" === nodeType || "TypeCastExpression" === nodeType || "JSXElement" === nodeType || "JSXFragment" === nodeType || "BindExpression" === nodeType || "DoExpression" === nodeType || "RecordExpression" === nodeType || "TupleExpression" === nodeType || "DecimalLiteral" === nodeType || "ModuleExpression" === nodeType || "TopicReference" === nodeType || "PipelineTopicExpression" === nodeType || "PipelineBareFunction" === nodeType || "PipelinePrimaryTopicReference" === nodeType || "TSInstantiationExpression" === nodeType || "TSAsExpression" === nodeType || "TSSatisfiesExpression" === nodeType || "TSTypeAssertion" === nodeType || "TSNonNullExpression" === nodeType || nodeType === "Placeholder" && ("Expression" === node2.expectedNode || "Identifier" === node2.expectedNode || "StringLiteral" === node2.expectedNode)) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isBinary(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("BinaryExpression" === nodeType || "LogicalExpression" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isScopable(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("BlockStatement" === nodeType || "CatchClause" === nodeType || "DoWhileStatement" === nodeType || "ForInStatement" === nodeType || "ForStatement" === nodeType || "FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "Program" === nodeType || "ObjectMethod" === nodeType || "SwitchStatement" === nodeType || "WhileStatement" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassExpression" === nodeType || "ClassDeclaration" === nodeType || "ForOfStatement" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType || "StaticBlock" === nodeType || "TSModuleBlock" === nodeType || nodeType === "Placeholder" && "BlockStatement" === node2.expectedNode) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isBlockParent(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("BlockStatement" === nodeType || "CatchClause" === nodeType || "DoWhileStatement" === nodeType || "ForInStatement" === nodeType || "ForStatement" === nodeType || "FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "Program" === nodeType || "ObjectMethod" === nodeType || "SwitchStatement" === nodeType || "WhileStatement" === nodeType || "ArrowFunctionExpression" === nodeType || "ForOfStatement" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType || "StaticBlock" === nodeType || "TSModuleBlock" === nodeType || nodeType === "Placeholder" && "BlockStatement" === node2.expectedNode) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isBlock(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("BlockStatement" === nodeType || "Program" === nodeType || "TSModuleBlock" === nodeType || nodeType === "Placeholder" && "BlockStatement" === node2.expectedNode) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isStatement(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("BlockStatement" === nodeType || "BreakStatement" === nodeType || "ContinueStatement" === nodeType || "DebuggerStatement" === nodeType || "DoWhileStatement" === nodeType || "EmptyStatement" === nodeType || "ExpressionStatement" === nodeType || "ForInStatement" === nodeType || "ForStatement" === nodeType || "FunctionDeclaration" === nodeType || "IfStatement" === nodeType || "LabeledStatement" === nodeType || "ReturnStatement" === nodeType || "SwitchStatement" === nodeType || "ThrowStatement" === nodeType || "TryStatement" === nodeType || "VariableDeclaration" === nodeType || "WhileStatement" === nodeType || "WithStatement" === nodeType || "ClassDeclaration" === nodeType || "ExportAllDeclaration" === nodeType || "ExportDefaultDeclaration" === nodeType || "ExportNamedDeclaration" === nodeType || "ForOfStatement" === nodeType || "ImportDeclaration" === nodeType || "DeclareClass" === nodeType || "DeclareFunction" === nodeType || "DeclareInterface" === nodeType || "DeclareModule" === nodeType || "DeclareModuleExports" === nodeType || "DeclareTypeAlias" === nodeType || "DeclareOpaqueType" === nodeType || "DeclareVariable" === nodeType || "DeclareExportDeclaration" === nodeType || "DeclareExportAllDeclaration" === nodeType || "InterfaceDeclaration" === nodeType || "OpaqueType" === nodeType || "TypeAlias" === nodeType || "EnumDeclaration" === nodeType || "TSDeclareFunction" === nodeType || "TSInterfaceDeclaration" === nodeType || "TSTypeAliasDeclaration" === nodeType || "TSEnumDeclaration" === nodeType || "TSModuleDeclaration" === nodeType || "TSImportEqualsDeclaration" === nodeType || "TSExportAssignment" === nodeType || "TSNamespaceExportDeclaration" === nodeType || nodeType === "Placeholder" && ("Statement" === node2.expectedNode || "Declaration" === node2.expectedNode || "BlockStatement" === node2.expectedNode)) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTerminatorless(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("BreakStatement" === nodeType || "ContinueStatement" === nodeType || "ReturnStatement" === nodeType || "ThrowStatement" === nodeType || "YieldExpression" === nodeType || "AwaitExpression" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isCompletionStatement(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("BreakStatement" === nodeType || "ContinueStatement" === nodeType || "ReturnStatement" === nodeType || "ThrowStatement" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isConditional(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("ConditionalExpression" === nodeType || "IfStatement" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isLoop(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("DoWhileStatement" === nodeType || "ForInStatement" === nodeType || "ForStatement" === nodeType || "WhileStatement" === nodeType || "ForOfStatement" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isWhile(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("DoWhileStatement" === nodeType || "WhileStatement" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isExpressionWrapper(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("ExpressionStatement" === nodeType || "ParenthesizedExpression" === nodeType || "TypeCastExpression" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isFor(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("ForInStatement" === nodeType || "ForStatement" === nodeType || "ForOfStatement" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isForXStatement(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("ForInStatement" === nodeType || "ForOfStatement" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isFunction(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "ObjectMethod" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isFunctionParent(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "ObjectMethod" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType || "StaticBlock" === nodeType || "TSModuleBlock" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isPureish(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "StringLiteral" === nodeType || "NumericLiteral" === nodeType || "NullLiteral" === nodeType || "BooleanLiteral" === nodeType || "RegExpLiteral" === nodeType || "ArrowFunctionExpression" === nodeType || "BigIntLiteral" === nodeType || "DecimalLiteral" === nodeType || nodeType === "Placeholder" && "StringLiteral" === node2.expectedNode) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isDeclaration2(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("FunctionDeclaration" === nodeType || "VariableDeclaration" === nodeType || "ClassDeclaration" === nodeType || "ExportAllDeclaration" === nodeType || "ExportDefaultDeclaration" === nodeType || "ExportNamedDeclaration" === nodeType || "ImportDeclaration" === nodeType || "DeclareClass" === nodeType || "DeclareFunction" === nodeType || "DeclareInterface" === nodeType || "DeclareModule" === nodeType || "DeclareModuleExports" === nodeType || "DeclareTypeAlias" === nodeType || "DeclareOpaqueType" === nodeType || "DeclareVariable" === nodeType || "DeclareExportDeclaration" === nodeType || "DeclareExportAllDeclaration" === nodeType || "InterfaceDeclaration" === nodeType || "OpaqueType" === nodeType || "TypeAlias" === nodeType || "EnumDeclaration" === nodeType || "TSDeclareFunction" === nodeType || "TSInterfaceDeclaration" === nodeType || "TSTypeAliasDeclaration" === nodeType || "TSEnumDeclaration" === nodeType || "TSModuleDeclaration" === nodeType || nodeType === "Placeholder" && "Declaration" === node2.expectedNode) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isPatternLike(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("Identifier" === nodeType || "RestElement" === nodeType || "AssignmentPattern" === nodeType || "ArrayPattern" === nodeType || "ObjectPattern" === nodeType || "TSAsExpression" === nodeType || "TSSatisfiesExpression" === nodeType || "TSTypeAssertion" === nodeType || "TSNonNullExpression" === nodeType || nodeType === "Placeholder" && ("Pattern" === node2.expectedNode || "Identifier" === node2.expectedNode)) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isLVal(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("Identifier" === nodeType || "MemberExpression" === nodeType || "RestElement" === nodeType || "AssignmentPattern" === nodeType || "ArrayPattern" === nodeType || "ObjectPattern" === nodeType || "TSParameterProperty" === nodeType || "TSAsExpression" === nodeType || "TSSatisfiesExpression" === nodeType || "TSTypeAssertion" === nodeType || "TSNonNullExpression" === nodeType || nodeType === "Placeholder" && ("Pattern" === node2.expectedNode || "Identifier" === node2.expectedNode)) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSEntityName(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("Identifier" === nodeType || "TSQualifiedName" === nodeType || nodeType === "Placeholder" && "Identifier" === node2.expectedNode) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isLiteral(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("StringLiteral" === nodeType || "NumericLiteral" === nodeType || "NullLiteral" === nodeType || "BooleanLiteral" === nodeType || "RegExpLiteral" === nodeType || "TemplateLiteral" === nodeType || "BigIntLiteral" === nodeType || "DecimalLiteral" === nodeType || nodeType === "Placeholder" && "StringLiteral" === node2.expectedNode) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isImmutable(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("StringLiteral" === nodeType || "NumericLiteral" === nodeType || "NullLiteral" === nodeType || "BooleanLiteral" === nodeType || "BigIntLiteral" === nodeType || "JSXAttribute" === nodeType || "JSXClosingElement" === nodeType || "JSXElement" === nodeType || "JSXExpressionContainer" === nodeType || "JSXSpreadChild" === nodeType || "JSXOpeningElement" === nodeType || "JSXText" === nodeType || "JSXFragment" === nodeType || "JSXOpeningFragment" === nodeType || "JSXClosingFragment" === nodeType || "DecimalLiteral" === nodeType || nodeType === "Placeholder" && "StringLiteral" === node2.expectedNode) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isUserWhitespacable(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("ObjectMethod" === nodeType || "ObjectProperty" === nodeType || "ObjectTypeInternalSlot" === nodeType || "ObjectTypeCallProperty" === nodeType || "ObjectTypeIndexer" === nodeType || "ObjectTypeProperty" === nodeType || "ObjectTypeSpreadProperty" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isMethod(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("ObjectMethod" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isObjectMember(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("ObjectMethod" === nodeType || "ObjectProperty" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isProperty(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("ObjectProperty" === nodeType || "ClassProperty" === nodeType || "ClassAccessorProperty" === nodeType || "ClassPrivateProperty" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isUnaryLike(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("UnaryExpression" === nodeType || "SpreadElement" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isPattern(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("AssignmentPattern" === nodeType || "ArrayPattern" === nodeType || "ObjectPattern" === nodeType || nodeType === "Placeholder" && "Pattern" === node2.expectedNode) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isClass(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("ClassExpression" === nodeType || "ClassDeclaration" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isImportOrExportDeclaration(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("ExportAllDeclaration" === nodeType || "ExportDefaultDeclaration" === nodeType || "ExportNamedDeclaration" === nodeType || "ImportDeclaration" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isExportDeclaration(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("ExportAllDeclaration" === nodeType || "ExportDefaultDeclaration" === nodeType || "ExportNamedDeclaration" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isModuleSpecifier(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("ExportSpecifier" === nodeType || "ImportDefaultSpecifier" === nodeType || "ImportNamespaceSpecifier" === nodeType || "ImportSpecifier" === nodeType || "ExportNamespaceSpecifier" === nodeType || "ExportDefaultSpecifier" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isAccessor(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("ClassAccessorProperty" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isPrivate(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("ClassPrivateProperty" === nodeType || "ClassPrivateMethod" === nodeType || "PrivateName" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isFlow(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("AnyTypeAnnotation" === nodeType || "ArrayTypeAnnotation" === nodeType || "BooleanTypeAnnotation" === nodeType || "BooleanLiteralTypeAnnotation" === nodeType || "NullLiteralTypeAnnotation" === nodeType || "ClassImplements" === nodeType || "DeclareClass" === nodeType || "DeclareFunction" === nodeType || "DeclareInterface" === nodeType || "DeclareModule" === nodeType || "DeclareModuleExports" === nodeType || "DeclareTypeAlias" === nodeType || "DeclareOpaqueType" === nodeType || "DeclareVariable" === nodeType || "DeclareExportDeclaration" === nodeType || "DeclareExportAllDeclaration" === nodeType || "DeclaredPredicate" === nodeType || "ExistsTypeAnnotation" === nodeType || "FunctionTypeAnnotation" === nodeType || "FunctionTypeParam" === nodeType || "GenericTypeAnnotation" === nodeType || "InferredPredicate" === nodeType || "InterfaceExtends" === nodeType || "InterfaceDeclaration" === nodeType || "InterfaceTypeAnnotation" === nodeType || "IntersectionTypeAnnotation" === nodeType || "MixedTypeAnnotation" === nodeType || "EmptyTypeAnnotation" === nodeType || "NullableTypeAnnotation" === nodeType || "NumberLiteralTypeAnnotation" === nodeType || "NumberTypeAnnotation" === nodeType || "ObjectTypeAnnotation" === nodeType || "ObjectTypeInternalSlot" === nodeType || "ObjectTypeCallProperty" === nodeType || "ObjectTypeIndexer" === nodeType || "ObjectTypeProperty" === nodeType || "ObjectTypeSpreadProperty" === nodeType || "OpaqueType" === nodeType || "QualifiedTypeIdentifier" === nodeType || "StringLiteralTypeAnnotation" === nodeType || "StringTypeAnnotation" === nodeType || "SymbolTypeAnnotation" === nodeType || "ThisTypeAnnotation" === nodeType || "TupleTypeAnnotation" === nodeType || "TypeofTypeAnnotation" === nodeType || "TypeAlias" === nodeType || "TypeAnnotation" === nodeType || "TypeCastExpression" === nodeType || "TypeParameter" === nodeType || "TypeParameterDeclaration" === nodeType || "TypeParameterInstantiation" === nodeType || "UnionTypeAnnotation" === nodeType || "Variance" === nodeType || "VoidTypeAnnotation" === nodeType || "EnumDeclaration" === nodeType || "EnumBooleanBody" === nodeType || "EnumNumberBody" === nodeType || "EnumStringBody" === nodeType || "EnumSymbolBody" === nodeType || "EnumBooleanMember" === nodeType || "EnumNumberMember" === nodeType || "EnumStringMember" === nodeType || "EnumDefaultedMember" === nodeType || "IndexedAccessType" === nodeType || "OptionalIndexedAccessType" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isFlowType(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("AnyTypeAnnotation" === nodeType || "ArrayTypeAnnotation" === nodeType || "BooleanTypeAnnotation" === nodeType || "BooleanLiteralTypeAnnotation" === nodeType || "NullLiteralTypeAnnotation" === nodeType || "ExistsTypeAnnotation" === nodeType || "FunctionTypeAnnotation" === nodeType || "GenericTypeAnnotation" === nodeType || "InterfaceTypeAnnotation" === nodeType || "IntersectionTypeAnnotation" === nodeType || "MixedTypeAnnotation" === nodeType || "EmptyTypeAnnotation" === nodeType || "NullableTypeAnnotation" === nodeType || "NumberLiteralTypeAnnotation" === nodeType || "NumberTypeAnnotation" === nodeType || "ObjectTypeAnnotation" === nodeType || "StringLiteralTypeAnnotation" === nodeType || "StringTypeAnnotation" === nodeType || "SymbolTypeAnnotation" === nodeType || "ThisTypeAnnotation" === nodeType || "TupleTypeAnnotation" === nodeType || "TypeofTypeAnnotation" === nodeType || "UnionTypeAnnotation" === nodeType || "VoidTypeAnnotation" === nodeType || "IndexedAccessType" === nodeType || "OptionalIndexedAccessType" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isFlowBaseAnnotation(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("AnyTypeAnnotation" === nodeType || "BooleanTypeAnnotation" === nodeType || "NullLiteralTypeAnnotation" === nodeType || "MixedTypeAnnotation" === nodeType || "EmptyTypeAnnotation" === nodeType || "NumberTypeAnnotation" === nodeType || "StringTypeAnnotation" === nodeType || "SymbolTypeAnnotation" === nodeType || "ThisTypeAnnotation" === nodeType || "VoidTypeAnnotation" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isFlowDeclaration(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("DeclareClass" === nodeType || "DeclareFunction" === nodeType || "DeclareInterface" === nodeType || "DeclareModule" === nodeType || "DeclareModuleExports" === nodeType || "DeclareTypeAlias" === nodeType || "DeclareOpaqueType" === nodeType || "DeclareVariable" === nodeType || "DeclareExportDeclaration" === nodeType || "DeclareExportAllDeclaration" === nodeType || "InterfaceDeclaration" === nodeType || "OpaqueType" === nodeType || "TypeAlias" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isFlowPredicate(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("DeclaredPredicate" === nodeType || "InferredPredicate" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isEnumBody(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("EnumBooleanBody" === nodeType || "EnumNumberBody" === nodeType || "EnumStringBody" === nodeType || "EnumSymbolBody" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isEnumMember(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("EnumBooleanMember" === nodeType || "EnumNumberMember" === nodeType || "EnumStringMember" === nodeType || "EnumDefaultedMember" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isJSX(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("JSXAttribute" === nodeType || "JSXClosingElement" === nodeType || "JSXElement" === nodeType || "JSXEmptyExpression" === nodeType || "JSXExpressionContainer" === nodeType || "JSXSpreadChild" === nodeType || "JSXIdentifier" === nodeType || "JSXMemberExpression" === nodeType || "JSXNamespacedName" === nodeType || "JSXOpeningElement" === nodeType || "JSXSpreadAttribute" === nodeType || "JSXText" === nodeType || "JSXFragment" === nodeType || "JSXOpeningFragment" === nodeType || "JSXClosingFragment" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isMiscellaneous(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("Noop" === nodeType || "Placeholder" === nodeType || "V8IntrinsicIdentifier" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTypeScript(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("TSParameterProperty" === nodeType || "TSDeclareFunction" === nodeType || "TSDeclareMethod" === nodeType || "TSQualifiedName" === nodeType || "TSCallSignatureDeclaration" === nodeType || "TSConstructSignatureDeclaration" === nodeType || "TSPropertySignature" === nodeType || "TSMethodSignature" === nodeType || "TSIndexSignature" === nodeType || "TSAnyKeyword" === nodeType || "TSBooleanKeyword" === nodeType || "TSBigIntKeyword" === nodeType || "TSIntrinsicKeyword" === nodeType || "TSNeverKeyword" === nodeType || "TSNullKeyword" === nodeType || "TSNumberKeyword" === nodeType || "TSObjectKeyword" === nodeType || "TSStringKeyword" === nodeType || "TSSymbolKeyword" === nodeType || "TSUndefinedKeyword" === nodeType || "TSUnknownKeyword" === nodeType || "TSVoidKeyword" === nodeType || "TSThisType" === nodeType || "TSFunctionType" === nodeType || "TSConstructorType" === nodeType || "TSTypeReference" === nodeType || "TSTypePredicate" === nodeType || "TSTypeQuery" === nodeType || "TSTypeLiteral" === nodeType || "TSArrayType" === nodeType || "TSTupleType" === nodeType || "TSOptionalType" === nodeType || "TSRestType" === nodeType || "TSNamedTupleMember" === nodeType || "TSUnionType" === nodeType || "TSIntersectionType" === nodeType || "TSConditionalType" === nodeType || "TSInferType" === nodeType || "TSParenthesizedType" === nodeType || "TSTypeOperator" === nodeType || "TSIndexedAccessType" === nodeType || "TSMappedType" === nodeType || "TSLiteralType" === nodeType || "TSExpressionWithTypeArguments" === nodeType || "TSInterfaceDeclaration" === nodeType || "TSInterfaceBody" === nodeType || "TSTypeAliasDeclaration" === nodeType || "TSInstantiationExpression" === nodeType || "TSAsExpression" === nodeType || "TSSatisfiesExpression" === nodeType || "TSTypeAssertion" === nodeType || "TSEnumDeclaration" === nodeType || "TSEnumMember" === nodeType || "TSModuleDeclaration" === nodeType || "TSModuleBlock" === nodeType || "TSImportType" === nodeType || "TSImportEqualsDeclaration" === nodeType || "TSExternalModuleReference" === nodeType || "TSNonNullExpression" === nodeType || "TSExportAssignment" === nodeType || "TSNamespaceExportDeclaration" === nodeType || "TSTypeAnnotation" === nodeType || "TSTypeParameterInstantiation" === nodeType || "TSTypeParameterDeclaration" === nodeType || "TSTypeParameter" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSTypeElement(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("TSCallSignatureDeclaration" === nodeType || "TSConstructSignatureDeclaration" === nodeType || "TSPropertySignature" === nodeType || "TSMethodSignature" === nodeType || "TSIndexSignature" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSType(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("TSAnyKeyword" === nodeType || "TSBooleanKeyword" === nodeType || "TSBigIntKeyword" === nodeType || "TSIntrinsicKeyword" === nodeType || "TSNeverKeyword" === nodeType || "TSNullKeyword" === nodeType || "TSNumberKeyword" === nodeType || "TSObjectKeyword" === nodeType || "TSStringKeyword" === nodeType || "TSSymbolKeyword" === nodeType || "TSUndefinedKeyword" === nodeType || "TSUnknownKeyword" === nodeType || "TSVoidKeyword" === nodeType || "TSThisType" === nodeType || "TSFunctionType" === nodeType || "TSConstructorType" === nodeType || "TSTypeReference" === nodeType || "TSTypePredicate" === nodeType || "TSTypeQuery" === nodeType || "TSTypeLiteral" === nodeType || "TSArrayType" === nodeType || "TSTupleType" === nodeType || "TSOptionalType" === nodeType || "TSRestType" === nodeType || "TSUnionType" === nodeType || "TSIntersectionType" === nodeType || "TSConditionalType" === nodeType || "TSInferType" === nodeType || "TSParenthesizedType" === nodeType || "TSTypeOperator" === nodeType || "TSIndexedAccessType" === nodeType || "TSMappedType" === nodeType || "TSLiteralType" === nodeType || "TSExpressionWithTypeArguments" === nodeType || "TSImportType" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isTSBaseType(node2, opts) { if (!node2) return false; const nodeType = node2.type; if ("TSAnyKeyword" === nodeType || "TSBooleanKeyword" === nodeType || "TSBigIntKeyword" === nodeType || "TSIntrinsicKeyword" === nodeType || "TSNeverKeyword" === nodeType || "TSNullKeyword" === nodeType || "TSNumberKeyword" === nodeType || "TSObjectKeyword" === nodeType || "TSStringKeyword" === nodeType || "TSSymbolKeyword" === nodeType || "TSUndefinedKeyword" === nodeType || "TSUnknownKeyword" === nodeType || "TSVoidKeyword" === nodeType || "TSThisType" === nodeType || "TSLiteralType" === nodeType) { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isNumberLiteral(node2, opts) { (0, _deprecationWarning.default)("isNumberLiteral", "isNumericLiteral"); if (!node2) return false; const nodeType = node2.type; if (nodeType === "NumberLiteral") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isRegexLiteral(node2, opts) { (0, _deprecationWarning.default)("isRegexLiteral", "isRegExpLiteral"); if (!node2) return false; const nodeType = node2.type; if (nodeType === "RegexLiteral") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isRestProperty(node2, opts) { (0, _deprecationWarning.default)("isRestProperty", "isRestElement"); if (!node2) return false; const nodeType = node2.type; if (nodeType === "RestProperty") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isSpreadProperty(node2, opts) { (0, _deprecationWarning.default)("isSpreadProperty", "isSpreadElement"); if (!node2) return false; const nodeType = node2.type; if (nodeType === "SpreadProperty") { if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } return false; } function isModuleDeclaration(node2, opts) { (0, _deprecationWarning.default)("isModuleDeclaration", "isImportOrExportDeclaration"); return isImportOrExportDeclaration(node2, opts); } } }); // node_modules/@babel/types/lib/validators/matchesPattern.js var require_matchesPattern = __commonJS({ "node_modules/@babel/types/lib/validators/matchesPattern.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = matchesPattern; var _generated = require_generated(); function matchesPattern(member, match, allowPartial) { if (!(0, _generated.isMemberExpression)(member)) return false; const parts = Array.isArray(match) ? match : match.split("."); const nodes = []; let node2; for (node2 = member; (0, _generated.isMemberExpression)(node2); node2 = node2.object) { nodes.push(node2.property); } nodes.push(node2); if (nodes.length < parts.length) return false; if (!allowPartial && nodes.length > parts.length) return false; for (let i = 0, j = nodes.length - 1; i < parts.length; i++, j--) { const node3 = nodes[j]; let value2; if ((0, _generated.isIdentifier)(node3)) { value2 = node3.name; } else if ((0, _generated.isStringLiteral)(node3)) { value2 = node3.value; } else if ((0, _generated.isThisExpression)(node3)) { value2 = "this"; } else { return false; } if (parts[i] !== value2) return false; } return true; } } }); // node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js var require_buildMatchMemberExpression = __commonJS({ "node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = buildMatchMemberExpression; var _matchesPattern = require_matchesPattern(); function buildMatchMemberExpression(match, allowPartial) { const parts = match.split("."); return (member) => (0, _matchesPattern.default)(member, parts, allowPartial); } } }); // node_modules/@babel/types/lib/validators/react/isReactComponent.js var require_isReactComponent = __commonJS({ "node_modules/@babel/types/lib/validators/react/isReactComponent.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _buildMatchMemberExpression = require_buildMatchMemberExpression(); var isReactComponent = (0, _buildMatchMemberExpression.default)("React.Component"); var _default = isReactComponent; exports.default = _default; } }); // node_modules/@babel/types/lib/validators/react/isCompatTag.js var require_isCompatTag = __commonJS({ "node_modules/@babel/types/lib/validators/react/isCompatTag.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = isCompatTag; function isCompatTag(tagName) { return !!tagName && /^[a-z]/.test(tagName); } } }); // node_modules/to-fast-properties/index.js var require_to_fast_properties = __commonJS({ "node_modules/to-fast-properties/index.js"(exports, module2) { "use strict"; var fastProto = null; function FastObject(o) { if (fastProto !== null && typeof fastProto.property) { const result = fastProto; fastProto = FastObject.prototype = null; return result; } fastProto = FastObject.prototype = o == null ? /* @__PURE__ */ Object.create(null) : o; return new FastObject(); } FastObject(); module2.exports = function toFastproperties(o) { return FastObject(o); }; } }); // node_modules/@babel/types/lib/validators/isType.js var require_isType = __commonJS({ "node_modules/@babel/types/lib/validators/isType.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = isType; var _definitions = require_definitions(); function isType(nodeType, targetType) { if (nodeType === targetType) return true; if (_definitions.ALIAS_KEYS[targetType]) return false; const aliases = _definitions.FLIPPED_ALIAS_KEYS[targetType]; if (aliases) { if (aliases[0] === nodeType) return true; for (const alias of aliases) { if (nodeType === alias) return true; } } return false; } } }); // node_modules/@babel/types/lib/validators/isPlaceholderType.js var require_isPlaceholderType = __commonJS({ "node_modules/@babel/types/lib/validators/isPlaceholderType.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = isPlaceholderType; var _definitions = require_definitions(); function isPlaceholderType(placeholderType, targetType) { if (placeholderType === targetType) return true; const aliases = _definitions.PLACEHOLDERS_ALIAS[placeholderType]; if (aliases) { for (const alias of aliases) { if (targetType === alias) return true; } } return false; } } }); // node_modules/@babel/types/lib/validators/is.js var require_is = __commonJS({ "node_modules/@babel/types/lib/validators/is.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = is2; var _shallowEqual = require_shallowEqual(); var _isType = require_isType(); var _isPlaceholderType = require_isPlaceholderType(); var _definitions = require_definitions(); function is2(type, node2, opts) { if (!node2) return false; const matches = (0, _isType.default)(node2.type, type); if (!matches) { if (!opts && node2.type === "Placeholder" && type in _definitions.FLIPPED_ALIAS_KEYS) { return (0, _isPlaceholderType.default)(node2.expectedNode, type); } return false; } if (typeof opts === "undefined") { return true; } else { return (0, _shallowEqual.default)(node2, opts); } } } }); // node_modules/@babel/helper-validator-identifier/lib/identifier.js var require_identifier = __commonJS({ "node_modules/@babel/helper-validator-identifier/lib/identifier.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isIdentifierChar = isIdentifierChar3; exports.isIdentifierName = isIdentifierName; exports.isIdentifierStart = isIdentifierStart3; var nonASCIIidentifierStartChars3 = "\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC"; var nonASCIIidentifierChars3 = "\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F"; var nonASCIIidentifierStart3 = new RegExp("[" + nonASCIIidentifierStartChars3 + "]"); var nonASCIIidentifier3 = new RegExp("[" + nonASCIIidentifierStartChars3 + nonASCIIidentifierChars3 + "]"); nonASCIIidentifierStartChars3 = nonASCIIidentifierChars3 = null; var astralIdentifierStartCodes3 = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 68, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 4026, 582, 8634, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 757, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 3104, 541, 1507, 4938, 6, 4191]; var astralIdentifierCodes3 = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 81, 2, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 9, 5351, 0, 7, 14, 13835, 9, 87, 9, 39, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4706, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 983, 6, 110, 6, 6, 9, 4759, 9, 787719, 239]; function isInAstralSet3(code2, set) { let pos2 = 65536; for (let i = 0, length = set.length; i < length; i += 2) { pos2 += set[i]; if (pos2 > code2) return false; pos2 += set[i + 1]; if (pos2 >= code2) return true; } return false; } function isIdentifierStart3(code2) { if (code2 < 65) return code2 === 36; if (code2 <= 90) return true; if (code2 < 97) return code2 === 95; if (code2 <= 122) return true; if (code2 <= 65535) { return code2 >= 170 && nonASCIIidentifierStart3.test(String.fromCharCode(code2)); } return isInAstralSet3(code2, astralIdentifierStartCodes3); } function isIdentifierChar3(code2) { if (code2 < 48) return code2 === 36; if (code2 < 58) return true; if (code2 < 65) return false; if (code2 <= 90) return true; if (code2 < 97) return code2 === 95; if (code2 <= 122) return true; if (code2 <= 65535) { return code2 >= 170 && nonASCIIidentifier3.test(String.fromCharCode(code2)); } return isInAstralSet3(code2, astralIdentifierStartCodes3) || isInAstralSet3(code2, astralIdentifierCodes3); } function isIdentifierName(name2) { let isFirst = true; for (let i = 0; i < name2.length; i++) { let cp = name2.charCodeAt(i); if ((cp & 64512) === 55296 && i + 1 < name2.length) { const trail = name2.charCodeAt(++i); if ((trail & 64512) === 56320) { cp = 65536 + ((cp & 1023) << 10) + (trail & 1023); } } if (isFirst) { isFirst = false; if (!isIdentifierStart3(cp)) { return false; } } else if (!isIdentifierChar3(cp)) { return false; } } return !isFirst; } } }); // node_modules/@babel/helper-validator-identifier/lib/keyword.js var require_keyword = __commonJS({ "node_modules/@babel/helper-validator-identifier/lib/keyword.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isKeyword = isKeyword; exports.isReservedWord = isReservedWord; exports.isStrictBindOnlyReservedWord = isStrictBindOnlyReservedWord; exports.isStrictBindReservedWord = isStrictBindReservedWord; exports.isStrictReservedWord = isStrictReservedWord; var reservedWords3 = { keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"], strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"], strictBind: ["eval", "arguments"] }; var keywords3 = new Set(reservedWords3.keyword); var reservedWordsStrictSet = new Set(reservedWords3.strict); var reservedWordsStrictBindSet = new Set(reservedWords3.strictBind); function isReservedWord(word, inModule) { return inModule && word === "await" || word === "enum"; } function isStrictReservedWord(word, inModule) { return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word); } function isStrictBindOnlyReservedWord(word) { return reservedWordsStrictBindSet.has(word); } function isStrictBindReservedWord(word, inModule) { return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word); } function isKeyword(word) { return keywords3.has(word); } } }); // node_modules/@babel/helper-validator-identifier/lib/index.js var require_lib = __commonJS({ "node_modules/@babel/helper-validator-identifier/lib/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "isIdentifierChar", { enumerable: true, get: function() { return _identifier.isIdentifierChar; } }); Object.defineProperty(exports, "isIdentifierName", { enumerable: true, get: function() { return _identifier.isIdentifierName; } }); Object.defineProperty(exports, "isIdentifierStart", { enumerable: true, get: function() { return _identifier.isIdentifierStart; } }); Object.defineProperty(exports, "isKeyword", { enumerable: true, get: function() { return _keyword.isKeyword; } }); Object.defineProperty(exports, "isReservedWord", { enumerable: true, get: function() { return _keyword.isReservedWord; } }); Object.defineProperty(exports, "isStrictBindOnlyReservedWord", { enumerable: true, get: function() { return _keyword.isStrictBindOnlyReservedWord; } }); Object.defineProperty(exports, "isStrictBindReservedWord", { enumerable: true, get: function() { return _keyword.isStrictBindReservedWord; } }); Object.defineProperty(exports, "isStrictReservedWord", { enumerable: true, get: function() { return _keyword.isStrictReservedWord; } }); var _identifier = require_identifier(); var _keyword = require_keyword(); } }); // node_modules/@babel/types/lib/validators/isValidIdentifier.js var require_isValidIdentifier = __commonJS({ "node_modules/@babel/types/lib/validators/isValidIdentifier.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = isValidIdentifier; var _helperValidatorIdentifier = require_lib(); function isValidIdentifier(name2, reserved = true) { if (typeof name2 !== "string") return false; if (reserved) { if ((0, _helperValidatorIdentifier.isKeyword)(name2) || (0, _helperValidatorIdentifier.isStrictReservedWord)(name2, true)) { return false; } } return (0, _helperValidatorIdentifier.isIdentifierName)(name2); } } }); // node_modules/@babel/helper-string-parser/lib/index.js var require_lib2 = __commonJS({ "node_modules/@babel/helper-string-parser/lib/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.readCodePoint = readCodePoint; exports.readInt = readInt; exports.readStringContents = readStringContents; var _isDigit = function isDigit(code2) { return code2 >= 48 && code2 <= 57; }; var forbiddenNumericSeparatorSiblings = { decBinOct: /* @__PURE__ */ new Set([46, 66, 69, 79, 95, 98, 101, 111]), hex: /* @__PURE__ */ new Set([46, 88, 95, 120]) }; var isAllowedNumericSeparatorSibling = { bin: (ch) => ch === 48 || ch === 49, oct: (ch) => ch >= 48 && ch <= 55, dec: (ch) => ch >= 48 && ch <= 57, hex: (ch) => ch >= 48 && ch <= 57 || ch >= 65 && ch <= 70 || ch >= 97 && ch <= 102 }; function readStringContents(type, input, pos2, lineStart, curLine, errors) { const initialPos = pos2; const initialLineStart = lineStart; const initialCurLine = curLine; let out = ""; let firstInvalidLoc = null; let chunkStart = pos2; const { length } = input; for (; ; ) { if (pos2 >= length) { errors.unterminated(initialPos, initialLineStart, initialCurLine); out += input.slice(chunkStart, pos2); break; } const ch = input.charCodeAt(pos2); if (isStringEnd(type, ch, input, pos2)) { out += input.slice(chunkStart, pos2); break; } if (ch === 92) { out += input.slice(chunkStart, pos2); const res = readEscapedChar(input, pos2, lineStart, curLine, type === "template", errors); if (res.ch === null && !firstInvalidLoc) { firstInvalidLoc = { pos: pos2, lineStart, curLine }; } else { out += res.ch; } ({ pos: pos2, lineStart, curLine } = res); chunkStart = pos2; } else if (ch === 8232 || ch === 8233) { ++pos2; ++curLine; lineStart = pos2; } else if (ch === 10 || ch === 13) { if (type === "template") { out += input.slice(chunkStart, pos2) + "\n"; ++pos2; if (ch === 13 && input.charCodeAt(pos2) === 10) { ++pos2; } ++curLine; chunkStart = lineStart = pos2; } else { errors.unterminated(initialPos, initialLineStart, initialCurLine); } } else { ++pos2; } } return { pos: pos2, str: out, firstInvalidLoc, lineStart, curLine, containsInvalid: !!firstInvalidLoc }; } function isStringEnd(type, ch, input, pos2) { if (type === "template") { return ch === 96 || ch === 36 && input.charCodeAt(pos2 + 1) === 123; } return ch === (type === "double" ? 34 : 39); } function readEscapedChar(input, pos2, lineStart, curLine, inTemplate, errors) { const throwOnInvalid = !inTemplate; pos2++; const res = (ch2) => ({ pos: pos2, ch: ch2, lineStart, curLine }); const ch = input.charCodeAt(pos2++); switch (ch) { case 110: return res("\n"); case 114: return res("\r"); case 120: { let code2; ({ code: code2, pos: pos2 } = readHexChar(input, pos2, lineStart, curLine, 2, false, throwOnInvalid, errors)); return res(code2 === null ? null : String.fromCharCode(code2)); } case 117: { let code2; ({ code: code2, pos: pos2 } = readCodePoint(input, pos2, lineStart, curLine, throwOnInvalid, errors)); return res(code2 === null ? null : String.fromCodePoint(code2)); } case 116: return res(" "); case 98: return res("\b"); case 118: return res("\v"); case 102: return res("\f"); case 13: if (input.charCodeAt(pos2) === 10) { ++pos2; } case 10: lineStart = pos2; ++curLine; case 8232: case 8233: return res(""); case 56: case 57: if (inTemplate) { return res(null); } else { errors.strictNumericEscape(pos2 - 1, lineStart, curLine); } default: if (ch >= 48 && ch <= 55) { const startPos = pos2 - 1; const match = input.slice(startPos, pos2 + 2).match(/^[0-7]+/); let octalStr = match[0]; let octal = parseInt(octalStr, 8); if (octal > 255) { octalStr = octalStr.slice(0, -1); octal = parseInt(octalStr, 8); } pos2 += octalStr.length - 1; const next = input.charCodeAt(pos2); if (octalStr !== "0" || next === 56 || next === 57) { if (inTemplate) { return res(null); } else { errors.strictNumericEscape(startPos, lineStart, curLine); } } return res(String.fromCharCode(octal)); } return res(String.fromCharCode(ch)); } } function readHexChar(input, pos2, lineStart, curLine, len, forceLen, throwOnInvalid, errors) { const initialPos = pos2; let n; ({ n, pos: pos2 } = readInt(input, pos2, lineStart, curLine, 16, len, forceLen, false, errors, !throwOnInvalid)); if (n === null) { if (throwOnInvalid) { errors.invalidEscapeSequence(initialPos, lineStart, curLine); } else { pos2 = initialPos - 1; } } return { code: n, pos: pos2 }; } function readInt(input, pos2, lineStart, curLine, radix, len, forceLen, allowNumSeparator, errors, bailOnError) { const start3 = pos2; const forbiddenSiblings = radix === 16 ? forbiddenNumericSeparatorSiblings.hex : forbiddenNumericSeparatorSiblings.decBinOct; const isAllowedSibling = radix === 16 ? isAllowedNumericSeparatorSibling.hex : radix === 10 ? isAllowedNumericSeparatorSibling.dec : radix === 8 ? isAllowedNumericSeparatorSibling.oct : isAllowedNumericSeparatorSibling.bin; let invalid2 = false; let total = 0; for (let i = 0, e = len == null ? Infinity : len; i < e; ++i) { const code2 = input.charCodeAt(pos2); let val; if (code2 === 95 && allowNumSeparator !== "bail") { const prev = input.charCodeAt(pos2 - 1); const next = input.charCodeAt(pos2 + 1); if (!allowNumSeparator) { if (bailOnError) return { n: null, pos: pos2 }; errors.numericSeparatorInEscapeSequence(pos2, lineStart, curLine); } else if (Number.isNaN(next) || !isAllowedSibling(next) || forbiddenSiblings.has(prev) || forbiddenSiblings.has(next)) { if (bailOnError) return { n: null, pos: pos2 }; errors.unexpectedNumericSeparator(pos2, lineStart, curLine); } ++pos2; continue; } if (code2 >= 97) { val = code2 - 97 + 10; } else if (code2 >= 65) { val = code2 - 65 + 10; } else if (_isDigit(code2)) { val = code2 - 48; } else { val = Infinity; } if (val >= radix) { if (val <= 9 && bailOnError) { return { n: null, pos: pos2 }; } else if (val <= 9 && errors.invalidDigit(pos2, lineStart, curLine, radix)) { val = 0; } else if (forceLen) { val = 0; invalid2 = true; } else { break; } } ++pos2; total = total * radix + val; } if (pos2 === start3 || len != null && pos2 - start3 !== len || invalid2) { return { n: null, pos: pos2 }; } return { n: total, pos: pos2 }; } function readCodePoint(input, pos2, lineStart, curLine, throwOnInvalid, errors) { const ch = input.charCodeAt(pos2); let code2; if (ch === 123) { ++pos2; ({ code: code2, pos: pos2 } = readHexChar(input, pos2, lineStart, curLine, input.indexOf("}", pos2) - pos2, true, throwOnInvalid, errors)); ++pos2; if (code2 !== null && code2 > 1114111) { if (throwOnInvalid) { errors.invalidCodePoint(pos2, lineStart, curLine); } else { return { code: null, pos: pos2 }; } } } else { ({ code: code2, pos: pos2 } = readHexChar(input, pos2, lineStart, curLine, 4, false, throwOnInvalid, errors)); } return { code: code2, pos: pos2 }; } } }); // node_modules/@babel/types/lib/constants/index.js var require_constants = __commonJS({ "node_modules/@babel/types/lib/constants/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.UPDATE_OPERATORS = exports.UNARY_OPERATORS = exports.STRING_UNARY_OPERATORS = exports.STATEMENT_OR_BLOCK_KEYS = exports.NUMBER_UNARY_OPERATORS = exports.NUMBER_BINARY_OPERATORS = exports.NOT_LOCAL_BINDING = exports.LOGICAL_OPERATORS = exports.INHERIT_KEYS = exports.FOR_INIT_KEYS = exports.FLATTENABLE_KEYS = exports.EQUALITY_BINARY_OPERATORS = exports.COMPARISON_BINARY_OPERATORS = exports.COMMENT_KEYS = exports.BOOLEAN_UNARY_OPERATORS = exports.BOOLEAN_NUMBER_BINARY_OPERATORS = exports.BOOLEAN_BINARY_OPERATORS = exports.BLOCK_SCOPED_SYMBOL = exports.BINARY_OPERATORS = exports.ASSIGNMENT_OPERATORS = void 0; var STATEMENT_OR_BLOCK_KEYS = ["consequent", "body", "alternate"]; exports.STATEMENT_OR_BLOCK_KEYS = STATEMENT_OR_BLOCK_KEYS; var FLATTENABLE_KEYS = ["body", "expressions"]; exports.FLATTENABLE_KEYS = FLATTENABLE_KEYS; var FOR_INIT_KEYS = ["left", "init"]; exports.FOR_INIT_KEYS = FOR_INIT_KEYS; var COMMENT_KEYS = ["leadingComments", "trailingComments", "innerComments"]; exports.COMMENT_KEYS = COMMENT_KEYS; var LOGICAL_OPERATORS = ["||", "&&", "??"]; exports.LOGICAL_OPERATORS = LOGICAL_OPERATORS; var UPDATE_OPERATORS = ["++", "--"]; exports.UPDATE_OPERATORS = UPDATE_OPERATORS; var BOOLEAN_NUMBER_BINARY_OPERATORS = [">", "<", ">=", "<="]; exports.BOOLEAN_NUMBER_BINARY_OPERATORS = BOOLEAN_NUMBER_BINARY_OPERATORS; var EQUALITY_BINARY_OPERATORS = ["==", "===", "!=", "!=="]; exports.EQUALITY_BINARY_OPERATORS = EQUALITY_BINARY_OPERATORS; var COMPARISON_BINARY_OPERATORS = [...EQUALITY_BINARY_OPERATORS, "in", "instanceof"]; exports.COMPARISON_BINARY_OPERATORS = COMPARISON_BINARY_OPERATORS; var BOOLEAN_BINARY_OPERATORS = [...COMPARISON_BINARY_OPERATORS, ...BOOLEAN_NUMBER_BINARY_OPERATORS]; exports.BOOLEAN_BINARY_OPERATORS = BOOLEAN_BINARY_OPERATORS; var NUMBER_BINARY_OPERATORS = ["-", "/", "%", "*", "**", "&", "|", ">>", ">>>", "<<", "^"]; exports.NUMBER_BINARY_OPERATORS = NUMBER_BINARY_OPERATORS; var BINARY_OPERATORS = ["+", ...NUMBER_BINARY_OPERATORS, ...BOOLEAN_BINARY_OPERATORS, "|>"]; exports.BINARY_OPERATORS = BINARY_OPERATORS; var ASSIGNMENT_OPERATORS = ["=", "+=", ...NUMBER_BINARY_OPERATORS.map((op) => op + "="), ...LOGICAL_OPERATORS.map((op) => op + "=")]; exports.ASSIGNMENT_OPERATORS = ASSIGNMENT_OPERATORS; var BOOLEAN_UNARY_OPERATORS = ["delete", "!"]; exports.BOOLEAN_UNARY_OPERATORS = BOOLEAN_UNARY_OPERATORS; var NUMBER_UNARY_OPERATORS = ["+", "-", "~"]; exports.NUMBER_UNARY_OPERATORS = NUMBER_UNARY_OPERATORS; var STRING_UNARY_OPERATORS = ["typeof"]; exports.STRING_UNARY_OPERATORS = STRING_UNARY_OPERATORS; var UNARY_OPERATORS = ["void", "throw", ...BOOLEAN_UNARY_OPERATORS, ...NUMBER_UNARY_OPERATORS, ...STRING_UNARY_OPERATORS]; exports.UNARY_OPERATORS = UNARY_OPERATORS; var INHERIT_KEYS = { optional: ["typeAnnotation", "typeParameters", "returnType"], force: ["start", "loc", "end"] }; exports.INHERIT_KEYS = INHERIT_KEYS; var BLOCK_SCOPED_SYMBOL = Symbol.for("var used to be block scoped"); exports.BLOCK_SCOPED_SYMBOL = BLOCK_SCOPED_SYMBOL; var NOT_LOCAL_BINDING = Symbol.for("should not be considered a local binding"); exports.NOT_LOCAL_BINDING = NOT_LOCAL_BINDING; } }); // node_modules/@babel/types/lib/definitions/utils.js var require_utils = __commonJS({ "node_modules/@babel/types/lib/definitions/utils.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.VISITOR_KEYS = exports.NODE_PARENT_VALIDATIONS = exports.NODE_FIELDS = exports.FLIPPED_ALIAS_KEYS = exports.DEPRECATED_KEYS = exports.BUILDER_KEYS = exports.ALIAS_KEYS = void 0; exports.arrayOf = arrayOf; exports.arrayOfType = arrayOfType; exports.assertEach = assertEach; exports.assertNodeOrValueType = assertNodeOrValueType; exports.assertNodeType = assertNodeType; exports.assertOneOf = assertOneOf; exports.assertOptionalChainStart = assertOptionalChainStart; exports.assertShape = assertShape; exports.assertValueType = assertValueType; exports.chain = chain; exports.default = defineType; exports.defineAliasedType = defineAliasedType; exports.typeIs = typeIs; exports.validate = validate; exports.validateArrayOfType = validateArrayOfType; exports.validateOptional = validateOptional; exports.validateOptionalType = validateOptionalType; exports.validateType = validateType; var _is = require_is(); var _validate = require_validate(); var VISITOR_KEYS = {}; exports.VISITOR_KEYS = VISITOR_KEYS; var ALIAS_KEYS = {}; exports.ALIAS_KEYS = ALIAS_KEYS; var FLIPPED_ALIAS_KEYS = {}; exports.FLIPPED_ALIAS_KEYS = FLIPPED_ALIAS_KEYS; var NODE_FIELDS = {}; exports.NODE_FIELDS = NODE_FIELDS; var BUILDER_KEYS = {}; exports.BUILDER_KEYS = BUILDER_KEYS; var DEPRECATED_KEYS = {}; exports.DEPRECATED_KEYS = DEPRECATED_KEYS; var NODE_PARENT_VALIDATIONS = {}; exports.NODE_PARENT_VALIDATIONS = NODE_PARENT_VALIDATIONS; function getType(val) { if (Array.isArray(val)) { return "array"; } else if (val === null) { return "null"; } else { return typeof val; } } function validate(validate2) { return { validate: validate2 }; } function typeIs(typeName) { return typeof typeName === "string" ? assertNodeType(typeName) : assertNodeType(...typeName); } function validateType(typeName) { return validate(typeIs(typeName)); } function validateOptional(validate2) { return { validate: validate2, optional: true }; } function validateOptionalType(typeName) { return { validate: typeIs(typeName), optional: true }; } function arrayOf(elementType) { return chain(assertValueType("array"), assertEach(elementType)); } function arrayOfType(typeName) { return arrayOf(typeIs(typeName)); } function validateArrayOfType(typeName) { return validate(arrayOfType(typeName)); } function assertEach(callback) { function validator(node2, key2, val) { if (!Array.isArray(val)) return; for (let i = 0; i < val.length; i++) { const subkey = `${key2}[${i}]`; const v = val[i]; callback(node2, subkey, v); if (process.env.BABEL_TYPES_8_BREAKING) (0, _validate.validateChild)(node2, subkey, v); } } validator.each = callback; return validator; } function assertOneOf(...values) { function validate2(node2, key2, val) { if (values.indexOf(val) < 0) { throw new TypeError(`Property ${key2} expected value to be one of ${JSON.stringify(values)} but got ${JSON.stringify(val)}`); } } validate2.oneOf = values; return validate2; } function assertNodeType(...types3) { function validate2(node2, key2, val) { for (const type of types3) { if ((0, _is.default)(type, val)) { (0, _validate.validateChild)(node2, key2, val); return; } } throw new TypeError(`Property ${key2} of ${node2.type} expected node to be of a type ${JSON.stringify(types3)} but instead got ${JSON.stringify(val == null ? void 0 : val.type)}`); } validate2.oneOfNodeTypes = types3; return validate2; } function assertNodeOrValueType(...types3) { function validate2(node2, key2, val) { for (const type of types3) { if (getType(val) === type || (0, _is.default)(type, val)) { (0, _validate.validateChild)(node2, key2, val); return; } } throw new TypeError(`Property ${key2} of ${node2.type} expected node to be of a type ${JSON.stringify(types3)} but instead got ${JSON.stringify(val == null ? void 0 : val.type)}`); } validate2.oneOfNodeOrValueTypes = types3; return validate2; } function assertValueType(type) { function validate2(node2, key2, val) { const valid2 = getType(val) === type; if (!valid2) { throw new TypeError(`Property ${key2} expected type of ${type} but got ${getType(val)}`); } } validate2.type = type; return validate2; } function assertShape(shape) { function validate2(node2, key2, val) { const errors = []; for (const property of Object.keys(shape)) { try { (0, _validate.validateField)(node2, property, val[property], shape[property]); } catch (error) { if (error instanceof TypeError) { errors.push(error.message); continue; } throw error; } } if (errors.length) { throw new TypeError(`Property ${key2} of ${node2.type} expected to have the following: ${errors.join("\n")}`); } } validate2.shapeOf = shape; return validate2; } function assertOptionalChainStart() { function validate2(node2) { var _current; let current3 = node2; while (node2) { const { type } = current3; if (type === "OptionalCallExpression") { if (current3.optional) return; current3 = current3.callee; continue; } if (type === "OptionalMemberExpression") { if (current3.optional) return; current3 = current3.object; continue; } break; } throw new TypeError(`Non-optional ${node2.type} must chain from an optional OptionalMemberExpression or OptionalCallExpression. Found chain from ${(_current = current3) == null ? void 0 : _current.type}`); } return validate2; } function chain(...fns) { function validate2(...args) { for (const fn of fns) { fn(...args); } } validate2.chainOf = fns; if (fns.length >= 2 && "type" in fns[0] && fns[0].type === "array" && !("each" in fns[1])) { throw new Error(`An assertValueType("array") validator can only be followed by an assertEach(...) validator.`); } return validate2; } var validTypeOpts = ["aliases", "builder", "deprecatedAlias", "fields", "inherits", "visitor", "validate"]; var validFieldKeys = ["default", "optional", "validate"]; var store = {}; function defineAliasedType(...aliases) { return (type, opts = {}) => { let defined = opts.aliases; if (!defined) { var _store$opts$inherits$, _defined; if (opts.inherits) defined = (_store$opts$inherits$ = store[opts.inherits].aliases) == null ? void 0 : _store$opts$inherits$.slice(); (_defined = defined) != null ? _defined : defined = []; opts.aliases = defined; } const additional = aliases.filter((a) => !defined.includes(a)); defined.unshift(...additional); defineType(type, opts); }; } function defineType(type, opts = {}) { const inherits = opts.inherits && store[opts.inherits] || {}; let fields = opts.fields; if (!fields) { fields = {}; if (inherits.fields) { const keys2 = Object.getOwnPropertyNames(inherits.fields); for (const key2 of keys2) { const field = inherits.fields[key2]; const def = field.default; if (Array.isArray(def) ? def.length > 0 : def && typeof def === "object") { throw new Error("field defaults can only be primitives or empty arrays currently"); } fields[key2] = { default: Array.isArray(def) ? [] : def, optional: field.optional, validate: field.validate }; } } } const visitor = opts.visitor || inherits.visitor || []; const aliases = opts.aliases || inherits.aliases || []; const builder = opts.builder || inherits.builder || opts.visitor || []; for (const k of Object.keys(opts)) { if (validTypeOpts.indexOf(k) === -1) { throw new Error(`Unknown type option "${k}" on ${type}`); } } if (opts.deprecatedAlias) { DEPRECATED_KEYS[opts.deprecatedAlias] = type; } for (const key2 of visitor.concat(builder)) { fields[key2] = fields[key2] || {}; } for (const key2 of Object.keys(fields)) { const field = fields[key2]; if (field.default !== void 0 && builder.indexOf(key2) === -1) { field.optional = true; } if (field.default === void 0) { field.default = null; } else if (!field.validate && field.default != null) { field.validate = assertValueType(getType(field.default)); } for (const k of Object.keys(field)) { if (validFieldKeys.indexOf(k) === -1) { throw new Error(`Unknown field key "${k}" on ${type}.${key2}`); } } } VISITOR_KEYS[type] = opts.visitor = visitor; BUILDER_KEYS[type] = opts.builder = builder; NODE_FIELDS[type] = opts.fields = fields; ALIAS_KEYS[type] = opts.aliases = aliases; aliases.forEach((alias) => { FLIPPED_ALIAS_KEYS[alias] = FLIPPED_ALIAS_KEYS[alias] || []; FLIPPED_ALIAS_KEYS[alias].push(type); }); if (opts.validate) { NODE_PARENT_VALIDATIONS[type] = opts.validate; } store[type] = opts; } } }); // node_modules/@babel/types/lib/definitions/core.js var require_core = __commonJS({ "node_modules/@babel/types/lib/definitions/core.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.patternLikeCommon = exports.functionTypeAnnotationCommon = exports.functionDeclarationCommon = exports.functionCommon = exports.classMethodOrPropertyCommon = exports.classMethodOrDeclareMethodCommon = void 0; var _is = require_is(); var _isValidIdentifier = require_isValidIdentifier(); var _helperValidatorIdentifier = require_lib(); var _helperStringParser = require_lib2(); var _constants = require_constants(); var _utils = require_utils(); var defineType = (0, _utils.defineAliasedType)("Standardized"); defineType("ArrayExpression", { fields: { elements: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeOrValueType)("null", "Expression", "SpreadElement"))), default: !process.env.BABEL_TYPES_8_BREAKING ? [] : void 0 } }, visitor: ["elements"], aliases: ["Expression"] }); defineType("AssignmentExpression", { fields: { operator: { validate: function() { if (!process.env.BABEL_TYPES_8_BREAKING) { return (0, _utils.assertValueType)("string"); } const identifier = (0, _utils.assertOneOf)(..._constants.ASSIGNMENT_OPERATORS); const pattern = (0, _utils.assertOneOf)("="); return function(node2, key2, val) { const validator = (0, _is.default)("Pattern", node2.left) ? pattern : identifier; validator(node2, key2, val); }; }() }, left: { validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)("LVal") : (0, _utils.assertNodeType)("Identifier", "MemberExpression", "ArrayPattern", "ObjectPattern", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression") }, right: { validate: (0, _utils.assertNodeType)("Expression") } }, builder: ["operator", "left", "right"], visitor: ["left", "right"], aliases: ["Expression"] }); defineType("BinaryExpression", { builder: ["operator", "left", "right"], fields: { operator: { validate: (0, _utils.assertOneOf)(..._constants.BINARY_OPERATORS) }, left: { validate: function() { const expression = (0, _utils.assertNodeType)("Expression"); const inOp = (0, _utils.assertNodeType)("Expression", "PrivateName"); const validator = Object.assign(function(node2, key2, val) { const validator2 = node2.operator === "in" ? inOp : expression; validator2(node2, key2, val); }, { oneOfNodeTypes: ["Expression", "PrivateName"] }); return validator; }() }, right: { validate: (0, _utils.assertNodeType)("Expression") } }, visitor: ["left", "right"], aliases: ["Binary", "Expression"] }); defineType("InterpreterDirective", { builder: ["value"], fields: { value: { validate: (0, _utils.assertValueType)("string") } } }); defineType("Directive", { visitor: ["value"], fields: { value: { validate: (0, _utils.assertNodeType)("DirectiveLiteral") } } }); defineType("DirectiveLiteral", { builder: ["value"], fields: { value: { validate: (0, _utils.assertValueType)("string") } } }); defineType("BlockStatement", { builder: ["body", "directives"], visitor: ["directives", "body"], fields: { directives: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Directive"))), default: [] }, body: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Statement"))) } }, aliases: ["Scopable", "BlockParent", "Block", "Statement"] }); defineType("BreakStatement", { visitor: ["label"], fields: { label: { validate: (0, _utils.assertNodeType)("Identifier"), optional: true } }, aliases: ["Statement", "Terminatorless", "CompletionStatement"] }); defineType("CallExpression", { visitor: ["callee", "arguments", "typeParameters", "typeArguments"], builder: ["callee", "arguments"], aliases: ["Expression"], fields: Object.assign({ callee: { validate: (0, _utils.assertNodeType)("Expression", "Super", "V8IntrinsicIdentifier") }, arguments: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Expression", "SpreadElement", "JSXNamespacedName", "ArgumentPlaceholder"))) } }, !process.env.BABEL_TYPES_8_BREAKING ? { optional: { validate: (0, _utils.assertOneOf)(true, false), optional: true } } : {}, { typeArguments: { validate: (0, _utils.assertNodeType)("TypeParameterInstantiation"), optional: true }, typeParameters: { validate: (0, _utils.assertNodeType)("TSTypeParameterInstantiation"), optional: true } }) }); defineType("CatchClause", { visitor: ["param", "body"], fields: { param: { validate: (0, _utils.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern"), optional: true }, body: { validate: (0, _utils.assertNodeType)("BlockStatement") } }, aliases: ["Scopable", "BlockParent"] }); defineType("ConditionalExpression", { visitor: ["test", "consequent", "alternate"], fields: { test: { validate: (0, _utils.assertNodeType)("Expression") }, consequent: { validate: (0, _utils.assertNodeType)("Expression") }, alternate: { validate: (0, _utils.assertNodeType)("Expression") } }, aliases: ["Expression", "Conditional"] }); defineType("ContinueStatement", { visitor: ["label"], fields: { label: { validate: (0, _utils.assertNodeType)("Identifier"), optional: true } }, aliases: ["Statement", "Terminatorless", "CompletionStatement"] }); defineType("DebuggerStatement", { aliases: ["Statement"] }); defineType("DoWhileStatement", { visitor: ["test", "body"], fields: { test: { validate: (0, _utils.assertNodeType)("Expression") }, body: { validate: (0, _utils.assertNodeType)("Statement") } }, aliases: ["Statement", "BlockParent", "Loop", "While", "Scopable"] }); defineType("EmptyStatement", { aliases: ["Statement"] }); defineType("ExpressionStatement", { visitor: ["expression"], fields: { expression: { validate: (0, _utils.assertNodeType)("Expression") } }, aliases: ["Statement", "ExpressionWrapper"] }); defineType("File", { builder: ["program", "comments", "tokens"], visitor: ["program"], fields: { program: { validate: (0, _utils.assertNodeType)("Program") }, comments: { validate: !process.env.BABEL_TYPES_8_BREAKING ? Object.assign(() => { }, { each: { oneOfNodeTypes: ["CommentBlock", "CommentLine"] } }) : (0, _utils.assertEach)((0, _utils.assertNodeType)("CommentBlock", "CommentLine")), optional: true }, tokens: { validate: (0, _utils.assertEach)(Object.assign(() => { }, { type: "any" })), optional: true } } }); defineType("ForInStatement", { visitor: ["left", "right", "body"], aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop", "ForXStatement"], fields: { left: { validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)("VariableDeclaration", "LVal") : (0, _utils.assertNodeType)("VariableDeclaration", "Identifier", "MemberExpression", "ArrayPattern", "ObjectPattern", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression") }, right: { validate: (0, _utils.assertNodeType)("Expression") }, body: { validate: (0, _utils.assertNodeType)("Statement") } } }); defineType("ForStatement", { visitor: ["init", "test", "update", "body"], aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop"], fields: { init: { validate: (0, _utils.assertNodeType)("VariableDeclaration", "Expression"), optional: true }, test: { validate: (0, _utils.assertNodeType)("Expression"), optional: true }, update: { validate: (0, _utils.assertNodeType)("Expression"), optional: true }, body: { validate: (0, _utils.assertNodeType)("Statement") } } }); var functionCommon = () => ({ params: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Identifier", "Pattern", "RestElement"))) }, generator: { default: false }, async: { default: false } }); exports.functionCommon = functionCommon; var functionTypeAnnotationCommon = () => ({ returnType: { validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"), optional: true }, typeParameters: { validate: (0, _utils.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"), optional: true } }); exports.functionTypeAnnotationCommon = functionTypeAnnotationCommon; var functionDeclarationCommon = () => Object.assign({}, functionCommon(), { declare: { validate: (0, _utils.assertValueType)("boolean"), optional: true }, id: { validate: (0, _utils.assertNodeType)("Identifier"), optional: true } }); exports.functionDeclarationCommon = functionDeclarationCommon; defineType("FunctionDeclaration", { builder: ["id", "params", "body", "generator", "async"], visitor: ["id", "params", "body", "returnType", "typeParameters"], fields: Object.assign({}, functionDeclarationCommon(), functionTypeAnnotationCommon(), { body: { validate: (0, _utils.assertNodeType)("BlockStatement") }, predicate: { validate: (0, _utils.assertNodeType)("DeclaredPredicate", "InferredPredicate"), optional: true } }), aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Statement", "Pureish", "Declaration"], validate: function() { if (!process.env.BABEL_TYPES_8_BREAKING) return () => { }; const identifier = (0, _utils.assertNodeType)("Identifier"); return function(parent, key2, node2) { if (!(0, _is.default)("ExportDefaultDeclaration", parent)) { identifier(node2, "id", node2.id); } }; }() }); defineType("FunctionExpression", { inherits: "FunctionDeclaration", aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Expression", "Pureish"], fields: Object.assign({}, functionCommon(), functionTypeAnnotationCommon(), { id: { validate: (0, _utils.assertNodeType)("Identifier"), optional: true }, body: { validate: (0, _utils.assertNodeType)("BlockStatement") }, predicate: { validate: (0, _utils.assertNodeType)("DeclaredPredicate", "InferredPredicate"), optional: true } }) }); var patternLikeCommon = () => ({ typeAnnotation: { validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"), optional: true }, optional: { validate: (0, _utils.assertValueType)("boolean"), optional: true }, decorators: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), optional: true } }); exports.patternLikeCommon = patternLikeCommon; defineType("Identifier", { builder: ["name"], visitor: ["typeAnnotation", "decorators"], aliases: ["Expression", "PatternLike", "LVal", "TSEntityName"], fields: Object.assign({}, patternLikeCommon(), { name: { validate: (0, _utils.chain)((0, _utils.assertValueType)("string"), Object.assign(function(node2, key2, val) { if (!process.env.BABEL_TYPES_8_BREAKING) return; if (!(0, _isValidIdentifier.default)(val, false)) { throw new TypeError(`"${val}" is not a valid identifier name`); } }, { type: "string" })) } }), validate(parent, key2, node2) { if (!process.env.BABEL_TYPES_8_BREAKING) return; const match = /\.(\w+)$/.exec(key2); if (!match) return; const [, parentKey] = match; const nonComp = { computed: false }; if (parentKey === "property") { if ((0, _is.default)("MemberExpression", parent, nonComp)) return; if ((0, _is.default)("OptionalMemberExpression", parent, nonComp)) return; } else if (parentKey === "key") { if ((0, _is.default)("Property", parent, nonComp)) return; if ((0, _is.default)("Method", parent, nonComp)) return; } else if (parentKey === "exported") { if ((0, _is.default)("ExportSpecifier", parent)) return; } else if (parentKey === "imported") { if ((0, _is.default)("ImportSpecifier", parent, { imported: node2 })) return; } else if (parentKey === "meta") { if ((0, _is.default)("MetaProperty", parent, { meta: node2 })) return; } if (((0, _helperValidatorIdentifier.isKeyword)(node2.name) || (0, _helperValidatorIdentifier.isReservedWord)(node2.name, false)) && node2.name !== "this") { throw new TypeError(`"${node2.name}" is not a valid identifier`); } } }); defineType("IfStatement", { visitor: ["test", "consequent", "alternate"], aliases: ["Statement", "Conditional"], fields: { test: { validate: (0, _utils.assertNodeType)("Expression") }, consequent: { validate: (0, _utils.assertNodeType)("Statement") }, alternate: { optional: true, validate: (0, _utils.assertNodeType)("Statement") } } }); defineType("LabeledStatement", { visitor: ["label", "body"], aliases: ["Statement"], fields: { label: { validate: (0, _utils.assertNodeType)("Identifier") }, body: { validate: (0, _utils.assertNodeType)("Statement") } } }); defineType("StringLiteral", { builder: ["value"], fields: { value: { validate: (0, _utils.assertValueType)("string") } }, aliases: ["Expression", "Pureish", "Literal", "Immutable"] }); defineType("NumericLiteral", { builder: ["value"], deprecatedAlias: "NumberLiteral", fields: { value: { validate: (0, _utils.assertValueType)("number") } }, aliases: ["Expression", "Pureish", "Literal", "Immutable"] }); defineType("NullLiteral", { aliases: ["Expression", "Pureish", "Literal", "Immutable"] }); defineType("BooleanLiteral", { builder: ["value"], fields: { value: { validate: (0, _utils.assertValueType)("boolean") } }, aliases: ["Expression", "Pureish", "Literal", "Immutable"] }); defineType("RegExpLiteral", { builder: ["pattern", "flags"], deprecatedAlias: "RegexLiteral", aliases: ["Expression", "Pureish", "Literal"], fields: { pattern: { validate: (0, _utils.assertValueType)("string") }, flags: { validate: (0, _utils.chain)((0, _utils.assertValueType)("string"), Object.assign(function(node2, key2, val) { if (!process.env.BABEL_TYPES_8_BREAKING) return; const invalid2 = /[^gimsuy]/.exec(val); if (invalid2) { throw new TypeError(`"${invalid2[0]}" is not a valid RegExp flag`); } }, { type: "string" })), default: "" } } }); defineType("LogicalExpression", { builder: ["operator", "left", "right"], visitor: ["left", "right"], aliases: ["Binary", "Expression"], fields: { operator: { validate: (0, _utils.assertOneOf)(..._constants.LOGICAL_OPERATORS) }, left: { validate: (0, _utils.assertNodeType)("Expression") }, right: { validate: (0, _utils.assertNodeType)("Expression") } } }); defineType("MemberExpression", { builder: ["object", "property", "computed", ...!process.env.BABEL_TYPES_8_BREAKING ? ["optional"] : []], visitor: ["object", "property"], aliases: ["Expression", "LVal"], fields: Object.assign({ object: { validate: (0, _utils.assertNodeType)("Expression", "Super") }, property: { validate: function() { const normal = (0, _utils.assertNodeType)("Identifier", "PrivateName"); const computed = (0, _utils.assertNodeType)("Expression"); const validator = function(node2, key2, val) { const validator2 = node2.computed ? computed : normal; validator2(node2, key2, val); }; validator.oneOfNodeTypes = ["Expression", "Identifier", "PrivateName"]; return validator; }() }, computed: { default: false } }, !process.env.BABEL_TYPES_8_BREAKING ? { optional: { validate: (0, _utils.assertOneOf)(true, false), optional: true } } : {}) }); defineType("NewExpression", { inherits: "CallExpression" }); defineType("Program", { visitor: ["directives", "body"], builder: ["body", "directives", "sourceType", "interpreter"], fields: { sourceFile: { validate: (0, _utils.assertValueType)("string") }, sourceType: { validate: (0, _utils.assertOneOf)("script", "module"), default: "script" }, interpreter: { validate: (0, _utils.assertNodeType)("InterpreterDirective"), default: null, optional: true }, directives: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Directive"))), default: [] }, body: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Statement"))) } }, aliases: ["Scopable", "BlockParent", "Block"] }); defineType("ObjectExpression", { visitor: ["properties"], aliases: ["Expression"], fields: { properties: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ObjectMethod", "ObjectProperty", "SpreadElement"))) } } }); defineType("ObjectMethod", { builder: ["kind", "key", "params", "body", "computed", "generator", "async"], fields: Object.assign({}, functionCommon(), functionTypeAnnotationCommon(), { kind: Object.assign({ validate: (0, _utils.assertOneOf)("method", "get", "set") }, !process.env.BABEL_TYPES_8_BREAKING ? { default: "method" } : {}), computed: { default: false }, key: { validate: function() { const normal = (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral"); const computed = (0, _utils.assertNodeType)("Expression"); const validator = function(node2, key2, val) { const validator2 = node2.computed ? computed : normal; validator2(node2, key2, val); }; validator.oneOfNodeTypes = ["Expression", "Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral"]; return validator; }() }, decorators: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), optional: true }, body: { validate: (0, _utils.assertNodeType)("BlockStatement") } }), visitor: ["key", "params", "body", "decorators", "returnType", "typeParameters"], aliases: ["UserWhitespacable", "Function", "Scopable", "BlockParent", "FunctionParent", "Method", "ObjectMember"] }); defineType("ObjectProperty", { builder: ["key", "value", "computed", "shorthand", ...!process.env.BABEL_TYPES_8_BREAKING ? ["decorators"] : []], fields: { computed: { default: false }, key: { validate: function() { const normal = (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "DecimalLiteral", "PrivateName"); const computed = (0, _utils.assertNodeType)("Expression"); const validator = Object.assign(function(node2, key2, val) { const validator2 = node2.computed ? computed : normal; validator2(node2, key2, val); }, { oneOfNodeTypes: ["Expression", "Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "DecimalLiteral", "PrivateName"] }); return validator; }() }, value: { validate: (0, _utils.assertNodeType)("Expression", "PatternLike") }, shorthand: { validate: (0, _utils.chain)((0, _utils.assertValueType)("boolean"), Object.assign(function(node2, key2, val) { if (!process.env.BABEL_TYPES_8_BREAKING) return; if (val && node2.computed) { throw new TypeError("Property shorthand of ObjectProperty cannot be true if computed is true"); } }, { type: "boolean" }), function(node2, key2, val) { if (!process.env.BABEL_TYPES_8_BREAKING) return; if (val && !(0, _is.default)("Identifier", node2.key)) { throw new TypeError("Property shorthand of ObjectProperty cannot be true if key is not an Identifier"); } }), default: false }, decorators: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), optional: true } }, visitor: ["key", "value", "decorators"], aliases: ["UserWhitespacable", "Property", "ObjectMember"], validate: function() { const pattern = (0, _utils.assertNodeType)("Identifier", "Pattern", "TSAsExpression", "TSSatisfiesExpression", "TSNonNullExpression", "TSTypeAssertion"); const expression = (0, _utils.assertNodeType)("Expression"); return function(parent, key2, node2) { if (!process.env.BABEL_TYPES_8_BREAKING) return; const validator = (0, _is.default)("ObjectPattern", parent) ? pattern : expression; validator(node2, "value", node2.value); }; }() }); defineType("RestElement", { visitor: ["argument", "typeAnnotation"], builder: ["argument"], aliases: ["LVal", "PatternLike"], deprecatedAlias: "RestProperty", fields: Object.assign({}, patternLikeCommon(), { argument: { validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)("LVal") : (0, _utils.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern", "MemberExpression", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression") } }), validate(parent, key2) { if (!process.env.BABEL_TYPES_8_BREAKING) return; const match = /(\w+)\[(\d+)\]/.exec(key2); if (!match) throw new Error("Internal Babel error: malformed key."); const [, listKey, index2] = match; if (parent[listKey].length > +index2 + 1) { throw new TypeError(`RestElement must be last element of ${listKey}`); } } }); defineType("ReturnStatement", { visitor: ["argument"], aliases: ["Statement", "Terminatorless", "CompletionStatement"], fields: { argument: { validate: (0, _utils.assertNodeType)("Expression"), optional: true } } }); defineType("SequenceExpression", { visitor: ["expressions"], fields: { expressions: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Expression"))) } }, aliases: ["Expression"] }); defineType("ParenthesizedExpression", { visitor: ["expression"], aliases: ["Expression", "ExpressionWrapper"], fields: { expression: { validate: (0, _utils.assertNodeType)("Expression") } } }); defineType("SwitchCase", { visitor: ["test", "consequent"], fields: { test: { validate: (0, _utils.assertNodeType)("Expression"), optional: true }, consequent: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Statement"))) } } }); defineType("SwitchStatement", { visitor: ["discriminant", "cases"], aliases: ["Statement", "BlockParent", "Scopable"], fields: { discriminant: { validate: (0, _utils.assertNodeType)("Expression") }, cases: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("SwitchCase"))) } } }); defineType("ThisExpression", { aliases: ["Expression"] }); defineType("ThrowStatement", { visitor: ["argument"], aliases: ["Statement", "Terminatorless", "CompletionStatement"], fields: { argument: { validate: (0, _utils.assertNodeType)("Expression") } } }); defineType("TryStatement", { visitor: ["block", "handler", "finalizer"], aliases: ["Statement"], fields: { block: { validate: (0, _utils.chain)((0, _utils.assertNodeType)("BlockStatement"), Object.assign(function(node2) { if (!process.env.BABEL_TYPES_8_BREAKING) return; if (!node2.handler && !node2.finalizer) { throw new TypeError("TryStatement expects either a handler or finalizer, or both"); } }, { oneOfNodeTypes: ["BlockStatement"] })) }, handler: { optional: true, validate: (0, _utils.assertNodeType)("CatchClause") }, finalizer: { optional: true, validate: (0, _utils.assertNodeType)("BlockStatement") } } }); defineType("UnaryExpression", { builder: ["operator", "argument", "prefix"], fields: { prefix: { default: true }, argument: { validate: (0, _utils.assertNodeType)("Expression") }, operator: { validate: (0, _utils.assertOneOf)(..._constants.UNARY_OPERATORS) } }, visitor: ["argument"], aliases: ["UnaryLike", "Expression"] }); defineType("UpdateExpression", { builder: ["operator", "argument", "prefix"], fields: { prefix: { default: false }, argument: { validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)("Expression") : (0, _utils.assertNodeType)("Identifier", "MemberExpression") }, operator: { validate: (0, _utils.assertOneOf)(..._constants.UPDATE_OPERATORS) } }, visitor: ["argument"], aliases: ["Expression"] }); defineType("VariableDeclaration", { builder: ["kind", "declarations"], visitor: ["declarations"], aliases: ["Statement", "Declaration"], fields: { declare: { validate: (0, _utils.assertValueType)("boolean"), optional: true }, kind: { validate: (0, _utils.assertOneOf)("var", "let", "const", "using") }, declarations: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("VariableDeclarator"))) } }, validate(parent, key2, node2) { if (!process.env.BABEL_TYPES_8_BREAKING) return; if (!(0, _is.default)("ForXStatement", parent, { left: node2 })) return; if (node2.declarations.length !== 1) { throw new TypeError(`Exactly one VariableDeclarator is required in the VariableDeclaration of a ${parent.type}`); } } }); defineType("VariableDeclarator", { visitor: ["id", "init"], fields: { id: { validate: function() { if (!process.env.BABEL_TYPES_8_BREAKING) { return (0, _utils.assertNodeType)("LVal"); } const normal = (0, _utils.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern"); const without = (0, _utils.assertNodeType)("Identifier"); return function(node2, key2, val) { const validator = node2.init ? normal : without; validator(node2, key2, val); }; }() }, definite: { optional: true, validate: (0, _utils.assertValueType)("boolean") }, init: { optional: true, validate: (0, _utils.assertNodeType)("Expression") } } }); defineType("WhileStatement", { visitor: ["test", "body"], aliases: ["Statement", "BlockParent", "Loop", "While", "Scopable"], fields: { test: { validate: (0, _utils.assertNodeType)("Expression") }, body: { validate: (0, _utils.assertNodeType)("Statement") } } }); defineType("WithStatement", { visitor: ["object", "body"], aliases: ["Statement"], fields: { object: { validate: (0, _utils.assertNodeType)("Expression") }, body: { validate: (0, _utils.assertNodeType)("Statement") } } }); defineType("AssignmentPattern", { visitor: ["left", "right", "decorators"], builder: ["left", "right"], aliases: ["Pattern", "PatternLike", "LVal"], fields: Object.assign({}, patternLikeCommon(), { left: { validate: (0, _utils.assertNodeType)("Identifier", "ObjectPattern", "ArrayPattern", "MemberExpression", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression") }, right: { validate: (0, _utils.assertNodeType)("Expression") }, decorators: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), optional: true } }) }); defineType("ArrayPattern", { visitor: ["elements", "typeAnnotation"], builder: ["elements"], aliases: ["Pattern", "PatternLike", "LVal"], fields: Object.assign({}, patternLikeCommon(), { elements: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeOrValueType)("null", "PatternLike", "LVal"))) } }) }); defineType("ArrowFunctionExpression", { builder: ["params", "body", "async"], visitor: ["params", "body", "returnType", "typeParameters"], aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Expression", "Pureish"], fields: Object.assign({}, functionCommon(), functionTypeAnnotationCommon(), { expression: { validate: (0, _utils.assertValueType)("boolean") }, body: { validate: (0, _utils.assertNodeType)("BlockStatement", "Expression") }, predicate: { validate: (0, _utils.assertNodeType)("DeclaredPredicate", "InferredPredicate"), optional: true } }) }); defineType("ClassBody", { visitor: ["body"], fields: { body: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ClassMethod", "ClassPrivateMethod", "ClassProperty", "ClassPrivateProperty", "ClassAccessorProperty", "TSDeclareMethod", "TSIndexSignature", "StaticBlock"))) } } }); defineType("ClassExpression", { builder: ["id", "superClass", "body", "decorators"], visitor: ["id", "body", "superClass", "mixins", "typeParameters", "superTypeParameters", "implements", "decorators"], aliases: ["Scopable", "Class", "Expression"], fields: { id: { validate: (0, _utils.assertNodeType)("Identifier"), optional: true }, typeParameters: { validate: (0, _utils.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"), optional: true }, body: { validate: (0, _utils.assertNodeType)("ClassBody") }, superClass: { optional: true, validate: (0, _utils.assertNodeType)("Expression") }, superTypeParameters: { validate: (0, _utils.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"), optional: true }, implements: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("TSExpressionWithTypeArguments", "ClassImplements"))), optional: true }, decorators: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), optional: true }, mixins: { validate: (0, _utils.assertNodeType)("InterfaceExtends"), optional: true } } }); defineType("ClassDeclaration", { inherits: "ClassExpression", aliases: ["Scopable", "Class", "Statement", "Declaration"], fields: { id: { validate: (0, _utils.assertNodeType)("Identifier") }, typeParameters: { validate: (0, _utils.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"), optional: true }, body: { validate: (0, _utils.assertNodeType)("ClassBody") }, superClass: { optional: true, validate: (0, _utils.assertNodeType)("Expression") }, superTypeParameters: { validate: (0, _utils.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"), optional: true }, implements: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("TSExpressionWithTypeArguments", "ClassImplements"))), optional: true }, decorators: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), optional: true }, mixins: { validate: (0, _utils.assertNodeType)("InterfaceExtends"), optional: true }, declare: { validate: (0, _utils.assertValueType)("boolean"), optional: true }, abstract: { validate: (0, _utils.assertValueType)("boolean"), optional: true } }, validate: function() { const identifier = (0, _utils.assertNodeType)("Identifier"); return function(parent, key2, node2) { if (!process.env.BABEL_TYPES_8_BREAKING) return; if (!(0, _is.default)("ExportDefaultDeclaration", parent)) { identifier(node2, "id", node2.id); } }; }() }); defineType("ExportAllDeclaration", { visitor: ["source"], aliases: ["Statement", "Declaration", "ImportOrExportDeclaration", "ExportDeclaration"], fields: { source: { validate: (0, _utils.assertNodeType)("StringLiteral") }, exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("type", "value")), assertions: { optional: true, validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ImportAttribute"))) } } }); defineType("ExportDefaultDeclaration", { visitor: ["declaration"], aliases: ["Statement", "Declaration", "ImportOrExportDeclaration", "ExportDeclaration"], fields: { declaration: { validate: (0, _utils.assertNodeType)("TSDeclareFunction", "FunctionDeclaration", "ClassDeclaration", "Expression") }, exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("value")) } }); defineType("ExportNamedDeclaration", { visitor: ["declaration", "specifiers", "source"], aliases: ["Statement", "Declaration", "ImportOrExportDeclaration", "ExportDeclaration"], fields: { declaration: { optional: true, validate: (0, _utils.chain)((0, _utils.assertNodeType)("Declaration"), Object.assign(function(node2, key2, val) { if (!process.env.BABEL_TYPES_8_BREAKING) return; if (val && node2.specifiers.length) { throw new TypeError("Only declaration or specifiers is allowed on ExportNamedDeclaration"); } }, { oneOfNodeTypes: ["Declaration"] }), function(node2, key2, val) { if (!process.env.BABEL_TYPES_8_BREAKING) return; if (val && node2.source) { throw new TypeError("Cannot export a declaration from a source"); } }) }, assertions: { optional: true, validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ImportAttribute"))) }, specifiers: { default: [], validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)(function() { const sourced = (0, _utils.assertNodeType)("ExportSpecifier", "ExportDefaultSpecifier", "ExportNamespaceSpecifier"); const sourceless = (0, _utils.assertNodeType)("ExportSpecifier"); if (!process.env.BABEL_TYPES_8_BREAKING) return sourced; return function(node2, key2, val) { const validator = node2.source ? sourced : sourceless; validator(node2, key2, val); }; }())) }, source: { validate: (0, _utils.assertNodeType)("StringLiteral"), optional: true }, exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("type", "value")) } }); defineType("ExportSpecifier", { visitor: ["local", "exported"], aliases: ["ModuleSpecifier"], fields: { local: { validate: (0, _utils.assertNodeType)("Identifier") }, exported: { validate: (0, _utils.assertNodeType)("Identifier", "StringLiteral") }, exportKind: { validate: (0, _utils.assertOneOf)("type", "value"), optional: true } } }); defineType("ForOfStatement", { visitor: ["left", "right", "body"], builder: ["left", "right", "body", "await"], aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop", "ForXStatement"], fields: { left: { validate: function() { if (!process.env.BABEL_TYPES_8_BREAKING) { return (0, _utils.assertNodeType)("VariableDeclaration", "LVal"); } const declaration = (0, _utils.assertNodeType)("VariableDeclaration"); const lval = (0, _utils.assertNodeType)("Identifier", "MemberExpression", "ArrayPattern", "ObjectPattern", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression"); return function(node2, key2, val) { if ((0, _is.default)("VariableDeclaration", val)) { declaration(node2, key2, val); } else { lval(node2, key2, val); } }; }() }, right: { validate: (0, _utils.assertNodeType)("Expression") }, body: { validate: (0, _utils.assertNodeType)("Statement") }, await: { default: false } } }); defineType("ImportDeclaration", { visitor: ["specifiers", "source"], aliases: ["Statement", "Declaration", "ImportOrExportDeclaration"], fields: { assertions: { optional: true, validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ImportAttribute"))) }, module: { optional: true, validate: (0, _utils.assertValueType)("boolean") }, specifiers: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ImportSpecifier", "ImportDefaultSpecifier", "ImportNamespaceSpecifier"))) }, source: { validate: (0, _utils.assertNodeType)("StringLiteral") }, importKind: { validate: (0, _utils.assertOneOf)("type", "typeof", "value"), optional: true } } }); defineType("ImportDefaultSpecifier", { visitor: ["local"], aliases: ["ModuleSpecifier"], fields: { local: { validate: (0, _utils.assertNodeType)("Identifier") } } }); defineType("ImportNamespaceSpecifier", { visitor: ["local"], aliases: ["ModuleSpecifier"], fields: { local: { validate: (0, _utils.assertNodeType)("Identifier") } } }); defineType("ImportSpecifier", { visitor: ["local", "imported"], aliases: ["ModuleSpecifier"], fields: { local: { validate: (0, _utils.assertNodeType)("Identifier") }, imported: { validate: (0, _utils.assertNodeType)("Identifier", "StringLiteral") }, importKind: { validate: (0, _utils.assertOneOf)("type", "typeof", "value"), optional: true } } }); defineType("MetaProperty", { visitor: ["meta", "property"], aliases: ["Expression"], fields: { meta: { validate: (0, _utils.chain)((0, _utils.assertNodeType)("Identifier"), Object.assign(function(node2, key2, val) { if (!process.env.BABEL_TYPES_8_BREAKING) return; let property; switch (val.name) { case "function": property = "sent"; break; case "new": property = "target"; break; case "import": property = "meta"; break; } if (!(0, _is.default)("Identifier", node2.property, { name: property })) { throw new TypeError("Unrecognised MetaProperty"); } }, { oneOfNodeTypes: ["Identifier"] })) }, property: { validate: (0, _utils.assertNodeType)("Identifier") } } }); var classMethodOrPropertyCommon = () => ({ abstract: { validate: (0, _utils.assertValueType)("boolean"), optional: true }, accessibility: { validate: (0, _utils.assertOneOf)("public", "private", "protected"), optional: true }, static: { default: false }, override: { default: false }, computed: { default: false }, optional: { validate: (0, _utils.assertValueType)("boolean"), optional: true }, key: { validate: (0, _utils.chain)(function() { const normal = (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral"); const computed = (0, _utils.assertNodeType)("Expression"); return function(node2, key2, val) { const validator = node2.computed ? computed : normal; validator(node2, key2, val); }; }(), (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "Expression")) } }); exports.classMethodOrPropertyCommon = classMethodOrPropertyCommon; var classMethodOrDeclareMethodCommon = () => Object.assign({}, functionCommon(), classMethodOrPropertyCommon(), { params: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Identifier", "Pattern", "RestElement", "TSParameterProperty"))) }, kind: { validate: (0, _utils.assertOneOf)("get", "set", "method", "constructor"), default: "method" }, access: { validate: (0, _utils.chain)((0, _utils.assertValueType)("string"), (0, _utils.assertOneOf)("public", "private", "protected")), optional: true }, decorators: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), optional: true } }); exports.classMethodOrDeclareMethodCommon = classMethodOrDeclareMethodCommon; defineType("ClassMethod", { aliases: ["Function", "Scopable", "BlockParent", "FunctionParent", "Method"], builder: ["kind", "key", "params", "body", "computed", "static", "generator", "async"], visitor: ["key", "params", "body", "decorators", "returnType", "typeParameters"], fields: Object.assign({}, classMethodOrDeclareMethodCommon(), functionTypeAnnotationCommon(), { body: { validate: (0, _utils.assertNodeType)("BlockStatement") } }) }); defineType("ObjectPattern", { visitor: ["properties", "typeAnnotation", "decorators"], builder: ["properties"], aliases: ["Pattern", "PatternLike", "LVal"], fields: Object.assign({}, patternLikeCommon(), { properties: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("RestElement", "ObjectProperty"))) } }) }); defineType("SpreadElement", { visitor: ["argument"], aliases: ["UnaryLike"], deprecatedAlias: "SpreadProperty", fields: { argument: { validate: (0, _utils.assertNodeType)("Expression") } } }); defineType("Super", { aliases: ["Expression"] }); defineType("TaggedTemplateExpression", { visitor: ["tag", "quasi", "typeParameters"], builder: ["tag", "quasi"], aliases: ["Expression"], fields: { tag: { validate: (0, _utils.assertNodeType)("Expression") }, quasi: { validate: (0, _utils.assertNodeType)("TemplateLiteral") }, typeParameters: { validate: (0, _utils.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"), optional: true } } }); defineType("TemplateElement", { builder: ["value", "tail"], fields: { value: { validate: (0, _utils.chain)((0, _utils.assertShape)({ raw: { validate: (0, _utils.assertValueType)("string") }, cooked: { validate: (0, _utils.assertValueType)("string"), optional: true } }), function templateElementCookedValidator(node2) { const raw = node2.value.raw; let unterminatedCalled = false; const error = () => { throw new Error("Internal @babel/types error."); }; const { str, firstInvalidLoc } = (0, _helperStringParser.readStringContents)("template", raw, 0, 0, 0, { unterminated() { unterminatedCalled = true; }, strictNumericEscape: error, invalidEscapeSequence: error, numericSeparatorInEscapeSequence: error, unexpectedNumericSeparator: error, invalidDigit: error, invalidCodePoint: error }); if (!unterminatedCalled) throw new Error("Invalid raw"); node2.value.cooked = firstInvalidLoc ? null : str; }) }, tail: { default: false } } }); defineType("TemplateLiteral", { visitor: ["quasis", "expressions"], aliases: ["Expression", "Literal"], fields: { quasis: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("TemplateElement"))) }, expressions: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Expression", "TSType")), function(node2, key2, val) { if (node2.quasis.length !== val.length + 1) { throw new TypeError(`Number of ${node2.type} quasis should be exactly one more than the number of expressions. Expected ${val.length + 1} quasis but got ${node2.quasis.length}`); } }) } } }); defineType("YieldExpression", { builder: ["argument", "delegate"], visitor: ["argument"], aliases: ["Expression", "Terminatorless"], fields: { delegate: { validate: (0, _utils.chain)((0, _utils.assertValueType)("boolean"), Object.assign(function(node2, key2, val) { if (!process.env.BABEL_TYPES_8_BREAKING) return; if (val && !node2.argument) { throw new TypeError("Property delegate of YieldExpression cannot be true if there is no argument"); } }, { type: "boolean" })), default: false }, argument: { optional: true, validate: (0, _utils.assertNodeType)("Expression") } } }); defineType("AwaitExpression", { builder: ["argument"], visitor: ["argument"], aliases: ["Expression", "Terminatorless"], fields: { argument: { validate: (0, _utils.assertNodeType)("Expression") } } }); defineType("Import", { aliases: ["Expression"] }); defineType("BigIntLiteral", { builder: ["value"], fields: { value: { validate: (0, _utils.assertValueType)("string") } }, aliases: ["Expression", "Pureish", "Literal", "Immutable"] }); defineType("ExportNamespaceSpecifier", { visitor: ["exported"], aliases: ["ModuleSpecifier"], fields: { exported: { validate: (0, _utils.assertNodeType)("Identifier") } } }); defineType("OptionalMemberExpression", { builder: ["object", "property", "computed", "optional"], visitor: ["object", "property"], aliases: ["Expression"], fields: { object: { validate: (0, _utils.assertNodeType)("Expression") }, property: { validate: function() { const normal = (0, _utils.assertNodeType)("Identifier"); const computed = (0, _utils.assertNodeType)("Expression"); const validator = Object.assign(function(node2, key2, val) { const validator2 = node2.computed ? computed : normal; validator2(node2, key2, val); }, { oneOfNodeTypes: ["Expression", "Identifier"] }); return validator; }() }, computed: { default: false }, optional: { validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertValueType)("boolean") : (0, _utils.chain)((0, _utils.assertValueType)("boolean"), (0, _utils.assertOptionalChainStart)()) } } }); defineType("OptionalCallExpression", { visitor: ["callee", "arguments", "typeParameters", "typeArguments"], builder: ["callee", "arguments", "optional"], aliases: ["Expression"], fields: { callee: { validate: (0, _utils.assertNodeType)("Expression") }, arguments: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Expression", "SpreadElement", "JSXNamespacedName", "ArgumentPlaceholder"))) }, optional: { validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertValueType)("boolean") : (0, _utils.chain)((0, _utils.assertValueType)("boolean"), (0, _utils.assertOptionalChainStart)()) }, typeArguments: { validate: (0, _utils.assertNodeType)("TypeParameterInstantiation"), optional: true }, typeParameters: { validate: (0, _utils.assertNodeType)("TSTypeParameterInstantiation"), optional: true } } }); defineType("ClassProperty", { visitor: ["key", "value", "typeAnnotation", "decorators"], builder: ["key", "value", "typeAnnotation", "decorators", "computed", "static"], aliases: ["Property"], fields: Object.assign({}, classMethodOrPropertyCommon(), { value: { validate: (0, _utils.assertNodeType)("Expression"), optional: true }, definite: { validate: (0, _utils.assertValueType)("boolean"), optional: true }, typeAnnotation: { validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"), optional: true }, decorators: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), optional: true }, readonly: { validate: (0, _utils.assertValueType)("boolean"), optional: true }, declare: { validate: (0, _utils.assertValueType)("boolean"), optional: true }, variance: { validate: (0, _utils.assertNodeType)("Variance"), optional: true } }) }); defineType("ClassAccessorProperty", { visitor: ["key", "value", "typeAnnotation", "decorators"], builder: ["key", "value", "typeAnnotation", "decorators", "computed", "static"], aliases: ["Property", "Accessor"], fields: Object.assign({}, classMethodOrPropertyCommon(), { key: { validate: (0, _utils.chain)(function() { const normal = (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "PrivateName"); const computed = (0, _utils.assertNodeType)("Expression"); return function(node2, key2, val) { const validator = node2.computed ? computed : normal; validator(node2, key2, val); }; }(), (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "Expression", "PrivateName")) }, value: { validate: (0, _utils.assertNodeType)("Expression"), optional: true }, definite: { validate: (0, _utils.assertValueType)("boolean"), optional: true }, typeAnnotation: { validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"), optional: true }, decorators: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), optional: true }, readonly: { validate: (0, _utils.assertValueType)("boolean"), optional: true }, declare: { validate: (0, _utils.assertValueType)("boolean"), optional: true }, variance: { validate: (0, _utils.assertNodeType)("Variance"), optional: true } }) }); defineType("ClassPrivateProperty", { visitor: ["key", "value", "decorators", "typeAnnotation"], builder: ["key", "value", "decorators", "static"], aliases: ["Property", "Private"], fields: { key: { validate: (0, _utils.assertNodeType)("PrivateName") }, value: { validate: (0, _utils.assertNodeType)("Expression"), optional: true }, typeAnnotation: { validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"), optional: true }, decorators: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), optional: true }, static: { validate: (0, _utils.assertValueType)("boolean"), default: false }, readonly: { validate: (0, _utils.assertValueType)("boolean"), optional: true }, definite: { validate: (0, _utils.assertValueType)("boolean"), optional: true }, variance: { validate: (0, _utils.assertNodeType)("Variance"), optional: true } } }); defineType("ClassPrivateMethod", { builder: ["kind", "key", "params", "body", "static"], visitor: ["key", "params", "body", "decorators", "returnType", "typeParameters"], aliases: ["Function", "Scopable", "BlockParent", "FunctionParent", "Method", "Private"], fields: Object.assign({}, classMethodOrDeclareMethodCommon(), functionTypeAnnotationCommon(), { kind: { validate: (0, _utils.assertOneOf)("get", "set", "method"), default: "method" }, key: { validate: (0, _utils.assertNodeType)("PrivateName") }, body: { validate: (0, _utils.assertNodeType)("BlockStatement") } }) }); defineType("PrivateName", { visitor: ["id"], aliases: ["Private"], fields: { id: { validate: (0, _utils.assertNodeType)("Identifier") } } }); defineType("StaticBlock", { visitor: ["body"], fields: { body: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Statement"))) } }, aliases: ["Scopable", "BlockParent", "FunctionParent"] }); } }); // node_modules/@babel/types/lib/definitions/flow.js var require_flow = __commonJS({ "node_modules/@babel/types/lib/definitions/flow.js"() { "use strict"; var _utils = require_utils(); var defineType = (0, _utils.defineAliasedType)("Flow"); var defineInterfaceishType = (name2) => { defineType(name2, { builder: ["id", "typeParameters", "extends", "body"], visitor: ["id", "typeParameters", "extends", "mixins", "implements", "body"], aliases: ["FlowDeclaration", "Statement", "Declaration"], fields: { id: (0, _utils.validateType)("Identifier"), typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), extends: (0, _utils.validateOptional)((0, _utils.arrayOfType)("InterfaceExtends")), mixins: (0, _utils.validateOptional)((0, _utils.arrayOfType)("InterfaceExtends")), implements: (0, _utils.validateOptional)((0, _utils.arrayOfType)("ClassImplements")), body: (0, _utils.validateType)("ObjectTypeAnnotation") } }); }; defineType("AnyTypeAnnotation", { aliases: ["FlowType", "FlowBaseAnnotation"] }); defineType("ArrayTypeAnnotation", { visitor: ["elementType"], aliases: ["FlowType"], fields: { elementType: (0, _utils.validateType)("FlowType") } }); defineType("BooleanTypeAnnotation", { aliases: ["FlowType", "FlowBaseAnnotation"] }); defineType("BooleanLiteralTypeAnnotation", { builder: ["value"], aliases: ["FlowType"], fields: { value: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) } }); defineType("NullLiteralTypeAnnotation", { aliases: ["FlowType", "FlowBaseAnnotation"] }); defineType("ClassImplements", { visitor: ["id", "typeParameters"], fields: { id: (0, _utils.validateType)("Identifier"), typeParameters: (0, _utils.validateOptionalType)("TypeParameterInstantiation") } }); defineInterfaceishType("DeclareClass"); defineType("DeclareFunction", { visitor: ["id"], aliases: ["FlowDeclaration", "Statement", "Declaration"], fields: { id: (0, _utils.validateType)("Identifier"), predicate: (0, _utils.validateOptionalType)("DeclaredPredicate") } }); defineInterfaceishType("DeclareInterface"); defineType("DeclareModule", { builder: ["id", "body", "kind"], visitor: ["id", "body"], aliases: ["FlowDeclaration", "Statement", "Declaration"], fields: { id: (0, _utils.validateType)(["Identifier", "StringLiteral"]), body: (0, _utils.validateType)("BlockStatement"), kind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("CommonJS", "ES")) } }); defineType("DeclareModuleExports", { visitor: ["typeAnnotation"], aliases: ["FlowDeclaration", "Statement", "Declaration"], fields: { typeAnnotation: (0, _utils.validateType)("TypeAnnotation") } }); defineType("DeclareTypeAlias", { visitor: ["id", "typeParameters", "right"], aliases: ["FlowDeclaration", "Statement", "Declaration"], fields: { id: (0, _utils.validateType)("Identifier"), typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), right: (0, _utils.validateType)("FlowType") } }); defineType("DeclareOpaqueType", { visitor: ["id", "typeParameters", "supertype"], aliases: ["FlowDeclaration", "Statement", "Declaration"], fields: { id: (0, _utils.validateType)("Identifier"), typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), supertype: (0, _utils.validateOptionalType)("FlowType"), impltype: (0, _utils.validateOptionalType)("FlowType") } }); defineType("DeclareVariable", { visitor: ["id"], aliases: ["FlowDeclaration", "Statement", "Declaration"], fields: { id: (0, _utils.validateType)("Identifier") } }); defineType("DeclareExportDeclaration", { visitor: ["declaration", "specifiers", "source"], aliases: ["FlowDeclaration", "Statement", "Declaration"], fields: { declaration: (0, _utils.validateOptionalType)("Flow"), specifiers: (0, _utils.validateOptional)((0, _utils.arrayOfType)(["ExportSpecifier", "ExportNamespaceSpecifier"])), source: (0, _utils.validateOptionalType)("StringLiteral"), default: (0, _utils.validateOptional)((0, _utils.assertValueType)("boolean")) } }); defineType("DeclareExportAllDeclaration", { visitor: ["source"], aliases: ["FlowDeclaration", "Statement", "Declaration"], fields: { source: (0, _utils.validateType)("StringLiteral"), exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("type", "value")) } }); defineType("DeclaredPredicate", { visitor: ["value"], aliases: ["FlowPredicate"], fields: { value: (0, _utils.validateType)("Flow") } }); defineType("ExistsTypeAnnotation", { aliases: ["FlowType"] }); defineType("FunctionTypeAnnotation", { visitor: ["typeParameters", "params", "rest", "returnType"], aliases: ["FlowType"], fields: { typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), params: (0, _utils.validate)((0, _utils.arrayOfType)("FunctionTypeParam")), rest: (0, _utils.validateOptionalType)("FunctionTypeParam"), this: (0, _utils.validateOptionalType)("FunctionTypeParam"), returnType: (0, _utils.validateType)("FlowType") } }); defineType("FunctionTypeParam", { visitor: ["name", "typeAnnotation"], fields: { name: (0, _utils.validateOptionalType)("Identifier"), typeAnnotation: (0, _utils.validateType)("FlowType"), optional: (0, _utils.validateOptional)((0, _utils.assertValueType)("boolean")) } }); defineType("GenericTypeAnnotation", { visitor: ["id", "typeParameters"], aliases: ["FlowType"], fields: { id: (0, _utils.validateType)(["Identifier", "QualifiedTypeIdentifier"]), typeParameters: (0, _utils.validateOptionalType)("TypeParameterInstantiation") } }); defineType("InferredPredicate", { aliases: ["FlowPredicate"] }); defineType("InterfaceExtends", { visitor: ["id", "typeParameters"], fields: { id: (0, _utils.validateType)(["Identifier", "QualifiedTypeIdentifier"]), typeParameters: (0, _utils.validateOptionalType)("TypeParameterInstantiation") } }); defineInterfaceishType("InterfaceDeclaration"); defineType("InterfaceTypeAnnotation", { visitor: ["extends", "body"], aliases: ["FlowType"], fields: { extends: (0, _utils.validateOptional)((0, _utils.arrayOfType)("InterfaceExtends")), body: (0, _utils.validateType)("ObjectTypeAnnotation") } }); defineType("IntersectionTypeAnnotation", { visitor: ["types"], aliases: ["FlowType"], fields: { types: (0, _utils.validate)((0, _utils.arrayOfType)("FlowType")) } }); defineType("MixedTypeAnnotation", { aliases: ["FlowType", "FlowBaseAnnotation"] }); defineType("EmptyTypeAnnotation", { aliases: ["FlowType", "FlowBaseAnnotation"] }); defineType("NullableTypeAnnotation", { visitor: ["typeAnnotation"], aliases: ["FlowType"], fields: { typeAnnotation: (0, _utils.validateType)("FlowType") } }); defineType("NumberLiteralTypeAnnotation", { builder: ["value"], aliases: ["FlowType"], fields: { value: (0, _utils.validate)((0, _utils.assertValueType)("number")) } }); defineType("NumberTypeAnnotation", { aliases: ["FlowType", "FlowBaseAnnotation"] }); defineType("ObjectTypeAnnotation", { visitor: ["properties", "indexers", "callProperties", "internalSlots"], aliases: ["FlowType"], builder: ["properties", "indexers", "callProperties", "internalSlots", "exact"], fields: { properties: (0, _utils.validate)((0, _utils.arrayOfType)(["ObjectTypeProperty", "ObjectTypeSpreadProperty"])), indexers: { validate: (0, _utils.arrayOfType)("ObjectTypeIndexer"), optional: true, default: [] }, callProperties: { validate: (0, _utils.arrayOfType)("ObjectTypeCallProperty"), optional: true, default: [] }, internalSlots: { validate: (0, _utils.arrayOfType)("ObjectTypeInternalSlot"), optional: true, default: [] }, exact: { validate: (0, _utils.assertValueType)("boolean"), default: false }, inexact: (0, _utils.validateOptional)((0, _utils.assertValueType)("boolean")) } }); defineType("ObjectTypeInternalSlot", { visitor: ["id", "value", "optional", "static", "method"], aliases: ["UserWhitespacable"], fields: { id: (0, _utils.validateType)("Identifier"), value: (0, _utils.validateType)("FlowType"), optional: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), static: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), method: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) } }); defineType("ObjectTypeCallProperty", { visitor: ["value"], aliases: ["UserWhitespacable"], fields: { value: (0, _utils.validateType)("FlowType"), static: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) } }); defineType("ObjectTypeIndexer", { visitor: ["id", "key", "value", "variance"], aliases: ["UserWhitespacable"], fields: { id: (0, _utils.validateOptionalType)("Identifier"), key: (0, _utils.validateType)("FlowType"), value: (0, _utils.validateType)("FlowType"), static: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), variance: (0, _utils.validateOptionalType)("Variance") } }); defineType("ObjectTypeProperty", { visitor: ["key", "value", "variance"], aliases: ["UserWhitespacable"], fields: { key: (0, _utils.validateType)(["Identifier", "StringLiteral"]), value: (0, _utils.validateType)("FlowType"), kind: (0, _utils.validate)((0, _utils.assertOneOf)("init", "get", "set")), static: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), proto: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), optional: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), variance: (0, _utils.validateOptionalType)("Variance"), method: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) } }); defineType("ObjectTypeSpreadProperty", { visitor: ["argument"], aliases: ["UserWhitespacable"], fields: { argument: (0, _utils.validateType)("FlowType") } }); defineType("OpaqueType", { visitor: ["id", "typeParameters", "supertype", "impltype"], aliases: ["FlowDeclaration", "Statement", "Declaration"], fields: { id: (0, _utils.validateType)("Identifier"), typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), supertype: (0, _utils.validateOptionalType)("FlowType"), impltype: (0, _utils.validateType)("FlowType") } }); defineType("QualifiedTypeIdentifier", { visitor: ["id", "qualification"], fields: { id: (0, _utils.validateType)("Identifier"), qualification: (0, _utils.validateType)(["Identifier", "QualifiedTypeIdentifier"]) } }); defineType("StringLiteralTypeAnnotation", { builder: ["value"], aliases: ["FlowType"], fields: { value: (0, _utils.validate)((0, _utils.assertValueType)("string")) } }); defineType("StringTypeAnnotation", { aliases: ["FlowType", "FlowBaseAnnotation"] }); defineType("SymbolTypeAnnotation", { aliases: ["FlowType", "FlowBaseAnnotation"] }); defineType("ThisTypeAnnotation", { aliases: ["FlowType", "FlowBaseAnnotation"] }); defineType("TupleTypeAnnotation", { visitor: ["types"], aliases: ["FlowType"], fields: { types: (0, _utils.validate)((0, _utils.arrayOfType)("FlowType")) } }); defineType("TypeofTypeAnnotation", { visitor: ["argument"], aliases: ["FlowType"], fields: { argument: (0, _utils.validateType)("FlowType") } }); defineType("TypeAlias", { visitor: ["id", "typeParameters", "right"], aliases: ["FlowDeclaration", "Statement", "Declaration"], fields: { id: (0, _utils.validateType)("Identifier"), typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), right: (0, _utils.validateType)("FlowType") } }); defineType("TypeAnnotation", { visitor: ["typeAnnotation"], fields: { typeAnnotation: (0, _utils.validateType)("FlowType") } }); defineType("TypeCastExpression", { visitor: ["expression", "typeAnnotation"], aliases: ["ExpressionWrapper", "Expression"], fields: { expression: (0, _utils.validateType)("Expression"), typeAnnotation: (0, _utils.validateType)("TypeAnnotation") } }); defineType("TypeParameter", { visitor: ["bound", "default", "variance"], fields: { name: (0, _utils.validate)((0, _utils.assertValueType)("string")), bound: (0, _utils.validateOptionalType)("TypeAnnotation"), default: (0, _utils.validateOptionalType)("FlowType"), variance: (0, _utils.validateOptionalType)("Variance") } }); defineType("TypeParameterDeclaration", { visitor: ["params"], fields: { params: (0, _utils.validate)((0, _utils.arrayOfType)("TypeParameter")) } }); defineType("TypeParameterInstantiation", { visitor: ["params"], fields: { params: (0, _utils.validate)((0, _utils.arrayOfType)("FlowType")) } }); defineType("UnionTypeAnnotation", { visitor: ["types"], aliases: ["FlowType"], fields: { types: (0, _utils.validate)((0, _utils.arrayOfType)("FlowType")) } }); defineType("Variance", { builder: ["kind"], fields: { kind: (0, _utils.validate)((0, _utils.assertOneOf)("minus", "plus")) } }); defineType("VoidTypeAnnotation", { aliases: ["FlowType", "FlowBaseAnnotation"] }); defineType("EnumDeclaration", { aliases: ["Statement", "Declaration"], visitor: ["id", "body"], fields: { id: (0, _utils.validateType)("Identifier"), body: (0, _utils.validateType)(["EnumBooleanBody", "EnumNumberBody", "EnumStringBody", "EnumSymbolBody"]) } }); defineType("EnumBooleanBody", { aliases: ["EnumBody"], visitor: ["members"], fields: { explicitType: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), members: (0, _utils.validateArrayOfType)("EnumBooleanMember"), hasUnknownMembers: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) } }); defineType("EnumNumberBody", { aliases: ["EnumBody"], visitor: ["members"], fields: { explicitType: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), members: (0, _utils.validateArrayOfType)("EnumNumberMember"), hasUnknownMembers: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) } }); defineType("EnumStringBody", { aliases: ["EnumBody"], visitor: ["members"], fields: { explicitType: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), members: (0, _utils.validateArrayOfType)(["EnumStringMember", "EnumDefaultedMember"]), hasUnknownMembers: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) } }); defineType("EnumSymbolBody", { aliases: ["EnumBody"], visitor: ["members"], fields: { members: (0, _utils.validateArrayOfType)("EnumDefaultedMember"), hasUnknownMembers: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) } }); defineType("EnumBooleanMember", { aliases: ["EnumMember"], visitor: ["id"], fields: { id: (0, _utils.validateType)("Identifier"), init: (0, _utils.validateType)("BooleanLiteral") } }); defineType("EnumNumberMember", { aliases: ["EnumMember"], visitor: ["id", "init"], fields: { id: (0, _utils.validateType)("Identifier"), init: (0, _utils.validateType)("NumericLiteral") } }); defineType("EnumStringMember", { aliases: ["EnumMember"], visitor: ["id", "init"], fields: { id: (0, _utils.validateType)("Identifier"), init: (0, _utils.validateType)("StringLiteral") } }); defineType("EnumDefaultedMember", { aliases: ["EnumMember"], visitor: ["id"], fields: { id: (0, _utils.validateType)("Identifier") } }); defineType("IndexedAccessType", { visitor: ["objectType", "indexType"], aliases: ["FlowType"], fields: { objectType: (0, _utils.validateType)("FlowType"), indexType: (0, _utils.validateType)("FlowType") } }); defineType("OptionalIndexedAccessType", { visitor: ["objectType", "indexType"], aliases: ["FlowType"], fields: { objectType: (0, _utils.validateType)("FlowType"), indexType: (0, _utils.validateType)("FlowType"), optional: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) } }); } }); // node_modules/@babel/types/lib/definitions/jsx.js var require_jsx = __commonJS({ "node_modules/@babel/types/lib/definitions/jsx.js"() { "use strict"; var _utils = require_utils(); var defineType = (0, _utils.defineAliasedType)("JSX"); defineType("JSXAttribute", { visitor: ["name", "value"], aliases: ["Immutable"], fields: { name: { validate: (0, _utils.assertNodeType)("JSXIdentifier", "JSXNamespacedName") }, value: { optional: true, validate: (0, _utils.assertNodeType)("JSXElement", "JSXFragment", "StringLiteral", "JSXExpressionContainer") } } }); defineType("JSXClosingElement", { visitor: ["name"], aliases: ["Immutable"], fields: { name: { validate: (0, _utils.assertNodeType)("JSXIdentifier", "JSXMemberExpression", "JSXNamespacedName") } } }); defineType("JSXElement", { builder: ["openingElement", "closingElement", "children", "selfClosing"], visitor: ["openingElement", "children", "closingElement"], aliases: ["Immutable", "Expression"], fields: Object.assign({ openingElement: { validate: (0, _utils.assertNodeType)("JSXOpeningElement") }, closingElement: { optional: true, validate: (0, _utils.assertNodeType)("JSXClosingElement") }, children: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("JSXText", "JSXExpressionContainer", "JSXSpreadChild", "JSXElement", "JSXFragment"))) } }, { selfClosing: { validate: (0, _utils.assertValueType)("boolean"), optional: true } }) }); defineType("JSXEmptyExpression", {}); defineType("JSXExpressionContainer", { visitor: ["expression"], aliases: ["Immutable"], fields: { expression: { validate: (0, _utils.assertNodeType)("Expression", "JSXEmptyExpression") } } }); defineType("JSXSpreadChild", { visitor: ["expression"], aliases: ["Immutable"], fields: { expression: { validate: (0, _utils.assertNodeType)("Expression") } } }); defineType("JSXIdentifier", { builder: ["name"], fields: { name: { validate: (0, _utils.assertValueType)("string") } } }); defineType("JSXMemberExpression", { visitor: ["object", "property"], fields: { object: { validate: (0, _utils.assertNodeType)("JSXMemberExpression", "JSXIdentifier") }, property: { validate: (0, _utils.assertNodeType)("JSXIdentifier") } } }); defineType("JSXNamespacedName", { visitor: ["namespace", "name"], fields: { namespace: { validate: (0, _utils.assertNodeType)("JSXIdentifier") }, name: { validate: (0, _utils.assertNodeType)("JSXIdentifier") } } }); defineType("JSXOpeningElement", { builder: ["name", "attributes", "selfClosing"], visitor: ["name", "attributes"], aliases: ["Immutable"], fields: { name: { validate: (0, _utils.assertNodeType)("JSXIdentifier", "JSXMemberExpression", "JSXNamespacedName") }, selfClosing: { default: false }, attributes: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("JSXAttribute", "JSXSpreadAttribute"))) }, typeParameters: { validate: (0, _utils.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"), optional: true } } }); defineType("JSXSpreadAttribute", { visitor: ["argument"], fields: { argument: { validate: (0, _utils.assertNodeType)("Expression") } } }); defineType("JSXText", { aliases: ["Immutable"], builder: ["value"], fields: { value: { validate: (0, _utils.assertValueType)("string") } } }); defineType("JSXFragment", { builder: ["openingFragment", "closingFragment", "children"], visitor: ["openingFragment", "children", "closingFragment"], aliases: ["Immutable", "Expression"], fields: { openingFragment: { validate: (0, _utils.assertNodeType)("JSXOpeningFragment") }, closingFragment: { validate: (0, _utils.assertNodeType)("JSXClosingFragment") }, children: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("JSXText", "JSXExpressionContainer", "JSXSpreadChild", "JSXElement", "JSXFragment"))) } } }); defineType("JSXOpeningFragment", { aliases: ["Immutable"] }); defineType("JSXClosingFragment", { aliases: ["Immutable"] }); } }); // node_modules/@babel/types/lib/definitions/placeholders.js var require_placeholders = __commonJS({ "node_modules/@babel/types/lib/definitions/placeholders.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PLACEHOLDERS_FLIPPED_ALIAS = exports.PLACEHOLDERS_ALIAS = exports.PLACEHOLDERS = void 0; var _utils = require_utils(); var PLACEHOLDERS = ["Identifier", "StringLiteral", "Expression", "Statement", "Declaration", "BlockStatement", "ClassBody", "Pattern"]; exports.PLACEHOLDERS = PLACEHOLDERS; var PLACEHOLDERS_ALIAS = { Declaration: ["Statement"], Pattern: ["PatternLike", "LVal"] }; exports.PLACEHOLDERS_ALIAS = PLACEHOLDERS_ALIAS; for (const type of PLACEHOLDERS) { const alias = _utils.ALIAS_KEYS[type]; if (alias != null && alias.length) PLACEHOLDERS_ALIAS[type] = alias; } var PLACEHOLDERS_FLIPPED_ALIAS = {}; exports.PLACEHOLDERS_FLIPPED_ALIAS = PLACEHOLDERS_FLIPPED_ALIAS; Object.keys(PLACEHOLDERS_ALIAS).forEach((type) => { PLACEHOLDERS_ALIAS[type].forEach((alias) => { if (!Object.hasOwnProperty.call(PLACEHOLDERS_FLIPPED_ALIAS, alias)) { PLACEHOLDERS_FLIPPED_ALIAS[alias] = []; } PLACEHOLDERS_FLIPPED_ALIAS[alias].push(type); }); }); } }); // node_modules/@babel/types/lib/definitions/misc.js var require_misc = __commonJS({ "node_modules/@babel/types/lib/definitions/misc.js"() { "use strict"; var _utils = require_utils(); var _placeholders = require_placeholders(); var defineType = (0, _utils.defineAliasedType)("Miscellaneous"); { defineType("Noop", { visitor: [] }); } defineType("Placeholder", { visitor: [], builder: ["expectedNode", "name"], fields: { name: { validate: (0, _utils.assertNodeType)("Identifier") }, expectedNode: { validate: (0, _utils.assertOneOf)(..._placeholders.PLACEHOLDERS) } } }); defineType("V8IntrinsicIdentifier", { builder: ["name"], fields: { name: { validate: (0, _utils.assertValueType)("string") } } }); } }); // node_modules/@babel/types/lib/definitions/experimental.js var require_experimental = __commonJS({ "node_modules/@babel/types/lib/definitions/experimental.js"() { "use strict"; var _utils = require_utils(); (0, _utils.default)("ArgumentPlaceholder", {}); (0, _utils.default)("BindExpression", { visitor: ["object", "callee"], aliases: ["Expression"], fields: !process.env.BABEL_TYPES_8_BREAKING ? { object: { validate: Object.assign(() => { }, { oneOfNodeTypes: ["Expression"] }) }, callee: { validate: Object.assign(() => { }, { oneOfNodeTypes: ["Expression"] }) } } : { object: { validate: (0, _utils.assertNodeType)("Expression") }, callee: { validate: (0, _utils.assertNodeType)("Expression") } } }); (0, _utils.default)("ImportAttribute", { visitor: ["key", "value"], fields: { key: { validate: (0, _utils.assertNodeType)("Identifier", "StringLiteral") }, value: { validate: (0, _utils.assertNodeType)("StringLiteral") } } }); (0, _utils.default)("Decorator", { visitor: ["expression"], fields: { expression: { validate: (0, _utils.assertNodeType)("Expression") } } }); (0, _utils.default)("DoExpression", { visitor: ["body"], builder: ["body", "async"], aliases: ["Expression"], fields: { body: { validate: (0, _utils.assertNodeType)("BlockStatement") }, async: { validate: (0, _utils.assertValueType)("boolean"), default: false } } }); (0, _utils.default)("ExportDefaultSpecifier", { visitor: ["exported"], aliases: ["ModuleSpecifier"], fields: { exported: { validate: (0, _utils.assertNodeType)("Identifier") } } }); (0, _utils.default)("RecordExpression", { visitor: ["properties"], aliases: ["Expression"], fields: { properties: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ObjectProperty", "SpreadElement"))) } } }); (0, _utils.default)("TupleExpression", { fields: { elements: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Expression", "SpreadElement"))), default: [] } }, visitor: ["elements"], aliases: ["Expression"] }); (0, _utils.default)("DecimalLiteral", { builder: ["value"], fields: { value: { validate: (0, _utils.assertValueType)("string") } }, aliases: ["Expression", "Pureish", "Literal", "Immutable"] }); (0, _utils.default)("ModuleExpression", { visitor: ["body"], fields: { body: { validate: (0, _utils.assertNodeType)("Program") } }, aliases: ["Expression"] }); (0, _utils.default)("TopicReference", { aliases: ["Expression"] }); (0, _utils.default)("PipelineTopicExpression", { builder: ["expression"], visitor: ["expression"], fields: { expression: { validate: (0, _utils.assertNodeType)("Expression") } }, aliases: ["Expression"] }); (0, _utils.default)("PipelineBareFunction", { builder: ["callee"], visitor: ["callee"], fields: { callee: { validate: (0, _utils.assertNodeType)("Expression") } }, aliases: ["Expression"] }); (0, _utils.default)("PipelinePrimaryTopicReference", { aliases: ["Expression"] }); } }); // node_modules/@babel/types/lib/definitions/typescript.js var require_typescript = __commonJS({ "node_modules/@babel/types/lib/definitions/typescript.js"() { "use strict"; var _utils = require_utils(); var _core = require_core(); var _is = require_is(); var defineType = (0, _utils.defineAliasedType)("TypeScript"); var bool = (0, _utils.assertValueType)("boolean"); var tSFunctionTypeAnnotationCommon = () => ({ returnType: { validate: (0, _utils.assertNodeType)("TSTypeAnnotation", "Noop"), optional: true }, typeParameters: { validate: (0, _utils.assertNodeType)("TSTypeParameterDeclaration", "Noop"), optional: true } }); defineType("TSParameterProperty", { aliases: ["LVal"], visitor: ["parameter"], fields: { accessibility: { validate: (0, _utils.assertOneOf)("public", "private", "protected"), optional: true }, readonly: { validate: (0, _utils.assertValueType)("boolean"), optional: true }, parameter: { validate: (0, _utils.assertNodeType)("Identifier", "AssignmentPattern") }, override: { validate: (0, _utils.assertValueType)("boolean"), optional: true }, decorators: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), optional: true } } }); defineType("TSDeclareFunction", { aliases: ["Statement", "Declaration"], visitor: ["id", "typeParameters", "params", "returnType"], fields: Object.assign({}, (0, _core.functionDeclarationCommon)(), tSFunctionTypeAnnotationCommon()) }); defineType("TSDeclareMethod", { visitor: ["decorators", "key", "typeParameters", "params", "returnType"], fields: Object.assign({}, (0, _core.classMethodOrDeclareMethodCommon)(), tSFunctionTypeAnnotationCommon()) }); defineType("TSQualifiedName", { aliases: ["TSEntityName"], visitor: ["left", "right"], fields: { left: (0, _utils.validateType)("TSEntityName"), right: (0, _utils.validateType)("Identifier") } }); var signatureDeclarationCommon = () => ({ typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterDeclaration"), ["parameters"]: (0, _utils.validateArrayOfType)(["Identifier", "RestElement"]), ["typeAnnotation"]: (0, _utils.validateOptionalType)("TSTypeAnnotation") }); var callConstructSignatureDeclaration = { aliases: ["TSTypeElement"], visitor: ["typeParameters", "parameters", "typeAnnotation"], fields: signatureDeclarationCommon() }; defineType("TSCallSignatureDeclaration", callConstructSignatureDeclaration); defineType("TSConstructSignatureDeclaration", callConstructSignatureDeclaration); var namedTypeElementCommon = () => ({ key: (0, _utils.validateType)("Expression"), computed: { default: false }, optional: (0, _utils.validateOptional)(bool) }); defineType("TSPropertySignature", { aliases: ["TSTypeElement"], visitor: ["key", "typeAnnotation", "initializer"], fields: Object.assign({}, namedTypeElementCommon(), { readonly: (0, _utils.validateOptional)(bool), typeAnnotation: (0, _utils.validateOptionalType)("TSTypeAnnotation"), initializer: (0, _utils.validateOptionalType)("Expression"), kind: { validate: (0, _utils.assertOneOf)("get", "set") } }) }); defineType("TSMethodSignature", { aliases: ["TSTypeElement"], visitor: ["key", "typeParameters", "parameters", "typeAnnotation"], fields: Object.assign({}, signatureDeclarationCommon(), namedTypeElementCommon(), { kind: { validate: (0, _utils.assertOneOf)("method", "get", "set") } }) }); defineType("TSIndexSignature", { aliases: ["TSTypeElement"], visitor: ["parameters", "typeAnnotation"], fields: { readonly: (0, _utils.validateOptional)(bool), static: (0, _utils.validateOptional)(bool), parameters: (0, _utils.validateArrayOfType)("Identifier"), typeAnnotation: (0, _utils.validateOptionalType)("TSTypeAnnotation") } }); var tsKeywordTypes = ["TSAnyKeyword", "TSBooleanKeyword", "TSBigIntKeyword", "TSIntrinsicKeyword", "TSNeverKeyword", "TSNullKeyword", "TSNumberKeyword", "TSObjectKeyword", "TSStringKeyword", "TSSymbolKeyword", "TSUndefinedKeyword", "TSUnknownKeyword", "TSVoidKeyword"]; for (const type of tsKeywordTypes) { defineType(type, { aliases: ["TSType", "TSBaseType"], visitor: [], fields: {} }); } defineType("TSThisType", { aliases: ["TSType", "TSBaseType"], visitor: [], fields: {} }); var fnOrCtrBase = { aliases: ["TSType"], visitor: ["typeParameters", "parameters", "typeAnnotation"] }; defineType("TSFunctionType", Object.assign({}, fnOrCtrBase, { fields: signatureDeclarationCommon() })); defineType("TSConstructorType", Object.assign({}, fnOrCtrBase, { fields: Object.assign({}, signatureDeclarationCommon(), { abstract: (0, _utils.validateOptional)(bool) }) })); defineType("TSTypeReference", { aliases: ["TSType"], visitor: ["typeName", "typeParameters"], fields: { typeName: (0, _utils.validateType)("TSEntityName"), typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation") } }); defineType("TSTypePredicate", { aliases: ["TSType"], visitor: ["parameterName", "typeAnnotation"], builder: ["parameterName", "typeAnnotation", "asserts"], fields: { parameterName: (0, _utils.validateType)(["Identifier", "TSThisType"]), typeAnnotation: (0, _utils.validateOptionalType)("TSTypeAnnotation"), asserts: (0, _utils.validateOptional)(bool) } }); defineType("TSTypeQuery", { aliases: ["TSType"], visitor: ["exprName", "typeParameters"], fields: { exprName: (0, _utils.validateType)(["TSEntityName", "TSImportType"]), typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation") } }); defineType("TSTypeLiteral", { aliases: ["TSType"], visitor: ["members"], fields: { members: (0, _utils.validateArrayOfType)("TSTypeElement") } }); defineType("TSArrayType", { aliases: ["TSType"], visitor: ["elementType"], fields: { elementType: (0, _utils.validateType)("TSType") } }); defineType("TSTupleType", { aliases: ["TSType"], visitor: ["elementTypes"], fields: { elementTypes: (0, _utils.validateArrayOfType)(["TSType", "TSNamedTupleMember"]) } }); defineType("TSOptionalType", { aliases: ["TSType"], visitor: ["typeAnnotation"], fields: { typeAnnotation: (0, _utils.validateType)("TSType") } }); defineType("TSRestType", { aliases: ["TSType"], visitor: ["typeAnnotation"], fields: { typeAnnotation: (0, _utils.validateType)("TSType") } }); defineType("TSNamedTupleMember", { visitor: ["label", "elementType"], builder: ["label", "elementType", "optional"], fields: { label: (0, _utils.validateType)("Identifier"), optional: { validate: bool, default: false }, elementType: (0, _utils.validateType)("TSType") } }); var unionOrIntersection = { aliases: ["TSType"], visitor: ["types"], fields: { types: (0, _utils.validateArrayOfType)("TSType") } }; defineType("TSUnionType", unionOrIntersection); defineType("TSIntersectionType", unionOrIntersection); defineType("TSConditionalType", { aliases: ["TSType"], visitor: ["checkType", "extendsType", "trueType", "falseType"], fields: { checkType: (0, _utils.validateType)("TSType"), extendsType: (0, _utils.validateType)("TSType"), trueType: (0, _utils.validateType)("TSType"), falseType: (0, _utils.validateType)("TSType") } }); defineType("TSInferType", { aliases: ["TSType"], visitor: ["typeParameter"], fields: { typeParameter: (0, _utils.validateType)("TSTypeParameter") } }); defineType("TSParenthesizedType", { aliases: ["TSType"], visitor: ["typeAnnotation"], fields: { typeAnnotation: (0, _utils.validateType)("TSType") } }); defineType("TSTypeOperator", { aliases: ["TSType"], visitor: ["typeAnnotation"], fields: { operator: (0, _utils.validate)((0, _utils.assertValueType)("string")), typeAnnotation: (0, _utils.validateType)("TSType") } }); defineType("TSIndexedAccessType", { aliases: ["TSType"], visitor: ["objectType", "indexType"], fields: { objectType: (0, _utils.validateType)("TSType"), indexType: (0, _utils.validateType)("TSType") } }); defineType("TSMappedType", { aliases: ["TSType"], visitor: ["typeParameter", "typeAnnotation", "nameType"], fields: { readonly: (0, _utils.validateOptional)((0, _utils.assertOneOf)(true, false, "+", "-")), typeParameter: (0, _utils.validateType)("TSTypeParameter"), optional: (0, _utils.validateOptional)((0, _utils.assertOneOf)(true, false, "+", "-")), typeAnnotation: (0, _utils.validateOptionalType)("TSType"), nameType: (0, _utils.validateOptionalType)("TSType") } }); defineType("TSLiteralType", { aliases: ["TSType", "TSBaseType"], visitor: ["literal"], fields: { literal: { validate: function() { const unaryExpression = (0, _utils.assertNodeType)("NumericLiteral", "BigIntLiteral"); const unaryOperator = (0, _utils.assertOneOf)("-"); const literal4 = (0, _utils.assertNodeType)("NumericLiteral", "StringLiteral", "BooleanLiteral", "BigIntLiteral", "TemplateLiteral"); function validator(parent, key2, node2) { if ((0, _is.default)("UnaryExpression", node2)) { unaryOperator(node2, "operator", node2.operator); unaryExpression(node2, "argument", node2.argument); } else { literal4(parent, key2, node2); } } validator.oneOfNodeTypes = ["NumericLiteral", "StringLiteral", "BooleanLiteral", "BigIntLiteral", "TemplateLiteral", "UnaryExpression"]; return validator; }() } } }); defineType("TSExpressionWithTypeArguments", { aliases: ["TSType"], visitor: ["expression", "typeParameters"], fields: { expression: (0, _utils.validateType)("TSEntityName"), typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation") } }); defineType("TSInterfaceDeclaration", { aliases: ["Statement", "Declaration"], visitor: ["id", "typeParameters", "extends", "body"], fields: { declare: (0, _utils.validateOptional)(bool), id: (0, _utils.validateType)("Identifier"), typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterDeclaration"), extends: (0, _utils.validateOptional)((0, _utils.arrayOfType)("TSExpressionWithTypeArguments")), body: (0, _utils.validateType)("TSInterfaceBody") } }); defineType("TSInterfaceBody", { visitor: ["body"], fields: { body: (0, _utils.validateArrayOfType)("TSTypeElement") } }); defineType("TSTypeAliasDeclaration", { aliases: ["Statement", "Declaration"], visitor: ["id", "typeParameters", "typeAnnotation"], fields: { declare: (0, _utils.validateOptional)(bool), id: (0, _utils.validateType)("Identifier"), typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterDeclaration"), typeAnnotation: (0, _utils.validateType)("TSType") } }); defineType("TSInstantiationExpression", { aliases: ["Expression"], visitor: ["expression", "typeParameters"], fields: { expression: (0, _utils.validateType)("Expression"), typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation") } }); var TSTypeExpression = { aliases: ["Expression", "LVal", "PatternLike"], visitor: ["expression", "typeAnnotation"], fields: { expression: (0, _utils.validateType)("Expression"), typeAnnotation: (0, _utils.validateType)("TSType") } }; defineType("TSAsExpression", TSTypeExpression); defineType("TSSatisfiesExpression", TSTypeExpression); defineType("TSTypeAssertion", { aliases: ["Expression", "LVal", "PatternLike"], visitor: ["typeAnnotation", "expression"], fields: { typeAnnotation: (0, _utils.validateType)("TSType"), expression: (0, _utils.validateType)("Expression") } }); defineType("TSEnumDeclaration", { aliases: ["Statement", "Declaration"], visitor: ["id", "members"], fields: { declare: (0, _utils.validateOptional)(bool), const: (0, _utils.validateOptional)(bool), id: (0, _utils.validateType)("Identifier"), members: (0, _utils.validateArrayOfType)("TSEnumMember"), initializer: (0, _utils.validateOptionalType)("Expression") } }); defineType("TSEnumMember", { visitor: ["id", "initializer"], fields: { id: (0, _utils.validateType)(["Identifier", "StringLiteral"]), initializer: (0, _utils.validateOptionalType)("Expression") } }); defineType("TSModuleDeclaration", { aliases: ["Statement", "Declaration"], visitor: ["id", "body"], fields: { declare: (0, _utils.validateOptional)(bool), global: (0, _utils.validateOptional)(bool), id: (0, _utils.validateType)(["Identifier", "StringLiteral"]), body: (0, _utils.validateType)(["TSModuleBlock", "TSModuleDeclaration"]) } }); defineType("TSModuleBlock", { aliases: ["Scopable", "Block", "BlockParent", "FunctionParent"], visitor: ["body"], fields: { body: (0, _utils.validateArrayOfType)("Statement") } }); defineType("TSImportType", { aliases: ["TSType"], visitor: ["argument", "qualifier", "typeParameters"], fields: { argument: (0, _utils.validateType)("StringLiteral"), qualifier: (0, _utils.validateOptionalType)("TSEntityName"), typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation") } }); defineType("TSImportEqualsDeclaration", { aliases: ["Statement"], visitor: ["id", "moduleReference"], fields: { isExport: (0, _utils.validate)(bool), id: (0, _utils.validateType)("Identifier"), moduleReference: (0, _utils.validateType)(["TSEntityName", "TSExternalModuleReference"]), importKind: { validate: (0, _utils.assertOneOf)("type", "value"), optional: true } } }); defineType("TSExternalModuleReference", { visitor: ["expression"], fields: { expression: (0, _utils.validateType)("StringLiteral") } }); defineType("TSNonNullExpression", { aliases: ["Expression", "LVal", "PatternLike"], visitor: ["expression"], fields: { expression: (0, _utils.validateType)("Expression") } }); defineType("TSExportAssignment", { aliases: ["Statement"], visitor: ["expression"], fields: { expression: (0, _utils.validateType)("Expression") } }); defineType("TSNamespaceExportDeclaration", { aliases: ["Statement"], visitor: ["id"], fields: { id: (0, _utils.validateType)("Identifier") } }); defineType("TSTypeAnnotation", { visitor: ["typeAnnotation"], fields: { typeAnnotation: { validate: (0, _utils.assertNodeType)("TSType") } } }); defineType("TSTypeParameterInstantiation", { visitor: ["params"], fields: { params: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("TSType"))) } } }); defineType("TSTypeParameterDeclaration", { visitor: ["params"], fields: { params: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("TSTypeParameter"))) } } }); defineType("TSTypeParameter", { builder: ["constraint", "default", "name"], visitor: ["constraint", "default"], fields: { name: { validate: (0, _utils.assertValueType)("string") }, in: { validate: (0, _utils.assertValueType)("boolean"), optional: true }, out: { validate: (0, _utils.assertValueType)("boolean"), optional: true }, const: { validate: (0, _utils.assertValueType)("boolean"), optional: true }, constraint: { validate: (0, _utils.assertNodeType)("TSType"), optional: true }, default: { validate: (0, _utils.assertNodeType)("TSType"), optional: true } } }); } }); // node_modules/@babel/types/lib/definitions/deprecated-aliases.js var require_deprecated_aliases = __commonJS({ "node_modules/@babel/types/lib/definitions/deprecated-aliases.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DEPRECATED_ALIASES = void 0; var DEPRECATED_ALIASES = { ModuleDeclaration: "ImportOrExportDeclaration" }; exports.DEPRECATED_ALIASES = DEPRECATED_ALIASES; } }); // node_modules/@babel/types/lib/definitions/index.js var require_definitions = __commonJS({ "node_modules/@babel/types/lib/definitions/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "ALIAS_KEYS", { enumerable: true, get: function() { return _utils.ALIAS_KEYS; } }); Object.defineProperty(exports, "BUILDER_KEYS", { enumerable: true, get: function() { return _utils.BUILDER_KEYS; } }); Object.defineProperty(exports, "DEPRECATED_ALIASES", { enumerable: true, get: function() { return _deprecatedAliases.DEPRECATED_ALIASES; } }); Object.defineProperty(exports, "DEPRECATED_KEYS", { enumerable: true, get: function() { return _utils.DEPRECATED_KEYS; } }); Object.defineProperty(exports, "FLIPPED_ALIAS_KEYS", { enumerable: true, get: function() { return _utils.FLIPPED_ALIAS_KEYS; } }); Object.defineProperty(exports, "NODE_FIELDS", { enumerable: true, get: function() { return _utils.NODE_FIELDS; } }); Object.defineProperty(exports, "NODE_PARENT_VALIDATIONS", { enumerable: true, get: function() { return _utils.NODE_PARENT_VALIDATIONS; } }); Object.defineProperty(exports, "PLACEHOLDERS", { enumerable: true, get: function() { return _placeholders.PLACEHOLDERS; } }); Object.defineProperty(exports, "PLACEHOLDERS_ALIAS", { enumerable: true, get: function() { return _placeholders.PLACEHOLDERS_ALIAS; } }); Object.defineProperty(exports, "PLACEHOLDERS_FLIPPED_ALIAS", { enumerable: true, get: function() { return _placeholders.PLACEHOLDERS_FLIPPED_ALIAS; } }); exports.TYPES = void 0; Object.defineProperty(exports, "VISITOR_KEYS", { enumerable: true, get: function() { return _utils.VISITOR_KEYS; } }); var _toFastProperties = require_to_fast_properties(); require_core(); require_flow(); require_jsx(); require_misc(); require_experimental(); require_typescript(); var _utils = require_utils(); var _placeholders = require_placeholders(); var _deprecatedAliases = require_deprecated_aliases(); Object.keys(_deprecatedAliases.DEPRECATED_ALIASES).forEach((deprecatedAlias) => { _utils.FLIPPED_ALIAS_KEYS[deprecatedAlias] = _utils.FLIPPED_ALIAS_KEYS[_deprecatedAliases.DEPRECATED_ALIASES[deprecatedAlias]]; }); _toFastProperties(_utils.VISITOR_KEYS); _toFastProperties(_utils.ALIAS_KEYS); _toFastProperties(_utils.FLIPPED_ALIAS_KEYS); _toFastProperties(_utils.NODE_FIELDS); _toFastProperties(_utils.BUILDER_KEYS); _toFastProperties(_utils.DEPRECATED_KEYS); _toFastProperties(_placeholders.PLACEHOLDERS_ALIAS); _toFastProperties(_placeholders.PLACEHOLDERS_FLIPPED_ALIAS); var TYPES = [].concat(Object.keys(_utils.VISITOR_KEYS), Object.keys(_utils.FLIPPED_ALIAS_KEYS), Object.keys(_utils.DEPRECATED_KEYS)); exports.TYPES = TYPES; } }); // node_modules/@babel/types/lib/validators/validate.js var require_validate = __commonJS({ "node_modules/@babel/types/lib/validators/validate.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = validate; exports.validateChild = validateChild; exports.validateField = validateField; var _definitions = require_definitions(); function validate(node2, key2, val) { if (!node2) return; const fields = _definitions.NODE_FIELDS[node2.type]; if (!fields) return; const field = fields[key2]; validateField(node2, key2, val, field); validateChild(node2, key2, val); } function validateField(node2, key2, val, field) { if (!(field != null && field.validate)) return; if (field.optional && val == null) return; field.validate(node2, key2, val); } function validateChild(node2, key2, val) { if (val == null) return; const validate2 = _definitions.NODE_PARENT_VALIDATIONS[val.type]; if (!validate2) return; validate2(node2, key2, val); } } }); // node_modules/@babel/types/lib/builders/validateNode.js var require_validateNode = __commonJS({ "node_modules/@babel/types/lib/builders/validateNode.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = validateNode; var _validate = require_validate(); var _ = require_lib3(); function validateNode(node2) { const keys2 = _.BUILDER_KEYS[node2.type]; for (const key2 of keys2) { (0, _validate.default)(node2, key2, node2[key2]); } return node2; } } }); // node_modules/@babel/types/lib/builders/generated/index.js var require_generated2 = __commonJS({ "node_modules/@babel/types/lib/builders/generated/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.anyTypeAnnotation = anyTypeAnnotation; exports.argumentPlaceholder = argumentPlaceholder; exports.arrayExpression = arrayExpression; exports.arrayPattern = arrayPattern; exports.arrayTypeAnnotation = arrayTypeAnnotation; exports.arrowFunctionExpression = arrowFunctionExpression; exports.assignmentExpression = assignmentExpression; exports.assignmentPattern = assignmentPattern; exports.awaitExpression = awaitExpression; exports.bigIntLiteral = bigIntLiteral; exports.binaryExpression = binaryExpression; exports.bindExpression = bindExpression; exports.blockStatement = blockStatement; exports.booleanLiteral = booleanLiteral; exports.booleanLiteralTypeAnnotation = booleanLiteralTypeAnnotation; exports.booleanTypeAnnotation = booleanTypeAnnotation; exports.breakStatement = breakStatement; exports.callExpression = callExpression; exports.catchClause = catchClause; exports.classAccessorProperty = classAccessorProperty; exports.classBody = classBody; exports.classDeclaration = classDeclaration; exports.classExpression = classExpression; exports.classImplements = classImplements; exports.classMethod = classMethod; exports.classPrivateMethod = classPrivateMethod; exports.classPrivateProperty = classPrivateProperty; exports.classProperty = classProperty; exports.conditionalExpression = conditionalExpression; exports.continueStatement = continueStatement; exports.debuggerStatement = debuggerStatement; exports.decimalLiteral = decimalLiteral; exports.declareClass = declareClass; exports.declareExportAllDeclaration = declareExportAllDeclaration; exports.declareExportDeclaration = declareExportDeclaration; exports.declareFunction = declareFunction; exports.declareInterface = declareInterface; exports.declareModule = declareModule; exports.declareModuleExports = declareModuleExports; exports.declareOpaqueType = declareOpaqueType; exports.declareTypeAlias = declareTypeAlias; exports.declareVariable = declareVariable; exports.declaredPredicate = declaredPredicate; exports.decorator = decorator; exports.directive = directive; exports.directiveLiteral = directiveLiteral; exports.doExpression = doExpression; exports.doWhileStatement = doWhileStatement; exports.emptyStatement = emptyStatement; exports.emptyTypeAnnotation = emptyTypeAnnotation; exports.enumBooleanBody = enumBooleanBody; exports.enumBooleanMember = enumBooleanMember; exports.enumDeclaration = enumDeclaration; exports.enumDefaultedMember = enumDefaultedMember; exports.enumNumberBody = enumNumberBody; exports.enumNumberMember = enumNumberMember; exports.enumStringBody = enumStringBody; exports.enumStringMember = enumStringMember; exports.enumSymbolBody = enumSymbolBody; exports.existsTypeAnnotation = existsTypeAnnotation; exports.exportAllDeclaration = exportAllDeclaration; exports.exportDefaultDeclaration = exportDefaultDeclaration; exports.exportDefaultSpecifier = exportDefaultSpecifier; exports.exportNamedDeclaration = exportNamedDeclaration; exports.exportNamespaceSpecifier = exportNamespaceSpecifier; exports.exportSpecifier = exportSpecifier; exports.expressionStatement = expressionStatement; exports.file = file; exports.forInStatement = forInStatement; exports.forOfStatement = forOfStatement; exports.forStatement = forStatement; exports.functionDeclaration = functionDeclaration; exports.functionExpression = functionExpression; exports.functionTypeAnnotation = functionTypeAnnotation; exports.functionTypeParam = functionTypeParam; exports.genericTypeAnnotation = genericTypeAnnotation; exports.identifier = identifier; exports.ifStatement = ifStatement; exports.import = _import; exports.importAttribute = importAttribute; exports.importDeclaration = importDeclaration; exports.importDefaultSpecifier = importDefaultSpecifier; exports.importNamespaceSpecifier = importNamespaceSpecifier; exports.importSpecifier = importSpecifier; exports.indexedAccessType = indexedAccessType; exports.inferredPredicate = inferredPredicate; exports.interfaceDeclaration = interfaceDeclaration; exports.interfaceExtends = interfaceExtends; exports.interfaceTypeAnnotation = interfaceTypeAnnotation; exports.interpreterDirective = interpreterDirective; exports.intersectionTypeAnnotation = intersectionTypeAnnotation; exports.jSXAttribute = exports.jsxAttribute = jsxAttribute2; exports.jSXClosingElement = exports.jsxClosingElement = jsxClosingElement; exports.jSXClosingFragment = exports.jsxClosingFragment = jsxClosingFragment; exports.jSXElement = exports.jsxElement = jsxElement; exports.jSXEmptyExpression = exports.jsxEmptyExpression = jsxEmptyExpression; exports.jSXExpressionContainer = exports.jsxExpressionContainer = jsxExpressionContainer; exports.jSXFragment = exports.jsxFragment = jsxFragment; exports.jSXIdentifier = exports.jsxIdentifier = jsxIdentifier2; exports.jSXMemberExpression = exports.jsxMemberExpression = jsxMemberExpression; exports.jSXNamespacedName = exports.jsxNamespacedName = jsxNamespacedName; exports.jSXOpeningElement = exports.jsxOpeningElement = jsxOpeningElement; exports.jSXOpeningFragment = exports.jsxOpeningFragment = jsxOpeningFragment; exports.jSXSpreadAttribute = exports.jsxSpreadAttribute = jsxSpreadAttribute; exports.jSXSpreadChild = exports.jsxSpreadChild = jsxSpreadChild; exports.jSXText = exports.jsxText = jsxText2; exports.labeledStatement = labeledStatement; exports.logicalExpression = logicalExpression; exports.memberExpression = memberExpression; exports.metaProperty = metaProperty; exports.mixedTypeAnnotation = mixedTypeAnnotation; exports.moduleExpression = moduleExpression; exports.newExpression = newExpression; exports.noop = noop; exports.nullLiteral = nullLiteral; exports.nullLiteralTypeAnnotation = nullLiteralTypeAnnotation; exports.nullableTypeAnnotation = nullableTypeAnnotation; exports.numberLiteral = NumberLiteral; exports.numberLiteralTypeAnnotation = numberLiteralTypeAnnotation; exports.numberTypeAnnotation = numberTypeAnnotation; exports.numericLiteral = numericLiteral; exports.objectExpression = objectExpression; exports.objectMethod = objectMethod; exports.objectPattern = objectPattern; exports.objectProperty = objectProperty; exports.objectTypeAnnotation = objectTypeAnnotation; exports.objectTypeCallProperty = objectTypeCallProperty; exports.objectTypeIndexer = objectTypeIndexer; exports.objectTypeInternalSlot = objectTypeInternalSlot; exports.objectTypeProperty = objectTypeProperty; exports.objectTypeSpreadProperty = objectTypeSpreadProperty; exports.opaqueType = opaqueType; exports.optionalCallExpression = optionalCallExpression; exports.optionalIndexedAccessType = optionalIndexedAccessType; exports.optionalMemberExpression = optionalMemberExpression; exports.parenthesizedExpression = parenthesizedExpression; exports.pipelineBareFunction = pipelineBareFunction; exports.pipelinePrimaryTopicReference = pipelinePrimaryTopicReference; exports.pipelineTopicExpression = pipelineTopicExpression; exports.placeholder = placeholder; exports.privateName = privateName; exports.program = program; exports.qualifiedTypeIdentifier = qualifiedTypeIdentifier; exports.recordExpression = recordExpression; exports.regExpLiteral = regExpLiteral; exports.regexLiteral = RegexLiteral; exports.restElement = restElement; exports.restProperty = RestProperty; exports.returnStatement = returnStatement; exports.sequenceExpression = sequenceExpression; exports.spreadElement = spreadElement; exports.spreadProperty = SpreadProperty; exports.staticBlock = staticBlock; exports.stringLiteral = stringLiteral2; exports.stringLiteralTypeAnnotation = stringLiteralTypeAnnotation; exports.stringTypeAnnotation = stringTypeAnnotation; exports.super = _super; exports.switchCase = switchCase; exports.switchStatement = switchStatement; exports.symbolTypeAnnotation = symbolTypeAnnotation; exports.taggedTemplateExpression = taggedTemplateExpression; exports.templateElement = templateElement; exports.templateLiteral = templateLiteral; exports.thisExpression = thisExpression; exports.thisTypeAnnotation = thisTypeAnnotation; exports.throwStatement = throwStatement; exports.topicReference = topicReference; exports.tryStatement = tryStatement; exports.tSAnyKeyword = exports.tsAnyKeyword = tsAnyKeyword; exports.tSArrayType = exports.tsArrayType = tsArrayType; exports.tSAsExpression = exports.tsAsExpression = tsAsExpression; exports.tSBigIntKeyword = exports.tsBigIntKeyword = tsBigIntKeyword; exports.tSBooleanKeyword = exports.tsBooleanKeyword = tsBooleanKeyword; exports.tSCallSignatureDeclaration = exports.tsCallSignatureDeclaration = tsCallSignatureDeclaration; exports.tSConditionalType = exports.tsConditionalType = tsConditionalType; exports.tSConstructSignatureDeclaration = exports.tsConstructSignatureDeclaration = tsConstructSignatureDeclaration; exports.tSConstructorType = exports.tsConstructorType = tsConstructorType; exports.tSDeclareFunction = exports.tsDeclareFunction = tsDeclareFunction; exports.tSDeclareMethod = exports.tsDeclareMethod = tsDeclareMethod; exports.tSEnumDeclaration = exports.tsEnumDeclaration = tsEnumDeclaration; exports.tSEnumMember = exports.tsEnumMember = tsEnumMember; exports.tSExportAssignment = exports.tsExportAssignment = tsExportAssignment; exports.tSExpressionWithTypeArguments = exports.tsExpressionWithTypeArguments = tsExpressionWithTypeArguments; exports.tSExternalModuleReference = exports.tsExternalModuleReference = tsExternalModuleReference; exports.tSFunctionType = exports.tsFunctionType = tsFunctionType; exports.tSImportEqualsDeclaration = exports.tsImportEqualsDeclaration = tsImportEqualsDeclaration; exports.tSImportType = exports.tsImportType = tsImportType; exports.tSIndexSignature = exports.tsIndexSignature = tsIndexSignature; exports.tSIndexedAccessType = exports.tsIndexedAccessType = tsIndexedAccessType; exports.tSInferType = exports.tsInferType = tsInferType; exports.tSInstantiationExpression = exports.tsInstantiationExpression = tsInstantiationExpression; exports.tSInterfaceBody = exports.tsInterfaceBody = tsInterfaceBody; exports.tSInterfaceDeclaration = exports.tsInterfaceDeclaration = tsInterfaceDeclaration; exports.tSIntersectionType = exports.tsIntersectionType = tsIntersectionType; exports.tSIntrinsicKeyword = exports.tsIntrinsicKeyword = tsIntrinsicKeyword; exports.tSLiteralType = exports.tsLiteralType = tsLiteralType; exports.tSMappedType = exports.tsMappedType = tsMappedType; exports.tSMethodSignature = exports.tsMethodSignature = tsMethodSignature; exports.tSModuleBlock = exports.tsModuleBlock = tsModuleBlock; exports.tSModuleDeclaration = exports.tsModuleDeclaration = tsModuleDeclaration; exports.tSNamedTupleMember = exports.tsNamedTupleMember = tsNamedTupleMember; exports.tSNamespaceExportDeclaration = exports.tsNamespaceExportDeclaration = tsNamespaceExportDeclaration; exports.tSNeverKeyword = exports.tsNeverKeyword = tsNeverKeyword; exports.tSNonNullExpression = exports.tsNonNullExpression = tsNonNullExpression; exports.tSNullKeyword = exports.tsNullKeyword = tsNullKeyword; exports.tSNumberKeyword = exports.tsNumberKeyword = tsNumberKeyword; exports.tSObjectKeyword = exports.tsObjectKeyword = tsObjectKeyword; exports.tSOptionalType = exports.tsOptionalType = tsOptionalType; exports.tSParameterProperty = exports.tsParameterProperty = tsParameterProperty; exports.tSParenthesizedType = exports.tsParenthesizedType = tsParenthesizedType; exports.tSPropertySignature = exports.tsPropertySignature = tsPropertySignature; exports.tSQualifiedName = exports.tsQualifiedName = tsQualifiedName; exports.tSRestType = exports.tsRestType = tsRestType; exports.tSSatisfiesExpression = exports.tsSatisfiesExpression = tsSatisfiesExpression; exports.tSStringKeyword = exports.tsStringKeyword = tsStringKeyword; exports.tSSymbolKeyword = exports.tsSymbolKeyword = tsSymbolKeyword; exports.tSThisType = exports.tsThisType = tsThisType; exports.tSTupleType = exports.tsTupleType = tsTupleType; exports.tSTypeAliasDeclaration = exports.tsTypeAliasDeclaration = tsTypeAliasDeclaration; exports.tSTypeAnnotation = exports.tsTypeAnnotation = tsTypeAnnotation; exports.tSTypeAssertion = exports.tsTypeAssertion = tsTypeAssertion; exports.tSTypeLiteral = exports.tsTypeLiteral = tsTypeLiteral; exports.tSTypeOperator = exports.tsTypeOperator = tsTypeOperator; exports.tSTypeParameter = exports.tsTypeParameter = tsTypeParameter; exports.tSTypeParameterDeclaration = exports.tsTypeParameterDeclaration = tsTypeParameterDeclaration; exports.tSTypeParameterInstantiation = exports.tsTypeParameterInstantiation = tsTypeParameterInstantiation; exports.tSTypePredicate = exports.tsTypePredicate = tsTypePredicate; exports.tSTypeQuery = exports.tsTypeQuery = tsTypeQuery; exports.tSTypeReference = exports.tsTypeReference = tsTypeReference; exports.tSUndefinedKeyword = exports.tsUndefinedKeyword = tsUndefinedKeyword; exports.tSUnionType = exports.tsUnionType = tsUnionType; exports.tSUnknownKeyword = exports.tsUnknownKeyword = tsUnknownKeyword; exports.tSVoidKeyword = exports.tsVoidKeyword = tsVoidKeyword; exports.tupleExpression = tupleExpression; exports.tupleTypeAnnotation = tupleTypeAnnotation; exports.typeAlias = typeAlias; exports.typeAnnotation = typeAnnotation; exports.typeCastExpression = typeCastExpression; exports.typeParameter = typeParameter; exports.typeParameterDeclaration = typeParameterDeclaration; exports.typeParameterInstantiation = typeParameterInstantiation; exports.typeofTypeAnnotation = typeofTypeAnnotation; exports.unaryExpression = unaryExpression; exports.unionTypeAnnotation = unionTypeAnnotation; exports.updateExpression = updateExpression; exports.v8IntrinsicIdentifier = v8IntrinsicIdentifier; exports.variableDeclaration = variableDeclaration; exports.variableDeclarator = variableDeclarator; exports.variance = variance; exports.voidTypeAnnotation = voidTypeAnnotation; exports.whileStatement = whileStatement; exports.withStatement = withStatement; exports.yieldExpression = yieldExpression; var _validateNode = require_validateNode(); var _deprecationWarning = require_deprecationWarning(); function arrayExpression(elements = []) { return (0, _validateNode.default)({ type: "ArrayExpression", elements }); } function assignmentExpression(operator, left, right) { return (0, _validateNode.default)({ type: "AssignmentExpression", operator, left, right }); } function binaryExpression(operator, left, right) { return (0, _validateNode.default)({ type: "BinaryExpression", operator, left, right }); } function interpreterDirective(value2) { return (0, _validateNode.default)({ type: "InterpreterDirective", value: value2 }); } function directive(value2) { return (0, _validateNode.default)({ type: "Directive", value: value2 }); } function directiveLiteral(value2) { return (0, _validateNode.default)({ type: "DirectiveLiteral", value: value2 }); } function blockStatement(body, directives = []) { return (0, _validateNode.default)({ type: "BlockStatement", body, directives }); } function breakStatement(label = null) { return (0, _validateNode.default)({ type: "BreakStatement", label }); } function callExpression(callee, _arguments) { return (0, _validateNode.default)({ type: "CallExpression", callee, arguments: _arguments }); } function catchClause(param = null, body) { return (0, _validateNode.default)({ type: "CatchClause", param, body }); } function conditionalExpression(test, consequent, alternate) { return (0, _validateNode.default)({ type: "ConditionalExpression", test, consequent, alternate }); } function continueStatement(label = null) { return (0, _validateNode.default)({ type: "ContinueStatement", label }); } function debuggerStatement() { return { type: "DebuggerStatement" }; } function doWhileStatement(test, body) { return (0, _validateNode.default)({ type: "DoWhileStatement", test, body }); } function emptyStatement() { return { type: "EmptyStatement" }; } function expressionStatement(expression) { return (0, _validateNode.default)({ type: "ExpressionStatement", expression }); } function file(program2, comments = null, tokens = null) { return (0, _validateNode.default)({ type: "File", program: program2, comments, tokens }); } function forInStatement(left, right, body) { return (0, _validateNode.default)({ type: "ForInStatement", left, right, body }); } function forStatement(init = null, test = null, update = null, body) { return (0, _validateNode.default)({ type: "ForStatement", init, test, update, body }); } function functionDeclaration(id = null, params, body, generator = false, async = false) { return (0, _validateNode.default)({ type: "FunctionDeclaration", id, params, body, generator, async }); } function functionExpression(id = null, params, body, generator = false, async = false) { return (0, _validateNode.default)({ type: "FunctionExpression", id, params, body, generator, async }); } function identifier(name2) { return (0, _validateNode.default)({ type: "Identifier", name: name2 }); } function ifStatement(test, consequent, alternate = null) { return (0, _validateNode.default)({ type: "IfStatement", test, consequent, alternate }); } function labeledStatement(label, body) { return (0, _validateNode.default)({ type: "LabeledStatement", label, body }); } function stringLiteral2(value2) { return (0, _validateNode.default)({ type: "StringLiteral", value: value2 }); } function numericLiteral(value2) { return (0, _validateNode.default)({ type: "NumericLiteral", value: value2 }); } function nullLiteral() { return { type: "NullLiteral" }; } function booleanLiteral(value2) { return (0, _validateNode.default)({ type: "BooleanLiteral", value: value2 }); } function regExpLiteral(pattern, flags = "") { return (0, _validateNode.default)({ type: "RegExpLiteral", pattern, flags }); } function logicalExpression(operator, left, right) { return (0, _validateNode.default)({ type: "LogicalExpression", operator, left, right }); } function memberExpression(object, property, computed = false, optional = null) { return (0, _validateNode.default)({ type: "MemberExpression", object, property, computed, optional }); } function newExpression(callee, _arguments) { return (0, _validateNode.default)({ type: "NewExpression", callee, arguments: _arguments }); } function program(body, directives = [], sourceType = "script", interpreter = null) { return (0, _validateNode.default)({ type: "Program", body, directives, sourceType, interpreter, sourceFile: null }); } function objectExpression(properties) { return (0, _validateNode.default)({ type: "ObjectExpression", properties }); } function objectMethod(kind = "method", key2, params, body, computed = false, generator = false, async = false) { return (0, _validateNode.default)({ type: "ObjectMethod", kind, key: key2, params, body, computed, generator, async }); } function objectProperty(key2, value2, computed = false, shorthand = false, decorators = null) { return (0, _validateNode.default)({ type: "ObjectProperty", key: key2, value: value2, computed, shorthand, decorators }); } function restElement(argument) { return (0, _validateNode.default)({ type: "RestElement", argument }); } function returnStatement(argument = null) { return (0, _validateNode.default)({ type: "ReturnStatement", argument }); } function sequenceExpression(expressions) { return (0, _validateNode.default)({ type: "SequenceExpression", expressions }); } function parenthesizedExpression(expression) { return (0, _validateNode.default)({ type: "ParenthesizedExpression", expression }); } function switchCase(test = null, consequent) { return (0, _validateNode.default)({ type: "SwitchCase", test, consequent }); } function switchStatement(discriminant, cases) { return (0, _validateNode.default)({ type: "SwitchStatement", discriminant, cases }); } function thisExpression() { return { type: "ThisExpression" }; } function throwStatement(argument) { return (0, _validateNode.default)({ type: "ThrowStatement", argument }); } function tryStatement(block, handler = null, finalizer = null) { return (0, _validateNode.default)({ type: "TryStatement", block, handler, finalizer }); } function unaryExpression(operator, argument, prefix = true) { return (0, _validateNode.default)({ type: "UnaryExpression", operator, argument, prefix }); } function updateExpression(operator, argument, prefix = false) { return (0, _validateNode.default)({ type: "UpdateExpression", operator, argument, prefix }); } function variableDeclaration(kind, declarations) { return (0, _validateNode.default)({ type: "VariableDeclaration", kind, declarations }); } function variableDeclarator(id, init = null) { return (0, _validateNode.default)({ type: "VariableDeclarator", id, init }); } function whileStatement(test, body) { return (0, _validateNode.default)({ type: "WhileStatement", test, body }); } function withStatement(object, body) { return (0, _validateNode.default)({ type: "WithStatement", object, body }); } function assignmentPattern(left, right) { return (0, _validateNode.default)({ type: "AssignmentPattern", left, right }); } function arrayPattern(elements) { return (0, _validateNode.default)({ type: "ArrayPattern", elements }); } function arrowFunctionExpression(params, body, async = false) { return (0, _validateNode.default)({ type: "ArrowFunctionExpression", params, body, async, expression: null }); } function classBody(body) { return (0, _validateNode.default)({ type: "ClassBody", body }); } function classExpression(id = null, superClass = null, body, decorators = null) { return (0, _validateNode.default)({ type: "ClassExpression", id, superClass, body, decorators }); } function classDeclaration(id, superClass = null, body, decorators = null) { return (0, _validateNode.default)({ type: "ClassDeclaration", id, superClass, body, decorators }); } function exportAllDeclaration(source2) { return (0, _validateNode.default)({ type: "ExportAllDeclaration", source: source2 }); } function exportDefaultDeclaration(declaration) { return (0, _validateNode.default)({ type: "ExportDefaultDeclaration", declaration }); } function exportNamedDeclaration(declaration = null, specifiers = [], source2 = null) { return (0, _validateNode.default)({ type: "ExportNamedDeclaration", declaration, specifiers, source: source2 }); } function exportSpecifier(local, exported) { return (0, _validateNode.default)({ type: "ExportSpecifier", local, exported }); } function forOfStatement(left, right, body, _await = false) { return (0, _validateNode.default)({ type: "ForOfStatement", left, right, body, await: _await }); } function importDeclaration(specifiers, source2) { return (0, _validateNode.default)({ type: "ImportDeclaration", specifiers, source: source2 }); } function importDefaultSpecifier(local) { return (0, _validateNode.default)({ type: "ImportDefaultSpecifier", local }); } function importNamespaceSpecifier(local) { return (0, _validateNode.default)({ type: "ImportNamespaceSpecifier", local }); } function importSpecifier(local, imported) { return (0, _validateNode.default)({ type: "ImportSpecifier", local, imported }); } function metaProperty(meta, property) { return (0, _validateNode.default)({ type: "MetaProperty", meta, property }); } function classMethod(kind = "method", key2, params, body, computed = false, _static = false, generator = false, async = false) { return (0, _validateNode.default)({ type: "ClassMethod", kind, key: key2, params, body, computed, static: _static, generator, async }); } function objectPattern(properties) { return (0, _validateNode.default)({ type: "ObjectPattern", properties }); } function spreadElement(argument) { return (0, _validateNode.default)({ type: "SpreadElement", argument }); } function _super() { return { type: "Super" }; } function taggedTemplateExpression(tag, quasi) { return (0, _validateNode.default)({ type: "TaggedTemplateExpression", tag, quasi }); } function templateElement(value2, tail = false) { return (0, _validateNode.default)({ type: "TemplateElement", value: value2, tail }); } function templateLiteral(quasis, expressions) { return (0, _validateNode.default)({ type: "TemplateLiteral", quasis, expressions }); } function yieldExpression(argument = null, delegate = false) { return (0, _validateNode.default)({ type: "YieldExpression", argument, delegate }); } function awaitExpression(argument) { return (0, _validateNode.default)({ type: "AwaitExpression", argument }); } function _import() { return { type: "Import" }; } function bigIntLiteral(value2) { return (0, _validateNode.default)({ type: "BigIntLiteral", value: value2 }); } function exportNamespaceSpecifier(exported) { return (0, _validateNode.default)({ type: "ExportNamespaceSpecifier", exported }); } function optionalMemberExpression(object, property, computed = false, optional) { return (0, _validateNode.default)({ type: "OptionalMemberExpression", object, property, computed, optional }); } function optionalCallExpression(callee, _arguments, optional) { return (0, _validateNode.default)({ type: "OptionalCallExpression", callee, arguments: _arguments, optional }); } function classProperty(key2, value2 = null, typeAnnotation2 = null, decorators = null, computed = false, _static = false) { return (0, _validateNode.default)({ type: "ClassProperty", key: key2, value: value2, typeAnnotation: typeAnnotation2, decorators, computed, static: _static }); } function classAccessorProperty(key2, value2 = null, typeAnnotation2 = null, decorators = null, computed = false, _static = false) { return (0, _validateNode.default)({ type: "ClassAccessorProperty", key: key2, value: value2, typeAnnotation: typeAnnotation2, decorators, computed, static: _static }); } function classPrivateProperty(key2, value2 = null, decorators = null, _static = false) { return (0, _validateNode.default)({ type: "ClassPrivateProperty", key: key2, value: value2, decorators, static: _static }); } function classPrivateMethod(kind = "method", key2, params, body, _static = false) { return (0, _validateNode.default)({ type: "ClassPrivateMethod", kind, key: key2, params, body, static: _static }); } function privateName(id) { return (0, _validateNode.default)({ type: "PrivateName", id }); } function staticBlock(body) { return (0, _validateNode.default)({ type: "StaticBlock", body }); } function anyTypeAnnotation() { return { type: "AnyTypeAnnotation" }; } function arrayTypeAnnotation(elementType) { return (0, _validateNode.default)({ type: "ArrayTypeAnnotation", elementType }); } function booleanTypeAnnotation() { return { type: "BooleanTypeAnnotation" }; } function booleanLiteralTypeAnnotation(value2) { return (0, _validateNode.default)({ type: "BooleanLiteralTypeAnnotation", value: value2 }); } function nullLiteralTypeAnnotation() { return { type: "NullLiteralTypeAnnotation" }; } function classImplements(id, typeParameters = null) { return (0, _validateNode.default)({ type: "ClassImplements", id, typeParameters }); } function declareClass(id, typeParameters = null, _extends = null, body) { return (0, _validateNode.default)({ type: "DeclareClass", id, typeParameters, extends: _extends, body }); } function declareFunction(id) { return (0, _validateNode.default)({ type: "DeclareFunction", id }); } function declareInterface(id, typeParameters = null, _extends = null, body) { return (0, _validateNode.default)({ type: "DeclareInterface", id, typeParameters, extends: _extends, body }); } function declareModule(id, body, kind = null) { return (0, _validateNode.default)({ type: "DeclareModule", id, body, kind }); } function declareModuleExports(typeAnnotation2) { return (0, _validateNode.default)({ type: "DeclareModuleExports", typeAnnotation: typeAnnotation2 }); } function declareTypeAlias(id, typeParameters = null, right) { return (0, _validateNode.default)({ type: "DeclareTypeAlias", id, typeParameters, right }); } function declareOpaqueType(id, typeParameters = null, supertype = null) { return (0, _validateNode.default)({ type: "DeclareOpaqueType", id, typeParameters, supertype }); } function declareVariable(id) { return (0, _validateNode.default)({ type: "DeclareVariable", id }); } function declareExportDeclaration(declaration = null, specifiers = null, source2 = null) { return (0, _validateNode.default)({ type: "DeclareExportDeclaration", declaration, specifiers, source: source2 }); } function declareExportAllDeclaration(source2) { return (0, _validateNode.default)({ type: "DeclareExportAllDeclaration", source: source2 }); } function declaredPredicate(value2) { return (0, _validateNode.default)({ type: "DeclaredPredicate", value: value2 }); } function existsTypeAnnotation() { return { type: "ExistsTypeAnnotation" }; } function functionTypeAnnotation(typeParameters = null, params, rest = null, returnType) { return (0, _validateNode.default)({ type: "FunctionTypeAnnotation", typeParameters, params, rest, returnType }); } function functionTypeParam(name2 = null, typeAnnotation2) { return (0, _validateNode.default)({ type: "FunctionTypeParam", name: name2, typeAnnotation: typeAnnotation2 }); } function genericTypeAnnotation(id, typeParameters = null) { return (0, _validateNode.default)({ type: "GenericTypeAnnotation", id, typeParameters }); } function inferredPredicate() { return { type: "InferredPredicate" }; } function interfaceExtends(id, typeParameters = null) { return (0, _validateNode.default)({ type: "InterfaceExtends", id, typeParameters }); } function interfaceDeclaration(id, typeParameters = null, _extends = null, body) { return (0, _validateNode.default)({ type: "InterfaceDeclaration", id, typeParameters, extends: _extends, body }); } function interfaceTypeAnnotation(_extends = null, body) { return (0, _validateNode.default)({ type: "InterfaceTypeAnnotation", extends: _extends, body }); } function intersectionTypeAnnotation(types3) { return (0, _validateNode.default)({ type: "IntersectionTypeAnnotation", types: types3 }); } function mixedTypeAnnotation() { return { type: "MixedTypeAnnotation" }; } function emptyTypeAnnotation() { return { type: "EmptyTypeAnnotation" }; } function nullableTypeAnnotation(typeAnnotation2) { return (0, _validateNode.default)({ type: "NullableTypeAnnotation", typeAnnotation: typeAnnotation2 }); } function numberLiteralTypeAnnotation(value2) { return (0, _validateNode.default)({ type: "NumberLiteralTypeAnnotation", value: value2 }); } function numberTypeAnnotation() { return { type: "NumberTypeAnnotation" }; } function objectTypeAnnotation(properties, indexers = [], callProperties = [], internalSlots = [], exact = false) { return (0, _validateNode.default)({ type: "ObjectTypeAnnotation", properties, indexers, callProperties, internalSlots, exact }); } function objectTypeInternalSlot(id, value2, optional, _static, method) { return (0, _validateNode.default)({ type: "ObjectTypeInternalSlot", id, value: value2, optional, static: _static, method }); } function objectTypeCallProperty(value2) { return (0, _validateNode.default)({ type: "ObjectTypeCallProperty", value: value2, static: null }); } function objectTypeIndexer(id = null, key2, value2, variance2 = null) { return (0, _validateNode.default)({ type: "ObjectTypeIndexer", id, key: key2, value: value2, variance: variance2, static: null }); } function objectTypeProperty(key2, value2, variance2 = null) { return (0, _validateNode.default)({ type: "ObjectTypeProperty", key: key2, value: value2, variance: variance2, kind: null, method: null, optional: null, proto: null, static: null }); } function objectTypeSpreadProperty(argument) { return (0, _validateNode.default)({ type: "ObjectTypeSpreadProperty", argument }); } function opaqueType(id, typeParameters = null, supertype = null, impltype) { return (0, _validateNode.default)({ type: "OpaqueType", id, typeParameters, supertype, impltype }); } function qualifiedTypeIdentifier(id, qualification) { return (0, _validateNode.default)({ type: "QualifiedTypeIdentifier", id, qualification }); } function stringLiteralTypeAnnotation(value2) { return (0, _validateNode.default)({ type: "StringLiteralTypeAnnotation", value: value2 }); } function stringTypeAnnotation() { return { type: "StringTypeAnnotation" }; } function symbolTypeAnnotation() { return { type: "SymbolTypeAnnotation" }; } function thisTypeAnnotation() { return { type: "ThisTypeAnnotation" }; } function tupleTypeAnnotation(types3) { return (0, _validateNode.default)({ type: "TupleTypeAnnotation", types: types3 }); } function typeofTypeAnnotation(argument) { return (0, _validateNode.default)({ type: "TypeofTypeAnnotation", argument }); } function typeAlias(id, typeParameters = null, right) { return (0, _validateNode.default)({ type: "TypeAlias", id, typeParameters, right }); } function typeAnnotation(typeAnnotation2) { return (0, _validateNode.default)({ type: "TypeAnnotation", typeAnnotation: typeAnnotation2 }); } function typeCastExpression(expression, typeAnnotation2) { return (0, _validateNode.default)({ type: "TypeCastExpression", expression, typeAnnotation: typeAnnotation2 }); } function typeParameter(bound = null, _default = null, variance2 = null) { return (0, _validateNode.default)({ type: "TypeParameter", bound, default: _default, variance: variance2, name: null }); } function typeParameterDeclaration(params) { return (0, _validateNode.default)({ type: "TypeParameterDeclaration", params }); } function typeParameterInstantiation(params) { return (0, _validateNode.default)({ type: "TypeParameterInstantiation", params }); } function unionTypeAnnotation(types3) { return (0, _validateNode.default)({ type: "UnionTypeAnnotation", types: types3 }); } function variance(kind) { return (0, _validateNode.default)({ type: "Variance", kind }); } function voidTypeAnnotation() { return { type: "VoidTypeAnnotation" }; } function enumDeclaration(id, body) { return (0, _validateNode.default)({ type: "EnumDeclaration", id, body }); } function enumBooleanBody(members) { return (0, _validateNode.default)({ type: "EnumBooleanBody", members, explicitType: null, hasUnknownMembers: null }); } function enumNumberBody(members) { return (0, _validateNode.default)({ type: "EnumNumberBody", members, explicitType: null, hasUnknownMembers: null }); } function enumStringBody(members) { return (0, _validateNode.default)({ type: "EnumStringBody", members, explicitType: null, hasUnknownMembers: null }); } function enumSymbolBody(members) { return (0, _validateNode.default)({ type: "EnumSymbolBody", members, hasUnknownMembers: null }); } function enumBooleanMember(id) { return (0, _validateNode.default)({ type: "EnumBooleanMember", id, init: null }); } function enumNumberMember(id, init) { return (0, _validateNode.default)({ type: "EnumNumberMember", id, init }); } function enumStringMember(id, init) { return (0, _validateNode.default)({ type: "EnumStringMember", id, init }); } function enumDefaultedMember(id) { return (0, _validateNode.default)({ type: "EnumDefaultedMember", id }); } function indexedAccessType(objectType, indexType) { return (0, _validateNode.default)({ type: "IndexedAccessType", objectType, indexType }); } function optionalIndexedAccessType(objectType, indexType) { return (0, _validateNode.default)({ type: "OptionalIndexedAccessType", objectType, indexType, optional: null }); } function jsxAttribute2(name2, value2 = null) { return (0, _validateNode.default)({ type: "JSXAttribute", name: name2, value: value2 }); } function jsxClosingElement(name2) { return (0, _validateNode.default)({ type: "JSXClosingElement", name: name2 }); } function jsxElement(openingElement, closingElement = null, children, selfClosing = null) { return (0, _validateNode.default)({ type: "JSXElement", openingElement, closingElement, children, selfClosing }); } function jsxEmptyExpression() { return { type: "JSXEmptyExpression" }; } function jsxExpressionContainer(expression) { return (0, _validateNode.default)({ type: "JSXExpressionContainer", expression }); } function jsxSpreadChild(expression) { return (0, _validateNode.default)({ type: "JSXSpreadChild", expression }); } function jsxIdentifier2(name2) { return (0, _validateNode.default)({ type: "JSXIdentifier", name: name2 }); } function jsxMemberExpression(object, property) { return (0, _validateNode.default)({ type: "JSXMemberExpression", object, property }); } function jsxNamespacedName(namespace, name2) { return (0, _validateNode.default)({ type: "JSXNamespacedName", namespace, name: name2 }); } function jsxOpeningElement(name2, attributes, selfClosing = false) { return (0, _validateNode.default)({ type: "JSXOpeningElement", name: name2, attributes, selfClosing }); } function jsxSpreadAttribute(argument) { return (0, _validateNode.default)({ type: "JSXSpreadAttribute", argument }); } function jsxText2(value2) { return (0, _validateNode.default)({ type: "JSXText", value: value2 }); } function jsxFragment(openingFragment, closingFragment, children) { return (0, _validateNode.default)({ type: "JSXFragment", openingFragment, closingFragment, children }); } function jsxOpeningFragment() { return { type: "JSXOpeningFragment" }; } function jsxClosingFragment() { return { type: "JSXClosingFragment" }; } function noop() { return { type: "Noop" }; } function placeholder(expectedNode, name2) { return (0, _validateNode.default)({ type: "Placeholder", expectedNode, name: name2 }); } function v8IntrinsicIdentifier(name2) { return (0, _validateNode.default)({ type: "V8IntrinsicIdentifier", name: name2 }); } function argumentPlaceholder() { return { type: "ArgumentPlaceholder" }; } function bindExpression(object, callee) { return (0, _validateNode.default)({ type: "BindExpression", object, callee }); } function importAttribute(key2, value2) { return (0, _validateNode.default)({ type: "ImportAttribute", key: key2, value: value2 }); } function decorator(expression) { return (0, _validateNode.default)({ type: "Decorator", expression }); } function doExpression(body, async = false) { return (0, _validateNode.default)({ type: "DoExpression", body, async }); } function exportDefaultSpecifier(exported) { return (0, _validateNode.default)({ type: "ExportDefaultSpecifier", exported }); } function recordExpression(properties) { return (0, _validateNode.default)({ type: "RecordExpression", properties }); } function tupleExpression(elements = []) { return (0, _validateNode.default)({ type: "TupleExpression", elements }); } function decimalLiteral(value2) { return (0, _validateNode.default)({ type: "DecimalLiteral", value: value2 }); } function moduleExpression(body) { return (0, _validateNode.default)({ type: "ModuleExpression", body }); } function topicReference() { return { type: "TopicReference" }; } function pipelineTopicExpression(expression) { return (0, _validateNode.default)({ type: "PipelineTopicExpression", expression }); } function pipelineBareFunction(callee) { return (0, _validateNode.default)({ type: "PipelineBareFunction", callee }); } function pipelinePrimaryTopicReference() { return { type: "PipelinePrimaryTopicReference" }; } function tsParameterProperty(parameter) { return (0, _validateNode.default)({ type: "TSParameterProperty", parameter }); } function tsDeclareFunction(id = null, typeParameters = null, params, returnType = null) { return (0, _validateNode.default)({ type: "TSDeclareFunction", id, typeParameters, params, returnType }); } function tsDeclareMethod(decorators = null, key2, typeParameters = null, params, returnType = null) { return (0, _validateNode.default)({ type: "TSDeclareMethod", decorators, key: key2, typeParameters, params, returnType }); } function tsQualifiedName(left, right) { return (0, _validateNode.default)({ type: "TSQualifiedName", left, right }); } function tsCallSignatureDeclaration(typeParameters = null, parameters, typeAnnotation2 = null) { return (0, _validateNode.default)({ type: "TSCallSignatureDeclaration", typeParameters, parameters, typeAnnotation: typeAnnotation2 }); } function tsConstructSignatureDeclaration(typeParameters = null, parameters, typeAnnotation2 = null) { return (0, _validateNode.default)({ type: "TSConstructSignatureDeclaration", typeParameters, parameters, typeAnnotation: typeAnnotation2 }); } function tsPropertySignature(key2, typeAnnotation2 = null, initializer = null) { return (0, _validateNode.default)({ type: "TSPropertySignature", key: key2, typeAnnotation: typeAnnotation2, initializer, kind: null }); } function tsMethodSignature(key2, typeParameters = null, parameters, typeAnnotation2 = null) { return (0, _validateNode.default)({ type: "TSMethodSignature", key: key2, typeParameters, parameters, typeAnnotation: typeAnnotation2, kind: null }); } function tsIndexSignature(parameters, typeAnnotation2 = null) { return (0, _validateNode.default)({ type: "TSIndexSignature", parameters, typeAnnotation: typeAnnotation2 }); } function tsAnyKeyword() { return { type: "TSAnyKeyword" }; } function tsBooleanKeyword() { return { type: "TSBooleanKeyword" }; } function tsBigIntKeyword() { return { type: "TSBigIntKeyword" }; } function tsIntrinsicKeyword() { return { type: "TSIntrinsicKeyword" }; } function tsNeverKeyword() { return { type: "TSNeverKeyword" }; } function tsNullKeyword() { return { type: "TSNullKeyword" }; } function tsNumberKeyword() { return { type: "TSNumberKeyword" }; } function tsObjectKeyword() { return { type: "TSObjectKeyword" }; } function tsStringKeyword() { return { type: "TSStringKeyword" }; } function tsSymbolKeyword() { return { type: "TSSymbolKeyword" }; } function tsUndefinedKeyword() { return { type: "TSUndefinedKeyword" }; } function tsUnknownKeyword() { return { type: "TSUnknownKeyword" }; } function tsVoidKeyword() { return { type: "TSVoidKeyword" }; } function tsThisType() { return { type: "TSThisType" }; } function tsFunctionType(typeParameters = null, parameters, typeAnnotation2 = null) { return (0, _validateNode.default)({ type: "TSFunctionType", typeParameters, parameters, typeAnnotation: typeAnnotation2 }); } function tsConstructorType(typeParameters = null, parameters, typeAnnotation2 = null) { return (0, _validateNode.default)({ type: "TSConstructorType", typeParameters, parameters, typeAnnotation: typeAnnotation2 }); } function tsTypeReference(typeName, typeParameters = null) { return (0, _validateNode.default)({ type: "TSTypeReference", typeName, typeParameters }); } function tsTypePredicate(parameterName, typeAnnotation2 = null, asserts = null) { return (0, _validateNode.default)({ type: "TSTypePredicate", parameterName, typeAnnotation: typeAnnotation2, asserts }); } function tsTypeQuery(exprName, typeParameters = null) { return (0, _validateNode.default)({ type: "TSTypeQuery", exprName, typeParameters }); } function tsTypeLiteral(members) { return (0, _validateNode.default)({ type: "TSTypeLiteral", members }); } function tsArrayType(elementType) { return (0, _validateNode.default)({ type: "TSArrayType", elementType }); } function tsTupleType(elementTypes) { return (0, _validateNode.default)({ type: "TSTupleType", elementTypes }); } function tsOptionalType(typeAnnotation2) { return (0, _validateNode.default)({ type: "TSOptionalType", typeAnnotation: typeAnnotation2 }); } function tsRestType(typeAnnotation2) { return (0, _validateNode.default)({ type: "TSRestType", typeAnnotation: typeAnnotation2 }); } function tsNamedTupleMember(label, elementType, optional = false) { return (0, _validateNode.default)({ type: "TSNamedTupleMember", label, elementType, optional }); } function tsUnionType(types3) { return (0, _validateNode.default)({ type: "TSUnionType", types: types3 }); } function tsIntersectionType(types3) { return (0, _validateNode.default)({ type: "TSIntersectionType", types: types3 }); } function tsConditionalType(checkType, extendsType, trueType, falseType) { return (0, _validateNode.default)({ type: "TSConditionalType", checkType, extendsType, trueType, falseType }); } function tsInferType(typeParameter2) { return (0, _validateNode.default)({ type: "TSInferType", typeParameter: typeParameter2 }); } function tsParenthesizedType(typeAnnotation2) { return (0, _validateNode.default)({ type: "TSParenthesizedType", typeAnnotation: typeAnnotation2 }); } function tsTypeOperator(typeAnnotation2) { return (0, _validateNode.default)({ type: "TSTypeOperator", typeAnnotation: typeAnnotation2, operator: null }); } function tsIndexedAccessType(objectType, indexType) { return (0, _validateNode.default)({ type: "TSIndexedAccessType", objectType, indexType }); } function tsMappedType(typeParameter2, typeAnnotation2 = null, nameType = null) { return (0, _validateNode.default)({ type: "TSMappedType", typeParameter: typeParameter2, typeAnnotation: typeAnnotation2, nameType }); } function tsLiteralType(literal4) { return (0, _validateNode.default)({ type: "TSLiteralType", literal: literal4 }); } function tsExpressionWithTypeArguments(expression, typeParameters = null) { return (0, _validateNode.default)({ type: "TSExpressionWithTypeArguments", expression, typeParameters }); } function tsInterfaceDeclaration(id, typeParameters = null, _extends = null, body) { return (0, _validateNode.default)({ type: "TSInterfaceDeclaration", id, typeParameters, extends: _extends, body }); } function tsInterfaceBody(body) { return (0, _validateNode.default)({ type: "TSInterfaceBody", body }); } function tsTypeAliasDeclaration(id, typeParameters = null, typeAnnotation2) { return (0, _validateNode.default)({ type: "TSTypeAliasDeclaration", id, typeParameters, typeAnnotation: typeAnnotation2 }); } function tsInstantiationExpression(expression, typeParameters = null) { return (0, _validateNode.default)({ type: "TSInstantiationExpression", expression, typeParameters }); } function tsAsExpression(expression, typeAnnotation2) { return (0, _validateNode.default)({ type: "TSAsExpression", expression, typeAnnotation: typeAnnotation2 }); } function tsSatisfiesExpression(expression, typeAnnotation2) { return (0, _validateNode.default)({ type: "TSSatisfiesExpression", expression, typeAnnotation: typeAnnotation2 }); } function tsTypeAssertion(typeAnnotation2, expression) { return (0, _validateNode.default)({ type: "TSTypeAssertion", typeAnnotation: typeAnnotation2, expression }); } function tsEnumDeclaration(id, members) { return (0, _validateNode.default)({ type: "TSEnumDeclaration", id, members }); } function tsEnumMember(id, initializer = null) { return (0, _validateNode.default)({ type: "TSEnumMember", id, initializer }); } function tsModuleDeclaration(id, body) { return (0, _validateNode.default)({ type: "TSModuleDeclaration", id, body }); } function tsModuleBlock(body) { return (0, _validateNode.default)({ type: "TSModuleBlock", body }); } function tsImportType(argument, qualifier = null, typeParameters = null) { return (0, _validateNode.default)({ type: "TSImportType", argument, qualifier, typeParameters }); } function tsImportEqualsDeclaration(id, moduleReference) { return (0, _validateNode.default)({ type: "TSImportEqualsDeclaration", id, moduleReference, isExport: null }); } function tsExternalModuleReference(expression) { return (0, _validateNode.default)({ type: "TSExternalModuleReference", expression }); } function tsNonNullExpression(expression) { return (0, _validateNode.default)({ type: "TSNonNullExpression", expression }); } function tsExportAssignment(expression) { return (0, _validateNode.default)({ type: "TSExportAssignment", expression }); } function tsNamespaceExportDeclaration(id) { return (0, _validateNode.default)({ type: "TSNamespaceExportDeclaration", id }); } function tsTypeAnnotation(typeAnnotation2) { return (0, _validateNode.default)({ type: "TSTypeAnnotation", typeAnnotation: typeAnnotation2 }); } function tsTypeParameterInstantiation(params) { return (0, _validateNode.default)({ type: "TSTypeParameterInstantiation", params }); } function tsTypeParameterDeclaration(params) { return (0, _validateNode.default)({ type: "TSTypeParameterDeclaration", params }); } function tsTypeParameter(constraint = null, _default = null, name2) { return (0, _validateNode.default)({ type: "TSTypeParameter", constraint, default: _default, name: name2 }); } function NumberLiteral(value2) { (0, _deprecationWarning.default)("NumberLiteral", "NumericLiteral", "The node type "); return numericLiteral(value2); } function RegexLiteral(pattern, flags = "") { (0, _deprecationWarning.default)("RegexLiteral", "RegExpLiteral", "The node type "); return regExpLiteral(pattern, flags); } function RestProperty(argument) { (0, _deprecationWarning.default)("RestProperty", "RestElement", "The node type "); return restElement(argument); } function SpreadProperty(argument) { (0, _deprecationWarning.default)("SpreadProperty", "SpreadElement", "The node type "); return spreadElement(argument); } } }); // node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js var require_cleanJSXElementLiteralChild = __commonJS({ "node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = cleanJSXElementLiteralChild; var _generated = require_generated2(); var _ = require_lib3(); function cleanJSXElementLiteralChild(child, args) { const lines = child.value.split(/\r\n|\n|\r/); let lastNonEmptyLine = 0; for (let i = 0; i < lines.length; i++) { if (lines[i].match(/[^ \t]/)) { lastNonEmptyLine = i; } } let str = ""; for (let i = 0; i < lines.length; i++) { const line2 = lines[i]; const isFirstLine = i === 0; const isLastLine = i === lines.length - 1; const isLastNonEmptyLine = i === lastNonEmptyLine; let trimmedLine = line2.replace(/\t/g, " "); if (!isFirstLine) { trimmedLine = trimmedLine.replace(/^[ ]+/, ""); } if (!isLastLine) { trimmedLine = trimmedLine.replace(/[ ]+$/, ""); } if (trimmedLine) { if (!isLastNonEmptyLine) { trimmedLine += " "; } str += trimmedLine; } } if (str) args.push((0, _.inherits)((0, _generated.stringLiteral)(str), child)); } } }); // node_modules/@babel/types/lib/builders/react/buildChildren.js var require_buildChildren = __commonJS({ "node_modules/@babel/types/lib/builders/react/buildChildren.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = buildChildren; var _generated = require_generated(); var _cleanJSXElementLiteralChild = require_cleanJSXElementLiteralChild(); function buildChildren(node2) { const elements = []; for (let i = 0; i < node2.children.length; i++) { let child = node2.children[i]; if ((0, _generated.isJSXText)(child)) { (0, _cleanJSXElementLiteralChild.default)(child, elements); continue; } if ((0, _generated.isJSXExpressionContainer)(child)) child = child.expression; if ((0, _generated.isJSXEmptyExpression)(child)) continue; elements.push(child); } return elements; } } }); // node_modules/@babel/types/lib/validators/isNode.js var require_isNode = __commonJS({ "node_modules/@babel/types/lib/validators/isNode.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = isNode2; var _definitions = require_definitions(); function isNode2(node2) { return !!(node2 && _definitions.VISITOR_KEYS[node2.type]); } } }); // node_modules/@babel/types/lib/asserts/assertNode.js var require_assertNode = __commonJS({ "node_modules/@babel/types/lib/asserts/assertNode.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = assertNode2; var _isNode = require_isNode(); function assertNode2(node2) { if (!(0, _isNode.default)(node2)) { var _node$type; const type = (_node$type = node2 == null ? void 0 : node2.type) != null ? _node$type : JSON.stringify(node2); throw new TypeError(`Not a valid node of type "${type}"`); } } } }); // node_modules/@babel/types/lib/asserts/generated/index.js var require_generated3 = __commonJS({ "node_modules/@babel/types/lib/asserts/generated/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.assertAccessor = assertAccessor; exports.assertAnyTypeAnnotation = assertAnyTypeAnnotation; exports.assertArgumentPlaceholder = assertArgumentPlaceholder; exports.assertArrayExpression = assertArrayExpression; exports.assertArrayPattern = assertArrayPattern; exports.assertArrayTypeAnnotation = assertArrayTypeAnnotation; exports.assertArrowFunctionExpression = assertArrowFunctionExpression; exports.assertAssignmentExpression = assertAssignmentExpression; exports.assertAssignmentPattern = assertAssignmentPattern; exports.assertAwaitExpression = assertAwaitExpression; exports.assertBigIntLiteral = assertBigIntLiteral; exports.assertBinary = assertBinary; exports.assertBinaryExpression = assertBinaryExpression; exports.assertBindExpression = assertBindExpression; exports.assertBlock = assertBlock; exports.assertBlockParent = assertBlockParent; exports.assertBlockStatement = assertBlockStatement; exports.assertBooleanLiteral = assertBooleanLiteral; exports.assertBooleanLiteralTypeAnnotation = assertBooleanLiteralTypeAnnotation; exports.assertBooleanTypeAnnotation = assertBooleanTypeAnnotation; exports.assertBreakStatement = assertBreakStatement; exports.assertCallExpression = assertCallExpression; exports.assertCatchClause = assertCatchClause; exports.assertClass = assertClass; exports.assertClassAccessorProperty = assertClassAccessorProperty; exports.assertClassBody = assertClassBody; exports.assertClassDeclaration = assertClassDeclaration; exports.assertClassExpression = assertClassExpression; exports.assertClassImplements = assertClassImplements; exports.assertClassMethod = assertClassMethod; exports.assertClassPrivateMethod = assertClassPrivateMethod; exports.assertClassPrivateProperty = assertClassPrivateProperty; exports.assertClassProperty = assertClassProperty; exports.assertCompletionStatement = assertCompletionStatement; exports.assertConditional = assertConditional; exports.assertConditionalExpression = assertConditionalExpression; exports.assertContinueStatement = assertContinueStatement; exports.assertDebuggerStatement = assertDebuggerStatement; exports.assertDecimalLiteral = assertDecimalLiteral; exports.assertDeclaration = assertDeclaration; exports.assertDeclareClass = assertDeclareClass; exports.assertDeclareExportAllDeclaration = assertDeclareExportAllDeclaration; exports.assertDeclareExportDeclaration = assertDeclareExportDeclaration; exports.assertDeclareFunction = assertDeclareFunction; exports.assertDeclareInterface = assertDeclareInterface; exports.assertDeclareModule = assertDeclareModule; exports.assertDeclareModuleExports = assertDeclareModuleExports; exports.assertDeclareOpaqueType = assertDeclareOpaqueType; exports.assertDeclareTypeAlias = assertDeclareTypeAlias; exports.assertDeclareVariable = assertDeclareVariable; exports.assertDeclaredPredicate = assertDeclaredPredicate; exports.assertDecorator = assertDecorator; exports.assertDirective = assertDirective; exports.assertDirectiveLiteral = assertDirectiveLiteral; exports.assertDoExpression = assertDoExpression; exports.assertDoWhileStatement = assertDoWhileStatement; exports.assertEmptyStatement = assertEmptyStatement; exports.assertEmptyTypeAnnotation = assertEmptyTypeAnnotation; exports.assertEnumBody = assertEnumBody; exports.assertEnumBooleanBody = assertEnumBooleanBody; exports.assertEnumBooleanMember = assertEnumBooleanMember; exports.assertEnumDeclaration = assertEnumDeclaration; exports.assertEnumDefaultedMember = assertEnumDefaultedMember; exports.assertEnumMember = assertEnumMember; exports.assertEnumNumberBody = assertEnumNumberBody; exports.assertEnumNumberMember = assertEnumNumberMember; exports.assertEnumStringBody = assertEnumStringBody; exports.assertEnumStringMember = assertEnumStringMember; exports.assertEnumSymbolBody = assertEnumSymbolBody; exports.assertExistsTypeAnnotation = assertExistsTypeAnnotation; exports.assertExportAllDeclaration = assertExportAllDeclaration; exports.assertExportDeclaration = assertExportDeclaration; exports.assertExportDefaultDeclaration = assertExportDefaultDeclaration; exports.assertExportDefaultSpecifier = assertExportDefaultSpecifier; exports.assertExportNamedDeclaration = assertExportNamedDeclaration; exports.assertExportNamespaceSpecifier = assertExportNamespaceSpecifier; exports.assertExportSpecifier = assertExportSpecifier; exports.assertExpression = assertExpression; exports.assertExpressionStatement = assertExpressionStatement; exports.assertExpressionWrapper = assertExpressionWrapper; exports.assertFile = assertFile; exports.assertFlow = assertFlow; exports.assertFlowBaseAnnotation = assertFlowBaseAnnotation; exports.assertFlowDeclaration = assertFlowDeclaration; exports.assertFlowPredicate = assertFlowPredicate; exports.assertFlowType = assertFlowType; exports.assertFor = assertFor; exports.assertForInStatement = assertForInStatement; exports.assertForOfStatement = assertForOfStatement; exports.assertForStatement = assertForStatement; exports.assertForXStatement = assertForXStatement; exports.assertFunction = assertFunction; exports.assertFunctionDeclaration = assertFunctionDeclaration; exports.assertFunctionExpression = assertFunctionExpression; exports.assertFunctionParent = assertFunctionParent; exports.assertFunctionTypeAnnotation = assertFunctionTypeAnnotation; exports.assertFunctionTypeParam = assertFunctionTypeParam; exports.assertGenericTypeAnnotation = assertGenericTypeAnnotation; exports.assertIdentifier = assertIdentifier; exports.assertIfStatement = assertIfStatement; exports.assertImmutable = assertImmutable; exports.assertImport = assertImport; exports.assertImportAttribute = assertImportAttribute; exports.assertImportDeclaration = assertImportDeclaration; exports.assertImportDefaultSpecifier = assertImportDefaultSpecifier; exports.assertImportNamespaceSpecifier = assertImportNamespaceSpecifier; exports.assertImportOrExportDeclaration = assertImportOrExportDeclaration; exports.assertImportSpecifier = assertImportSpecifier; exports.assertIndexedAccessType = assertIndexedAccessType; exports.assertInferredPredicate = assertInferredPredicate; exports.assertInterfaceDeclaration = assertInterfaceDeclaration; exports.assertInterfaceExtends = assertInterfaceExtends; exports.assertInterfaceTypeAnnotation = assertInterfaceTypeAnnotation; exports.assertInterpreterDirective = assertInterpreterDirective; exports.assertIntersectionTypeAnnotation = assertIntersectionTypeAnnotation; exports.assertJSX = assertJSX; exports.assertJSXAttribute = assertJSXAttribute; exports.assertJSXClosingElement = assertJSXClosingElement; exports.assertJSXClosingFragment = assertJSXClosingFragment; exports.assertJSXElement = assertJSXElement; exports.assertJSXEmptyExpression = assertJSXEmptyExpression; exports.assertJSXExpressionContainer = assertJSXExpressionContainer; exports.assertJSXFragment = assertJSXFragment; exports.assertJSXIdentifier = assertJSXIdentifier; exports.assertJSXMemberExpression = assertJSXMemberExpression; exports.assertJSXNamespacedName = assertJSXNamespacedName; exports.assertJSXOpeningElement = assertJSXOpeningElement; exports.assertJSXOpeningFragment = assertJSXOpeningFragment; exports.assertJSXSpreadAttribute = assertJSXSpreadAttribute; exports.assertJSXSpreadChild = assertJSXSpreadChild; exports.assertJSXText = assertJSXText; exports.assertLVal = assertLVal; exports.assertLabeledStatement = assertLabeledStatement; exports.assertLiteral = assertLiteral; exports.assertLogicalExpression = assertLogicalExpression; exports.assertLoop = assertLoop; exports.assertMemberExpression = assertMemberExpression; exports.assertMetaProperty = assertMetaProperty; exports.assertMethod = assertMethod; exports.assertMiscellaneous = assertMiscellaneous; exports.assertMixedTypeAnnotation = assertMixedTypeAnnotation; exports.assertModuleDeclaration = assertModuleDeclaration; exports.assertModuleExpression = assertModuleExpression; exports.assertModuleSpecifier = assertModuleSpecifier; exports.assertNewExpression = assertNewExpression; exports.assertNoop = assertNoop; exports.assertNullLiteral = assertNullLiteral; exports.assertNullLiteralTypeAnnotation = assertNullLiteralTypeAnnotation; exports.assertNullableTypeAnnotation = assertNullableTypeAnnotation; exports.assertNumberLiteral = assertNumberLiteral; exports.assertNumberLiteralTypeAnnotation = assertNumberLiteralTypeAnnotation; exports.assertNumberTypeAnnotation = assertNumberTypeAnnotation; exports.assertNumericLiteral = assertNumericLiteral; exports.assertObjectExpression = assertObjectExpression; exports.assertObjectMember = assertObjectMember; exports.assertObjectMethod = assertObjectMethod; exports.assertObjectPattern = assertObjectPattern; exports.assertObjectProperty = assertObjectProperty; exports.assertObjectTypeAnnotation = assertObjectTypeAnnotation; exports.assertObjectTypeCallProperty = assertObjectTypeCallProperty; exports.assertObjectTypeIndexer = assertObjectTypeIndexer; exports.assertObjectTypeInternalSlot = assertObjectTypeInternalSlot; exports.assertObjectTypeProperty = assertObjectTypeProperty; exports.assertObjectTypeSpreadProperty = assertObjectTypeSpreadProperty; exports.assertOpaqueType = assertOpaqueType; exports.assertOptionalCallExpression = assertOptionalCallExpression; exports.assertOptionalIndexedAccessType = assertOptionalIndexedAccessType; exports.assertOptionalMemberExpression = assertOptionalMemberExpression; exports.assertParenthesizedExpression = assertParenthesizedExpression; exports.assertPattern = assertPattern; exports.assertPatternLike = assertPatternLike; exports.assertPipelineBareFunction = assertPipelineBareFunction; exports.assertPipelinePrimaryTopicReference = assertPipelinePrimaryTopicReference; exports.assertPipelineTopicExpression = assertPipelineTopicExpression; exports.assertPlaceholder = assertPlaceholder; exports.assertPrivate = assertPrivate; exports.assertPrivateName = assertPrivateName; exports.assertProgram = assertProgram; exports.assertProperty = assertProperty; exports.assertPureish = assertPureish; exports.assertQualifiedTypeIdentifier = assertQualifiedTypeIdentifier; exports.assertRecordExpression = assertRecordExpression; exports.assertRegExpLiteral = assertRegExpLiteral; exports.assertRegexLiteral = assertRegexLiteral; exports.assertRestElement = assertRestElement; exports.assertRestProperty = assertRestProperty; exports.assertReturnStatement = assertReturnStatement; exports.assertScopable = assertScopable; exports.assertSequenceExpression = assertSequenceExpression; exports.assertSpreadElement = assertSpreadElement; exports.assertSpreadProperty = assertSpreadProperty; exports.assertStandardized = assertStandardized; exports.assertStatement = assertStatement; exports.assertStaticBlock = assertStaticBlock; exports.assertStringLiteral = assertStringLiteral; exports.assertStringLiteralTypeAnnotation = assertStringLiteralTypeAnnotation; exports.assertStringTypeAnnotation = assertStringTypeAnnotation; exports.assertSuper = assertSuper; exports.assertSwitchCase = assertSwitchCase; exports.assertSwitchStatement = assertSwitchStatement; exports.assertSymbolTypeAnnotation = assertSymbolTypeAnnotation; exports.assertTSAnyKeyword = assertTSAnyKeyword; exports.assertTSArrayType = assertTSArrayType; exports.assertTSAsExpression = assertTSAsExpression; exports.assertTSBaseType = assertTSBaseType; exports.assertTSBigIntKeyword = assertTSBigIntKeyword; exports.assertTSBooleanKeyword = assertTSBooleanKeyword; exports.assertTSCallSignatureDeclaration = assertTSCallSignatureDeclaration; exports.assertTSConditionalType = assertTSConditionalType; exports.assertTSConstructSignatureDeclaration = assertTSConstructSignatureDeclaration; exports.assertTSConstructorType = assertTSConstructorType; exports.assertTSDeclareFunction = assertTSDeclareFunction; exports.assertTSDeclareMethod = assertTSDeclareMethod; exports.assertTSEntityName = assertTSEntityName; exports.assertTSEnumDeclaration = assertTSEnumDeclaration; exports.assertTSEnumMember = assertTSEnumMember; exports.assertTSExportAssignment = assertTSExportAssignment; exports.assertTSExpressionWithTypeArguments = assertTSExpressionWithTypeArguments; exports.assertTSExternalModuleReference = assertTSExternalModuleReference; exports.assertTSFunctionType = assertTSFunctionType; exports.assertTSImportEqualsDeclaration = assertTSImportEqualsDeclaration; exports.assertTSImportType = assertTSImportType; exports.assertTSIndexSignature = assertTSIndexSignature; exports.assertTSIndexedAccessType = assertTSIndexedAccessType; exports.assertTSInferType = assertTSInferType; exports.assertTSInstantiationExpression = assertTSInstantiationExpression; exports.assertTSInterfaceBody = assertTSInterfaceBody; exports.assertTSInterfaceDeclaration = assertTSInterfaceDeclaration; exports.assertTSIntersectionType = assertTSIntersectionType; exports.assertTSIntrinsicKeyword = assertTSIntrinsicKeyword; exports.assertTSLiteralType = assertTSLiteralType; exports.assertTSMappedType = assertTSMappedType; exports.assertTSMethodSignature = assertTSMethodSignature; exports.assertTSModuleBlock = assertTSModuleBlock; exports.assertTSModuleDeclaration = assertTSModuleDeclaration; exports.assertTSNamedTupleMember = assertTSNamedTupleMember; exports.assertTSNamespaceExportDeclaration = assertTSNamespaceExportDeclaration; exports.assertTSNeverKeyword = assertTSNeverKeyword; exports.assertTSNonNullExpression = assertTSNonNullExpression; exports.assertTSNullKeyword = assertTSNullKeyword; exports.assertTSNumberKeyword = assertTSNumberKeyword; exports.assertTSObjectKeyword = assertTSObjectKeyword; exports.assertTSOptionalType = assertTSOptionalType; exports.assertTSParameterProperty = assertTSParameterProperty; exports.assertTSParenthesizedType = assertTSParenthesizedType; exports.assertTSPropertySignature = assertTSPropertySignature; exports.assertTSQualifiedName = assertTSQualifiedName; exports.assertTSRestType = assertTSRestType; exports.assertTSSatisfiesExpression = assertTSSatisfiesExpression; exports.assertTSStringKeyword = assertTSStringKeyword; exports.assertTSSymbolKeyword = assertTSSymbolKeyword; exports.assertTSThisType = assertTSThisType; exports.assertTSTupleType = assertTSTupleType; exports.assertTSType = assertTSType; exports.assertTSTypeAliasDeclaration = assertTSTypeAliasDeclaration; exports.assertTSTypeAnnotation = assertTSTypeAnnotation; exports.assertTSTypeAssertion = assertTSTypeAssertion; exports.assertTSTypeElement = assertTSTypeElement; exports.assertTSTypeLiteral = assertTSTypeLiteral; exports.assertTSTypeOperator = assertTSTypeOperator; exports.assertTSTypeParameter = assertTSTypeParameter; exports.assertTSTypeParameterDeclaration = assertTSTypeParameterDeclaration; exports.assertTSTypeParameterInstantiation = assertTSTypeParameterInstantiation; exports.assertTSTypePredicate = assertTSTypePredicate; exports.assertTSTypeQuery = assertTSTypeQuery; exports.assertTSTypeReference = assertTSTypeReference; exports.assertTSUndefinedKeyword = assertTSUndefinedKeyword; exports.assertTSUnionType = assertTSUnionType; exports.assertTSUnknownKeyword = assertTSUnknownKeyword; exports.assertTSVoidKeyword = assertTSVoidKeyword; exports.assertTaggedTemplateExpression = assertTaggedTemplateExpression; exports.assertTemplateElement = assertTemplateElement; exports.assertTemplateLiteral = assertTemplateLiteral; exports.assertTerminatorless = assertTerminatorless; exports.assertThisExpression = assertThisExpression; exports.assertThisTypeAnnotation = assertThisTypeAnnotation; exports.assertThrowStatement = assertThrowStatement; exports.assertTopicReference = assertTopicReference; exports.assertTryStatement = assertTryStatement; exports.assertTupleExpression = assertTupleExpression; exports.assertTupleTypeAnnotation = assertTupleTypeAnnotation; exports.assertTypeAlias = assertTypeAlias; exports.assertTypeAnnotation = assertTypeAnnotation; exports.assertTypeCastExpression = assertTypeCastExpression; exports.assertTypeParameter = assertTypeParameter; exports.assertTypeParameterDeclaration = assertTypeParameterDeclaration; exports.assertTypeParameterInstantiation = assertTypeParameterInstantiation; exports.assertTypeScript = assertTypeScript; exports.assertTypeofTypeAnnotation = assertTypeofTypeAnnotation; exports.assertUnaryExpression = assertUnaryExpression; exports.assertUnaryLike = assertUnaryLike; exports.assertUnionTypeAnnotation = assertUnionTypeAnnotation; exports.assertUpdateExpression = assertUpdateExpression; exports.assertUserWhitespacable = assertUserWhitespacable; exports.assertV8IntrinsicIdentifier = assertV8IntrinsicIdentifier; exports.assertVariableDeclaration = assertVariableDeclaration; exports.assertVariableDeclarator = assertVariableDeclarator; exports.assertVariance = assertVariance; exports.assertVoidTypeAnnotation = assertVoidTypeAnnotation; exports.assertWhile = assertWhile; exports.assertWhileStatement = assertWhileStatement; exports.assertWithStatement = assertWithStatement; exports.assertYieldExpression = assertYieldExpression; var _is = require_is(); var _deprecationWarning = require_deprecationWarning(); function assert(type, node2, opts) { if (!(0, _is.default)(type, node2, opts)) { throw new Error(`Expected type "${type}" with option ${JSON.stringify(opts)}, but instead got "${node2.type}".`); } } function assertArrayExpression(node2, opts) { assert("ArrayExpression", node2, opts); } function assertAssignmentExpression(node2, opts) { assert("AssignmentExpression", node2, opts); } function assertBinaryExpression(node2, opts) { assert("BinaryExpression", node2, opts); } function assertInterpreterDirective(node2, opts) { assert("InterpreterDirective", node2, opts); } function assertDirective(node2, opts) { assert("Directive", node2, opts); } function assertDirectiveLiteral(node2, opts) { assert("DirectiveLiteral", node2, opts); } function assertBlockStatement(node2, opts) { assert("BlockStatement", node2, opts); } function assertBreakStatement(node2, opts) { assert("BreakStatement", node2, opts); } function assertCallExpression(node2, opts) { assert("CallExpression", node2, opts); } function assertCatchClause(node2, opts) { assert("CatchClause", node2, opts); } function assertConditionalExpression(node2, opts) { assert("ConditionalExpression", node2, opts); } function assertContinueStatement(node2, opts) { assert("ContinueStatement", node2, opts); } function assertDebuggerStatement(node2, opts) { assert("DebuggerStatement", node2, opts); } function assertDoWhileStatement(node2, opts) { assert("DoWhileStatement", node2, opts); } function assertEmptyStatement(node2, opts) { assert("EmptyStatement", node2, opts); } function assertExpressionStatement(node2, opts) { assert("ExpressionStatement", node2, opts); } function assertFile(node2, opts) { assert("File", node2, opts); } function assertForInStatement(node2, opts) { assert("ForInStatement", node2, opts); } function assertForStatement(node2, opts) { assert("ForStatement", node2, opts); } function assertFunctionDeclaration(node2, opts) { assert("FunctionDeclaration", node2, opts); } function assertFunctionExpression(node2, opts) { assert("FunctionExpression", node2, opts); } function assertIdentifier(node2, opts) { assert("Identifier", node2, opts); } function assertIfStatement(node2, opts) { assert("IfStatement", node2, opts); } function assertLabeledStatement(node2, opts) { assert("LabeledStatement", node2, opts); } function assertStringLiteral(node2, opts) { assert("StringLiteral", node2, opts); } function assertNumericLiteral(node2, opts) { assert("NumericLiteral", node2, opts); } function assertNullLiteral(node2, opts) { assert("NullLiteral", node2, opts); } function assertBooleanLiteral(node2, opts) { assert("BooleanLiteral", node2, opts); } function assertRegExpLiteral(node2, opts) { assert("RegExpLiteral", node2, opts); } function assertLogicalExpression(node2, opts) { assert("LogicalExpression", node2, opts); } function assertMemberExpression(node2, opts) { assert("MemberExpression", node2, opts); } function assertNewExpression(node2, opts) { assert("NewExpression", node2, opts); } function assertProgram(node2, opts) { assert("Program", node2, opts); } function assertObjectExpression(node2, opts) { assert("ObjectExpression", node2, opts); } function assertObjectMethod(node2, opts) { assert("ObjectMethod", node2, opts); } function assertObjectProperty(node2, opts) { assert("ObjectProperty", node2, opts); } function assertRestElement(node2, opts) { assert("RestElement", node2, opts); } function assertReturnStatement(node2, opts) { assert("ReturnStatement", node2, opts); } function assertSequenceExpression(node2, opts) { assert("SequenceExpression", node2, opts); } function assertParenthesizedExpression(node2, opts) { assert("ParenthesizedExpression", node2, opts); } function assertSwitchCase(node2, opts) { assert("SwitchCase", node2, opts); } function assertSwitchStatement(node2, opts) { assert("SwitchStatement", node2, opts); } function assertThisExpression(node2, opts) { assert("ThisExpression", node2, opts); } function assertThrowStatement(node2, opts) { assert("ThrowStatement", node2, opts); } function assertTryStatement(node2, opts) { assert("TryStatement", node2, opts); } function assertUnaryExpression(node2, opts) { assert("UnaryExpression", node2, opts); } function assertUpdateExpression(node2, opts) { assert("UpdateExpression", node2, opts); } function assertVariableDeclaration(node2, opts) { assert("VariableDeclaration", node2, opts); } function assertVariableDeclarator(node2, opts) { assert("VariableDeclarator", node2, opts); } function assertWhileStatement(node2, opts) { assert("WhileStatement", node2, opts); } function assertWithStatement(node2, opts) { assert("WithStatement", node2, opts); } function assertAssignmentPattern(node2, opts) { assert("AssignmentPattern", node2, opts); } function assertArrayPattern(node2, opts) { assert("ArrayPattern", node2, opts); } function assertArrowFunctionExpression(node2, opts) { assert("ArrowFunctionExpression", node2, opts); } function assertClassBody(node2, opts) { assert("ClassBody", node2, opts); } function assertClassExpression(node2, opts) { assert("ClassExpression", node2, opts); } function assertClassDeclaration(node2, opts) { assert("ClassDeclaration", node2, opts); } function assertExportAllDeclaration(node2, opts) { assert("ExportAllDeclaration", node2, opts); } function assertExportDefaultDeclaration(node2, opts) { assert("ExportDefaultDeclaration", node2, opts); } function assertExportNamedDeclaration(node2, opts) { assert("ExportNamedDeclaration", node2, opts); } function assertExportSpecifier(node2, opts) { assert("ExportSpecifier", node2, opts); } function assertForOfStatement(node2, opts) { assert("ForOfStatement", node2, opts); } function assertImportDeclaration(node2, opts) { assert("ImportDeclaration", node2, opts); } function assertImportDefaultSpecifier(node2, opts) { assert("ImportDefaultSpecifier", node2, opts); } function assertImportNamespaceSpecifier(node2, opts) { assert("ImportNamespaceSpecifier", node2, opts); } function assertImportSpecifier(node2, opts) { assert("ImportSpecifier", node2, opts); } function assertMetaProperty(node2, opts) { assert("MetaProperty", node2, opts); } function assertClassMethod(node2, opts) { assert("ClassMethod", node2, opts); } function assertObjectPattern(node2, opts) { assert("ObjectPattern", node2, opts); } function assertSpreadElement(node2, opts) { assert("SpreadElement", node2, opts); } function assertSuper(node2, opts) { assert("Super", node2, opts); } function assertTaggedTemplateExpression(node2, opts) { assert("TaggedTemplateExpression", node2, opts); } function assertTemplateElement(node2, opts) { assert("TemplateElement", node2, opts); } function assertTemplateLiteral(node2, opts) { assert("TemplateLiteral", node2, opts); } function assertYieldExpression(node2, opts) { assert("YieldExpression", node2, opts); } function assertAwaitExpression(node2, opts) { assert("AwaitExpression", node2, opts); } function assertImport(node2, opts) { assert("Import", node2, opts); } function assertBigIntLiteral(node2, opts) { assert("BigIntLiteral", node2, opts); } function assertExportNamespaceSpecifier(node2, opts) { assert("ExportNamespaceSpecifier", node2, opts); } function assertOptionalMemberExpression(node2, opts) { assert("OptionalMemberExpression", node2, opts); } function assertOptionalCallExpression(node2, opts) { assert("OptionalCallExpression", node2, opts); } function assertClassProperty(node2, opts) { assert("ClassProperty", node2, opts); } function assertClassAccessorProperty(node2, opts) { assert("ClassAccessorProperty", node2, opts); } function assertClassPrivateProperty(node2, opts) { assert("ClassPrivateProperty", node2, opts); } function assertClassPrivateMethod(node2, opts) { assert("ClassPrivateMethod", node2, opts); } function assertPrivateName(node2, opts) { assert("PrivateName", node2, opts); } function assertStaticBlock(node2, opts) { assert("StaticBlock", node2, opts); } function assertAnyTypeAnnotation(node2, opts) { assert("AnyTypeAnnotation", node2, opts); } function assertArrayTypeAnnotation(node2, opts) { assert("ArrayTypeAnnotation", node2, opts); } function assertBooleanTypeAnnotation(node2, opts) { assert("BooleanTypeAnnotation", node2, opts); } function assertBooleanLiteralTypeAnnotation(node2, opts) { assert("BooleanLiteralTypeAnnotation", node2, opts); } function assertNullLiteralTypeAnnotation(node2, opts) { assert("NullLiteralTypeAnnotation", node2, opts); } function assertClassImplements(node2, opts) { assert("ClassImplements", node2, opts); } function assertDeclareClass(node2, opts) { assert("DeclareClass", node2, opts); } function assertDeclareFunction(node2, opts) { assert("DeclareFunction", node2, opts); } function assertDeclareInterface(node2, opts) { assert("DeclareInterface", node2, opts); } function assertDeclareModule(node2, opts) { assert("DeclareModule", node2, opts); } function assertDeclareModuleExports(node2, opts) { assert("DeclareModuleExports", node2, opts); } function assertDeclareTypeAlias(node2, opts) { assert("DeclareTypeAlias", node2, opts); } function assertDeclareOpaqueType(node2, opts) { assert("DeclareOpaqueType", node2, opts); } function assertDeclareVariable(node2, opts) { assert("DeclareVariable", node2, opts); } function assertDeclareExportDeclaration(node2, opts) { assert("DeclareExportDeclaration", node2, opts); } function assertDeclareExportAllDeclaration(node2, opts) { assert("DeclareExportAllDeclaration", node2, opts); } function assertDeclaredPredicate(node2, opts) { assert("DeclaredPredicate", node2, opts); } function assertExistsTypeAnnotation(node2, opts) { assert("ExistsTypeAnnotation", node2, opts); } function assertFunctionTypeAnnotation(node2, opts) { assert("FunctionTypeAnnotation", node2, opts); } function assertFunctionTypeParam(node2, opts) { assert("FunctionTypeParam", node2, opts); } function assertGenericTypeAnnotation(node2, opts) { assert("GenericTypeAnnotation", node2, opts); } function assertInferredPredicate(node2, opts) { assert("InferredPredicate", node2, opts); } function assertInterfaceExtends(node2, opts) { assert("InterfaceExtends", node2, opts); } function assertInterfaceDeclaration(node2, opts) { assert("InterfaceDeclaration", node2, opts); } function assertInterfaceTypeAnnotation(node2, opts) { assert("InterfaceTypeAnnotation", node2, opts); } function assertIntersectionTypeAnnotation(node2, opts) { assert("IntersectionTypeAnnotation", node2, opts); } function assertMixedTypeAnnotation(node2, opts) { assert("MixedTypeAnnotation", node2, opts); } function assertEmptyTypeAnnotation(node2, opts) { assert("EmptyTypeAnnotation", node2, opts); } function assertNullableTypeAnnotation(node2, opts) { assert("NullableTypeAnnotation", node2, opts); } function assertNumberLiteralTypeAnnotation(node2, opts) { assert("NumberLiteralTypeAnnotation", node2, opts); } function assertNumberTypeAnnotation(node2, opts) { assert("NumberTypeAnnotation", node2, opts); } function assertObjectTypeAnnotation(node2, opts) { assert("ObjectTypeAnnotation", node2, opts); } function assertObjectTypeInternalSlot(node2, opts) { assert("ObjectTypeInternalSlot", node2, opts); } function assertObjectTypeCallProperty(node2, opts) { assert("ObjectTypeCallProperty", node2, opts); } function assertObjectTypeIndexer(node2, opts) { assert("ObjectTypeIndexer", node2, opts); } function assertObjectTypeProperty(node2, opts) { assert("ObjectTypeProperty", node2, opts); } function assertObjectTypeSpreadProperty(node2, opts) { assert("ObjectTypeSpreadProperty", node2, opts); } function assertOpaqueType(node2, opts) { assert("OpaqueType", node2, opts); } function assertQualifiedTypeIdentifier(node2, opts) { assert("QualifiedTypeIdentifier", node2, opts); } function assertStringLiteralTypeAnnotation(node2, opts) { assert("StringLiteralTypeAnnotation", node2, opts); } function assertStringTypeAnnotation(node2, opts) { assert("StringTypeAnnotation", node2, opts); } function assertSymbolTypeAnnotation(node2, opts) { assert("SymbolTypeAnnotation", node2, opts); } function assertThisTypeAnnotation(node2, opts) { assert("ThisTypeAnnotation", node2, opts); } function assertTupleTypeAnnotation(node2, opts) { assert("TupleTypeAnnotation", node2, opts); } function assertTypeofTypeAnnotation(node2, opts) { assert("TypeofTypeAnnotation", node2, opts); } function assertTypeAlias(node2, opts) { assert("TypeAlias", node2, opts); } function assertTypeAnnotation(node2, opts) { assert("TypeAnnotation", node2, opts); } function assertTypeCastExpression(node2, opts) { assert("TypeCastExpression", node2, opts); } function assertTypeParameter(node2, opts) { assert("TypeParameter", node2, opts); } function assertTypeParameterDeclaration(node2, opts) { assert("TypeParameterDeclaration", node2, opts); } function assertTypeParameterInstantiation(node2, opts) { assert("TypeParameterInstantiation", node2, opts); } function assertUnionTypeAnnotation(node2, opts) { assert("UnionTypeAnnotation", node2, opts); } function assertVariance(node2, opts) { assert("Variance", node2, opts); } function assertVoidTypeAnnotation(node2, opts) { assert("VoidTypeAnnotation", node2, opts); } function assertEnumDeclaration(node2, opts) { assert("EnumDeclaration", node2, opts); } function assertEnumBooleanBody(node2, opts) { assert("EnumBooleanBody", node2, opts); } function assertEnumNumberBody(node2, opts) { assert("EnumNumberBody", node2, opts); } function assertEnumStringBody(node2, opts) { assert("EnumStringBody", node2, opts); } function assertEnumSymbolBody(node2, opts) { assert("EnumSymbolBody", node2, opts); } function assertEnumBooleanMember(node2, opts) { assert("EnumBooleanMember", node2, opts); } function assertEnumNumberMember(node2, opts) { assert("EnumNumberMember", node2, opts); } function assertEnumStringMember(node2, opts) { assert("EnumStringMember", node2, opts); } function assertEnumDefaultedMember(node2, opts) { assert("EnumDefaultedMember", node2, opts); } function assertIndexedAccessType(node2, opts) { assert("IndexedAccessType", node2, opts); } function assertOptionalIndexedAccessType(node2, opts) { assert("OptionalIndexedAccessType", node2, opts); } function assertJSXAttribute(node2, opts) { assert("JSXAttribute", node2, opts); } function assertJSXClosingElement(node2, opts) { assert("JSXClosingElement", node2, opts); } function assertJSXElement(node2, opts) { assert("JSXElement", node2, opts); } function assertJSXEmptyExpression(node2, opts) { assert("JSXEmptyExpression", node2, opts); } function assertJSXExpressionContainer(node2, opts) { assert("JSXExpressionContainer", node2, opts); } function assertJSXSpreadChild(node2, opts) { assert("JSXSpreadChild", node2, opts); } function assertJSXIdentifier(node2, opts) { assert("JSXIdentifier", node2, opts); } function assertJSXMemberExpression(node2, opts) { assert("JSXMemberExpression", node2, opts); } function assertJSXNamespacedName(node2, opts) { assert("JSXNamespacedName", node2, opts); } function assertJSXOpeningElement(node2, opts) { assert("JSXOpeningElement", node2, opts); } function assertJSXSpreadAttribute(node2, opts) { assert("JSXSpreadAttribute", node2, opts); } function assertJSXText(node2, opts) { assert("JSXText", node2, opts); } function assertJSXFragment(node2, opts) { assert("JSXFragment", node2, opts); } function assertJSXOpeningFragment(node2, opts) { assert("JSXOpeningFragment", node2, opts); } function assertJSXClosingFragment(node2, opts) { assert("JSXClosingFragment", node2, opts); } function assertNoop(node2, opts) { assert("Noop", node2, opts); } function assertPlaceholder(node2, opts) { assert("Placeholder", node2, opts); } function assertV8IntrinsicIdentifier(node2, opts) { assert("V8IntrinsicIdentifier", node2, opts); } function assertArgumentPlaceholder(node2, opts) { assert("ArgumentPlaceholder", node2, opts); } function assertBindExpression(node2, opts) { assert("BindExpression", node2, opts); } function assertImportAttribute(node2, opts) { assert("ImportAttribute", node2, opts); } function assertDecorator(node2, opts) { assert("Decorator", node2, opts); } function assertDoExpression(node2, opts) { assert("DoExpression", node2, opts); } function assertExportDefaultSpecifier(node2, opts) { assert("ExportDefaultSpecifier", node2, opts); } function assertRecordExpression(node2, opts) { assert("RecordExpression", node2, opts); } function assertTupleExpression(node2, opts) { assert("TupleExpression", node2, opts); } function assertDecimalLiteral(node2, opts) { assert("DecimalLiteral", node2, opts); } function assertModuleExpression(node2, opts) { assert("ModuleExpression", node2, opts); } function assertTopicReference(node2, opts) { assert("TopicReference", node2, opts); } function assertPipelineTopicExpression(node2, opts) { assert("PipelineTopicExpression", node2, opts); } function assertPipelineBareFunction(node2, opts) { assert("PipelineBareFunction", node2, opts); } function assertPipelinePrimaryTopicReference(node2, opts) { assert("PipelinePrimaryTopicReference", node2, opts); } function assertTSParameterProperty(node2, opts) { assert("TSParameterProperty", node2, opts); } function assertTSDeclareFunction(node2, opts) { assert("TSDeclareFunction", node2, opts); } function assertTSDeclareMethod(node2, opts) { assert("TSDeclareMethod", node2, opts); } function assertTSQualifiedName(node2, opts) { assert("TSQualifiedName", node2, opts); } function assertTSCallSignatureDeclaration(node2, opts) { assert("TSCallSignatureDeclaration", node2, opts); } function assertTSConstructSignatureDeclaration(node2, opts) { assert("TSConstructSignatureDeclaration", node2, opts); } function assertTSPropertySignature(node2, opts) { assert("TSPropertySignature", node2, opts); } function assertTSMethodSignature(node2, opts) { assert("TSMethodSignature", node2, opts); } function assertTSIndexSignature(node2, opts) { assert("TSIndexSignature", node2, opts); } function assertTSAnyKeyword(node2, opts) { assert("TSAnyKeyword", node2, opts); } function assertTSBooleanKeyword(node2, opts) { assert("TSBooleanKeyword", node2, opts); } function assertTSBigIntKeyword(node2, opts) { assert("TSBigIntKeyword", node2, opts); } function assertTSIntrinsicKeyword(node2, opts) { assert("TSIntrinsicKeyword", node2, opts); } function assertTSNeverKeyword(node2, opts) { assert("TSNeverKeyword", node2, opts); } function assertTSNullKeyword(node2, opts) { assert("TSNullKeyword", node2, opts); } function assertTSNumberKeyword(node2, opts) { assert("TSNumberKeyword", node2, opts); } function assertTSObjectKeyword(node2, opts) { assert("TSObjectKeyword", node2, opts); } function assertTSStringKeyword(node2, opts) { assert("TSStringKeyword", node2, opts); } function assertTSSymbolKeyword(node2, opts) { assert("TSSymbolKeyword", node2, opts); } function assertTSUndefinedKeyword(node2, opts) { assert("TSUndefinedKeyword", node2, opts); } function assertTSUnknownKeyword(node2, opts) { assert("TSUnknownKeyword", node2, opts); } function assertTSVoidKeyword(node2, opts) { assert("TSVoidKeyword", node2, opts); } function assertTSThisType(node2, opts) { assert("TSThisType", node2, opts); } function assertTSFunctionType(node2, opts) { assert("TSFunctionType", node2, opts); } function assertTSConstructorType(node2, opts) { assert("TSConstructorType", node2, opts); } function assertTSTypeReference(node2, opts) { assert("TSTypeReference", node2, opts); } function assertTSTypePredicate(node2, opts) { assert("TSTypePredicate", node2, opts); } function assertTSTypeQuery(node2, opts) { assert("TSTypeQuery", node2, opts); } function assertTSTypeLiteral(node2, opts) { assert("TSTypeLiteral", node2, opts); } function assertTSArrayType(node2, opts) { assert("TSArrayType", node2, opts); } function assertTSTupleType(node2, opts) { assert("TSTupleType", node2, opts); } function assertTSOptionalType(node2, opts) { assert("TSOptionalType", node2, opts); } function assertTSRestType(node2, opts) { assert("TSRestType", node2, opts); } function assertTSNamedTupleMember(node2, opts) { assert("TSNamedTupleMember", node2, opts); } function assertTSUnionType(node2, opts) { assert("TSUnionType", node2, opts); } function assertTSIntersectionType(node2, opts) { assert("TSIntersectionType", node2, opts); } function assertTSConditionalType(node2, opts) { assert("TSConditionalType", node2, opts); } function assertTSInferType(node2, opts) { assert("TSInferType", node2, opts); } function assertTSParenthesizedType(node2, opts) { assert("TSParenthesizedType", node2, opts); } function assertTSTypeOperator(node2, opts) { assert("TSTypeOperator", node2, opts); } function assertTSIndexedAccessType(node2, opts) { assert("TSIndexedAccessType", node2, opts); } function assertTSMappedType(node2, opts) { assert("TSMappedType", node2, opts); } function assertTSLiteralType(node2, opts) { assert("TSLiteralType", node2, opts); } function assertTSExpressionWithTypeArguments(node2, opts) { assert("TSExpressionWithTypeArguments", node2, opts); } function assertTSInterfaceDeclaration(node2, opts) { assert("TSInterfaceDeclaration", node2, opts); } function assertTSInterfaceBody(node2, opts) { assert("TSInterfaceBody", node2, opts); } function assertTSTypeAliasDeclaration(node2, opts) { assert("TSTypeAliasDeclaration", node2, opts); } function assertTSInstantiationExpression(node2, opts) { assert("TSInstantiationExpression", node2, opts); } function assertTSAsExpression(node2, opts) { assert("TSAsExpression", node2, opts); } function assertTSSatisfiesExpression(node2, opts) { assert("TSSatisfiesExpression", node2, opts); } function assertTSTypeAssertion(node2, opts) { assert("TSTypeAssertion", node2, opts); } function assertTSEnumDeclaration(node2, opts) { assert("TSEnumDeclaration", node2, opts); } function assertTSEnumMember(node2, opts) { assert("TSEnumMember", node2, opts); } function assertTSModuleDeclaration(node2, opts) { assert("TSModuleDeclaration", node2, opts); } function assertTSModuleBlock(node2, opts) { assert("TSModuleBlock", node2, opts); } function assertTSImportType(node2, opts) { assert("TSImportType", node2, opts); } function assertTSImportEqualsDeclaration(node2, opts) { assert("TSImportEqualsDeclaration", node2, opts); } function assertTSExternalModuleReference(node2, opts) { assert("TSExternalModuleReference", node2, opts); } function assertTSNonNullExpression(node2, opts) { assert("TSNonNullExpression", node2, opts); } function assertTSExportAssignment(node2, opts) { assert("TSExportAssignment", node2, opts); } function assertTSNamespaceExportDeclaration(node2, opts) { assert("TSNamespaceExportDeclaration", node2, opts); } function assertTSTypeAnnotation(node2, opts) { assert("TSTypeAnnotation", node2, opts); } function assertTSTypeParameterInstantiation(node2, opts) { assert("TSTypeParameterInstantiation", node2, opts); } function assertTSTypeParameterDeclaration(node2, opts) { assert("TSTypeParameterDeclaration", node2, opts); } function assertTSTypeParameter(node2, opts) { assert("TSTypeParameter", node2, opts); } function assertStandardized(node2, opts) { assert("Standardized", node2, opts); } function assertExpression(node2, opts) { assert("Expression", node2, opts); } function assertBinary(node2, opts) { assert("Binary", node2, opts); } function assertScopable(node2, opts) { assert("Scopable", node2, opts); } function assertBlockParent(node2, opts) { assert("BlockParent", node2, opts); } function assertBlock(node2, opts) { assert("Block", node2, opts); } function assertStatement(node2, opts) { assert("Statement", node2, opts); } function assertTerminatorless(node2, opts) { assert("Terminatorless", node2, opts); } function assertCompletionStatement(node2, opts) { assert("CompletionStatement", node2, opts); } function assertConditional(node2, opts) { assert("Conditional", node2, opts); } function assertLoop(node2, opts) { assert("Loop", node2, opts); } function assertWhile(node2, opts) { assert("While", node2, opts); } function assertExpressionWrapper(node2, opts) { assert("ExpressionWrapper", node2, opts); } function assertFor(node2, opts) { assert("For", node2, opts); } function assertForXStatement(node2, opts) { assert("ForXStatement", node2, opts); } function assertFunction(node2, opts) { assert("Function", node2, opts); } function assertFunctionParent(node2, opts) { assert("FunctionParent", node2, opts); } function assertPureish(node2, opts) { assert("Pureish", node2, opts); } function assertDeclaration(node2, opts) { assert("Declaration", node2, opts); } function assertPatternLike(node2, opts) { assert("PatternLike", node2, opts); } function assertLVal(node2, opts) { assert("LVal", node2, opts); } function assertTSEntityName(node2, opts) { assert("TSEntityName", node2, opts); } function assertLiteral(node2, opts) { assert("Literal", node2, opts); } function assertImmutable(node2, opts) { assert("Immutable", node2, opts); } function assertUserWhitespacable(node2, opts) { assert("UserWhitespacable", node2, opts); } function assertMethod(node2, opts) { assert("Method", node2, opts); } function assertObjectMember(node2, opts) { assert("ObjectMember", node2, opts); } function assertProperty(node2, opts) { assert("Property", node2, opts); } function assertUnaryLike(node2, opts) { assert("UnaryLike", node2, opts); } function assertPattern(node2, opts) { assert("Pattern", node2, opts); } function assertClass(node2, opts) { assert("Class", node2, opts); } function assertImportOrExportDeclaration(node2, opts) { assert("ImportOrExportDeclaration", node2, opts); } function assertExportDeclaration(node2, opts) { assert("ExportDeclaration", node2, opts); } function assertModuleSpecifier(node2, opts) { assert("ModuleSpecifier", node2, opts); } function assertAccessor(node2, opts) { assert("Accessor", node2, opts); } function assertPrivate(node2, opts) { assert("Private", node2, opts); } function assertFlow(node2, opts) { assert("Flow", node2, opts); } function assertFlowType(node2, opts) { assert("FlowType", node2, opts); } function assertFlowBaseAnnotation(node2, opts) { assert("FlowBaseAnnotation", node2, opts); } function assertFlowDeclaration(node2, opts) { assert("FlowDeclaration", node2, opts); } function assertFlowPredicate(node2, opts) { assert("FlowPredicate", node2, opts); } function assertEnumBody(node2, opts) { assert("EnumBody", node2, opts); } function assertEnumMember(node2, opts) { assert("EnumMember", node2, opts); } function assertJSX(node2, opts) { assert("JSX", node2, opts); } function assertMiscellaneous(node2, opts) { assert("Miscellaneous", node2, opts); } function assertTypeScript(node2, opts) { assert("TypeScript", node2, opts); } function assertTSTypeElement(node2, opts) { assert("TSTypeElement", node2, opts); } function assertTSType(node2, opts) { assert("TSType", node2, opts); } function assertTSBaseType(node2, opts) { assert("TSBaseType", node2, opts); } function assertNumberLiteral(node2, opts) { (0, _deprecationWarning.default)("assertNumberLiteral", "assertNumericLiteral"); assert("NumberLiteral", node2, opts); } function assertRegexLiteral(node2, opts) { (0, _deprecationWarning.default)("assertRegexLiteral", "assertRegExpLiteral"); assert("RegexLiteral", node2, opts); } function assertRestProperty(node2, opts) { (0, _deprecationWarning.default)("assertRestProperty", "assertRestElement"); assert("RestProperty", node2, opts); } function assertSpreadProperty(node2, opts) { (0, _deprecationWarning.default)("assertSpreadProperty", "assertSpreadElement"); assert("SpreadProperty", node2, opts); } function assertModuleDeclaration(node2, opts) { (0, _deprecationWarning.default)("assertModuleDeclaration", "assertImportOrExportDeclaration"); assert("ModuleDeclaration", node2, opts); } } }); // node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js var require_createTypeAnnotationBasedOnTypeof = __commonJS({ "node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _generated = require_generated2(); var _default = createTypeAnnotationBasedOnTypeof; exports.default = _default; function createTypeAnnotationBasedOnTypeof(type) { switch (type) { case "string": return (0, _generated.stringTypeAnnotation)(); case "number": return (0, _generated.numberTypeAnnotation)(); case "undefined": return (0, _generated.voidTypeAnnotation)(); case "boolean": return (0, _generated.booleanTypeAnnotation)(); case "function": return (0, _generated.genericTypeAnnotation)((0, _generated.identifier)("Function")); case "object": return (0, _generated.genericTypeAnnotation)((0, _generated.identifier)("Object")); case "symbol": return (0, _generated.genericTypeAnnotation)((0, _generated.identifier)("Symbol")); case "bigint": return (0, _generated.anyTypeAnnotation)(); } throw new Error("Invalid typeof value: " + type); } } }); // node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js var require_removeTypeDuplicates = __commonJS({ "node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = removeTypeDuplicates; var _generated = require_generated(); function getQualifiedName(node2) { return (0, _generated.isIdentifier)(node2) ? node2.name : `${node2.id.name}.${getQualifiedName(node2.qualification)}`; } function removeTypeDuplicates(nodes) { const generics = /* @__PURE__ */ new Map(); const bases = /* @__PURE__ */ new Map(); const typeGroups = /* @__PURE__ */ new Set(); const types3 = []; for (let i = 0; i < nodes.length; i++) { const node2 = nodes[i]; if (!node2) continue; if (types3.indexOf(node2) >= 0) { continue; } if ((0, _generated.isAnyTypeAnnotation)(node2)) { return [node2]; } if ((0, _generated.isFlowBaseAnnotation)(node2)) { bases.set(node2.type, node2); continue; } if ((0, _generated.isUnionTypeAnnotation)(node2)) { if (!typeGroups.has(node2.types)) { nodes = nodes.concat(node2.types); typeGroups.add(node2.types); } continue; } if ((0, _generated.isGenericTypeAnnotation)(node2)) { const name2 = getQualifiedName(node2.id); if (generics.has(name2)) { let existing = generics.get(name2); if (existing.typeParameters) { if (node2.typeParameters) { existing.typeParameters.params = removeTypeDuplicates(existing.typeParameters.params.concat(node2.typeParameters.params)); } } else { existing = node2.typeParameters; } } else { generics.set(name2, node2); } continue; } types3.push(node2); } for (const [, baseType] of bases) { types3.push(baseType); } for (const [, genericName] of generics) { types3.push(genericName); } return types3; } } }); // node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js var require_createFlowUnionType = __commonJS({ "node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = createFlowUnionType; var _generated = require_generated2(); var _removeTypeDuplicates = require_removeTypeDuplicates(); function createFlowUnionType(types3) { const flattened = (0, _removeTypeDuplicates.default)(types3); if (flattened.length === 1) { return flattened[0]; } else { return (0, _generated.unionTypeAnnotation)(flattened); } } } }); // node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js var require_removeTypeDuplicates2 = __commonJS({ "node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = removeTypeDuplicates; var _generated = require_generated(); function getQualifiedName(node2) { return (0, _generated.isIdentifier)(node2) ? node2.name : `${node2.right.name}.${getQualifiedName(node2.left)}`; } function removeTypeDuplicates(nodes) { const generics = /* @__PURE__ */ new Map(); const bases = /* @__PURE__ */ new Map(); const typeGroups = /* @__PURE__ */ new Set(); const types3 = []; for (let i = 0; i < nodes.length; i++) { const node2 = nodes[i]; if (!node2) continue; if (types3.indexOf(node2) >= 0) { continue; } if ((0, _generated.isTSAnyKeyword)(node2)) { return [node2]; } if ((0, _generated.isTSBaseType)(node2)) { bases.set(node2.type, node2); continue; } if ((0, _generated.isTSUnionType)(node2)) { if (!typeGroups.has(node2.types)) { nodes.push(...node2.types); typeGroups.add(node2.types); } continue; } if ((0, _generated.isTSTypeReference)(node2) && node2.typeParameters) { const name2 = getQualifiedName(node2.typeName); if (generics.has(name2)) { let existing = generics.get(name2); if (existing.typeParameters) { if (node2.typeParameters) { existing.typeParameters.params = removeTypeDuplicates(existing.typeParameters.params.concat(node2.typeParameters.params)); } } else { existing = node2.typeParameters; } } else { generics.set(name2, node2); } continue; } types3.push(node2); } for (const [, baseType] of bases) { types3.push(baseType); } for (const [, genericName] of generics) { types3.push(genericName); } return types3; } } }); // node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js var require_createTSUnionType = __commonJS({ "node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = createTSUnionType; var _generated = require_generated2(); var _removeTypeDuplicates = require_removeTypeDuplicates2(); var _index = require_generated(); function createTSUnionType(typeAnnotations) { const types3 = typeAnnotations.map((type) => { return (0, _index.isTSTypeAnnotation)(type) ? type.typeAnnotation : type; }); const flattened = (0, _removeTypeDuplicates.default)(types3); if (flattened.length === 1) { return flattened[0]; } else { return (0, _generated.tsUnionType)(flattened); } } } }); // node_modules/@babel/types/lib/builders/generated/uppercase.js var require_uppercase = __commonJS({ "node_modules/@babel/types/lib/builders/generated/uppercase.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "AnyTypeAnnotation", { enumerable: true, get: function() { return _index.anyTypeAnnotation; } }); Object.defineProperty(exports, "ArgumentPlaceholder", { enumerable: true, get: function() { return _index.argumentPlaceholder; } }); Object.defineProperty(exports, "ArrayExpression", { enumerable: true, get: function() { return _index.arrayExpression; } }); Object.defineProperty(exports, "ArrayPattern", { enumerable: true, get: function() { return _index.arrayPattern; } }); Object.defineProperty(exports, "ArrayTypeAnnotation", { enumerable: true, get: function() { return _index.arrayTypeAnnotation; } }); Object.defineProperty(exports, "ArrowFunctionExpression", { enumerable: true, get: function() { return _index.arrowFunctionExpression; } }); Object.defineProperty(exports, "AssignmentExpression", { enumerable: true, get: function() { return _index.assignmentExpression; } }); Object.defineProperty(exports, "AssignmentPattern", { enumerable: true, get: function() { return _index.assignmentPattern; } }); Object.defineProperty(exports, "AwaitExpression", { enumerable: true, get: function() { return _index.awaitExpression; } }); Object.defineProperty(exports, "BigIntLiteral", { enumerable: true, get: function() { return _index.bigIntLiteral; } }); Object.defineProperty(exports, "BinaryExpression", { enumerable: true, get: function() { return _index.binaryExpression; } }); Object.defineProperty(exports, "BindExpression", { enumerable: true, get: function() { return _index.bindExpression; } }); Object.defineProperty(exports, "BlockStatement", { enumerable: true, get: function() { return _index.blockStatement; } }); Object.defineProperty(exports, "BooleanLiteral", { enumerable: true, get: function() { return _index.booleanLiteral; } }); Object.defineProperty(exports, "BooleanLiteralTypeAnnotation", { enumerable: true, get: function() { return _index.booleanLiteralTypeAnnotation; } }); Object.defineProperty(exports, "BooleanTypeAnnotation", { enumerable: true, get: function() { return _index.booleanTypeAnnotation; } }); Object.defineProperty(exports, "BreakStatement", { enumerable: true, get: function() { return _index.breakStatement; } }); Object.defineProperty(exports, "CallExpression", { enumerable: true, get: function() { return _index.callExpression; } }); Object.defineProperty(exports, "CatchClause", { enumerable: true, get: function() { return _index.catchClause; } }); Object.defineProperty(exports, "ClassAccessorProperty", { enumerable: true, get: function() { return _index.classAccessorProperty; } }); Object.defineProperty(exports, "ClassBody", { enumerable: true, get: function() { return _index.classBody; } }); Object.defineProperty(exports, "ClassDeclaration", { enumerable: true, get: function() { return _index.classDeclaration; } }); Object.defineProperty(exports, "ClassExpression", { enumerable: true, get: function() { return _index.classExpression; } }); Object.defineProperty(exports, "ClassImplements", { enumerable: true, get: function() { return _index.classImplements; } }); Object.defineProperty(exports, "ClassMethod", { enumerable: true, get: function() { return _index.classMethod; } }); Object.defineProperty(exports, "ClassPrivateMethod", { enumerable: true, get: function() { return _index.classPrivateMethod; } }); Object.defineProperty(exports, "ClassPrivateProperty", { enumerable: true, get: function() { return _index.classPrivateProperty; } }); Object.defineProperty(exports, "ClassProperty", { enumerable: true, get: function() { return _index.classProperty; } }); Object.defineProperty(exports, "ConditionalExpression", { enumerable: true, get: function() { return _index.conditionalExpression; } }); Object.defineProperty(exports, "ContinueStatement", { enumerable: true, get: function() { return _index.continueStatement; } }); Object.defineProperty(exports, "DebuggerStatement", { enumerable: true, get: function() { return _index.debuggerStatement; } }); Object.defineProperty(exports, "DecimalLiteral", { enumerable: true, get: function() { return _index.decimalLiteral; } }); Object.defineProperty(exports, "DeclareClass", { enumerable: true, get: function() { return _index.declareClass; } }); Object.defineProperty(exports, "DeclareExportAllDeclaration", { enumerable: true, get: function() { return _index.declareExportAllDeclaration; } }); Object.defineProperty(exports, "DeclareExportDeclaration", { enumerable: true, get: function() { return _index.declareExportDeclaration; } }); Object.defineProperty(exports, "DeclareFunction", { enumerable: true, get: function() { return _index.declareFunction; } }); Object.defineProperty(exports, "DeclareInterface", { enumerable: true, get: function() { return _index.declareInterface; } }); Object.defineProperty(exports, "DeclareModule", { enumerable: true, get: function() { return _index.declareModule; } }); Object.defineProperty(exports, "DeclareModuleExports", { enumerable: true, get: function() { return _index.declareModuleExports; } }); Object.defineProperty(exports, "DeclareOpaqueType", { enumerable: true, get: function() { return _index.declareOpaqueType; } }); Object.defineProperty(exports, "DeclareTypeAlias", { enumerable: true, get: function() { return _index.declareTypeAlias; } }); Object.defineProperty(exports, "DeclareVariable", { enumerable: true, get: function() { return _index.declareVariable; } }); Object.defineProperty(exports, "DeclaredPredicate", { enumerable: true, get: function() { return _index.declaredPredicate; } }); Object.defineProperty(exports, "Decorator", { enumerable: true, get: function() { return _index.decorator; } }); Object.defineProperty(exports, "Directive", { enumerable: true, get: function() { return _index.directive; } }); Object.defineProperty(exports, "DirectiveLiteral", { enumerable: true, get: function() { return _index.directiveLiteral; } }); Object.defineProperty(exports, "DoExpression", { enumerable: true, get: function() { return _index.doExpression; } }); Object.defineProperty(exports, "DoWhileStatement", { enumerable: true, get: function() { return _index.doWhileStatement; } }); Object.defineProperty(exports, "EmptyStatement", { enumerable: true, get: function() { return _index.emptyStatement; } }); Object.defineProperty(exports, "EmptyTypeAnnotation", { enumerable: true, get: function() { return _index.emptyTypeAnnotation; } }); Object.defineProperty(exports, "EnumBooleanBody", { enumerable: true, get: function() { return _index.enumBooleanBody; } }); Object.defineProperty(exports, "EnumBooleanMember", { enumerable: true, get: function() { return _index.enumBooleanMember; } }); Object.defineProperty(exports, "EnumDeclaration", { enumerable: true, get: function() { return _index.enumDeclaration; } }); Object.defineProperty(exports, "EnumDefaultedMember", { enumerable: true, get: function() { return _index.enumDefaultedMember; } }); Object.defineProperty(exports, "EnumNumberBody", { enumerable: true, get: function() { return _index.enumNumberBody; } }); Object.defineProperty(exports, "EnumNumberMember", { enumerable: true, get: function() { return _index.enumNumberMember; } }); Object.defineProperty(exports, "EnumStringBody", { enumerable: true, get: function() { return _index.enumStringBody; } }); Object.defineProperty(exports, "EnumStringMember", { enumerable: true, get: function() { return _index.enumStringMember; } }); Object.defineProperty(exports, "EnumSymbolBody", { enumerable: true, get: function() { return _index.enumSymbolBody; } }); Object.defineProperty(exports, "ExistsTypeAnnotation", { enumerable: true, get: function() { return _index.existsTypeAnnotation; } }); Object.defineProperty(exports, "ExportAllDeclaration", { enumerable: true, get: function() { return _index.exportAllDeclaration; } }); Object.defineProperty(exports, "ExportDefaultDeclaration", { enumerable: true, get: function() { return _index.exportDefaultDeclaration; } }); Object.defineProperty(exports, "ExportDefaultSpecifier", { enumerable: true, get: function() { return _index.exportDefaultSpecifier; } }); Object.defineProperty(exports, "ExportNamedDeclaration", { enumerable: true, get: function() { return _index.exportNamedDeclaration; } }); Object.defineProperty(exports, "ExportNamespaceSpecifier", { enumerable: true, get: function() { return _index.exportNamespaceSpecifier; } }); Object.defineProperty(exports, "ExportSpecifier", { enumerable: true, get: function() { return _index.exportSpecifier; } }); Object.defineProperty(exports, "ExpressionStatement", { enumerable: true, get: function() { return _index.expressionStatement; } }); Object.defineProperty(exports, "File", { enumerable: true, get: function() { return _index.file; } }); Object.defineProperty(exports, "ForInStatement", { enumerable: true, get: function() { return _index.forInStatement; } }); Object.defineProperty(exports, "ForOfStatement", { enumerable: true, get: function() { return _index.forOfStatement; } }); Object.defineProperty(exports, "ForStatement", { enumerable: true, get: function() { return _index.forStatement; } }); Object.defineProperty(exports, "FunctionDeclaration", { enumerable: true, get: function() { return _index.functionDeclaration; } }); Object.defineProperty(exports, "FunctionExpression", { enumerable: true, get: function() { return _index.functionExpression; } }); Object.defineProperty(exports, "FunctionTypeAnnotation", { enumerable: true, get: function() { return _index.functionTypeAnnotation; } }); Object.defineProperty(exports, "FunctionTypeParam", { enumerable: true, get: function() { return _index.functionTypeParam; } }); Object.defineProperty(exports, "GenericTypeAnnotation", { enumerable: true, get: function() { return _index.genericTypeAnnotation; } }); Object.defineProperty(exports, "Identifier", { enumerable: true, get: function() { return _index.identifier; } }); Object.defineProperty(exports, "IfStatement", { enumerable: true, get: function() { return _index.ifStatement; } }); Object.defineProperty(exports, "Import", { enumerable: true, get: function() { return _index.import; } }); Object.defineProperty(exports, "ImportAttribute", { enumerable: true, get: function() { return _index.importAttribute; } }); Object.defineProperty(exports, "ImportDeclaration", { enumerable: true, get: function() { return _index.importDeclaration; } }); Object.defineProperty(exports, "ImportDefaultSpecifier", { enumerable: true, get: function() { return _index.importDefaultSpecifier; } }); Object.defineProperty(exports, "ImportNamespaceSpecifier", { enumerable: true, get: function() { return _index.importNamespaceSpecifier; } }); Object.defineProperty(exports, "ImportSpecifier", { enumerable: true, get: function() { return _index.importSpecifier; } }); Object.defineProperty(exports, "IndexedAccessType", { enumerable: true, get: function() { return _index.indexedAccessType; } }); Object.defineProperty(exports, "InferredPredicate", { enumerable: true, get: function() { return _index.inferredPredicate; } }); Object.defineProperty(exports, "InterfaceDeclaration", { enumerable: true, get: function() { return _index.interfaceDeclaration; } }); Object.defineProperty(exports, "InterfaceExtends", { enumerable: true, get: function() { return _index.interfaceExtends; } }); Object.defineProperty(exports, "InterfaceTypeAnnotation", { enumerable: true, get: function() { return _index.interfaceTypeAnnotation; } }); Object.defineProperty(exports, "InterpreterDirective", { enumerable: true, get: function() { return _index.interpreterDirective; } }); Object.defineProperty(exports, "IntersectionTypeAnnotation", { enumerable: true, get: function() { return _index.intersectionTypeAnnotation; } }); Object.defineProperty(exports, "JSXAttribute", { enumerable: true, get: function() { return _index.jsxAttribute; } }); Object.defineProperty(exports, "JSXClosingElement", { enumerable: true, get: function() { return _index.jsxClosingElement; } }); Object.defineProperty(exports, "JSXClosingFragment", { enumerable: true, get: function() { return _index.jsxClosingFragment; } }); Object.defineProperty(exports, "JSXElement", { enumerable: true, get: function() { return _index.jsxElement; } }); Object.defineProperty(exports, "JSXEmptyExpression", { enumerable: true, get: function() { return _index.jsxEmptyExpression; } }); Object.defineProperty(exports, "JSXExpressionContainer", { enumerable: true, get: function() { return _index.jsxExpressionContainer; } }); Object.defineProperty(exports, "JSXFragment", { enumerable: true, get: function() { return _index.jsxFragment; } }); Object.defineProperty(exports, "JSXIdentifier", { enumerable: true, get: function() { return _index.jsxIdentifier; } }); Object.defineProperty(exports, "JSXMemberExpression", { enumerable: true, get: function() { return _index.jsxMemberExpression; } }); Object.defineProperty(exports, "JSXNamespacedName", { enumerable: true, get: function() { return _index.jsxNamespacedName; } }); Object.defineProperty(exports, "JSXOpeningElement", { enumerable: true, get: function() { return _index.jsxOpeningElement; } }); Object.defineProperty(exports, "JSXOpeningFragment", { enumerable: true, get: function() { return _index.jsxOpeningFragment; } }); Object.defineProperty(exports, "JSXSpreadAttribute", { enumerable: true, get: function() { return _index.jsxSpreadAttribute; } }); Object.defineProperty(exports, "JSXSpreadChild", { enumerable: true, get: function() { return _index.jsxSpreadChild; } }); Object.defineProperty(exports, "JSXText", { enumerable: true, get: function() { return _index.jsxText; } }); Object.defineProperty(exports, "LabeledStatement", { enumerable: true, get: function() { return _index.labeledStatement; } }); Object.defineProperty(exports, "LogicalExpression", { enumerable: true, get: function() { return _index.logicalExpression; } }); Object.defineProperty(exports, "MemberExpression", { enumerable: true, get: function() { return _index.memberExpression; } }); Object.defineProperty(exports, "MetaProperty", { enumerable: true, get: function() { return _index.metaProperty; } }); Object.defineProperty(exports, "MixedTypeAnnotation", { enumerable: true, get: function() { return _index.mixedTypeAnnotation; } }); Object.defineProperty(exports, "ModuleExpression", { enumerable: true, get: function() { return _index.moduleExpression; } }); Object.defineProperty(exports, "NewExpression", { enumerable: true, get: function() { return _index.newExpression; } }); Object.defineProperty(exports, "Noop", { enumerable: true, get: function() { return _index.noop; } }); Object.defineProperty(exports, "NullLiteral", { enumerable: true, get: function() { return _index.nullLiteral; } }); Object.defineProperty(exports, "NullLiteralTypeAnnotation", { enumerable: true, get: function() { return _index.nullLiteralTypeAnnotation; } }); Object.defineProperty(exports, "NullableTypeAnnotation", { enumerable: true, get: function() { return _index.nullableTypeAnnotation; } }); Object.defineProperty(exports, "NumberLiteral", { enumerable: true, get: function() { return _index.numberLiteral; } }); Object.defineProperty(exports, "NumberLiteralTypeAnnotation", { enumerable: true, get: function() { return _index.numberLiteralTypeAnnotation; } }); Object.defineProperty(exports, "NumberTypeAnnotation", { enumerable: true, get: function() { return _index.numberTypeAnnotation; } }); Object.defineProperty(exports, "NumericLiteral", { enumerable: true, get: function() { return _index.numericLiteral; } }); Object.defineProperty(exports, "ObjectExpression", { enumerable: true, get: function() { return _index.objectExpression; } }); Object.defineProperty(exports, "ObjectMethod", { enumerable: true, get: function() { return _index.objectMethod; } }); Object.defineProperty(exports, "ObjectPattern", { enumerable: true, get: function() { return _index.objectPattern; } }); Object.defineProperty(exports, "ObjectProperty", { enumerable: true, get: function() { return _index.objectProperty; } }); Object.defineProperty(exports, "ObjectTypeAnnotation", { enumerable: true, get: function() { return _index.objectTypeAnnotation; } }); Object.defineProperty(exports, "ObjectTypeCallProperty", { enumerable: true, get: function() { return _index.objectTypeCallProperty; } }); Object.defineProperty(exports, "ObjectTypeIndexer", { enumerable: true, get: function() { return _index.objectTypeIndexer; } }); Object.defineProperty(exports, "ObjectTypeInternalSlot", { enumerable: true, get: function() { return _index.objectTypeInternalSlot; } }); Object.defineProperty(exports, "ObjectTypeProperty", { enumerable: true, get: function() { return _index.objectTypeProperty; } }); Object.defineProperty(exports, "ObjectTypeSpreadProperty", { enumerable: true, get: function() { return _index.objectTypeSpreadProperty; } }); Object.defineProperty(exports, "OpaqueType", { enumerable: true, get: function() { return _index.opaqueType; } }); Object.defineProperty(exports, "OptionalCallExpression", { enumerable: true, get: function() { return _index.optionalCallExpression; } }); Object.defineProperty(exports, "OptionalIndexedAccessType", { enumerable: true, get: function() { return _index.optionalIndexedAccessType; } }); Object.defineProperty(exports, "OptionalMemberExpression", { enumerable: true, get: function() { return _index.optionalMemberExpression; } }); Object.defineProperty(exports, "ParenthesizedExpression", { enumerable: true, get: function() { return _index.parenthesizedExpression; } }); Object.defineProperty(exports, "PipelineBareFunction", { enumerable: true, get: function() { return _index.pipelineBareFunction; } }); Object.defineProperty(exports, "PipelinePrimaryTopicReference", { enumerable: true, get: function() { return _index.pipelinePrimaryTopicReference; } }); Object.defineProperty(exports, "PipelineTopicExpression", { enumerable: true, get: function() { return _index.pipelineTopicExpression; } }); Object.defineProperty(exports, "Placeholder", { enumerable: true, get: function() { return _index.placeholder; } }); Object.defineProperty(exports, "PrivateName", { enumerable: true, get: function() { return _index.privateName; } }); Object.defineProperty(exports, "Program", { enumerable: true, get: function() { return _index.program; } }); Object.defineProperty(exports, "QualifiedTypeIdentifier", { enumerable: true, get: function() { return _index.qualifiedTypeIdentifier; } }); Object.defineProperty(exports, "RecordExpression", { enumerable: true, get: function() { return _index.recordExpression; } }); Object.defineProperty(exports, "RegExpLiteral", { enumerable: true, get: function() { return _index.regExpLiteral; } }); Object.defineProperty(exports, "RegexLiteral", { enumerable: true, get: function() { return _index.regexLiteral; } }); Object.defineProperty(exports, "RestElement", { enumerable: true, get: function() { return _index.restElement; } }); Object.defineProperty(exports, "RestProperty", { enumerable: true, get: function() { return _index.restProperty; } }); Object.defineProperty(exports, "ReturnStatement", { enumerable: true, get: function() { return _index.returnStatement; } }); Object.defineProperty(exports, "SequenceExpression", { enumerable: true, get: function() { return _index.sequenceExpression; } }); Object.defineProperty(exports, "SpreadElement", { enumerable: true, get: function() { return _index.spreadElement; } }); Object.defineProperty(exports, "SpreadProperty", { enumerable: true, get: function() { return _index.spreadProperty; } }); Object.defineProperty(exports, "StaticBlock", { enumerable: true, get: function() { return _index.staticBlock; } }); Object.defineProperty(exports, "StringLiteral", { enumerable: true, get: function() { return _index.stringLiteral; } }); Object.defineProperty(exports, "StringLiteralTypeAnnotation", { enumerable: true, get: function() { return _index.stringLiteralTypeAnnotation; } }); Object.defineProperty(exports, "StringTypeAnnotation", { enumerable: true, get: function() { return _index.stringTypeAnnotation; } }); Object.defineProperty(exports, "Super", { enumerable: true, get: function() { return _index.super; } }); Object.defineProperty(exports, "SwitchCase", { enumerable: true, get: function() { return _index.switchCase; } }); Object.defineProperty(exports, "SwitchStatement", { enumerable: true, get: function() { return _index.switchStatement; } }); Object.defineProperty(exports, "SymbolTypeAnnotation", { enumerable: true, get: function() { return _index.symbolTypeAnnotation; } }); Object.defineProperty(exports, "TSAnyKeyword", { enumerable: true, get: function() { return _index.tsAnyKeyword; } }); Object.defineProperty(exports, "TSArrayType", { enumerable: true, get: function() { return _index.tsArrayType; } }); Object.defineProperty(exports, "TSAsExpression", { enumerable: true, get: function() { return _index.tsAsExpression; } }); Object.defineProperty(exports, "TSBigIntKeyword", { enumerable: true, get: function() { return _index.tsBigIntKeyword; } }); Object.defineProperty(exports, "TSBooleanKeyword", { enumerable: true, get: function() { return _index.tsBooleanKeyword; } }); Object.defineProperty(exports, "TSCallSignatureDeclaration", { enumerable: true, get: function() { return _index.tsCallSignatureDeclaration; } }); Object.defineProperty(exports, "TSConditionalType", { enumerable: true, get: function() { return _index.tsConditionalType; } }); Object.defineProperty(exports, "TSConstructSignatureDeclaration", { enumerable: true, get: function() { return _index.tsConstructSignatureDeclaration; } }); Object.defineProperty(exports, "TSConstructorType", { enumerable: true, get: function() { return _index.tsConstructorType; } }); Object.defineProperty(exports, "TSDeclareFunction", { enumerable: true, get: function() { return _index.tsDeclareFunction; } }); Object.defineProperty(exports, "TSDeclareMethod", { enumerable: true, get: function() { return _index.tsDeclareMethod; } }); Object.defineProperty(exports, "TSEnumDeclaration", { enumerable: true, get: function() { return _index.tsEnumDeclaration; } }); Object.defineProperty(exports, "TSEnumMember", { enumerable: true, get: function() { return _index.tsEnumMember; } }); Object.defineProperty(exports, "TSExportAssignment", { enumerable: true, get: function() { return _index.tsExportAssignment; } }); Object.defineProperty(exports, "TSExpressionWithTypeArguments", { enumerable: true, get: function() { return _index.tsExpressionWithTypeArguments; } }); Object.defineProperty(exports, "TSExternalModuleReference", { enumerable: true, get: function() { return _index.tsExternalModuleReference; } }); Object.defineProperty(exports, "TSFunctionType", { enumerable: true, get: function() { return _index.tsFunctionType; } }); Object.defineProperty(exports, "TSImportEqualsDeclaration", { enumerable: true, get: function() { return _index.tsImportEqualsDeclaration; } }); Object.defineProperty(exports, "TSImportType", { enumerable: true, get: function() { return _index.tsImportType; } }); Object.defineProperty(exports, "TSIndexSignature", { enumerable: true, get: function() { return _index.tsIndexSignature; } }); Object.defineProperty(exports, "TSIndexedAccessType", { enumerable: true, get: function() { return _index.tsIndexedAccessType; } }); Object.defineProperty(exports, "TSInferType", { enumerable: true, get: function() { return _index.tsInferType; } }); Object.defineProperty(exports, "TSInstantiationExpression", { enumerable: true, get: function() { return _index.tsInstantiationExpression; } }); Object.defineProperty(exports, "TSInterfaceBody", { enumerable: true, get: function() { return _index.tsInterfaceBody; } }); Object.defineProperty(exports, "TSInterfaceDeclaration", { enumerable: true, get: function() { return _index.tsInterfaceDeclaration; } }); Object.defineProperty(exports, "TSIntersectionType", { enumerable: true, get: function() { return _index.tsIntersectionType; } }); Object.defineProperty(exports, "TSIntrinsicKeyword", { enumerable: true, get: function() { return _index.tsIntrinsicKeyword; } }); Object.defineProperty(exports, "TSLiteralType", { enumerable: true, get: function() { return _index.tsLiteralType; } }); Object.defineProperty(exports, "TSMappedType", { enumerable: true, get: function() { return _index.tsMappedType; } }); Object.defineProperty(exports, "TSMethodSignature", { enumerable: true, get: function() { return _index.tsMethodSignature; } }); Object.defineProperty(exports, "TSModuleBlock", { enumerable: true, get: function() { return _index.tsModuleBlock; } }); Object.defineProperty(exports, "TSModuleDeclaration", { enumerable: true, get: function() { return _index.tsModuleDeclaration; } }); Object.defineProperty(exports, "TSNamedTupleMember", { enumerable: true, get: function() { return _index.tsNamedTupleMember; } }); Object.defineProperty(exports, "TSNamespaceExportDeclaration", { enumerable: true, get: function() { return _index.tsNamespaceExportDeclaration; } }); Object.defineProperty(exports, "TSNeverKeyword", { enumerable: true, get: function() { return _index.tsNeverKeyword; } }); Object.defineProperty(exports, "TSNonNullExpression", { enumerable: true, get: function() { return _index.tsNonNullExpression; } }); Object.defineProperty(exports, "TSNullKeyword", { enumerable: true, get: function() { return _index.tsNullKeyword; } }); Object.defineProperty(exports, "TSNumberKeyword", { enumerable: true, get: function() { return _index.tsNumberKeyword; } }); Object.defineProperty(exports, "TSObjectKeyword", { enumerable: true, get: function() { return _index.tsObjectKeyword; } }); Object.defineProperty(exports, "TSOptionalType", { enumerable: true, get: function() { return _index.tsOptionalType; } }); Object.defineProperty(exports, "TSParameterProperty", { enumerable: true, get: function() { return _index.tsParameterProperty; } }); Object.defineProperty(exports, "TSParenthesizedType", { enumerable: true, get: function() { return _index.tsParenthesizedType; } }); Object.defineProperty(exports, "TSPropertySignature", { enumerable: true, get: function() { return _index.tsPropertySignature; } }); Object.defineProperty(exports, "TSQualifiedName", { enumerable: true, get: function() { return _index.tsQualifiedName; } }); Object.defineProperty(exports, "TSRestType", { enumerable: true, get: function() { return _index.tsRestType; } }); Object.defineProperty(exports, "TSSatisfiesExpression", { enumerable: true, get: function() { return _index.tsSatisfiesExpression; } }); Object.defineProperty(exports, "TSStringKeyword", { enumerable: true, get: function() { return _index.tsStringKeyword; } }); Object.defineProperty(exports, "TSSymbolKeyword", { enumerable: true, get: function() { return _index.tsSymbolKeyword; } }); Object.defineProperty(exports, "TSThisType", { enumerable: true, get: function() { return _index.tsThisType; } }); Object.defineProperty(exports, "TSTupleType", { enumerable: true, get: function() { return _index.tsTupleType; } }); Object.defineProperty(exports, "TSTypeAliasDeclaration", { enumerable: true, get: function() { return _index.tsTypeAliasDeclaration; } }); Object.defineProperty(exports, "TSTypeAnnotation", { enumerable: true, get: function() { return _index.tsTypeAnnotation; } }); Object.defineProperty(exports, "TSTypeAssertion", { enumerable: true, get: function() { return _index.tsTypeAssertion; } }); Object.defineProperty(exports, "TSTypeLiteral", { enumerable: true, get: function() { return _index.tsTypeLiteral; } }); Object.defineProperty(exports, "TSTypeOperator", { enumerable: true, get: function() { return _index.tsTypeOperator; } }); Object.defineProperty(exports, "TSTypeParameter", { enumerable: true, get: function() { return _index.tsTypeParameter; } }); Object.defineProperty(exports, "TSTypeParameterDeclaration", { enumerable: true, get: function() { return _index.tsTypeParameterDeclaration; } }); Object.defineProperty(exports, "TSTypeParameterInstantiation", { enumerable: true, get: function() { return _index.tsTypeParameterInstantiation; } }); Object.defineProperty(exports, "TSTypePredicate", { enumerable: true, get: function() { return _index.tsTypePredicate; } }); Object.defineProperty(exports, "TSTypeQuery", { enumerable: true, get: function() { return _index.tsTypeQuery; } }); Object.defineProperty(exports, "TSTypeReference", { enumerable: true, get: function() { return _index.tsTypeReference; } }); Object.defineProperty(exports, "TSUndefinedKeyword", { enumerable: true, get: function() { return _index.tsUndefinedKeyword; } }); Object.defineProperty(exports, "TSUnionType", { enumerable: true, get: function() { return _index.tsUnionType; } }); Object.defineProperty(exports, "TSUnknownKeyword", { enumerable: true, get: function() { return _index.tsUnknownKeyword; } }); Object.defineProperty(exports, "TSVoidKeyword", { enumerable: true, get: function() { return _index.tsVoidKeyword; } }); Object.defineProperty(exports, "TaggedTemplateExpression", { enumerable: true, get: function() { return _index.taggedTemplateExpression; } }); Object.defineProperty(exports, "TemplateElement", { enumerable: true, get: function() { return _index.templateElement; } }); Object.defineProperty(exports, "TemplateLiteral", { enumerable: true, get: function() { return _index.templateLiteral; } }); Object.defineProperty(exports, "ThisExpression", { enumerable: true, get: function() { return _index.thisExpression; } }); Object.defineProperty(exports, "ThisTypeAnnotation", { enumerable: true, get: function() { return _index.thisTypeAnnotation; } }); Object.defineProperty(exports, "ThrowStatement", { enumerable: true, get: function() { return _index.throwStatement; } }); Object.defineProperty(exports, "TopicReference", { enumerable: true, get: function() { return _index.topicReference; } }); Object.defineProperty(exports, "TryStatement", { enumerable: true, get: function() { return _index.tryStatement; } }); Object.defineProperty(exports, "TupleExpression", { enumerable: true, get: function() { return _index.tupleExpression; } }); Object.defineProperty(exports, "TupleTypeAnnotation", { enumerable: true, get: function() { return _index.tupleTypeAnnotation; } }); Object.defineProperty(exports, "TypeAlias", { enumerable: true, get: function() { return _index.typeAlias; } }); Object.defineProperty(exports, "TypeAnnotation", { enumerable: true, get: function() { return _index.typeAnnotation; } }); Object.defineProperty(exports, "TypeCastExpression", { enumerable: true, get: function() { return _index.typeCastExpression; } }); Object.defineProperty(exports, "TypeParameter", { enumerable: true, get: function() { return _index.typeParameter; } }); Object.defineProperty(exports, "TypeParameterDeclaration", { enumerable: true, get: function() { return _index.typeParameterDeclaration; } }); Object.defineProperty(exports, "TypeParameterInstantiation", { enumerable: true, get: function() { return _index.typeParameterInstantiation; } }); Object.defineProperty(exports, "TypeofTypeAnnotation", { enumerable: true, get: function() { return _index.typeofTypeAnnotation; } }); Object.defineProperty(exports, "UnaryExpression", { enumerable: true, get: function() { return _index.unaryExpression; } }); Object.defineProperty(exports, "UnionTypeAnnotation", { enumerable: true, get: function() { return _index.unionTypeAnnotation; } }); Object.defineProperty(exports, "UpdateExpression", { enumerable: true, get: function() { return _index.updateExpression; } }); Object.defineProperty(exports, "V8IntrinsicIdentifier", { enumerable: true, get: function() { return _index.v8IntrinsicIdentifier; } }); Object.defineProperty(exports, "VariableDeclaration", { enumerable: true, get: function() { return _index.variableDeclaration; } }); Object.defineProperty(exports, "VariableDeclarator", { enumerable: true, get: function() { return _index.variableDeclarator; } }); Object.defineProperty(exports, "Variance", { enumerable: true, get: function() { return _index.variance; } }); Object.defineProperty(exports, "VoidTypeAnnotation", { enumerable: true, get: function() { return _index.voidTypeAnnotation; } }); Object.defineProperty(exports, "WhileStatement", { enumerable: true, get: function() { return _index.whileStatement; } }); Object.defineProperty(exports, "WithStatement", { enumerable: true, get: function() { return _index.withStatement; } }); Object.defineProperty(exports, "YieldExpression", { enumerable: true, get: function() { return _index.yieldExpression; } }); var _index = require_generated2(); } }); // node_modules/@babel/types/lib/clone/cloneNode.js var require_cloneNode = __commonJS({ "node_modules/@babel/types/lib/clone/cloneNode.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = cloneNode; var _definitions = require_definitions(); var _generated = require_generated(); var has2 = Function.call.bind(Object.prototype.hasOwnProperty); function cloneIfNode(obj, deep, withoutLoc, commentsCache) { if (obj && typeof obj.type === "string") { return cloneNodeInternal(obj, deep, withoutLoc, commentsCache); } return obj; } function cloneIfNodeOrArray(obj, deep, withoutLoc, commentsCache) { if (Array.isArray(obj)) { return obj.map((node2) => cloneIfNode(node2, deep, withoutLoc, commentsCache)); } return cloneIfNode(obj, deep, withoutLoc, commentsCache); } function cloneNode(node2, deep = true, withoutLoc = false) { return cloneNodeInternal(node2, deep, withoutLoc, /* @__PURE__ */ new Map()); } function cloneNodeInternal(node2, deep = true, withoutLoc = false, commentsCache) { if (!node2) return node2; const { type } = node2; const newNode = { type: node2.type }; if ((0, _generated.isIdentifier)(node2)) { newNode.name = node2.name; if (has2(node2, "optional") && typeof node2.optional === "boolean") { newNode.optional = node2.optional; } if (has2(node2, "typeAnnotation")) { newNode.typeAnnotation = deep ? cloneIfNodeOrArray(node2.typeAnnotation, true, withoutLoc, commentsCache) : node2.typeAnnotation; } } else if (!has2(_definitions.NODE_FIELDS, type)) { throw new Error(`Unknown node type: "${type}"`); } else { for (const field of Object.keys(_definitions.NODE_FIELDS[type])) { if (has2(node2, field)) { if (deep) { newNode[field] = (0, _generated.isFile)(node2) && field === "comments" ? maybeCloneComments(node2.comments, deep, withoutLoc, commentsCache) : cloneIfNodeOrArray(node2[field], true, withoutLoc, commentsCache); } else { newNode[field] = node2[field]; } } } } if (has2(node2, "loc")) { if (withoutLoc) { newNode.loc = null; } else { newNode.loc = node2.loc; } } if (has2(node2, "leadingComments")) { newNode.leadingComments = maybeCloneComments(node2.leadingComments, deep, withoutLoc, commentsCache); } if (has2(node2, "innerComments")) { newNode.innerComments = maybeCloneComments(node2.innerComments, deep, withoutLoc, commentsCache); } if (has2(node2, "trailingComments")) { newNode.trailingComments = maybeCloneComments(node2.trailingComments, deep, withoutLoc, commentsCache); } if (has2(node2, "extra")) { newNode.extra = Object.assign({}, node2.extra); } return newNode; } function maybeCloneComments(comments, deep, withoutLoc, commentsCache) { if (!comments || !deep) { return comments; } return comments.map((comment2) => { const cache = commentsCache.get(comment2); if (cache) return cache; const { type, value: value2, loc } = comment2; const ret = { type, value: value2, loc }; if (withoutLoc) { ret.loc = null; } commentsCache.set(comment2, ret); return ret; }); } } }); // node_modules/@babel/types/lib/clone/clone.js var require_clone = __commonJS({ "node_modules/@babel/types/lib/clone/clone.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = clone; var _cloneNode = require_cloneNode(); function clone(node2) { return (0, _cloneNode.default)(node2, false); } } }); // node_modules/@babel/types/lib/clone/cloneDeep.js var require_cloneDeep = __commonJS({ "node_modules/@babel/types/lib/clone/cloneDeep.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = cloneDeep2; var _cloneNode = require_cloneNode(); function cloneDeep2(node2) { return (0, _cloneNode.default)(node2); } } }); // node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js var require_cloneDeepWithoutLoc = __commonJS({ "node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = cloneDeepWithoutLoc; var _cloneNode = require_cloneNode(); function cloneDeepWithoutLoc(node2) { return (0, _cloneNode.default)(node2, true, true); } } }); // node_modules/@babel/types/lib/clone/cloneWithoutLoc.js var require_cloneWithoutLoc = __commonJS({ "node_modules/@babel/types/lib/clone/cloneWithoutLoc.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = cloneWithoutLoc; var _cloneNode = require_cloneNode(); function cloneWithoutLoc(node2) { return (0, _cloneNode.default)(node2, false, true); } } }); // node_modules/@babel/types/lib/comments/addComments.js var require_addComments = __commonJS({ "node_modules/@babel/types/lib/comments/addComments.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = addComments; function addComments(node2, type, comments) { if (!comments || !node2) return node2; const key2 = `${type}Comments`; if (node2[key2]) { if (type === "leading") { node2[key2] = comments.concat(node2[key2]); } else { node2[key2].push(...comments); } } else { node2[key2] = comments; } return node2; } } }); // node_modules/@babel/types/lib/comments/addComment.js var require_addComment = __commonJS({ "node_modules/@babel/types/lib/comments/addComment.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = addComment; var _addComments = require_addComments(); function addComment(node2, type, content3, line2) { return (0, _addComments.default)(node2, type, [{ type: line2 ? "CommentLine" : "CommentBlock", value: content3 }]); } } }); // node_modules/@babel/types/lib/utils/inherit.js var require_inherit = __commonJS({ "node_modules/@babel/types/lib/utils/inherit.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = inherit2; function inherit2(key2, child, parent) { if (child && parent) { child[key2] = Array.from(new Set([].concat(child[key2], parent[key2]).filter(Boolean))); } } } }); // node_modules/@babel/types/lib/comments/inheritInnerComments.js var require_inheritInnerComments = __commonJS({ "node_modules/@babel/types/lib/comments/inheritInnerComments.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = inheritInnerComments; var _inherit = require_inherit(); function inheritInnerComments(child, parent) { (0, _inherit.default)("innerComments", child, parent); } } }); // node_modules/@babel/types/lib/comments/inheritLeadingComments.js var require_inheritLeadingComments = __commonJS({ "node_modules/@babel/types/lib/comments/inheritLeadingComments.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = inheritLeadingComments; var _inherit = require_inherit(); function inheritLeadingComments(child, parent) { (0, _inherit.default)("leadingComments", child, parent); } } }); // node_modules/@babel/types/lib/comments/inheritTrailingComments.js var require_inheritTrailingComments = __commonJS({ "node_modules/@babel/types/lib/comments/inheritTrailingComments.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = inheritTrailingComments; var _inherit = require_inherit(); function inheritTrailingComments(child, parent) { (0, _inherit.default)("trailingComments", child, parent); } } }); // node_modules/@babel/types/lib/comments/inheritsComments.js var require_inheritsComments = __commonJS({ "node_modules/@babel/types/lib/comments/inheritsComments.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = inheritsComments; var _inheritTrailingComments = require_inheritTrailingComments(); var _inheritLeadingComments = require_inheritLeadingComments(); var _inheritInnerComments = require_inheritInnerComments(); function inheritsComments(child, parent) { (0, _inheritTrailingComments.default)(child, parent); (0, _inheritLeadingComments.default)(child, parent); (0, _inheritInnerComments.default)(child, parent); return child; } } }); // node_modules/@babel/types/lib/comments/removeComments.js var require_removeComments = __commonJS({ "node_modules/@babel/types/lib/comments/removeComments.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = removeComments; var _constants = require_constants(); function removeComments(node2) { _constants.COMMENT_KEYS.forEach((key2) => { node2[key2] = null; }); return node2; } } }); // node_modules/@babel/types/lib/constants/generated/index.js var require_generated4 = __commonJS({ "node_modules/@babel/types/lib/constants/generated/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.WHILE_TYPES = exports.USERWHITESPACABLE_TYPES = exports.UNARYLIKE_TYPES = exports.TYPESCRIPT_TYPES = exports.TSTYPE_TYPES = exports.TSTYPEELEMENT_TYPES = exports.TSENTITYNAME_TYPES = exports.TSBASETYPE_TYPES = exports.TERMINATORLESS_TYPES = exports.STATEMENT_TYPES = exports.STANDARDIZED_TYPES = exports.SCOPABLE_TYPES = exports.PUREISH_TYPES = exports.PROPERTY_TYPES = exports.PRIVATE_TYPES = exports.PATTERN_TYPES = exports.PATTERNLIKE_TYPES = exports.OBJECTMEMBER_TYPES = exports.MODULESPECIFIER_TYPES = exports.MODULEDECLARATION_TYPES = exports.MISCELLANEOUS_TYPES = exports.METHOD_TYPES = exports.LVAL_TYPES = exports.LOOP_TYPES = exports.LITERAL_TYPES = exports.JSX_TYPES = exports.IMPORTOREXPORTDECLARATION_TYPES = exports.IMMUTABLE_TYPES = exports.FUNCTION_TYPES = exports.FUNCTIONPARENT_TYPES = exports.FOR_TYPES = exports.FORXSTATEMENT_TYPES = exports.FLOW_TYPES = exports.FLOWTYPE_TYPES = exports.FLOWPREDICATE_TYPES = exports.FLOWDECLARATION_TYPES = exports.FLOWBASEANNOTATION_TYPES = exports.EXPRESSION_TYPES = exports.EXPRESSIONWRAPPER_TYPES = exports.EXPORTDECLARATION_TYPES = exports.ENUMMEMBER_TYPES = exports.ENUMBODY_TYPES = exports.DECLARATION_TYPES = exports.CONDITIONAL_TYPES = exports.COMPLETIONSTATEMENT_TYPES = exports.CLASS_TYPES = exports.BLOCK_TYPES = exports.BLOCKPARENT_TYPES = exports.BINARY_TYPES = exports.ACCESSOR_TYPES = void 0; var _definitions = require_definitions(); var STANDARDIZED_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Standardized"]; exports.STANDARDIZED_TYPES = STANDARDIZED_TYPES; var EXPRESSION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Expression"]; exports.EXPRESSION_TYPES = EXPRESSION_TYPES; var BINARY_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Binary"]; exports.BINARY_TYPES = BINARY_TYPES; var SCOPABLE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Scopable"]; exports.SCOPABLE_TYPES = SCOPABLE_TYPES; var BLOCKPARENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["BlockParent"]; exports.BLOCKPARENT_TYPES = BLOCKPARENT_TYPES; var BLOCK_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Block"]; exports.BLOCK_TYPES = BLOCK_TYPES; var STATEMENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Statement"]; exports.STATEMENT_TYPES = STATEMENT_TYPES; var TERMINATORLESS_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Terminatorless"]; exports.TERMINATORLESS_TYPES = TERMINATORLESS_TYPES; var COMPLETIONSTATEMENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["CompletionStatement"]; exports.COMPLETIONSTATEMENT_TYPES = COMPLETIONSTATEMENT_TYPES; var CONDITIONAL_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Conditional"]; exports.CONDITIONAL_TYPES = CONDITIONAL_TYPES; var LOOP_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Loop"]; exports.LOOP_TYPES = LOOP_TYPES; var WHILE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["While"]; exports.WHILE_TYPES = WHILE_TYPES; var EXPRESSIONWRAPPER_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ExpressionWrapper"]; exports.EXPRESSIONWRAPPER_TYPES = EXPRESSIONWRAPPER_TYPES; var FOR_TYPES = _definitions.FLIPPED_ALIAS_KEYS["For"]; exports.FOR_TYPES = FOR_TYPES; var FORXSTATEMENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ForXStatement"]; exports.FORXSTATEMENT_TYPES = FORXSTATEMENT_TYPES; var FUNCTION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Function"]; exports.FUNCTION_TYPES = FUNCTION_TYPES; var FUNCTIONPARENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["FunctionParent"]; exports.FUNCTIONPARENT_TYPES = FUNCTIONPARENT_TYPES; var PUREISH_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Pureish"]; exports.PUREISH_TYPES = PUREISH_TYPES; var DECLARATION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Declaration"]; exports.DECLARATION_TYPES = DECLARATION_TYPES; var PATTERNLIKE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["PatternLike"]; exports.PATTERNLIKE_TYPES = PATTERNLIKE_TYPES; var LVAL_TYPES = _definitions.FLIPPED_ALIAS_KEYS["LVal"]; exports.LVAL_TYPES = LVAL_TYPES; var TSENTITYNAME_TYPES = _definitions.FLIPPED_ALIAS_KEYS["TSEntityName"]; exports.TSENTITYNAME_TYPES = TSENTITYNAME_TYPES; var LITERAL_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Literal"]; exports.LITERAL_TYPES = LITERAL_TYPES; var IMMUTABLE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Immutable"]; exports.IMMUTABLE_TYPES = IMMUTABLE_TYPES; var USERWHITESPACABLE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["UserWhitespacable"]; exports.USERWHITESPACABLE_TYPES = USERWHITESPACABLE_TYPES; var METHOD_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Method"]; exports.METHOD_TYPES = METHOD_TYPES; var OBJECTMEMBER_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ObjectMember"]; exports.OBJECTMEMBER_TYPES = OBJECTMEMBER_TYPES; var PROPERTY_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Property"]; exports.PROPERTY_TYPES = PROPERTY_TYPES; var UNARYLIKE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["UnaryLike"]; exports.UNARYLIKE_TYPES = UNARYLIKE_TYPES; var PATTERN_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Pattern"]; exports.PATTERN_TYPES = PATTERN_TYPES; var CLASS_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Class"]; exports.CLASS_TYPES = CLASS_TYPES; var IMPORTOREXPORTDECLARATION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ImportOrExportDeclaration"]; exports.IMPORTOREXPORTDECLARATION_TYPES = IMPORTOREXPORTDECLARATION_TYPES; var EXPORTDECLARATION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ExportDeclaration"]; exports.EXPORTDECLARATION_TYPES = EXPORTDECLARATION_TYPES; var MODULESPECIFIER_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ModuleSpecifier"]; exports.MODULESPECIFIER_TYPES = MODULESPECIFIER_TYPES; var ACCESSOR_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Accessor"]; exports.ACCESSOR_TYPES = ACCESSOR_TYPES; var PRIVATE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Private"]; exports.PRIVATE_TYPES = PRIVATE_TYPES; var FLOW_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Flow"]; exports.FLOW_TYPES = FLOW_TYPES; var FLOWTYPE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["FlowType"]; exports.FLOWTYPE_TYPES = FLOWTYPE_TYPES; var FLOWBASEANNOTATION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["FlowBaseAnnotation"]; exports.FLOWBASEANNOTATION_TYPES = FLOWBASEANNOTATION_TYPES; var FLOWDECLARATION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["FlowDeclaration"]; exports.FLOWDECLARATION_TYPES = FLOWDECLARATION_TYPES; var FLOWPREDICATE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["FlowPredicate"]; exports.FLOWPREDICATE_TYPES = FLOWPREDICATE_TYPES; var ENUMBODY_TYPES = _definitions.FLIPPED_ALIAS_KEYS["EnumBody"]; exports.ENUMBODY_TYPES = ENUMBODY_TYPES; var ENUMMEMBER_TYPES = _definitions.FLIPPED_ALIAS_KEYS["EnumMember"]; exports.ENUMMEMBER_TYPES = ENUMMEMBER_TYPES; var JSX_TYPES = _definitions.FLIPPED_ALIAS_KEYS["JSX"]; exports.JSX_TYPES = JSX_TYPES; var MISCELLANEOUS_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Miscellaneous"]; exports.MISCELLANEOUS_TYPES = MISCELLANEOUS_TYPES; var TYPESCRIPT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["TypeScript"]; exports.TYPESCRIPT_TYPES = TYPESCRIPT_TYPES; var TSTYPEELEMENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["TSTypeElement"]; exports.TSTYPEELEMENT_TYPES = TSTYPEELEMENT_TYPES; var TSTYPE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["TSType"]; exports.TSTYPE_TYPES = TSTYPE_TYPES; var TSBASETYPE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["TSBaseType"]; exports.TSBASETYPE_TYPES = TSBASETYPE_TYPES; var MODULEDECLARATION_TYPES = IMPORTOREXPORTDECLARATION_TYPES; exports.MODULEDECLARATION_TYPES = MODULEDECLARATION_TYPES; } }); // node_modules/@babel/types/lib/converters/toBlock.js var require_toBlock = __commonJS({ "node_modules/@babel/types/lib/converters/toBlock.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = toBlock; var _generated = require_generated(); var _generated2 = require_generated2(); function toBlock(node2, parent) { if ((0, _generated.isBlockStatement)(node2)) { return node2; } let blockNodes = []; if ((0, _generated.isEmptyStatement)(node2)) { blockNodes = []; } else { if (!(0, _generated.isStatement)(node2)) { if ((0, _generated.isFunction)(parent)) { node2 = (0, _generated2.returnStatement)(node2); } else { node2 = (0, _generated2.expressionStatement)(node2); } } blockNodes = [node2]; } return (0, _generated2.blockStatement)(blockNodes); } } }); // node_modules/@babel/types/lib/converters/ensureBlock.js var require_ensureBlock = __commonJS({ "node_modules/@babel/types/lib/converters/ensureBlock.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = ensureBlock; var _toBlock = require_toBlock(); function ensureBlock(node2, key2 = "body") { const result = (0, _toBlock.default)(node2[key2], node2); node2[key2] = result; return result; } } }); // node_modules/@babel/types/lib/converters/toIdentifier.js var require_toIdentifier = __commonJS({ "node_modules/@babel/types/lib/converters/toIdentifier.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = toIdentifier2; var _isValidIdentifier = require_isValidIdentifier(); var _helperValidatorIdentifier = require_lib(); function toIdentifier2(input) { input = input + ""; let name2 = ""; for (const c2 of input) { name2 += (0, _helperValidatorIdentifier.isIdentifierChar)(c2.codePointAt(0)) ? c2 : "-"; } name2 = name2.replace(/^[-0-9]+/, ""); name2 = name2.replace(/[-\s]+(.)?/g, function(match, c2) { return c2 ? c2.toUpperCase() : ""; }); if (!(0, _isValidIdentifier.default)(name2)) { name2 = `_${name2}`; } return name2 || "_"; } } }); // node_modules/@babel/types/lib/converters/toBindingIdentifierName.js var require_toBindingIdentifierName = __commonJS({ "node_modules/@babel/types/lib/converters/toBindingIdentifierName.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = toBindingIdentifierName; var _toIdentifier = require_toIdentifier(); function toBindingIdentifierName(name2) { name2 = (0, _toIdentifier.default)(name2); if (name2 === "eval" || name2 === "arguments") name2 = "_" + name2; return name2; } } }); // node_modules/@babel/types/lib/converters/toComputedKey.js var require_toComputedKey = __commonJS({ "node_modules/@babel/types/lib/converters/toComputedKey.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = toComputedKey; var _generated = require_generated(); var _generated2 = require_generated2(); function toComputedKey(node2, key2 = node2.key || node2.property) { if (!node2.computed && (0, _generated.isIdentifier)(key2)) key2 = (0, _generated2.stringLiteral)(key2.name); return key2; } } }); // node_modules/@babel/types/lib/converters/toExpression.js var require_toExpression = __commonJS({ "node_modules/@babel/types/lib/converters/toExpression.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _generated = require_generated(); var _default = toExpression; exports.default = _default; function toExpression(node2) { if ((0, _generated.isExpressionStatement)(node2)) { node2 = node2.expression; } if ((0, _generated.isExpression)(node2)) { return node2; } if ((0, _generated.isClass)(node2)) { node2.type = "ClassExpression"; } else if ((0, _generated.isFunction)(node2)) { node2.type = "FunctionExpression"; } if (!(0, _generated.isExpression)(node2)) { throw new Error(`cannot turn ${node2.type} to an expression`); } return node2; } } }); // node_modules/@babel/types/lib/traverse/traverseFast.js var require_traverseFast = __commonJS({ "node_modules/@babel/types/lib/traverse/traverseFast.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = traverseFast; var _definitions = require_definitions(); function traverseFast(node2, enter, opts) { if (!node2) return; const keys2 = _definitions.VISITOR_KEYS[node2.type]; if (!keys2) return; opts = opts || {}; enter(node2, opts); for (const key2 of keys2) { const subNode = node2[key2]; if (Array.isArray(subNode)) { for (const node3 of subNode) { traverseFast(node3, enter, opts); } } else { traverseFast(subNode, enter, opts); } } } } }); // node_modules/@babel/types/lib/modifications/removeProperties.js var require_removeProperties = __commonJS({ "node_modules/@babel/types/lib/modifications/removeProperties.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = removeProperties; var _constants = require_constants(); var CLEAR_KEYS = ["tokens", "start", "end", "loc", "raw", "rawValue"]; var CLEAR_KEYS_PLUS_COMMENTS = [..._constants.COMMENT_KEYS, "comments", ...CLEAR_KEYS]; function removeProperties(node2, opts = {}) { const map = opts.preserveComments ? CLEAR_KEYS : CLEAR_KEYS_PLUS_COMMENTS; for (const key2 of map) { if (node2[key2] != null) node2[key2] = void 0; } for (const key2 of Object.keys(node2)) { if (key2[0] === "_" && node2[key2] != null) node2[key2] = void 0; } const symbols = Object.getOwnPropertySymbols(node2); for (const sym of symbols) { node2[sym] = null; } } } }); // node_modules/@babel/types/lib/modifications/removePropertiesDeep.js var require_removePropertiesDeep = __commonJS({ "node_modules/@babel/types/lib/modifications/removePropertiesDeep.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = removePropertiesDeep; var _traverseFast = require_traverseFast(); var _removeProperties = require_removeProperties(); function removePropertiesDeep(tree, opts) { (0, _traverseFast.default)(tree, _removeProperties.default, opts); return tree; } } }); // node_modules/@babel/types/lib/converters/toKeyAlias.js var require_toKeyAlias = __commonJS({ "node_modules/@babel/types/lib/converters/toKeyAlias.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = toKeyAlias; var _generated = require_generated(); var _cloneNode = require_cloneNode(); var _removePropertiesDeep = require_removePropertiesDeep(); function toKeyAlias(node2, key2 = node2.key) { let alias; if (node2.kind === "method") { return toKeyAlias.increment() + ""; } else if ((0, _generated.isIdentifier)(key2)) { alias = key2.name; } else if ((0, _generated.isStringLiteral)(key2)) { alias = JSON.stringify(key2.value); } else { alias = JSON.stringify((0, _removePropertiesDeep.default)((0, _cloneNode.default)(key2))); } if (node2.computed) { alias = `[${alias}]`; } if (node2.static) { alias = `static:${alias}`; } return alias; } toKeyAlias.uid = 0; toKeyAlias.increment = function() { if (toKeyAlias.uid >= Number.MAX_SAFE_INTEGER) { return toKeyAlias.uid = 0; } else { return toKeyAlias.uid++; } }; } }); // node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js var require_getBindingIdentifiers = __commonJS({ "node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = getBindingIdentifiers; var _generated = require_generated(); function getBindingIdentifiers(node2, duplicates, outerOnly) { const search2 = [].concat(node2); const ids = /* @__PURE__ */ Object.create(null); while (search2.length) { const id = search2.shift(); if (!id) continue; const keys2 = getBindingIdentifiers.keys[id.type]; if ((0, _generated.isIdentifier)(id)) { if (duplicates) { const _ids = ids[id.name] = ids[id.name] || []; _ids.push(id); } else { ids[id.name] = id; } continue; } if ((0, _generated.isExportDeclaration)(id) && !(0, _generated.isExportAllDeclaration)(id)) { if ((0, _generated.isDeclaration)(id.declaration)) { search2.push(id.declaration); } continue; } if (outerOnly) { if ((0, _generated.isFunctionDeclaration)(id)) { search2.push(id.id); continue; } if ((0, _generated.isFunctionExpression)(id)) { continue; } } if (keys2) { for (let i = 0; i < keys2.length; i++) { const key2 = keys2[i]; const nodes = id[key2]; if (nodes) { Array.isArray(nodes) ? search2.push(...nodes) : search2.push(nodes); } } } } return ids; } getBindingIdentifiers.keys = { DeclareClass: ["id"], DeclareFunction: ["id"], DeclareModule: ["id"], DeclareVariable: ["id"], DeclareInterface: ["id"], DeclareTypeAlias: ["id"], DeclareOpaqueType: ["id"], InterfaceDeclaration: ["id"], TypeAlias: ["id"], OpaqueType: ["id"], CatchClause: ["param"], LabeledStatement: ["label"], UnaryExpression: ["argument"], AssignmentExpression: ["left"], ImportSpecifier: ["local"], ImportNamespaceSpecifier: ["local"], ImportDefaultSpecifier: ["local"], ImportDeclaration: ["specifiers"], ExportSpecifier: ["exported"], ExportNamespaceSpecifier: ["exported"], ExportDefaultSpecifier: ["exported"], FunctionDeclaration: ["id", "params"], FunctionExpression: ["id", "params"], ArrowFunctionExpression: ["params"], ObjectMethod: ["params"], ClassMethod: ["params"], ClassPrivateMethod: ["params"], ForInStatement: ["left"], ForOfStatement: ["left"], ClassDeclaration: ["id"], ClassExpression: ["id"], RestElement: ["argument"], UpdateExpression: ["argument"], ObjectProperty: ["value"], AssignmentPattern: ["left"], ArrayPattern: ["elements"], ObjectPattern: ["properties"], VariableDeclaration: ["declarations"], VariableDeclarator: ["id"] }; } }); // node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js var require_gatherSequenceExpressions = __commonJS({ "node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = gatherSequenceExpressions; var _getBindingIdentifiers = require_getBindingIdentifiers(); var _generated = require_generated(); var _generated2 = require_generated2(); var _cloneNode = require_cloneNode(); function gatherSequenceExpressions(nodes, scope, declars) { const exprs = []; let ensureLastUndefined = true; for (const node2 of nodes) { if (!(0, _generated.isEmptyStatement)(node2)) { ensureLastUndefined = false; } if ((0, _generated.isExpression)(node2)) { exprs.push(node2); } else if ((0, _generated.isExpressionStatement)(node2)) { exprs.push(node2.expression); } else if ((0, _generated.isVariableDeclaration)(node2)) { if (node2.kind !== "var") return; for (const declar of node2.declarations) { const bindings = (0, _getBindingIdentifiers.default)(declar); for (const key2 of Object.keys(bindings)) { declars.push({ kind: node2.kind, id: (0, _cloneNode.default)(bindings[key2]) }); } if (declar.init) { exprs.push((0, _generated2.assignmentExpression)("=", declar.id, declar.init)); } } ensureLastUndefined = true; } else if ((0, _generated.isIfStatement)(node2)) { const consequent = node2.consequent ? gatherSequenceExpressions([node2.consequent], scope, declars) : scope.buildUndefinedNode(); const alternate = node2.alternate ? gatherSequenceExpressions([node2.alternate], scope, declars) : scope.buildUndefinedNode(); if (!consequent || !alternate) return; exprs.push((0, _generated2.conditionalExpression)(node2.test, consequent, alternate)); } else if ((0, _generated.isBlockStatement)(node2)) { const body = gatherSequenceExpressions(node2.body, scope, declars); if (!body) return; exprs.push(body); } else if ((0, _generated.isEmptyStatement)(node2)) { if (nodes.indexOf(node2) === 0) { ensureLastUndefined = true; } } else { return; } } if (ensureLastUndefined) { exprs.push(scope.buildUndefinedNode()); } if (exprs.length === 1) { return exprs[0]; } else { return (0, _generated2.sequenceExpression)(exprs); } } } }); // node_modules/@babel/types/lib/converters/toSequenceExpression.js var require_toSequenceExpression = __commonJS({ "node_modules/@babel/types/lib/converters/toSequenceExpression.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = toSequenceExpression; var _gatherSequenceExpressions = require_gatherSequenceExpressions(); function toSequenceExpression(nodes, scope) { if (!(nodes != null && nodes.length)) return; const declars = []; const result = (0, _gatherSequenceExpressions.default)(nodes, scope, declars); if (!result) return; for (const declar of declars) { scope.push(declar); } return result; } } }); // node_modules/@babel/types/lib/converters/toStatement.js var require_toStatement = __commonJS({ "node_modules/@babel/types/lib/converters/toStatement.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _generated = require_generated(); var _generated2 = require_generated2(); var _default = toStatement; exports.default = _default; function toStatement(node2, ignore3) { if ((0, _generated.isStatement)(node2)) { return node2; } let mustHaveId = false; let newType; if ((0, _generated.isClass)(node2)) { mustHaveId = true; newType = "ClassDeclaration"; } else if ((0, _generated.isFunction)(node2)) { mustHaveId = true; newType = "FunctionDeclaration"; } else if ((0, _generated.isAssignmentExpression)(node2)) { return (0, _generated2.expressionStatement)(node2); } if (mustHaveId && !node2.id) { newType = false; } if (!newType) { if (ignore3) { return false; } else { throw new Error(`cannot turn ${node2.type} to a statement`); } } node2.type = newType; return node2; } } }); // node_modules/@babel/types/lib/converters/valueToNode.js var require_valueToNode = __commonJS({ "node_modules/@babel/types/lib/converters/valueToNode.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _isValidIdentifier = require_isValidIdentifier(); var _generated = require_generated2(); var _default = valueToNode; exports.default = _default; var objectToString = Function.call.bind(Object.prototype.toString); function isRegExp(value2) { return objectToString(value2) === "[object RegExp]"; } function isPlainObject2(value2) { if (typeof value2 !== "object" || value2 === null || Object.prototype.toString.call(value2) !== "[object Object]") { return false; } const proto = Object.getPrototypeOf(value2); return proto === null || Object.getPrototypeOf(proto) === null; } function valueToNode(value2) { if (value2 === void 0) { return (0, _generated.identifier)("undefined"); } if (value2 === true || value2 === false) { return (0, _generated.booleanLiteral)(value2); } if (value2 === null) { return (0, _generated.nullLiteral)(); } if (typeof value2 === "string") { return (0, _generated.stringLiteral)(value2); } if (typeof value2 === "number") { let result; if (Number.isFinite(value2)) { result = (0, _generated.numericLiteral)(Math.abs(value2)); } else { let numerator; if (Number.isNaN(value2)) { numerator = (0, _generated.numericLiteral)(0); } else { numerator = (0, _generated.numericLiteral)(1); } result = (0, _generated.binaryExpression)("/", numerator, (0, _generated.numericLiteral)(0)); } if (value2 < 0 || Object.is(value2, -0)) { result = (0, _generated.unaryExpression)("-", result); } return result; } if (isRegExp(value2)) { const pattern = value2.source; const flags = value2.toString().match(/\/([a-z]+|)$/)[1]; return (0, _generated.regExpLiteral)(pattern, flags); } if (Array.isArray(value2)) { return (0, _generated.arrayExpression)(value2.map(valueToNode)); } if (isPlainObject2(value2)) { const props = []; for (const key2 of Object.keys(value2)) { let nodeKey; if ((0, _isValidIdentifier.default)(key2)) { nodeKey = (0, _generated.identifier)(key2); } else { nodeKey = (0, _generated.stringLiteral)(key2); } props.push((0, _generated.objectProperty)(nodeKey, valueToNode(value2[key2]))); } return (0, _generated.objectExpression)(props); } throw new Error("don't know how to turn this value into a node"); } } }); // node_modules/@babel/types/lib/modifications/appendToMemberExpression.js var require_appendToMemberExpression = __commonJS({ "node_modules/@babel/types/lib/modifications/appendToMemberExpression.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = appendToMemberExpression; var _generated = require_generated2(); function appendToMemberExpression(member, append, computed = false) { member.object = (0, _generated.memberExpression)(member.object, member.property, member.computed); member.property = append; member.computed = !!computed; return member; } } }); // node_modules/@babel/types/lib/modifications/inherits.js var require_inherits = __commonJS({ "node_modules/@babel/types/lib/modifications/inherits.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = inherits; var _constants = require_constants(); var _inheritsComments = require_inheritsComments(); function inherits(child, parent) { if (!child || !parent) return child; for (const key2 of _constants.INHERIT_KEYS.optional) { if (child[key2] == null) { child[key2] = parent[key2]; } } for (const key2 of Object.keys(parent)) { if (key2[0] === "_" && key2 !== "__clone") { child[key2] = parent[key2]; } } for (const key2 of _constants.INHERIT_KEYS.force) { child[key2] = parent[key2]; } (0, _inheritsComments.default)(child, parent); return child; } } }); // node_modules/@babel/types/lib/modifications/prependToMemberExpression.js var require_prependToMemberExpression = __commonJS({ "node_modules/@babel/types/lib/modifications/prependToMemberExpression.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = prependToMemberExpression; var _generated = require_generated2(); var _ = require_lib3(); function prependToMemberExpression(member, prepend) { if ((0, _.isSuper)(member.object)) { throw new Error("Cannot prepend node to super property access (`super.foo`)."); } member.object = (0, _generated.memberExpression)(prepend, member.object); return member; } } }); // node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js var require_getOuterBindingIdentifiers = __commonJS({ "node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _getBindingIdentifiers = require_getBindingIdentifiers(); var _default = getOuterBindingIdentifiers; exports.default = _default; function getOuterBindingIdentifiers(node2, duplicates) { return (0, _getBindingIdentifiers.default)(node2, duplicates, true); } } }); // node_modules/@babel/types/lib/traverse/traverse.js var require_traverse = __commonJS({ "node_modules/@babel/types/lib/traverse/traverse.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = traverse; var _definitions = require_definitions(); function traverse(node2, handlers3, state) { if (typeof handlers3 === "function") { handlers3 = { enter: handlers3 }; } const { enter, exit: exit2 } = handlers3; traverseSimpleImpl(node2, enter, exit2, state, []); } function traverseSimpleImpl(node2, enter, exit2, state, ancestors) { const keys2 = _definitions.VISITOR_KEYS[node2.type]; if (!keys2) return; if (enter) enter(node2, ancestors, state); for (const key2 of keys2) { const subNode = node2[key2]; if (Array.isArray(subNode)) { for (let i = 0; i < subNode.length; i++) { const child = subNode[i]; if (!child) continue; ancestors.push({ node: node2, key: key2, index: i }); traverseSimpleImpl(child, enter, exit2, state, ancestors); ancestors.pop(); } } else if (subNode) { ancestors.push({ node: node2, key: key2 }); traverseSimpleImpl(subNode, enter, exit2, state, ancestors); ancestors.pop(); } } if (exit2) exit2(node2, ancestors, state); } } }); // node_modules/@babel/types/lib/validators/isBinding.js var require_isBinding = __commonJS({ "node_modules/@babel/types/lib/validators/isBinding.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = isBinding; var _getBindingIdentifiers = require_getBindingIdentifiers(); function isBinding(node2, parent, grandparent) { if (grandparent && node2.type === "Identifier" && parent.type === "ObjectProperty" && grandparent.type === "ObjectExpression") { return false; } const keys2 = _getBindingIdentifiers.default.keys[parent.type]; if (keys2) { for (let i = 0; i < keys2.length; i++) { const key2 = keys2[i]; const val = parent[key2]; if (Array.isArray(val)) { if (val.indexOf(node2) >= 0) return true; } else { if (val === node2) return true; } } } return false; } } }); // node_modules/@babel/types/lib/validators/isLet.js var require_isLet = __commonJS({ "node_modules/@babel/types/lib/validators/isLet.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = isLet; var _generated = require_generated(); var _constants = require_constants(); function isLet(node2) { return (0, _generated.isVariableDeclaration)(node2) && (node2.kind !== "var" || node2[_constants.BLOCK_SCOPED_SYMBOL]); } } }); // node_modules/@babel/types/lib/validators/isBlockScoped.js var require_isBlockScoped = __commonJS({ "node_modules/@babel/types/lib/validators/isBlockScoped.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = isBlockScoped; var _generated = require_generated(); var _isLet = require_isLet(); function isBlockScoped(node2) { return (0, _generated.isFunctionDeclaration)(node2) || (0, _generated.isClassDeclaration)(node2) || (0, _isLet.default)(node2); } } }); // node_modules/@babel/types/lib/validators/isImmutable.js var require_isImmutable = __commonJS({ "node_modules/@babel/types/lib/validators/isImmutable.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = isImmutable; var _isType = require_isType(); var _generated = require_generated(); function isImmutable(node2) { if ((0, _isType.default)(node2.type, "Immutable")) return true; if ((0, _generated.isIdentifier)(node2)) { if (node2.name === "undefined") { return true; } else { return false; } } return false; } } }); // node_modules/@babel/types/lib/validators/isNodesEquivalent.js var require_isNodesEquivalent = __commonJS({ "node_modules/@babel/types/lib/validators/isNodesEquivalent.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = isNodesEquivalent; var _definitions = require_definitions(); function isNodesEquivalent(a, b) { if (typeof a !== "object" || typeof b !== "object" || a == null || b == null) { return a === b; } if (a.type !== b.type) { return false; } const fields = Object.keys(_definitions.NODE_FIELDS[a.type] || a.type); const visitorKeys = _definitions.VISITOR_KEYS[a.type]; for (const field of fields) { const val_a = a[field]; const val_b = b[field]; if (typeof val_a !== typeof val_b) { return false; } if (val_a == null && val_b == null) { continue; } else if (val_a == null || val_b == null) { return false; } if (Array.isArray(val_a)) { if (!Array.isArray(val_b)) { return false; } if (val_a.length !== val_b.length) { return false; } for (let i = 0; i < val_a.length; i++) { if (!isNodesEquivalent(val_a[i], val_b[i])) { return false; } } continue; } if (typeof val_a === "object" && !(visitorKeys != null && visitorKeys.includes(field))) { for (const key2 of Object.keys(val_a)) { if (val_a[key2] !== val_b[key2]) { return false; } } continue; } if (!isNodesEquivalent(val_a, val_b)) { return false; } } return true; } } }); // node_modules/@babel/types/lib/validators/isReferenced.js var require_isReferenced = __commonJS({ "node_modules/@babel/types/lib/validators/isReferenced.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = isReferenced; function isReferenced(node2, parent, grandparent) { switch (parent.type) { case "MemberExpression": case "OptionalMemberExpression": if (parent.property === node2) { return !!parent.computed; } return parent.object === node2; case "JSXMemberExpression": return parent.object === node2; case "VariableDeclarator": return parent.init === node2; case "ArrowFunctionExpression": return parent.body === node2; case "PrivateName": return false; case "ClassMethod": case "ClassPrivateMethod": case "ObjectMethod": if (parent.key === node2) { return !!parent.computed; } return false; case "ObjectProperty": if (parent.key === node2) { return !!parent.computed; } return !grandparent || grandparent.type !== "ObjectPattern"; case "ClassProperty": case "ClassAccessorProperty": if (parent.key === node2) { return !!parent.computed; } return true; case "ClassPrivateProperty": return parent.key !== node2; case "ClassDeclaration": case "ClassExpression": return parent.superClass === node2; case "AssignmentExpression": return parent.right === node2; case "AssignmentPattern": return parent.right === node2; case "LabeledStatement": return false; case "CatchClause": return false; case "RestElement": return false; case "BreakStatement": case "ContinueStatement": return false; case "FunctionDeclaration": case "FunctionExpression": return false; case "ExportNamespaceSpecifier": case "ExportDefaultSpecifier": return false; case "ExportSpecifier": if (grandparent != null && grandparent.source) { return false; } return parent.local === node2; case "ImportDefaultSpecifier": case "ImportNamespaceSpecifier": case "ImportSpecifier": return false; case "ImportAttribute": return false; case "JSXAttribute": return false; case "ObjectPattern": case "ArrayPattern": return false; case "MetaProperty": return false; case "ObjectTypeProperty": return parent.key !== node2; case "TSEnumMember": return parent.id !== node2; case "TSPropertySignature": if (parent.key === node2) { return !!parent.computed; } return true; } return true; } } }); // node_modules/@babel/types/lib/validators/isScope.js var require_isScope = __commonJS({ "node_modules/@babel/types/lib/validators/isScope.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = isScope; var _generated = require_generated(); function isScope(node2, parent) { if ((0, _generated.isBlockStatement)(node2) && ((0, _generated.isFunction)(parent) || (0, _generated.isCatchClause)(parent))) { return false; } if ((0, _generated.isPattern)(node2) && ((0, _generated.isFunction)(parent) || (0, _generated.isCatchClause)(parent))) { return true; } return (0, _generated.isScopable)(node2); } } }); // node_modules/@babel/types/lib/validators/isSpecifierDefault.js var require_isSpecifierDefault = __commonJS({ "node_modules/@babel/types/lib/validators/isSpecifierDefault.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = isSpecifierDefault; var _generated = require_generated(); function isSpecifierDefault(specifier) { return (0, _generated.isImportDefaultSpecifier)(specifier) || (0, _generated.isIdentifier)(specifier.imported || specifier.exported, { name: "default" }); } } }); // node_modules/@babel/types/lib/validators/isValidES3Identifier.js var require_isValidES3Identifier = __commonJS({ "node_modules/@babel/types/lib/validators/isValidES3Identifier.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = isValidES3Identifier; var _isValidIdentifier = require_isValidIdentifier(); var RESERVED_WORDS_ES3_ONLY = /* @__PURE__ */ new Set(["abstract", "boolean", "byte", "char", "double", "enum", "final", "float", "goto", "implements", "int", "interface", "long", "native", "package", "private", "protected", "public", "short", "static", "synchronized", "throws", "transient", "volatile"]); function isValidES3Identifier(name2) { return (0, _isValidIdentifier.default)(name2) && !RESERVED_WORDS_ES3_ONLY.has(name2); } } }); // node_modules/@babel/types/lib/validators/isVar.js var require_isVar = __commonJS({ "node_modules/@babel/types/lib/validators/isVar.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = isVar; var _generated = require_generated(); var _constants = require_constants(); function isVar(node2) { return (0, _generated.isVariableDeclaration)(node2, { kind: "var" }) && !node2[_constants.BLOCK_SCOPED_SYMBOL]; } } }); // node_modules/@babel/types/lib/index.js var require_lib3 = __commonJS({ "node_modules/@babel/types/lib/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _exportNames = { react: true, assertNode: true, createTypeAnnotationBasedOnTypeof: true, createUnionTypeAnnotation: true, createFlowUnionType: true, createTSUnionType: true, cloneNode: true, clone: true, cloneDeep: true, cloneDeepWithoutLoc: true, cloneWithoutLoc: true, addComment: true, addComments: true, inheritInnerComments: true, inheritLeadingComments: true, inheritsComments: true, inheritTrailingComments: true, removeComments: true, ensureBlock: true, toBindingIdentifierName: true, toBlock: true, toComputedKey: true, toExpression: true, toIdentifier: true, toKeyAlias: true, toSequenceExpression: true, toStatement: true, valueToNode: true, appendToMemberExpression: true, inherits: true, prependToMemberExpression: true, removeProperties: true, removePropertiesDeep: true, removeTypeDuplicates: true, getBindingIdentifiers: true, getOuterBindingIdentifiers: true, traverse: true, traverseFast: true, shallowEqual: true, is: true, isBinding: true, isBlockScoped: true, isImmutable: true, isLet: true, isNode: true, isNodesEquivalent: true, isPlaceholderType: true, isReferenced: true, isScope: true, isSpecifierDefault: true, isType: true, isValidES3Identifier: true, isValidIdentifier: true, isVar: true, matchesPattern: true, validate: true, buildMatchMemberExpression: true, __internal__deprecationWarning: true }; Object.defineProperty(exports, "__internal__deprecationWarning", { enumerable: true, get: function() { return _deprecationWarning.default; } }); Object.defineProperty(exports, "addComment", { enumerable: true, get: function() { return _addComment.default; } }); Object.defineProperty(exports, "addComments", { enumerable: true, get: function() { return _addComments.default; } }); Object.defineProperty(exports, "appendToMemberExpression", { enumerable: true, get: function() { return _appendToMemberExpression.default; } }); Object.defineProperty(exports, "assertNode", { enumerable: true, get: function() { return _assertNode.default; } }); Object.defineProperty(exports, "buildMatchMemberExpression", { enumerable: true, get: function() { return _buildMatchMemberExpression.default; } }); Object.defineProperty(exports, "clone", { enumerable: true, get: function() { return _clone.default; } }); Object.defineProperty(exports, "cloneDeep", { enumerable: true, get: function() { return _cloneDeep.default; } }); Object.defineProperty(exports, "cloneDeepWithoutLoc", { enumerable: true, get: function() { return _cloneDeepWithoutLoc.default; } }); Object.defineProperty(exports, "cloneNode", { enumerable: true, get: function() { return _cloneNode.default; } }); Object.defineProperty(exports, "cloneWithoutLoc", { enumerable: true, get: function() { return _cloneWithoutLoc.default; } }); Object.defineProperty(exports, "createFlowUnionType", { enumerable: true, get: function() { return _createFlowUnionType.default; } }); Object.defineProperty(exports, "createTSUnionType", { enumerable: true, get: function() { return _createTSUnionType.default; } }); Object.defineProperty(exports, "createTypeAnnotationBasedOnTypeof", { enumerable: true, get: function() { return _createTypeAnnotationBasedOnTypeof.default; } }); Object.defineProperty(exports, "createUnionTypeAnnotation", { enumerable: true, get: function() { return _createFlowUnionType.default; } }); Object.defineProperty(exports, "ensureBlock", { enumerable: true, get: function() { return _ensureBlock.default; } }); Object.defineProperty(exports, "getBindingIdentifiers", { enumerable: true, get: function() { return _getBindingIdentifiers.default; } }); Object.defineProperty(exports, "getOuterBindingIdentifiers", { enumerable: true, get: function() { return _getOuterBindingIdentifiers.default; } }); Object.defineProperty(exports, "inheritInnerComments", { enumerable: true, get: function() { return _inheritInnerComments.default; } }); Object.defineProperty(exports, "inheritLeadingComments", { enumerable: true, get: function() { return _inheritLeadingComments.default; } }); Object.defineProperty(exports, "inheritTrailingComments", { enumerable: true, get: function() { return _inheritTrailingComments.default; } }); Object.defineProperty(exports, "inherits", { enumerable: true, get: function() { return _inherits.default; } }); Object.defineProperty(exports, "inheritsComments", { enumerable: true, get: function() { return _inheritsComments.default; } }); Object.defineProperty(exports, "is", { enumerable: true, get: function() { return _is.default; } }); Object.defineProperty(exports, "isBinding", { enumerable: true, get: function() { return _isBinding.default; } }); Object.defineProperty(exports, "isBlockScoped", { enumerable: true, get: function() { return _isBlockScoped.default; } }); Object.defineProperty(exports, "isImmutable", { enumerable: true, get: function() { return _isImmutable.default; } }); Object.defineProperty(exports, "isLet", { enumerable: true, get: function() { return _isLet.default; } }); Object.defineProperty(exports, "isNode", { enumerable: true, get: function() { return _isNode.default; } }); Object.defineProperty(exports, "isNodesEquivalent", { enumerable: true, get: function() { return _isNodesEquivalent.default; } }); Object.defineProperty(exports, "isPlaceholderType", { enumerable: true, get: function() { return _isPlaceholderType.default; } }); Object.defineProperty(exports, "isReferenced", { enumerable: true, get: function() { return _isReferenced.default; } }); Object.defineProperty(exports, "isScope", { enumerable: true, get: function() { return _isScope.default; } }); Object.defineProperty(exports, "isSpecifierDefault", { enumerable: true, get: function() { return _isSpecifierDefault.default; } }); Object.defineProperty(exports, "isType", { enumerable: true, get: function() { return _isType.default; } }); Object.defineProperty(exports, "isValidES3Identifier", { enumerable: true, get: function() { return _isValidES3Identifier.default; } }); Object.defineProperty(exports, "isValidIdentifier", { enumerable: true, get: function() { return _isValidIdentifier.default; } }); Object.defineProperty(exports, "isVar", { enumerable: true, get: function() { return _isVar.default; } }); Object.defineProperty(exports, "matchesPattern", { enumerable: true, get: function() { return _matchesPattern.default; } }); Object.defineProperty(exports, "prependToMemberExpression", { enumerable: true, get: function() { return _prependToMemberExpression.default; } }); exports.react = void 0; Object.defineProperty(exports, "removeComments", { enumerable: true, get: function() { return _removeComments.default; } }); Object.defineProperty(exports, "removeProperties", { enumerable: true, get: function() { return _removeProperties.default; } }); Object.defineProperty(exports, "removePropertiesDeep", { enumerable: true, get: function() { return _removePropertiesDeep.default; } }); Object.defineProperty(exports, "removeTypeDuplicates", { enumerable: true, get: function() { return _removeTypeDuplicates.default; } }); Object.defineProperty(exports, "shallowEqual", { enumerable: true, get: function() { return _shallowEqual.default; } }); Object.defineProperty(exports, "toBindingIdentifierName", { enumerable: true, get: function() { return _toBindingIdentifierName.default; } }); Object.defineProperty(exports, "toBlock", { enumerable: true, get: function() { return _toBlock.default; } }); Object.defineProperty(exports, "toComputedKey", { enumerable: true, get: function() { return _toComputedKey.default; } }); Object.defineProperty(exports, "toExpression", { enumerable: true, get: function() { return _toExpression.default; } }); Object.defineProperty(exports, "toIdentifier", { enumerable: true, get: function() { return _toIdentifier.default; } }); Object.defineProperty(exports, "toKeyAlias", { enumerable: true, get: function() { return _toKeyAlias.default; } }); Object.defineProperty(exports, "toSequenceExpression", { enumerable: true, get: function() { return _toSequenceExpression.default; } }); Object.defineProperty(exports, "toStatement", { enumerable: true, get: function() { return _toStatement.default; } }); Object.defineProperty(exports, "traverse", { enumerable: true, get: function() { return _traverse.default; } }); Object.defineProperty(exports, "traverseFast", { enumerable: true, get: function() { return _traverseFast.default; } }); Object.defineProperty(exports, "validate", { enumerable: true, get: function() { return _validate.default; } }); Object.defineProperty(exports, "valueToNode", { enumerable: true, get: function() { return _valueToNode.default; } }); var _isReactComponent = require_isReactComponent(); var _isCompatTag = require_isCompatTag(); var _buildChildren = require_buildChildren(); var _assertNode = require_assertNode(); var _generated = require_generated3(); Object.keys(_generated).forEach(function(key2) { if (key2 === "default" || key2 === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key2)) return; if (key2 in exports && exports[key2] === _generated[key2]) return; Object.defineProperty(exports, key2, { enumerable: true, get: function() { return _generated[key2]; } }); }); var _createTypeAnnotationBasedOnTypeof = require_createTypeAnnotationBasedOnTypeof(); var _createFlowUnionType = require_createFlowUnionType(); var _createTSUnionType = require_createTSUnionType(); var _generated2 = require_generated2(); Object.keys(_generated2).forEach(function(key2) { if (key2 === "default" || key2 === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key2)) return; if (key2 in exports && exports[key2] === _generated2[key2]) return; Object.defineProperty(exports, key2, { enumerable: true, get: function() { return _generated2[key2]; } }); }); var _uppercase = require_uppercase(); Object.keys(_uppercase).forEach(function(key2) { if (key2 === "default" || key2 === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key2)) return; if (key2 in exports && exports[key2] === _uppercase[key2]) return; Object.defineProperty(exports, key2, { enumerable: true, get: function() { return _uppercase[key2]; } }); }); var _cloneNode = require_cloneNode(); var _clone = require_clone(); var _cloneDeep = require_cloneDeep(); var _cloneDeepWithoutLoc = require_cloneDeepWithoutLoc(); var _cloneWithoutLoc = require_cloneWithoutLoc(); var _addComment = require_addComment(); var _addComments = require_addComments(); var _inheritInnerComments = require_inheritInnerComments(); var _inheritLeadingComments = require_inheritLeadingComments(); var _inheritsComments = require_inheritsComments(); var _inheritTrailingComments = require_inheritTrailingComments(); var _removeComments = require_removeComments(); var _generated3 = require_generated4(); Object.keys(_generated3).forEach(function(key2) { if (key2 === "default" || key2 === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key2)) return; if (key2 in exports && exports[key2] === _generated3[key2]) return; Object.defineProperty(exports, key2, { enumerable: true, get: function() { return _generated3[key2]; } }); }); var _constants = require_constants(); Object.keys(_constants).forEach(function(key2) { if (key2 === "default" || key2 === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key2)) return; if (key2 in exports && exports[key2] === _constants[key2]) return; Object.defineProperty(exports, key2, { enumerable: true, get: function() { return _constants[key2]; } }); }); var _ensureBlock = require_ensureBlock(); var _toBindingIdentifierName = require_toBindingIdentifierName(); var _toBlock = require_toBlock(); var _toComputedKey = require_toComputedKey(); var _toExpression = require_toExpression(); var _toIdentifier = require_toIdentifier(); var _toKeyAlias = require_toKeyAlias(); var _toSequenceExpression = require_toSequenceExpression(); var _toStatement = require_toStatement(); var _valueToNode = require_valueToNode(); var _definitions = require_definitions(); Object.keys(_definitions).forEach(function(key2) { if (key2 === "default" || key2 === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key2)) return; if (key2 in exports && exports[key2] === _definitions[key2]) return; Object.defineProperty(exports, key2, { enumerable: true, get: function() { return _definitions[key2]; } }); }); var _appendToMemberExpression = require_appendToMemberExpression(); var _inherits = require_inherits(); var _prependToMemberExpression = require_prependToMemberExpression(); var _removeProperties = require_removeProperties(); var _removePropertiesDeep = require_removePropertiesDeep(); var _removeTypeDuplicates = require_removeTypeDuplicates(); var _getBindingIdentifiers = require_getBindingIdentifiers(); var _getOuterBindingIdentifiers = require_getOuterBindingIdentifiers(); var _traverse = require_traverse(); Object.keys(_traverse).forEach(function(key2) { if (key2 === "default" || key2 === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key2)) return; if (key2 in exports && exports[key2] === _traverse[key2]) return; Object.defineProperty(exports, key2, { enumerable: true, get: function() { return _traverse[key2]; } }); }); var _traverseFast = require_traverseFast(); var _shallowEqual = require_shallowEqual(); var _is = require_is(); var _isBinding = require_isBinding(); var _isBlockScoped = require_isBlockScoped(); var _isImmutable = require_isImmutable(); var _isLet = require_isLet(); var _isNode = require_isNode(); var _isNodesEquivalent = require_isNodesEquivalent(); var _isPlaceholderType = require_isPlaceholderType(); var _isReferenced = require_isReferenced(); var _isScope = require_isScope(); var _isSpecifierDefault = require_isSpecifierDefault(); var _isType = require_isType(); var _isValidES3Identifier = require_isValidES3Identifier(); var _isValidIdentifier = require_isValidIdentifier(); var _isVar = require_isVar(); var _matchesPattern = require_matchesPattern(); var _validate = require_validate(); var _buildMatchMemberExpression = require_buildMatchMemberExpression(); var _generated4 = require_generated(); Object.keys(_generated4).forEach(function(key2) { if (key2 === "default" || key2 === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key2)) return; if (key2 in exports && exports[key2] === _generated4[key2]) return; Object.defineProperty(exports, key2, { enumerable: true, get: function() { return _generated4[key2]; } }); }); var _deprecationWarning = require_deprecationWarning(); var react = { isReactComponent: _isReactComponent.default, isCompatTag: _isCompatTag.default, buildChildren: _buildChildren.default }; exports.react = react; } }); // node_modules/@babel/generator/lib/node/whitespace.js var require_whitespace = __commonJS({ "node_modules/@babel/generator/lib/node/whitespace.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.nodes = void 0; var _t = require_lib3(); var { FLIPPED_ALIAS_KEYS, isArrayExpression, isAssignmentExpression, isBinary, isBlockStatement, isCallExpression: isCallExpression2, isFunction, isIdentifier: isIdentifier3, isLiteral, isMemberExpression: isMemberExpression2, isObjectExpression: isObjectExpression2, isOptionalCallExpression, isOptionalMemberExpression, isStringLiteral: isStringLiteral2 } = _t; function crawlInternal(node2, state) { if (!node2) return state; if (isMemberExpression2(node2) || isOptionalMemberExpression(node2)) { crawlInternal(node2.object, state); if (node2.computed) crawlInternal(node2.property, state); } else if (isBinary(node2) || isAssignmentExpression(node2)) { crawlInternal(node2.left, state); crawlInternal(node2.right, state); } else if (isCallExpression2(node2) || isOptionalCallExpression(node2)) { state.hasCall = true; crawlInternal(node2.callee, state); } else if (isFunction(node2)) { state.hasFunction = true; } else if (isIdentifier3(node2)) { state.hasHelper = state.hasHelper || node2.callee && isHelper(node2.callee); } return state; } function crawl(node2) { return crawlInternal(node2, { hasCall: false, hasFunction: false, hasHelper: false }); } function isHelper(node2) { if (!node2) return false; if (isMemberExpression2(node2)) { return isHelper(node2.object) || isHelper(node2.property); } else if (isIdentifier3(node2)) { return node2.name === "require" || node2.name.charCodeAt(0) === 95; } else if (isCallExpression2(node2)) { return isHelper(node2.callee); } else if (isBinary(node2) || isAssignmentExpression(node2)) { return isIdentifier3(node2.left) && isHelper(node2.left) || isHelper(node2.right); } else { return false; } } function isType(node2) { return isLiteral(node2) || isObjectExpression2(node2) || isArrayExpression(node2) || isIdentifier3(node2) || isMemberExpression2(node2); } var nodes = { AssignmentExpression(node2) { const state = crawl(node2.right); if (state.hasCall && state.hasHelper || state.hasFunction) { return state.hasFunction ? 1 | 2 : 2; } }, SwitchCase(node2, parent) { return (!!node2.consequent.length || parent.cases[0] === node2 ? 1 : 0) | (!node2.consequent.length && parent.cases[parent.cases.length - 1] === node2 ? 2 : 0); }, LogicalExpression(node2) { if (isFunction(node2.left) || isFunction(node2.right)) { return 2; } }, Literal(node2) { if (isStringLiteral2(node2) && node2.value === "use strict") { return 2; } }, CallExpression(node2) { if (isFunction(node2.callee) || isHelper(node2)) { return 1 | 2; } }, OptionalCallExpression(node2) { if (isFunction(node2.callee)) { return 1 | 2; } }, VariableDeclaration(node2) { for (let i = 0; i < node2.declarations.length; i++) { const declar = node2.declarations[i]; let enabled = isHelper(declar.id) && !isType(declar.init); if (!enabled && declar.init) { const state = crawl(declar.init); enabled = isHelper(declar.init) && state.hasCall || state.hasFunction; } if (enabled) { return 1 | 2; } } }, IfStatement(node2) { if (isBlockStatement(node2.consequent)) { return 1 | 2; } } }; exports.nodes = nodes; nodes.ObjectProperty = nodes.ObjectTypeProperty = nodes.ObjectMethod = function(node2, parent) { if (parent.properties[0] === node2) { return 1; } }; nodes.ObjectTypeCallProperty = function(node2, parent) { var _parent$properties; if (parent.callProperties[0] === node2 && !((_parent$properties = parent.properties) != null && _parent$properties.length)) { return 1; } }; nodes.ObjectTypeIndexer = function(node2, parent) { var _parent$properties2, _parent$callPropertie; if (parent.indexers[0] === node2 && !((_parent$properties2 = parent.properties) != null && _parent$properties2.length) && !((_parent$callPropertie = parent.callProperties) != null && _parent$callPropertie.length)) { return 1; } }; nodes.ObjectTypeInternalSlot = function(node2, parent) { var _parent$properties3, _parent$callPropertie2, _parent$indexers; if (parent.internalSlots[0] === node2 && !((_parent$properties3 = parent.properties) != null && _parent$properties3.length) && !((_parent$callPropertie2 = parent.callProperties) != null && _parent$callPropertie2.length) && !((_parent$indexers = parent.indexers) != null && _parent$indexers.length)) { return 1; } }; [["Function", true], ["Class", true], ["Loop", true], ["LabeledStatement", true], ["SwitchStatement", true], ["TryStatement", true]].forEach(function([type, amounts]) { [type].concat(FLIPPED_ALIAS_KEYS[type] || []).forEach(function(type2) { const ret = amounts ? 1 | 2 : 0; nodes[type2] = () => ret; }); }); } }); // node_modules/@babel/generator/lib/node/parentheses.js var require_parentheses = __commonJS({ "node_modules/@babel/generator/lib/node/parentheses.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ArrowFunctionExpression = ArrowFunctionExpression; exports.AssignmentExpression = AssignmentExpression; exports.Binary = Binary; exports.BinaryExpression = BinaryExpression2; exports.ClassExpression = ClassExpression; exports.ConditionalExpression = ConditionalExpression; exports.DoExpression = DoExpression; exports.FunctionExpression = FunctionExpression; exports.FunctionTypeAnnotation = FunctionTypeAnnotation; exports.Identifier = Identifier; exports.LogicalExpression = LogicalExpression; exports.NullableTypeAnnotation = NullableTypeAnnotation; exports.ObjectExpression = ObjectExpression; exports.OptionalIndexedAccessType = OptionalIndexedAccessType; exports.OptionalCallExpression = exports.OptionalMemberExpression = OptionalMemberExpression; exports.SequenceExpression = SequenceExpression; exports.TSTypeAssertion = exports.TSSatisfiesExpression = exports.TSAsExpression = TSAsExpression; exports.TSInferType = TSInferType; exports.TSInstantiationExpression = TSInstantiationExpression; exports.TSIntersectionType = exports.TSUnionType = TSUnionType; exports.UnaryLike = UnaryLike; exports.IntersectionTypeAnnotation = exports.UnionTypeAnnotation = UnionTypeAnnotation; exports.UpdateExpression = UpdateExpression; exports.AwaitExpression = exports.YieldExpression = YieldExpression; var _t = require_lib3(); var { isArrayTypeAnnotation, isArrowFunctionExpression: isArrowFunctionExpression2, isAssignmentExpression, isAwaitExpression, isBinary, isBinaryExpression, isUpdateExpression, isCallExpression: isCallExpression2, isClass, isClassExpression, isConditional, isConditionalExpression, isExportDeclaration, isExportDefaultDeclaration, isExpressionStatement: isExpressionStatement2, isFor, isForInStatement, isForOfStatement, isForStatement, isFunctionExpression, isIfStatement, isIndexedAccessType, isIntersectionTypeAnnotation, isLogicalExpression, isMemberExpression: isMemberExpression2, isNewExpression, isNullableTypeAnnotation, isObjectPattern, isOptionalCallExpression, isOptionalMemberExpression, isReturnStatement, isSequenceExpression, isSwitchStatement, isTSArrayType, isTSAsExpression, isTSInstantiationExpression, isTSIntersectionType, isTSNonNullExpression, isTSOptionalType, isTSRestType, isTSTypeAssertion, isTSUnionType, isTaggedTemplateExpression, isThrowStatement, isTypeAnnotation, isUnaryLike, isUnionTypeAnnotation, isVariableDeclarator: isVariableDeclarator2, isWhileStatement, isYieldExpression, isTSSatisfiesExpression } = _t; var PRECEDENCE = { "||": 0, "??": 0, "|>": 0, "&&": 1, "|": 2, "^": 3, "&": 4, "==": 5, "===": 5, "!=": 5, "!==": 5, "<": 6, ">": 6, "<=": 6, ">=": 6, in: 6, instanceof: 6, ">>": 7, "<<": 7, ">>>": 7, "+": 8, "-": 8, "*": 9, "/": 9, "%": 9, "**": 10 }; function isTSTypeExpression(node2) { return isTSAsExpression(node2) || isTSSatisfiesExpression(node2) || isTSTypeAssertion(node2); } var isClassExtendsClause = (node2, parent) => isClass(parent, { superClass: node2 }); var hasPostfixPart = (node2, parent) => (isMemberExpression2(parent) || isOptionalMemberExpression(parent)) && parent.object === node2 || (isCallExpression2(parent) || isOptionalCallExpression(parent) || isNewExpression(parent)) && parent.callee === node2 || isTaggedTemplateExpression(parent) && parent.tag === node2 || isTSNonNullExpression(parent); function NullableTypeAnnotation(node2, parent) { return isArrayTypeAnnotation(parent); } function FunctionTypeAnnotation(node2, parent, printStack) { if (printStack.length < 3) return; return isUnionTypeAnnotation(parent) || isIntersectionTypeAnnotation(parent) || isArrayTypeAnnotation(parent) || isTypeAnnotation(parent) && isArrowFunctionExpression2(printStack[printStack.length - 3]); } function UpdateExpression(node2, parent) { return hasPostfixPart(node2, parent) || isClassExtendsClause(node2, parent); } function ObjectExpression(node2, parent, printStack) { return isFirstInContext(printStack, 1 | 2); } function DoExpression(node2, parent, printStack) { return !node2.async && isFirstInContext(printStack, 1); } function Binary(node2, parent) { if (node2.operator === "**" && isBinaryExpression(parent, { operator: "**" })) { return parent.left === node2; } if (isClassExtendsClause(node2, parent)) { return true; } if (hasPostfixPart(node2, parent) || isUnaryLike(parent) || isAwaitExpression(parent)) { return true; } if (isBinary(parent)) { const parentOp = parent.operator; const parentPos = PRECEDENCE[parentOp]; const nodeOp = node2.operator; const nodePos = PRECEDENCE[nodeOp]; if (parentPos === nodePos && parent.right === node2 && !isLogicalExpression(parent) || parentPos > nodePos) { return true; } } } function UnionTypeAnnotation(node2, parent) { return isArrayTypeAnnotation(parent) || isNullableTypeAnnotation(parent) || isIntersectionTypeAnnotation(parent) || isUnionTypeAnnotation(parent); } function OptionalIndexedAccessType(node2, parent) { return isIndexedAccessType(parent, { objectType: node2 }); } function TSAsExpression() { return true; } function TSUnionType(node2, parent) { return isTSArrayType(parent) || isTSOptionalType(parent) || isTSIntersectionType(parent) || isTSUnionType(parent) || isTSRestType(parent); } function TSInferType(node2, parent) { return isTSArrayType(parent) || isTSOptionalType(parent); } function TSInstantiationExpression(node2, parent) { return (isCallExpression2(parent) || isOptionalCallExpression(parent) || isNewExpression(parent) || isTSInstantiationExpression(parent)) && !!parent.typeParameters; } function BinaryExpression2(node2, parent) { return node2.operator === "in" && (isVariableDeclarator2(parent) || isFor(parent)); } function SequenceExpression(node2, parent) { if (isForStatement(parent) || isThrowStatement(parent) || isReturnStatement(parent) || isIfStatement(parent) && parent.test === node2 || isWhileStatement(parent) && parent.test === node2 || isForInStatement(parent) && parent.right === node2 || isSwitchStatement(parent) && parent.discriminant === node2 || isExpressionStatement2(parent) && parent.expression === node2) { return false; } return true; } function YieldExpression(node2, parent) { return isBinary(parent) || isUnaryLike(parent) || hasPostfixPart(node2, parent) || isAwaitExpression(parent) && isYieldExpression(node2) || isConditionalExpression(parent) && node2 === parent.test || isClassExtendsClause(node2, parent); } function ClassExpression(node2, parent, printStack) { return isFirstInContext(printStack, 1 | 4); } function UnaryLike(node2, parent) { return hasPostfixPart(node2, parent) || isBinaryExpression(parent, { operator: "**", left: node2 }) || isClassExtendsClause(node2, parent); } function FunctionExpression(node2, parent, printStack) { return isFirstInContext(printStack, 1 | 4); } function ArrowFunctionExpression(node2, parent) { return isExportDeclaration(parent) || ConditionalExpression(node2, parent); } function ConditionalExpression(node2, parent) { if (isUnaryLike(parent) || isBinary(parent) || isConditionalExpression(parent, { test: node2 }) || isAwaitExpression(parent) || isTSTypeExpression(parent)) { return true; } return UnaryLike(node2, parent); } function OptionalMemberExpression(node2, parent) { return isCallExpression2(parent, { callee: node2 }) || isMemberExpression2(parent, { object: node2 }); } function AssignmentExpression(node2, parent) { if (isObjectPattern(node2.left)) { return true; } else { return ConditionalExpression(node2, parent); } } function LogicalExpression(node2, parent) { if (isTSTypeExpression(parent)) return true; switch (node2.operator) { case "||": if (!isLogicalExpression(parent)) return false; return parent.operator === "??" || parent.operator === "&&"; case "&&": return isLogicalExpression(parent, { operator: "??" }); case "??": return isLogicalExpression(parent) && parent.operator !== "??"; } } function Identifier(node2, parent, printStack) { var _node$extra; if ((_node$extra = node2.extra) != null && _node$extra.parenthesized && isAssignmentExpression(parent, { left: node2 }) && (isFunctionExpression(parent.right) || isClassExpression(parent.right)) && parent.right.id == null) { return true; } if (node2.name === "let") { const isFollowedByBracket = isMemberExpression2(parent, { object: node2, computed: true }) || isOptionalMemberExpression(parent, { object: node2, computed: true, optional: false }); return isFirstInContext(printStack, isFollowedByBracket ? 1 | 8 | 16 | 32 : 32); } return node2.name === "async" && isForOfStatement(parent) && node2 === parent.left; } function isFirstInContext(printStack, checkParam) { const expressionStatement = checkParam & 1; const arrowBody = checkParam & 2; const exportDefault = checkParam & 4; const forHead = checkParam & 8; const forInHead = checkParam & 16; const forOfHead = checkParam & 32; let i = printStack.length - 1; if (i <= 0) return; let node2 = printStack[i]; i--; let parent = printStack[i]; while (i >= 0) { if (expressionStatement && isExpressionStatement2(parent, { expression: node2 }) || exportDefault && isExportDefaultDeclaration(parent, { declaration: node2 }) || arrowBody && isArrowFunctionExpression2(parent, { body: node2 }) || forHead && isForStatement(parent, { init: node2 }) || forInHead && isForInStatement(parent, { left: node2 }) || forOfHead && isForOfStatement(parent, { left: node2 })) { return true; } if (i > 0 && (hasPostfixPart(node2, parent) && !isNewExpression(parent) || isSequenceExpression(parent) && parent.expressions[0] === node2 || isUpdateExpression(parent) && !parent.prefix || isConditional(parent, { test: node2 }) || isBinary(parent, { left: node2 }) || isAssignmentExpression(parent, { left: node2 }))) { node2 = parent; i--; parent = printStack[i]; } else { return false; } } return false; } } }); // node_modules/@babel/generator/lib/node/index.js var require_node = __commonJS({ "node_modules/@babel/generator/lib/node/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.needsParens = needsParens; exports.needsWhitespace = needsWhitespace; exports.needsWhitespaceAfter = needsWhitespaceAfter; exports.needsWhitespaceBefore = needsWhitespaceBefore; var whitespace2 = require_whitespace(); var parens = require_parentheses(); var _t = require_lib3(); var { FLIPPED_ALIAS_KEYS, isCallExpression: isCallExpression2, isExpressionStatement: isExpressionStatement2, isMemberExpression: isMemberExpression2, isNewExpression } = _t; function expandAliases(obj) { const newObj = {}; function add(type, func) { const fn = newObj[type]; newObj[type] = fn ? function(node2, parent, stack2) { const result = fn(node2, parent, stack2); return result == null ? func(node2, parent, stack2) : result; } : func; } for (const type of Object.keys(obj)) { const aliases = FLIPPED_ALIAS_KEYS[type]; if (aliases) { for (const alias of aliases) { add(alias, obj[type]); } } else { add(type, obj[type]); } } return newObj; } var expandedParens = expandAliases(parens); var expandedWhitespaceNodes = expandAliases(whitespace2.nodes); function find2(obj, node2, parent, printStack) { const fn = obj[node2.type]; return fn ? fn(node2, parent, printStack) : null; } function isOrHasCallExpression(node2) { if (isCallExpression2(node2)) { return true; } return isMemberExpression2(node2) && isOrHasCallExpression(node2.object); } function needsWhitespace(node2, parent, type) { if (!node2) return false; if (isExpressionStatement2(node2)) { node2 = node2.expression; } const flag = find2(expandedWhitespaceNodes, node2, parent); if (typeof flag === "number") { return (flag & type) !== 0; } return false; } function needsWhitespaceBefore(node2, parent) { return needsWhitespace(node2, parent, 1); } function needsWhitespaceAfter(node2, parent) { return needsWhitespace(node2, parent, 2); } function needsParens(node2, parent, printStack) { if (!parent) return false; if (isNewExpression(parent) && parent.callee === node2) { if (isOrHasCallExpression(node2)) return true; } return find2(expandedParens, node2, parent, printStack); } } }); // node_modules/@babel/generator/lib/generators/template-literals.js var require_template_literals = __commonJS({ "node_modules/@babel/generator/lib/generators/template-literals.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TaggedTemplateExpression = TaggedTemplateExpression; exports.TemplateElement = TemplateElement; exports.TemplateLiteral = TemplateLiteral; function TaggedTemplateExpression(node2) { this.print(node2.tag, node2); this.print(node2.typeParameters, node2); this.print(node2.quasi, node2); } function TemplateElement(node2, parent) { const isFirst = parent.quasis[0] === node2; const isLast = parent.quasis[parent.quasis.length - 1] === node2; const value2 = (isFirst ? "`" : "}") + node2.value.raw + (isLast ? "`" : "${"); this.token(value2, true); } function TemplateLiteral(node2) { const quasis = node2.quasis; for (let i = 0; i < quasis.length; i++) { this.print(quasis[i], node2); if (i + 1 < quasis.length) { this.print(node2.expressions[i], node2); } } } } }); // node_modules/@babel/generator/lib/generators/expressions.js var require_expressions = __commonJS({ "node_modules/@babel/generator/lib/generators/expressions.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LogicalExpression = exports.BinaryExpression = exports.AssignmentExpression = AssignmentExpression; exports.AssignmentPattern = AssignmentPattern; exports.AwaitExpression = AwaitExpression; exports.BindExpression = BindExpression; exports.CallExpression = CallExpression; exports.ConditionalExpression = ConditionalExpression; exports.Decorator = Decorator; exports.DoExpression = DoExpression; exports.EmptyStatement = EmptyStatement; exports.ExpressionStatement = ExpressionStatement; exports.Import = Import; exports.MemberExpression = MemberExpression; exports.MetaProperty = MetaProperty; exports.ModuleExpression = ModuleExpression; exports.NewExpression = NewExpression; exports.OptionalCallExpression = OptionalCallExpression; exports.OptionalMemberExpression = OptionalMemberExpression; exports.ParenthesizedExpression = ParenthesizedExpression; exports.PrivateName = PrivateName; exports.SequenceExpression = SequenceExpression; exports.Super = Super; exports.ThisExpression = ThisExpression; exports.UnaryExpression = UnaryExpression; exports.UpdateExpression = UpdateExpression; exports.V8IntrinsicIdentifier = V8IntrinsicIdentifier; exports.YieldExpression = YieldExpression; exports._shouldPrintDecoratorsBeforeExport = _shouldPrintDecoratorsBeforeExport; var _t = require_lib3(); var n = require_node(); var { isCallExpression: isCallExpression2, isLiteral, isMemberExpression: isMemberExpression2, isNewExpression } = _t; function UnaryExpression(node2) { if (node2.operator === "void" || node2.operator === "delete" || node2.operator === "typeof" || node2.operator === "throw") { this.word(node2.operator); this.space(); } else { this.token(node2.operator); } this.print(node2.argument, node2); } function DoExpression(node2) { if (node2.async) { this.word("async", true); this.space(); } this.word("do"); this.space(); this.print(node2.body, node2); } function ParenthesizedExpression(node2) { this.tokenChar(40); this.print(node2.expression, node2); this.tokenChar(41); } function UpdateExpression(node2) { if (node2.prefix) { this.token(node2.operator); this.print(node2.argument, node2); } else { this.printTerminatorless(node2.argument, node2, true); this.token(node2.operator); } } function ConditionalExpression(node2) { this.print(node2.test, node2); this.space(); this.tokenChar(63); this.space(); this.print(node2.consequent, node2); this.space(); this.tokenChar(58); this.space(); this.print(node2.alternate, node2); } function NewExpression(node2, parent) { this.word("new"); this.space(); this.print(node2.callee, node2); if (this.format.minified && node2.arguments.length === 0 && !node2.optional && !isCallExpression2(parent, { callee: node2 }) && !isMemberExpression2(parent) && !isNewExpression(parent)) { return; } this.print(node2.typeArguments, node2); this.print(node2.typeParameters, node2); if (node2.optional) { this.token("?."); } this.tokenChar(40); this.printList(node2.arguments, node2); this.tokenChar(41); } function SequenceExpression(node2) { this.printList(node2.expressions, node2); } function ThisExpression() { this.word("this"); } function Super() { this.word("super"); } function isDecoratorMemberExpression(node2) { switch (node2.type) { case "Identifier": return true; case "MemberExpression": return !node2.computed && node2.property.type === "Identifier" && isDecoratorMemberExpression(node2.object); default: return false; } } function shouldParenthesizeDecoratorExpression(node2) { if (node2.type === "ParenthesizedExpression") { return false; } return !isDecoratorMemberExpression(node2.type === "CallExpression" ? node2.callee : node2); } function _shouldPrintDecoratorsBeforeExport(node2) { if (typeof this.format.decoratorsBeforeExport === "boolean") { return this.format.decoratorsBeforeExport; } return typeof node2.start === "number" && node2.start === node2.declaration.start; } function Decorator(node2) { this.tokenChar(64); const { expression } = node2; if (shouldParenthesizeDecoratorExpression(expression)) { this.tokenChar(40); this.print(expression, node2); this.tokenChar(41); } else { this.print(expression, node2); } this.newline(); } function OptionalMemberExpression(node2) { this.print(node2.object, node2); if (!node2.computed && isMemberExpression2(node2.property)) { throw new TypeError("Got a MemberExpression for MemberExpression property"); } let computed = node2.computed; if (isLiteral(node2.property) && typeof node2.property.value === "number") { computed = true; } if (node2.optional) { this.token("?."); } if (computed) { this.tokenChar(91); this.print(node2.property, node2); this.tokenChar(93); } else { if (!node2.optional) { this.tokenChar(46); } this.print(node2.property, node2); } } function OptionalCallExpression(node2) { this.print(node2.callee, node2); this.print(node2.typeParameters, node2); if (node2.optional) { this.token("?."); } this.print(node2.typeArguments, node2); this.tokenChar(40); this.printList(node2.arguments, node2); this.tokenChar(41); } function CallExpression(node2) { this.print(node2.callee, node2); this.print(node2.typeArguments, node2); this.print(node2.typeParameters, node2); this.tokenChar(40); this.printList(node2.arguments, node2); this.tokenChar(41); } function Import() { this.word("import"); } function AwaitExpression(node2) { this.word("await"); if (node2.argument) { this.space(); this.printTerminatorless(node2.argument, node2, false); } } function YieldExpression(node2) { this.word("yield", true); if (node2.delegate) { this.tokenChar(42); if (node2.argument) { this.space(); this.print(node2.argument, node2); } } else { if (node2.argument) { this.space(); this.printTerminatorless(node2.argument, node2, false); } } } function EmptyStatement() { this.semicolon(true); } function ExpressionStatement(node2) { this.print(node2.expression, node2); this.semicolon(); } function AssignmentPattern(node2) { this.print(node2.left, node2); if (node2.left.optional) this.tokenChar(63); this.print(node2.left.typeAnnotation, node2); this.space(); this.tokenChar(61); this.space(); this.print(node2.right, node2); } function AssignmentExpression(node2, parent) { const parens = this.inForStatementInitCounter && node2.operator === "in" && !n.needsParens(node2, parent); if (parens) { this.tokenChar(40); } this.print(node2.left, node2); this.space(); if (node2.operator === "in" || node2.operator === "instanceof") { this.word(node2.operator); } else { this.token(node2.operator); } this.space(); this.print(node2.right, node2); if (parens) { this.tokenChar(41); } } function BindExpression(node2) { this.print(node2.object, node2); this.token("::"); this.print(node2.callee, node2); } function MemberExpression(node2) { this.print(node2.object, node2); if (!node2.computed && isMemberExpression2(node2.property)) { throw new TypeError("Got a MemberExpression for MemberExpression property"); } let computed = node2.computed; if (isLiteral(node2.property) && typeof node2.property.value === "number") { computed = true; } if (computed) { this.tokenChar(91); this.print(node2.property, node2); this.tokenChar(93); } else { this.tokenChar(46); this.print(node2.property, node2); } } function MetaProperty(node2) { this.print(node2.meta, node2); this.tokenChar(46); this.print(node2.property, node2); } function PrivateName(node2) { this.tokenChar(35); this.print(node2.id, node2); } function V8IntrinsicIdentifier(node2) { this.tokenChar(37); this.word(node2.name); } function ModuleExpression(node2) { this.word("module", true); this.space(); this.tokenChar(123); this.indent(); const { body } = node2; if (body.body.length || body.directives.length) { this.newline(); } this.print(body, node2); this.dedent(); this.sourceWithOffset("end", node2.loc, 0, -1); this.rightBrace(); } } }); // node_modules/@babel/generator/lib/generators/statements.js var require_statements = __commonJS({ "node_modules/@babel/generator/lib/generators/statements.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BreakStatement = BreakStatement; exports.CatchClause = CatchClause; exports.ContinueStatement = ContinueStatement; exports.DebuggerStatement = DebuggerStatement; exports.DoWhileStatement = DoWhileStatement; exports.ForOfStatement = exports.ForInStatement = void 0; exports.ForStatement = ForStatement; exports.IfStatement = IfStatement; exports.LabeledStatement = LabeledStatement; exports.ReturnStatement = ReturnStatement; exports.SwitchCase = SwitchCase; exports.SwitchStatement = SwitchStatement; exports.ThrowStatement = ThrowStatement; exports.TryStatement = TryStatement; exports.VariableDeclaration = VariableDeclaration; exports.VariableDeclarator = VariableDeclarator; exports.WhileStatement = WhileStatement; exports.WithStatement = WithStatement; var _t = require_lib3(); var { isFor, isForStatement, isIfStatement, isStatement } = _t; function WithStatement(node2) { this.word("with"); this.space(); this.tokenChar(40); this.print(node2.object, node2); this.tokenChar(41); this.printBlock(node2); } function IfStatement(node2) { this.word("if"); this.space(); this.tokenChar(40); this.print(node2.test, node2); this.tokenChar(41); this.space(); const needsBlock = node2.alternate && isIfStatement(getLastStatement(node2.consequent)); if (needsBlock) { this.tokenChar(123); this.newline(); this.indent(); } this.printAndIndentOnComments(node2.consequent, node2); if (needsBlock) { this.dedent(); this.newline(); this.tokenChar(125); } if (node2.alternate) { if (this.endsWith(125)) this.space(); this.word("else"); this.space(); this.printAndIndentOnComments(node2.alternate, node2); } } function getLastStatement(statement) { const { body } = statement; if (isStatement(body) === false) { return statement; } return getLastStatement(body); } function ForStatement(node2) { this.word("for"); this.space(); this.tokenChar(40); this.inForStatementInitCounter++; this.print(node2.init, node2); this.inForStatementInitCounter--; this.tokenChar(59); if (node2.test) { this.space(); this.print(node2.test, node2); } this.tokenChar(59); if (node2.update) { this.space(); this.print(node2.update, node2); } this.tokenChar(41); this.printBlock(node2); } function WhileStatement(node2) { this.word("while"); this.space(); this.tokenChar(40); this.print(node2.test, node2); this.tokenChar(41); this.printBlock(node2); } function ForXStatement(node2) { this.word("for"); this.space(); const isForOf = node2.type === "ForOfStatement"; if (isForOf && node2.await) { this.word("await"); this.space(); } this.noIndentInnerCommentsHere(); this.tokenChar(40); this.print(node2.left, node2); this.space(); this.word(isForOf ? "of" : "in"); this.space(); this.print(node2.right, node2); this.tokenChar(41); this.printBlock(node2); } var ForInStatement2 = ForXStatement; exports.ForInStatement = ForInStatement2; var ForOfStatement = ForXStatement; exports.ForOfStatement = ForOfStatement; function DoWhileStatement(node2) { this.word("do"); this.space(); this.print(node2.body, node2); this.space(); this.word("while"); this.space(); this.tokenChar(40); this.print(node2.test, node2); this.tokenChar(41); this.semicolon(); } function printStatementAfterKeyword(printer, node2, parent, isLabel) { if (node2) { printer.space(); printer.printTerminatorless(node2, parent, isLabel); } printer.semicolon(); } function BreakStatement(node2) { this.word("break"); printStatementAfterKeyword(this, node2.label, node2, true); } function ContinueStatement(node2) { this.word("continue"); printStatementAfterKeyword(this, node2.label, node2, true); } function ReturnStatement(node2) { this.word("return"); printStatementAfterKeyword(this, node2.argument, node2, false); } function ThrowStatement(node2) { this.word("throw"); printStatementAfterKeyword(this, node2.argument, node2, false); } function LabeledStatement(node2) { this.print(node2.label, node2); this.tokenChar(58); this.space(); this.print(node2.body, node2); } function TryStatement(node2) { this.word("try"); this.space(); this.print(node2.block, node2); this.space(); if (node2.handlers) { this.print(node2.handlers[0], node2); } else { this.print(node2.handler, node2); } if (node2.finalizer) { this.space(); this.word("finally"); this.space(); this.print(node2.finalizer, node2); } } function CatchClause(node2) { this.word("catch"); this.space(); if (node2.param) { this.tokenChar(40); this.print(node2.param, node2); this.print(node2.param.typeAnnotation, node2); this.tokenChar(41); this.space(); } this.print(node2.body, node2); } function SwitchStatement(node2) { this.word("switch"); this.space(); this.tokenChar(40); this.print(node2.discriminant, node2); this.tokenChar(41); this.space(); this.tokenChar(123); this.printSequence(node2.cases, node2, { indent: true, addNewlines(leading, cas) { if (!leading && node2.cases[node2.cases.length - 1] === cas) return -1; } }); this.tokenChar(125); } function SwitchCase(node2) { if (node2.test) { this.word("case"); this.space(); this.print(node2.test, node2); this.tokenChar(58); } else { this.word("default"); this.tokenChar(58); } if (node2.consequent.length) { this.newline(); this.printSequence(node2.consequent, node2, { indent: true }); } } function DebuggerStatement() { this.word("debugger"); this.semicolon(); } function VariableDeclaration(node2, parent) { if (node2.declare) { this.word("declare"); this.space(); } const { kind } = node2; this.word(kind, kind === "using"); this.space(); let hasInits = false; if (!isFor(parent)) { for (const declar of node2.declarations) { if (declar.init) { hasInits = true; } } } this.printList(node2.declarations, node2, { separator: hasInits ? function() { this.tokenChar(44); this.newline(); } : void 0, indent: node2.declarations.length > 1 ? true : false }); if (isFor(parent)) { if (isForStatement(parent)) { if (parent.init === node2) return; } else { if (parent.left === node2) return; } } this.semicolon(); } function VariableDeclarator(node2) { this.print(node2.id, node2); if (node2.definite) this.tokenChar(33); this.print(node2.id.typeAnnotation, node2); if (node2.init) { this.space(); this.tokenChar(61); this.space(); this.print(node2.init, node2); } } } }); // node_modules/@babel/generator/lib/generators/classes.js var require_classes = __commonJS({ "node_modules/@babel/generator/lib/generators/classes.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ClassAccessorProperty = ClassAccessorProperty; exports.ClassBody = ClassBody; exports.ClassExpression = exports.ClassDeclaration = ClassDeclaration; exports.ClassMethod = ClassMethod; exports.ClassPrivateMethod = ClassPrivateMethod; exports.ClassPrivateProperty = ClassPrivateProperty; exports.ClassProperty = ClassProperty; exports.StaticBlock = StaticBlock; exports._classMethodHead = _classMethodHead; var _t = require_lib3(); var { isExportDefaultDeclaration, isExportNamedDeclaration: isExportNamedDeclaration2 } = _t; function ClassDeclaration(node2, parent) { const inExport = isExportDefaultDeclaration(parent) || isExportNamedDeclaration2(parent); if (!inExport || !this._shouldPrintDecoratorsBeforeExport(parent)) { this.printJoin(node2.decorators, node2); } if (node2.declare) { this.word("declare"); this.space(); } if (node2.abstract) { this.word("abstract"); this.space(); } this.word("class"); if (node2.id) { this.space(); this.print(node2.id, node2); } this.print(node2.typeParameters, node2); if (node2.superClass) { this.space(); this.word("extends"); this.space(); this.print(node2.superClass, node2); this.print(node2.superTypeParameters, node2); } if (node2.implements) { this.space(); this.word("implements"); this.space(); this.printList(node2.implements, node2); } this.space(); this.print(node2.body, node2); } function ClassBody(node2) { this.tokenChar(123); if (node2.body.length === 0) { this.tokenChar(125); } else { this.newline(); this.indent(); this.printSequence(node2.body, node2); this.dedent(); if (!this.endsWith(10)) this.newline(); this.sourceWithOffset("end", node2.loc, 0, -1); this.rightBrace(); } } function ClassProperty(node2) { var _node$key$loc, _node$key$loc$end; this.printJoin(node2.decorators, node2); const endLine = (_node$key$loc = node2.key.loc) == null ? void 0 : (_node$key$loc$end = _node$key$loc.end) == null ? void 0 : _node$key$loc$end.line; if (endLine) this.catchUp(endLine); this.tsPrintClassMemberModifiers(node2); if (node2.computed) { this.tokenChar(91); this.print(node2.key, node2); this.tokenChar(93); } else { this._variance(node2); this.print(node2.key, node2); } if (node2.optional) { this.tokenChar(63); } if (node2.definite) { this.tokenChar(33); } this.print(node2.typeAnnotation, node2); if (node2.value) { this.space(); this.tokenChar(61); this.space(); this.print(node2.value, node2); } this.semicolon(); } function ClassAccessorProperty(node2) { var _node$key$loc2, _node$key$loc2$end; this.printJoin(node2.decorators, node2); const endLine = (_node$key$loc2 = node2.key.loc) == null ? void 0 : (_node$key$loc2$end = _node$key$loc2.end) == null ? void 0 : _node$key$loc2$end.line; if (endLine) this.catchUp(endLine); this.tsPrintClassMemberModifiers(node2); this.word("accessor", true); this.space(); if (node2.computed) { this.tokenChar(91); this.print(node2.key, node2); this.tokenChar(93); } else { this._variance(node2); this.print(node2.key, node2); } if (node2.optional) { this.tokenChar(63); } if (node2.definite) { this.tokenChar(33); } this.print(node2.typeAnnotation, node2); if (node2.value) { this.space(); this.tokenChar(61); this.space(); this.print(node2.value, node2); } this.semicolon(); } function ClassPrivateProperty(node2) { this.printJoin(node2.decorators, node2); if (node2.static) { this.word("static"); this.space(); } this.print(node2.key, node2); this.print(node2.typeAnnotation, node2); if (node2.value) { this.space(); this.tokenChar(61); this.space(); this.print(node2.value, node2); } this.semicolon(); } function ClassMethod(node2) { this._classMethodHead(node2); this.space(); this.print(node2.body, node2); } function ClassPrivateMethod(node2) { this._classMethodHead(node2); this.space(); this.print(node2.body, node2); } function _classMethodHead(node2) { var _node$key$loc3, _node$key$loc3$end; this.printJoin(node2.decorators, node2); const endLine = (_node$key$loc3 = node2.key.loc) == null ? void 0 : (_node$key$loc3$end = _node$key$loc3.end) == null ? void 0 : _node$key$loc3$end.line; if (endLine) this.catchUp(endLine); this.tsPrintClassMemberModifiers(node2); this._methodHead(node2); } function StaticBlock(node2) { this.word("static"); this.space(); this.tokenChar(123); if (node2.body.length === 0) { this.tokenChar(125); } else { this.newline(); this.printSequence(node2.body, node2, { indent: true }); this.sourceWithOffset("end", node2.loc, 0, -1); this.rightBrace(); } } } }); // node_modules/@babel/generator/lib/generators/methods.js var require_methods = __commonJS({ "node_modules/@babel/generator/lib/generators/methods.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ArrowFunctionExpression = ArrowFunctionExpression; exports.FunctionDeclaration = exports.FunctionExpression = FunctionExpression; exports._functionHead = _functionHead; exports._methodHead = _methodHead; exports._param = _param; exports._parameters = _parameters; exports._params = _params; exports._predicate = _predicate; var _t = require_lib3(); var { isIdentifier: isIdentifier3 } = _t; function _params(node2, idNode, parentNode) { this.print(node2.typeParameters, node2); const nameInfo = _getFuncIdName.call(this, idNode, parentNode); if (nameInfo) { this.sourceIdentifierName(nameInfo.name, nameInfo.pos); } this.tokenChar(40); this._parameters(node2.params, node2); this.tokenChar(41); const noLineTerminator = node2.type === "ArrowFunctionExpression"; this.print(node2.returnType, node2, noLineTerminator); this._noLineTerminator = noLineTerminator; } function _parameters(parameters, parent) { const paramLength = parameters.length; for (let i = 0; i < paramLength; i++) { this._param(parameters[i], parent); if (i < parameters.length - 1) { this.tokenChar(44); this.space(); } } } function _param(parameter, parent) { this.printJoin(parameter.decorators, parameter); this.print(parameter, parent); if (parameter.optional) { this.tokenChar(63); } this.print(parameter.typeAnnotation, parameter); } function _methodHead(node2) { const kind = node2.kind; const key2 = node2.key; if (kind === "get" || kind === "set") { this.word(kind); this.space(); } if (node2.async) { this.word("async", true); this.space(); } if (kind === "method" || kind === "init") { if (node2.generator) { this.tokenChar(42); } } if (node2.computed) { this.tokenChar(91); this.print(key2, node2); this.tokenChar(93); } else { this.print(key2, node2); } if (node2.optional) { this.tokenChar(63); } this._params(node2, node2.computed && node2.key.type !== "StringLiteral" ? void 0 : node2.key, void 0); } function _predicate(node2, noLineTerminatorAfter) { if (node2.predicate) { if (!node2.returnType) { this.tokenChar(58); } this.space(); this.print(node2.predicate, node2, noLineTerminatorAfter); } } function _functionHead(node2, parent) { if (node2.async) { this.word("async"); this._endsWithInnerRaw = false; this.space(); } this.word("function"); if (node2.generator) { this._endsWithInnerRaw = false; this.tokenChar(42); } this.space(); if (node2.id) { this.print(node2.id, node2); } this._params(node2, node2.id, parent); if (node2.type !== "TSDeclareFunction") { this._predicate(node2); } } function FunctionExpression(node2, parent) { this._functionHead(node2, parent); this.space(); this.print(node2.body, node2); } function ArrowFunctionExpression(node2, parent) { if (node2.async) { this.word("async", true); this.space(); } let firstParam; if (!this.format.retainLines && node2.params.length === 1 && isIdentifier3(firstParam = node2.params[0]) && !hasTypesOrComments(node2, firstParam)) { this.print(firstParam, node2, true); } else { this._params(node2, void 0, parent); } this._predicate(node2, true); this.space(); this.printInnerComments(); this.token("=>"); this.space(); this.print(node2.body, node2); } function hasTypesOrComments(node2, param) { var _param$leadingComment, _param$trailingCommen; return !!(node2.typeParameters || node2.returnType || node2.predicate || param.typeAnnotation || param.optional || (_param$leadingComment = param.leadingComments) != null && _param$leadingComment.length || (_param$trailingCommen = param.trailingComments) != null && _param$trailingCommen.length); } function _getFuncIdName(idNode, parent) { let id = idNode; if (!id && parent) { const parentType = parent.type; if (parentType === "VariableDeclarator") { id = parent.id; } else if (parentType === "AssignmentExpression" || parentType === "AssignmentPattern") { id = parent.left; } else if (parentType === "ObjectProperty" || parentType === "ClassProperty") { if (!parent.computed || parent.key.type === "StringLiteral") { id = parent.key; } } else if (parentType === "ClassPrivateProperty" || parentType === "ClassAccessorProperty") { id = parent.key; } } if (!id) return; let nameInfo; if (id.type === "Identifier") { var _id$loc, _id$loc2; nameInfo = { pos: (_id$loc = id.loc) == null ? void 0 : _id$loc.start, name: ((_id$loc2 = id.loc) == null ? void 0 : _id$loc2.identifierName) || id.name }; } else if (id.type === "PrivateName") { var _id$loc3; nameInfo = { pos: (_id$loc3 = id.loc) == null ? void 0 : _id$loc3.start, name: "#" + id.id.name }; } else if (id.type === "StringLiteral") { var _id$loc4; nameInfo = { pos: (_id$loc4 = id.loc) == null ? void 0 : _id$loc4.start, name: id.value }; } return nameInfo; } } }); // node_modules/@babel/generator/lib/generators/modules.js var require_modules = __commonJS({ "node_modules/@babel/generator/lib/generators/modules.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ExportAllDeclaration = ExportAllDeclaration; exports.ExportDefaultDeclaration = ExportDefaultDeclaration; exports.ExportDefaultSpecifier = ExportDefaultSpecifier; exports.ExportNamedDeclaration = ExportNamedDeclaration; exports.ExportNamespaceSpecifier = ExportNamespaceSpecifier; exports.ExportSpecifier = ExportSpecifier; exports.ImportAttribute = ImportAttribute; exports.ImportDeclaration = ImportDeclaration; exports.ImportDefaultSpecifier = ImportDefaultSpecifier; exports.ImportNamespaceSpecifier = ImportNamespaceSpecifier; exports.ImportSpecifier = ImportSpecifier; exports._printAssertions = _printAssertions; var _t = require_lib3(); var { isClassDeclaration, isExportDefaultSpecifier, isExportNamespaceSpecifier, isImportDefaultSpecifier, isImportNamespaceSpecifier, isStatement } = _t; function ImportSpecifier(node2) { if (node2.importKind === "type" || node2.importKind === "typeof") { this.word(node2.importKind); this.space(); } this.print(node2.imported, node2); if (node2.local && node2.local.name !== node2.imported.name) { this.space(); this.word("as"); this.space(); this.print(node2.local, node2); } } function ImportDefaultSpecifier(node2) { this.print(node2.local, node2); } function ExportDefaultSpecifier(node2) { this.print(node2.exported, node2); } function ExportSpecifier(node2) { if (node2.exportKind === "type") { this.word("type"); this.space(); } this.print(node2.local, node2); if (node2.exported && node2.local.name !== node2.exported.name) { this.space(); this.word("as"); this.space(); this.print(node2.exported, node2); } } function ExportNamespaceSpecifier(node2) { this.tokenChar(42); this.space(); this.word("as"); this.space(); this.print(node2.exported, node2); } function _printAssertions(node2) { this.word("assert"); this.space(); this.tokenChar(123); this.space(); this.printList(node2.assertions, node2); this.space(); this.tokenChar(125); } function ExportAllDeclaration(node2) { var _node$assertions; this.word("export"); this.space(); if (node2.exportKind === "type") { this.word("type"); this.space(); } this.tokenChar(42); this.space(); this.word("from"); this.space(); if ((_node$assertions = node2.assertions) != null && _node$assertions.length) { this.print(node2.source, node2, true); this.space(); this._printAssertions(node2); } else { this.print(node2.source, node2); } this.semicolon(); } function maybePrintDecoratorsBeforeExport(printer, node2) { if (isClassDeclaration(node2.declaration) && printer._shouldPrintDecoratorsBeforeExport(node2)) { printer.printJoin(node2.declaration.decorators, node2); } } function ExportNamedDeclaration(node2) { maybePrintDecoratorsBeforeExport(this, node2); this.word("export"); this.space(); if (node2.declaration) { const declar = node2.declaration; this.print(declar, node2); if (!isStatement(declar)) this.semicolon(); } else { if (node2.exportKind === "type") { this.word("type"); this.space(); } const specifiers = node2.specifiers.slice(0); let hasSpecial = false; for (; ; ) { const first = specifiers[0]; if (isExportDefaultSpecifier(first) || isExportNamespaceSpecifier(first)) { hasSpecial = true; this.print(specifiers.shift(), node2); if (specifiers.length) { this.tokenChar(44); this.space(); } } else { break; } } if (specifiers.length || !specifiers.length && !hasSpecial) { this.tokenChar(123); if (specifiers.length) { this.space(); this.printList(specifiers, node2); this.space(); } this.tokenChar(125); } if (node2.source) { var _node$assertions2; this.space(); this.word("from"); this.space(); if ((_node$assertions2 = node2.assertions) != null && _node$assertions2.length) { this.print(node2.source, node2, true); this.space(); this._printAssertions(node2); } else { this.print(node2.source, node2); } } this.semicolon(); } } function ExportDefaultDeclaration(node2) { maybePrintDecoratorsBeforeExport(this, node2); this.word("export"); this.noIndentInnerCommentsHere(); this.space(); this.word("default"); this.space(); const declar = node2.declaration; this.print(declar, node2); if (!isStatement(declar)) this.semicolon(); } function ImportDeclaration(node2) { var _node$assertions3; this.word("import"); this.space(); const isTypeKind = node2.importKind === "type" || node2.importKind === "typeof"; if (isTypeKind) { this.noIndentInnerCommentsHere(); this.word(node2.importKind); this.space(); } else if (node2.module) { this.noIndentInnerCommentsHere(); this.word("module"); this.space(); } const specifiers = node2.specifiers.slice(0); const hasSpecifiers = !!specifiers.length; while (hasSpecifiers) { const first = specifiers[0]; if (isImportDefaultSpecifier(first) || isImportNamespaceSpecifier(first)) { this.print(specifiers.shift(), node2); if (specifiers.length) { this.tokenChar(44); this.space(); } } else { break; } } if (specifiers.length) { this.tokenChar(123); this.space(); this.printList(specifiers, node2); this.space(); this.tokenChar(125); } else if (isTypeKind && !hasSpecifiers) { this.tokenChar(123); this.tokenChar(125); } if (hasSpecifiers || isTypeKind) { this.space(); this.word("from"); this.space(); } if ((_node$assertions3 = node2.assertions) != null && _node$assertions3.length) { this.print(node2.source, node2, true); this.space(); this._printAssertions(node2); } else { this.print(node2.source, node2); } { var _node$attributes; if ((_node$attributes = node2.attributes) != null && _node$attributes.length) { this.space(); this.word("with"); this.space(); this.printList(node2.attributes, node2); } } this.semicolon(); } function ImportAttribute(node2) { this.print(node2.key); this.tokenChar(58); this.space(); this.print(node2.value); } function ImportNamespaceSpecifier(node2) { this.tokenChar(42); this.space(); this.word("as"); this.space(); this.print(node2.local, node2); } } }); // node_modules/jsesc/jsesc.js var require_jsesc = __commonJS({ "node_modules/jsesc/jsesc.js"(exports, module2) { "use strict"; var object = {}; var hasOwnProperty4 = object.hasOwnProperty; var forOwn = (object2, callback) => { for (const key2 in object2) { if (hasOwnProperty4.call(object2, key2)) { callback(key2, object2[key2]); } } }; var extend4 = (destination, source2) => { if (!source2) { return destination; } forOwn(source2, (key2, value2) => { destination[key2] = value2; }); return destination; }; var forEach = (array, callback) => { const length = array.length; let index2 = -1; while (++index2 < length) { callback(array[index2]); } }; var toString4 = object.toString; var isArray3 = Array.isArray; var isBuffer2 = Buffer.isBuffer; var isObject = (value2) => { return toString4.call(value2) == "[object Object]"; }; var isString = (value2) => { return typeof value2 == "string" || toString4.call(value2) == "[object String]"; }; var isNumber = (value2) => { return typeof value2 == "number" || toString4.call(value2) == "[object Number]"; }; var isFunction = (value2) => { return typeof value2 == "function"; }; var isMap = (value2) => { return toString4.call(value2) == "[object Map]"; }; var isSet = (value2) => { return toString4.call(value2) == "[object Set]"; }; var singleEscapes = { '"': '\\"', "'": "\\'", "\\": "\\\\", "\b": "\\b", "\f": "\\f", "\n": "\\n", "\r": "\\r", " ": "\\t" // `\v` is omitted intentionally, because in IE < 9, '\v' == 'v'. // '\v': '\\x0B' }; var regexSingleEscape = /["'\\\b\f\n\r\t]/; var regexDigit = /[0-9]/; var regexWhitelist = /[ !#-&\(-\[\]-_a-~]/; var jsesc = (argument, options) => { const increaseIndentation = () => { oldIndent = indent; ++options.indentLevel; indent = options.indent.repeat(options.indentLevel); }; const defaults = { "escapeEverything": false, "minimal": false, "isScriptContext": false, "quotes": "single", "wrap": false, "es6": false, "json": false, "compact": true, "lowercaseHex": false, "numbers": "decimal", "indent": " ", "indentLevel": 0, "__inline1__": false, "__inline2__": false }; const json = options && options.json; if (json) { defaults.quotes = "double"; defaults.wrap = true; } options = extend4(defaults, options); if (options.quotes != "single" && options.quotes != "double" && options.quotes != "backtick") { options.quotes = "single"; } const quote = options.quotes == "double" ? '"' : options.quotes == "backtick" ? "`" : "'"; const compact = options.compact; const lowercaseHex = options.lowercaseHex; let indent = options.indent.repeat(options.indentLevel); let oldIndent = ""; const inline1 = options.__inline1__; const inline2 = options.__inline2__; const newLine = compact ? "" : "\n"; let result; let isEmpty = true; const useBinNumbers = options.numbers == "binary"; const useOctNumbers = options.numbers == "octal"; const useDecNumbers = options.numbers == "decimal"; const useHexNumbers = options.numbers == "hexadecimal"; if (json && argument && isFunction(argument.toJSON)) { argument = argument.toJSON(); } if (!isString(argument)) { if (isMap(argument)) { if (argument.size == 0) { return "new Map()"; } if (!compact) { options.__inline1__ = true; options.__inline2__ = false; } return "new Map(" + jsesc(Array.from(argument), options) + ")"; } if (isSet(argument)) { if (argument.size == 0) { return "new Set()"; } return "new Set(" + jsesc(Array.from(argument), options) + ")"; } if (isBuffer2(argument)) { if (argument.length == 0) { return "Buffer.from([])"; } return "Buffer.from(" + jsesc(Array.from(argument), options) + ")"; } if (isArray3(argument)) { result = []; options.wrap = true; if (inline1) { options.__inline1__ = false; options.__inline2__ = true; } if (!inline2) { increaseIndentation(); } forEach(argument, (value2) => { isEmpty = false; if (inline2) { options.__inline2__ = false; } result.push( (compact || inline2 ? "" : indent) + jsesc(value2, options) ); }); if (isEmpty) { return "[]"; } if (inline2) { return "[" + result.join(", ") + "]"; } return "[" + newLine + result.join("," + newLine) + newLine + (compact ? "" : oldIndent) + "]"; } else if (isNumber(argument)) { if (json) { return JSON.stringify(argument); } if (useDecNumbers) { return String(argument); } if (useHexNumbers) { let hexadecimal = argument.toString(16); if (!lowercaseHex) { hexadecimal = hexadecimal.toUpperCase(); } return "0x" + hexadecimal; } if (useBinNumbers) { return "0b" + argument.toString(2); } if (useOctNumbers) { return "0o" + argument.toString(8); } } else if (!isObject(argument)) { if (json) { return JSON.stringify(argument) || "null"; } return String(argument); } else { result = []; options.wrap = true; increaseIndentation(); forOwn(argument, (key2, value2) => { isEmpty = false; result.push( (compact ? "" : indent) + jsesc(key2, options) + ":" + (compact ? "" : " ") + jsesc(value2, options) ); }); if (isEmpty) { return "{}"; } return "{" + newLine + result.join("," + newLine) + newLine + (compact ? "" : oldIndent) + "}"; } } const string3 = argument; let index2 = -1; const length = string3.length; result = ""; while (++index2 < length) { const character = string3.charAt(index2); if (options.es6) { const first = string3.charCodeAt(index2); if ( // check if it’s the start of a surrogate pair first >= 55296 && first <= 56319 && // high surrogate length > index2 + 1 ) { const second = string3.charCodeAt(index2 + 1); if (second >= 56320 && second <= 57343) { const codePoint = (first - 55296) * 1024 + second - 56320 + 65536; let hexadecimal2 = codePoint.toString(16); if (!lowercaseHex) { hexadecimal2 = hexadecimal2.toUpperCase(); } result += "\\u{" + hexadecimal2 + "}"; ++index2; continue; } } } if (!options.escapeEverything) { if (regexWhitelist.test(character)) { result += character; continue; } if (character == '"') { result += quote == character ? '\\"' : character; continue; } if (character == "`") { result += quote == character ? "\\`" : character; continue; } if (character == "'") { result += quote == character ? "\\'" : character; continue; } } if (character == "\0" && !json && !regexDigit.test(string3.charAt(index2 + 1))) { result += "\\0"; continue; } if (regexSingleEscape.test(character)) { result += singleEscapes[character]; continue; } const charCode = character.charCodeAt(0); if (options.minimal && charCode != 8232 && charCode != 8233) { result += character; continue; } let hexadecimal = charCode.toString(16); if (!lowercaseHex) { hexadecimal = hexadecimal.toUpperCase(); } const longhand = hexadecimal.length > 2 || json; const escaped = "\\" + (longhand ? "u" : "x") + ("0000" + hexadecimal).slice(longhand ? -4 : -2); result += escaped; continue; } if (options.wrap) { result = quote + result + quote; } if (quote == "`") { result = result.replace(/\$\{/g, "\\${"); } if (options.isScriptContext) { return result.replace(/<\/(script|style)/gi, "<\\/$1").replace(/\n\n"; } } return "\n\n"; } // node_modules/mdast-util-to-markdown/lib/util/container-phrasing.js function containerPhrasing(parent, state, info) { const indexStack = state.indexStack; const children = parent.children || []; const results = []; let index2 = -1; let before = info.before; indexStack.push(-1); let tracker = state.createTracker(info); while (++index2 < children.length) { const child = children[index2]; let after; indexStack[indexStack.length - 1] = index2; if (index2 + 1 < children.length) { let handle = state.handle.handlers[children[index2 + 1].type]; if (handle && handle.peek) handle = handle.peek; after = handle ? handle(children[index2 + 1], parent, state, { before: "", after: "", ...tracker.current() }).charAt(0) : ""; } else { after = info.after; } if (results.length > 0 && (before === "\r" || before === "\n") && child.type === "html") { results[results.length - 1] = results[results.length - 1].replace( /(\r?\n|\r)$/, " " ); before = " "; tracker = state.createTracker(info); tracker.move(results.join("")); } results.push( tracker.move( state.handle(child, parent, state, { ...tracker.current(), before, after }) ) ); before = results[results.length - 1].slice(-1); } indexStack.pop(); return results.join(""); } // node_modules/mdast-util-to-markdown/lib/util/indent-lines.js var eol = /\r?\n|\r/g; function indentLines(value2, map) { const result = []; let start3 = 0; let line2 = 0; let match; while (match = eol.exec(value2)) { one3(value2.slice(start3, match.index)); result.push(match[0]); start3 = match.index + match[0].length; line2++; } one3(value2.slice(start3)); return result.join(""); function one3(value3) { result.push(map(value3, line2, !value3)); } } // node_modules/mdast-util-to-markdown/lib/util/track.js function track(config) { const options = config || {}; const now = options.now || {}; let lineShift = options.lineShift || 0; let line2 = now.line || 1; let column2 = now.column || 1; return { move, current: current3, shift }; function current3() { return { now: { line: line2, column: column2 }, lineShift }; } function shift(value2) { lineShift += value2; } function move(input) { const value2 = input || ""; const chunks = value2.split(/\r?\n|\r/g); const tail = chunks[chunks.length - 1]; line2 += chunks.length - 1; column2 = chunks.length === 1 ? column2 + tail.length : 1 + tail.length + lineShift; return value2; } } // node_modules/mdast-util-mdx-jsx/lib/index.js function mdxJsxFromMarkdown() { return { canContainEols: ["mdxJsxTextElement"], enter: { mdxJsxFlowTag: enterMdxJsxTag, mdxJsxFlowTagClosingMarker: enterMdxJsxTagClosingMarker, mdxJsxFlowTagAttribute: enterMdxJsxTagAttribute, mdxJsxFlowTagExpressionAttribute: enterMdxJsxTagExpressionAttribute, mdxJsxFlowTagAttributeValueLiteral: buffer3, mdxJsxFlowTagAttributeValueExpression: buffer3, mdxJsxFlowTagSelfClosingMarker: enterMdxJsxTagSelfClosingMarker, mdxJsxTextTag: enterMdxJsxTag, mdxJsxTextTagClosingMarker: enterMdxJsxTagClosingMarker, mdxJsxTextTagAttribute: enterMdxJsxTagAttribute, mdxJsxTextTagExpressionAttribute: enterMdxJsxTagExpressionAttribute, mdxJsxTextTagAttributeValueLiteral: buffer3, mdxJsxTextTagAttributeValueExpression: buffer3, mdxJsxTextTagSelfClosingMarker: enterMdxJsxTagSelfClosingMarker }, exit: { mdxJsxFlowTagClosingMarker: exitMdxJsxTagClosingMarker, mdxJsxFlowTagNamePrimary: exitMdxJsxTagNamePrimary, mdxJsxFlowTagNameMember: exitMdxJsxTagNameMember, mdxJsxFlowTagNameLocal: exitMdxJsxTagNameLocal, mdxJsxFlowTagExpressionAttribute: exitMdxJsxTagExpressionAttribute, mdxJsxFlowTagExpressionAttributeValue: data3, mdxJsxFlowTagAttributeNamePrimary: exitMdxJsxTagAttributeNamePrimary, mdxJsxFlowTagAttributeNameLocal: exitMdxJsxTagAttributeNameLocal, mdxJsxFlowTagAttributeValueLiteral: exitMdxJsxTagAttributeValueLiteral, mdxJsxFlowTagAttributeValueLiteralValue: data3, mdxJsxFlowTagAttributeValueExpression: exitMdxJsxTagAttributeValueExpression, mdxJsxFlowTagAttributeValueExpressionValue: data3, mdxJsxFlowTagSelfClosingMarker: exitMdxJsxTagSelfClosingMarker, mdxJsxFlowTag: exitMdxJsxTag, mdxJsxTextTagClosingMarker: exitMdxJsxTagClosingMarker, mdxJsxTextTagNamePrimary: exitMdxJsxTagNamePrimary, mdxJsxTextTagNameMember: exitMdxJsxTagNameMember, mdxJsxTextTagNameLocal: exitMdxJsxTagNameLocal, mdxJsxTextTagExpressionAttribute: exitMdxJsxTagExpressionAttribute, mdxJsxTextTagExpressionAttributeValue: data3, mdxJsxTextTagAttributeNamePrimary: exitMdxJsxTagAttributeNamePrimary, mdxJsxTextTagAttributeNameLocal: exitMdxJsxTagAttributeNameLocal, mdxJsxTextTagAttributeValueLiteral: exitMdxJsxTagAttributeValueLiteral, mdxJsxTextTagAttributeValueLiteralValue: data3, mdxJsxTextTagAttributeValueExpression: exitMdxJsxTagAttributeValueExpression, mdxJsxTextTagAttributeValueExpressionValue: data3, mdxJsxTextTagSelfClosingMarker: exitMdxJsxTagSelfClosingMarker, mdxJsxTextTag: exitMdxJsxTag } }; function buffer3() { this.buffer(); } function data3(token2) { this.config.enter.data.call(this, token2); this.config.exit.data.call(this, token2); } function enterMdxJsxTag(token2) { const tag = { name: void 0, attributes: [], close: false, selfClosing: false, start: token2.start, end: token2.end }; if (!this.getData("mdxJsxTagStack")) this.setData("mdxJsxTagStack", []); this.setData("mdxJsxTag", tag); this.buffer(); } function enterMdxJsxTagClosingMarker(token2) { const stack2 = ( /** @type {Array} */ this.getData("mdxJsxTagStack") ); if (stack2.length === 0) { throw new VFileMessage( "Unexpected closing slash `/` in tag, expected an open tag first", { start: token2.start, end: token2.end }, "mdast-util-mdx-jsx:unexpected-closing-slash" ); } } function enterMdxJsxTagAnyAttribute(token2) { const tag = ( /** @type {Tag} */ this.getData("mdxJsxTag") ); if (tag.close) { throw new VFileMessage( "Unexpected attribute in closing tag, expected the end of the tag", { start: token2.start, end: token2.end }, "mdast-util-mdx-jsx:unexpected-attribute" ); } } function enterMdxJsxTagSelfClosingMarker(token2) { const tag = ( /** @type {Tag} */ this.getData("mdxJsxTag") ); if (tag.close) { throw new VFileMessage( "Unexpected self-closing slash `/` in closing tag, expected the end of the tag", { start: token2.start, end: token2.end }, "mdast-util-mdx-jsx:unexpected-self-closing-slash" ); } } function exitMdxJsxTagClosingMarker() { const tag = ( /** @type {Tag} */ this.getData("mdxJsxTag") ); tag.close = true; } function exitMdxJsxTagNamePrimary(token2) { const tag = ( /** @type {Tag} */ this.getData("mdxJsxTag") ); tag.name = this.sliceSerialize(token2); } function exitMdxJsxTagNameMember(token2) { const tag = ( /** @type {Tag} */ this.getData("mdxJsxTag") ); tag.name += "." + this.sliceSerialize(token2); } function exitMdxJsxTagNameLocal(token2) { const tag = ( /** @type {Tag} */ this.getData("mdxJsxTag") ); tag.name += ":" + this.sliceSerialize(token2); } function enterMdxJsxTagAttribute(token2) { const tag = ( /** @type {Tag} */ this.getData("mdxJsxTag") ); enterMdxJsxTagAnyAttribute.call(this, token2); tag.attributes.push({ type: "mdxJsxAttribute", name: "", value: null }); } function enterMdxJsxTagExpressionAttribute(token2) { const tag = ( /** @type {Tag} */ this.getData("mdxJsxTag") ); enterMdxJsxTagAnyAttribute.call(this, token2); tag.attributes.push({ type: "mdxJsxExpressionAttribute", value: "" }); this.buffer(); } function exitMdxJsxTagExpressionAttribute(token2) { const tag = ( /** @type {Tag} */ this.getData("mdxJsxTag") ); const tail = ( /** @type {MdxJsxExpressionAttribute} */ tag.attributes[tag.attributes.length - 1] ); const estree = token2.estree; tail.value = this.resume(); if (estree) { tail.data = { estree }; } } function exitMdxJsxTagAttributeNamePrimary(token2) { const tag = ( /** @type {Tag} */ this.getData("mdxJsxTag") ); const node2 = ( /** @type {MdxJsxAttribute} */ tag.attributes[tag.attributes.length - 1] ); node2.name = this.sliceSerialize(token2); } function exitMdxJsxTagAttributeNameLocal(token2) { const tag = ( /** @type {Tag} */ this.getData("mdxJsxTag") ); const node2 = ( /** @type {MdxJsxAttribute} */ tag.attributes[tag.attributes.length - 1] ); node2.name += ":" + this.sliceSerialize(token2); } function exitMdxJsxTagAttributeValueLiteral() { const tag = ( /** @type {Tag} */ this.getData("mdxJsxTag") ); tag.attributes[tag.attributes.length - 1].value = parseEntities( this.resume(), { nonTerminated: false } ); } function exitMdxJsxTagAttributeValueExpression(token2) { const tag = ( /** @type {Tag} */ this.getData("mdxJsxTag") ); const tail = ( /** @type {MdxJsxAttribute} */ tag.attributes[tag.attributes.length - 1] ); const node2 = { type: "mdxJsxAttributeValueExpression", value: this.resume() }; const estree = token2.estree; if (estree) { node2.data = { estree }; } tail.value = node2; } function exitMdxJsxTagSelfClosingMarker() { const tag = ( /** @type {Tag} */ this.getData("mdxJsxTag") ); tag.selfClosing = true; } function exitMdxJsxTag(token2) { const tag = ( /** @type {Tag} */ this.getData("mdxJsxTag") ); const stack2 = ( /** @type {Array} */ this.getData("mdxJsxTagStack") ); const tail = stack2[stack2.length - 1]; if (tag.close && tail.name !== tag.name) { throw new VFileMessage( "Unexpected closing tag `" + serializeAbbreviatedTag(tag) + "`, expected corresponding closing tag for `" + serializeAbbreviatedTag(tail) + "` (" + stringifyPosition(tail) + ")", { start: token2.start, end: token2.end }, "mdast-util-mdx-jsx:end-tag-mismatch" ); } this.resume(); if (tag.close) { stack2.pop(); } else { this.enter( { type: token2.type === "mdxJsxTextTag" ? "mdxJsxTextElement" : "mdxJsxFlowElement", name: tag.name || null, attributes: tag.attributes, children: [] }, token2, onErrorRightIsTag ); } if (tag.selfClosing || tag.close) { this.exit(token2, onErrorLeftIsTag); } else { stack2.push(tag); } } function onErrorRightIsTag(closing, open) { const tag = ( /** @type {Tag} */ this.getData("mdxJsxTag") ); const place = closing ? " before the end of `" + closing.type + "`" : ""; const position3 = closing ? { start: closing.start, end: closing.end } : void 0; throw new VFileMessage( "Expected a closing tag for `" + serializeAbbreviatedTag(tag) + "` (" + stringifyPosition({ start: open.start, end: open.end }) + ")" + place, position3, "mdast-util-mdx-jsx:end-tag-mismatch" ); } function onErrorLeftIsTag(a, b) { const tag = ( /** @type {Tag} */ this.getData("mdxJsxTag") ); throw new VFileMessage( "Expected the closing tag `" + serializeAbbreviatedTag(tag) + "` either after the end of `" + b.type + "` (" + stringifyPosition(b.end) + ") or another opening tag after the start of `" + b.type + "` (" + stringifyPosition(b.start) + ")", { start: a.start, end: a.end }, "mdast-util-mdx-jsx:end-tag-mismatch" ); } function serializeAbbreviatedTag(tag) { return "<" + (tag.close ? "/" : "") + (tag.name || "") + ">"; } } function mdxJsxToMarkdown(options) { const options_ = options || {}; const quote = options_.quote || '"'; const quoteSmart = options_.quoteSmart || false; const tightSelfClosing = options_.tightSelfClosing || false; const printWidth = options_.printWidth || Number.POSITIVE_INFINITY; const alternative = quote === '"' ? "'" : '"'; if (quote !== '"' && quote !== "'") { throw new Error( "Cannot serialize attribute values with `" + quote + "` for `options.quote`, expected `\"`, or `'`" ); } mdxElement.peek = peekElement; return { handlers: { mdxJsxFlowElement: mdxElement, mdxJsxTextElement: mdxElement }, unsafe: [ { character: "<", inConstruct: ["phrasing"] }, { atBreak: true, character: "<" } ], // Always generate fenced code (never indented code). fences: true, // Always generate links with resources (never autolinks). resourceLink: true }; function mdxElement(node2, _, context, safeOptions) { const tracker = track(safeOptions); const selfClosing = node2.name && (!node2.children || node2.children.length === 0); const exit2 = context.enter(node2.type); let index2 = -1; const serializedAttributes = []; let value2 = tracker.move("<" + (node2.name || "")); if (node2.attributes && node2.attributes.length > 0) { if (!node2.name) { throw new Error("Cannot serialize fragment w/ attributes"); } while (++index2 < node2.attributes.length) { const attribute = node2.attributes[index2]; let result; if (attribute.type === "mdxJsxExpressionAttribute") { result = "{" + (attribute.value || "") + "}"; } else { if (!attribute.name) { throw new Error("Cannot serialize attribute w/o name"); } const value3 = attribute.value; const left = attribute.name; let right = ""; if (value3 === void 0 || value3 === null) { } else if (typeof value3 === "object") { right = "{" + (value3.value || "") + "}"; } else { const appliedQuote = quoteSmart && ccount(value3, quote) > ccount(value3, alternative) ? alternative : quote; right = appliedQuote + stringifyEntitiesLight(value3, { subset: [appliedQuote] }) + appliedQuote; } result = left + (right ? "=" : "") + right; } serializedAttributes.push(result); } } let attributesOnTheirOwnLine = false; const attributesOnOneLine = serializedAttributes.join(" "); if ( // Block: node2.type === "mdxJsxFlowElement" && // Including a line ending (expressions). (/\r?\n|\r/.test(attributesOnOneLine) || // Current position (including ``. (selfClosing ? tightSelfClosing ? 2 : 3 : 1) > printWidth) ) { attributesOnTheirOwnLine = true; } if (attributesOnTheirOwnLine) { value2 += tracker.move( "\n" + indentLines(serializedAttributes.join("\n"), map) ); } else if (attributesOnOneLine) { value2 += tracker.move(" " + attributesOnOneLine); } if (attributesOnTheirOwnLine) { value2 += tracker.move("\n"); } if (selfClosing) { value2 += tracker.move( (tightSelfClosing || attributesOnTheirOwnLine ? "" : " ") + "/" ); } value2 += tracker.move(">"); if (node2.children && node2.children.length > 0) { if (node2.type === "mdxJsxFlowElement") { tracker.shift(2); value2 += tracker.move("\n"); value2 += tracker.move( indentLines(containerFlow(node2, context, tracker.current()), map) ); value2 += tracker.move("\n"); } else { value2 += tracker.move( containerPhrasing(node2, context, { ...tracker.current(), before: "<", after: ">" }) ); } } if (!selfClosing) { value2 += tracker.move(""); } exit2(); return value2; } function map(line2, _, blank) { return (blank ? "" : " ") + line2; } function peekElement() { return "<"; } } // node_modules/mdast-util-mdxjs-esm/lib/index.js var mdxjsEsmFromMarkdown = { enter: { mdxjsEsm: enterMdxjsEsm }, exit: { mdxjsEsm: exitMdxjsEsm, mdxjsEsmData: exitMdxjsEsmData } }; var mdxjsEsmToMarkdown = { handlers: { mdxjsEsm: handleMdxjsEsm } }; function enterMdxjsEsm(token2) { this.enter({ type: "mdxjsEsm", value: "" }, token2); this.buffer(); } function exitMdxjsEsm(token2) { const value2 = this.resume(); const node2 = ( /** @type {MdxjsEsm} */ this.exit(token2) ); const estree = token2.estree; node2.value = value2; if (estree) { node2.data = { estree }; } } function exitMdxjsEsmData(token2) { this.config.enter.data.call(this, token2); this.config.exit.data.call(this, token2); } function handleMdxjsEsm(node2) { return node2.value || ""; } // node_modules/mdast-util-mdx/index.js function mdxFromMarkdown() { return [mdxExpressionFromMarkdown, mdxJsxFromMarkdown(), mdxjsEsmFromMarkdown]; } function mdxToMarkdown(options) { return { extensions: [ mdxExpressionToMarkdown, mdxJsxToMarkdown(options), mdxjsEsmToMarkdown ] }; } // node_modules/remark-mdx/index.js function remarkMdx(options) { const data3 = this.data(); add("micromarkExtensions", mdxjs(options)); add("fromMarkdownExtensions", mdxFromMarkdown()); add("toMarkdownExtensions", mdxToMarkdown(options)); function add(field, value2) { const list3 = ( /** @type {Array} */ // Other extensions /* c8 ignore next 2 */ data3[field] ? data3[field] : data3[field] = [] ); list3.push(value2); } } // node_modules/mdast-util-to-string/lib/index.js var emptyOptions = {}; function toString3(value2, options) { const settings = options || emptyOptions; const includeImageAlt = typeof settings.includeImageAlt === "boolean" ? settings.includeImageAlt : true; const includeHtml = typeof settings.includeHtml === "boolean" ? settings.includeHtml : true; return one(value2, includeImageAlt, includeHtml); } function one(value2, includeImageAlt, includeHtml) { if (node(value2)) { if ("value" in value2) { return value2.type === "html" && !includeHtml ? "" : value2.value; } if (includeImageAlt && "alt" in value2 && value2.alt) { return value2.alt; } if ("children" in value2) { return all(value2.children, includeImageAlt, includeHtml); } } if (Array.isArray(value2)) { return all(value2, includeImageAlt, includeHtml); } return ""; } function all(values, includeImageAlt, includeHtml) { const result = []; let index2 = -1; while (++index2 < values.length) { result[index2] = one(values[index2], includeImageAlt, includeHtml); } return result.join(""); } function node(value2) { return Boolean(value2 && typeof value2 === "object"); } // node_modules/micromark/lib/initialize/content.js var content2 = { tokenize: initializeContent }; function initializeContent(effects) { const contentStart = effects.attempt( this.parser.constructs.contentInitial, afterContentStartConstruct, paragraphInitial ); let previous2; return contentStart; function afterContentStartConstruct(code2) { if (code2 === null) { effects.consume(code2); return; } effects.enter("lineEnding"); effects.consume(code2); effects.exit("lineEnding"); return factorySpace(effects, contentStart, "linePrefix"); } function paragraphInitial(code2) { effects.enter("paragraph"); return lineStart(code2); } function lineStart(code2) { const token2 = effects.enter("chunkText", { contentType: "text", previous: previous2 }); if (previous2) { previous2.next = token2; } previous2 = token2; return data3(code2); } function data3(code2) { if (code2 === null) { effects.exit("chunkText"); effects.exit("paragraph"); effects.consume(code2); return; } if (markdownLineEnding(code2)) { effects.consume(code2); effects.exit("chunkText"); return lineStart; } effects.consume(code2); return data3; } } // node_modules/micromark/lib/initialize/document.js var document2 = { tokenize: initializeDocument }; var containerConstruct = { tokenize: tokenizeContainer }; function initializeDocument(effects) { const self2 = this; const stack2 = []; let continued = 0; let childFlow; let childToken; let lineStartOffset; return start3; function start3(code2) { if (continued < stack2.length) { const item = stack2[continued]; self2.containerState = item[1]; return effects.attempt( item[0].continuation, documentContinue, checkNewContainers )(code2); } return checkNewContainers(code2); } function documentContinue(code2) { continued++; if (self2.containerState._closeFlow) { self2.containerState._closeFlow = void 0; if (childFlow) { closeFlow(); } const indexBeforeExits = self2.events.length; let indexBeforeFlow = indexBeforeExits; let point4; while (indexBeforeFlow--) { if (self2.events[indexBeforeFlow][0] === "exit" && self2.events[indexBeforeFlow][1].type === "chunkFlow") { point4 = self2.events[indexBeforeFlow][1].end; break; } } exitContainers(continued); let index2 = indexBeforeExits; while (index2 < self2.events.length) { self2.events[index2][1].end = Object.assign({}, point4); index2++; } splice( self2.events, indexBeforeFlow + 1, 0, self2.events.slice(indexBeforeExits) ); self2.events.length = index2; return checkNewContainers(code2); } return start3(code2); } function checkNewContainers(code2) { if (continued === stack2.length) { if (!childFlow) { return documentContinued(code2); } if (childFlow.currentConstruct && childFlow.currentConstruct.concrete) { return flowStart(code2); } self2.interrupt = Boolean( childFlow.currentConstruct && !childFlow._gfmTableDynamicInterruptHack ); } self2.containerState = {}; return effects.check( containerConstruct, thereIsANewContainer, thereIsNoNewContainer )(code2); } function thereIsANewContainer(code2) { if (childFlow) closeFlow(); exitContainers(continued); return documentContinued(code2); } function thereIsNoNewContainer(code2) { self2.parser.lazy[self2.now().line] = continued !== stack2.length; lineStartOffset = self2.now().offset; return flowStart(code2); } function documentContinued(code2) { self2.containerState = {}; return effects.attempt( containerConstruct, containerContinue, flowStart )(code2); } function containerContinue(code2) { continued++; stack2.push([self2.currentConstruct, self2.containerState]); return documentContinued(code2); } function flowStart(code2) { if (code2 === null) { if (childFlow) closeFlow(); exitContainers(0); effects.consume(code2); return; } childFlow = childFlow || self2.parser.flow(self2.now()); effects.enter("chunkFlow", { contentType: "flow", previous: childToken, _tokenizer: childFlow }); return flowContinue(code2); } function flowContinue(code2) { if (code2 === null) { writeToChild(effects.exit("chunkFlow"), true); exitContainers(0); effects.consume(code2); return; } if (markdownLineEnding(code2)) { effects.consume(code2); writeToChild(effects.exit("chunkFlow")); continued = 0; self2.interrupt = void 0; return start3; } effects.consume(code2); return flowContinue; } function writeToChild(token2, eof) { const stream = self2.sliceStream(token2); if (eof) stream.push(null); token2.previous = childToken; if (childToken) childToken.next = token2; childToken = token2; childFlow.defineSkip(token2.start); childFlow.write(stream); if (self2.parser.lazy[token2.start.line]) { let index2 = childFlow.events.length; while (index2--) { if ( // The token starts before the line ending… childFlow.events[index2][1].start.offset < lineStartOffset && // …and either is not ended yet… (!childFlow.events[index2][1].end || // …or ends after it. childFlow.events[index2][1].end.offset > lineStartOffset) ) { return; } } const indexBeforeExits = self2.events.length; let indexBeforeFlow = indexBeforeExits; let seen; let point4; while (indexBeforeFlow--) { if (self2.events[indexBeforeFlow][0] === "exit" && self2.events[indexBeforeFlow][1].type === "chunkFlow") { if (seen) { point4 = self2.events[indexBeforeFlow][1].end; break; } seen = true; } } exitContainers(continued); index2 = indexBeforeExits; while (index2 < self2.events.length) { self2.events[index2][1].end = Object.assign({}, point4); index2++; } splice( self2.events, indexBeforeFlow + 1, 0, self2.events.slice(indexBeforeExits) ); self2.events.length = index2; } } function exitContainers(size) { let index2 = stack2.length; while (index2-- > size) { const entry = stack2[index2]; self2.containerState = entry[1]; entry[0].exit.call(self2, effects); } stack2.length = size; } function closeFlow() { childFlow.write([null]); childToken = void 0; childFlow = void 0; self2.containerState._closeFlow = void 0; } } function tokenizeContainer(effects, ok2, nok) { return factorySpace( effects, effects.attempt(this.parser.constructs.document, ok2, nok), "linePrefix", this.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4 ); } // node_modules/micromark/lib/initialize/flow.js var flow = { tokenize: initializeFlow }; function initializeFlow(effects) { const self2 = this; const initial = effects.attempt( // Try to parse a blank line. blankLine, atBlankEnding, // Try to parse initial flow (essentially, only code). effects.attempt( this.parser.constructs.flowInitial, afterConstruct, factorySpace( effects, effects.attempt( this.parser.constructs.flow, afterConstruct, effects.attempt(content, afterConstruct) ), "linePrefix" ) ) ); return initial; function atBlankEnding(code2) { if (code2 === null) { effects.consume(code2); return; } effects.enter("lineEndingBlank"); effects.consume(code2); effects.exit("lineEndingBlank"); self2.currentConstruct = void 0; return initial; } function afterConstruct(code2) { if (code2 === null) { effects.consume(code2); return; } effects.enter("lineEnding"); effects.consume(code2); effects.exit("lineEnding"); self2.currentConstruct = void 0; return initial; } } // node_modules/micromark/lib/initialize/text.js var resolver = { resolveAll: createResolver() }; var string = initializeFactory("string"); var text = initializeFactory("text"); function initializeFactory(field) { return { tokenize: initializeText, resolveAll: createResolver( field === "text" ? resolveAllLineSuffixes : void 0 ) }; function initializeText(effects) { const self2 = this; const constructs2 = this.parser.constructs[field]; const text5 = effects.attempt(constructs2, start3, notText); return start3; function start3(code2) { return atBreak(code2) ? text5(code2) : notText(code2); } function notText(code2) { if (code2 === null) { effects.consume(code2); return; } effects.enter("data"); effects.consume(code2); return data3; } function data3(code2) { if (atBreak(code2)) { effects.exit("data"); return text5(code2); } effects.consume(code2); return data3; } function atBreak(code2) { if (code2 === null) { return true; } const list3 = constructs2[code2]; let index2 = -1; if (list3) { while (++index2 < list3.length) { const item = list3[index2]; if (!item.previous || item.previous.call(self2, self2.previous)) { return true; } } } return false; } } } function createResolver(extraResolver) { return resolveAllText; function resolveAllText(events, context) { let index2 = -1; let enter; while (++index2 <= events.length) { if (enter === void 0) { if (events[index2] && events[index2][1].type === "data") { enter = index2; index2++; } } else if (!events[index2] || events[index2][1].type !== "data") { if (index2 !== enter + 2) { events[enter][1].end = events[index2 - 1][1].end; events.splice(enter + 2, index2 - enter - 2); index2 = enter + 2; } enter = void 0; } } return extraResolver ? extraResolver(events, context) : events; } } function resolveAllLineSuffixes(events, context) { let eventIndex = 0; while (++eventIndex <= events.length) { if ((eventIndex === events.length || events[eventIndex][1].type === "lineEnding") && events[eventIndex - 1][1].type === "data") { const data3 = events[eventIndex - 1][1]; const chunks = context.sliceStream(data3); let index2 = chunks.length; let bufferIndex = -1; let size = 0; let tabs; while (index2--) { const chunk = chunks[index2]; if (typeof chunk === "string") { bufferIndex = chunk.length; while (chunk.charCodeAt(bufferIndex - 1) === 32) { size++; bufferIndex--; } if (bufferIndex) break; bufferIndex = -1; } else if (chunk === -2) { tabs = true; size++; } else if (chunk === -1) { } else { index2++; break; } } if (size) { const token2 = { type: eventIndex === events.length || tabs || size < 2 ? "lineSuffix" : "hardBreakTrailing", start: { line: data3.end.line, column: data3.end.column - size, offset: data3.end.offset - size, _index: data3.start._index + index2, _bufferIndex: index2 ? bufferIndex : data3.start._bufferIndex + bufferIndex }, end: Object.assign({}, data3.end) }; data3.end = Object.assign({}, token2.start); if (data3.start.offset === data3.end.offset) { Object.assign(data3, token2); } else { events.splice( eventIndex, 0, ["enter", token2, context], ["exit", token2, context] ); eventIndex += 2; } } eventIndex++; } } return events; } // node_modules/micromark/lib/create-tokenizer.js function createTokenizer(parser, initialize, from) { let point4 = Object.assign( from ? Object.assign({}, from) : { line: 1, column: 1, offset: 0 }, { _index: 0, _bufferIndex: -1 } ); const columnStart = {}; const resolveAllConstructs = []; let chunks = []; let stack2 = []; let consumed = true; const effects = { consume, enter, exit: exit2, attempt: constructFactory(onsuccessfulconstruct), check: constructFactory(onsuccessfulcheck), interrupt: constructFactory(onsuccessfulcheck, { interrupt: true }) }; const context = { previous: null, code: null, containerState: {}, events: [], parser, sliceStream, sliceSerialize, now, defineSkip, write }; let state = initialize.tokenize.call(context, effects); let expectedCode; if (initialize.resolveAll) { resolveAllConstructs.push(initialize); } return context; function write(slice2) { chunks = push(chunks, slice2); main(); if (chunks[chunks.length - 1] !== null) { return []; } addResult(initialize, 0); context.events = resolveAll(resolveAllConstructs, context.events, context); return context.events; } function sliceSerialize(token2, expandTabs) { return serializeChunks(sliceStream(token2), expandTabs); } function sliceStream(token2) { return sliceChunks(chunks, token2); } function now() { return Object.assign({}, point4); } function defineSkip(value2) { columnStart[value2.line] = value2.column; accountForPotentialSkip(); } function main() { let chunkIndex; while (point4._index < chunks.length) { const chunk = chunks[point4._index]; if (typeof chunk === "string") { chunkIndex = point4._index; if (point4._bufferIndex < 0) { point4._bufferIndex = 0; } while (point4._index === chunkIndex && point4._bufferIndex < chunk.length) { go(chunk.charCodeAt(point4._bufferIndex)); } } else { go(chunk); } } } function go(code2) { consumed = void 0; expectedCode = code2; state = state(code2); } function consume(code2) { if (markdownLineEnding(code2)) { point4.line++; point4.column = 1; point4.offset += code2 === -3 ? 2 : 1; accountForPotentialSkip(); } else if (code2 !== -1) { point4.column++; point4.offset++; } if (point4._bufferIndex < 0) { point4._index++; } else { point4._bufferIndex++; if (point4._bufferIndex === chunks[point4._index].length) { point4._bufferIndex = -1; point4._index++; } } context.previous = code2; consumed = true; } function enter(type, fields) { const token2 = fields || {}; token2.type = type; token2.start = now(); context.events.push(["enter", token2, context]); stack2.push(token2); return token2; } function exit2(type) { const token2 = stack2.pop(); token2.end = now(); context.events.push(["exit", token2, context]); return token2; } function onsuccessfulconstruct(construct, info) { addResult(construct, info.from); } function onsuccessfulcheck(_, info) { info.restore(); } function constructFactory(onreturn, fields) { return hook; function hook(constructs2, returnState, bogusState) { let listOfConstructs; let constructIndex; let currentConstruct; let info; return Array.isArray(constructs2) ? ( /* c8 ignore next 1 */ handleListOfConstructs(constructs2) ) : "tokenize" in constructs2 ? handleListOfConstructs([constructs2]) : handleMapOfConstructs(constructs2); function handleMapOfConstructs(map) { return start3; function start3(code2) { const def = code2 !== null && map[code2]; const all4 = code2 !== null && map.null; const list3 = [ // To do: add more extension tests. /* c8 ignore next 2 */ ...Array.isArray(def) ? def : def ? [def] : [], ...Array.isArray(all4) ? all4 : all4 ? [all4] : [] ]; return handleListOfConstructs(list3)(code2); } } function handleListOfConstructs(list3) { listOfConstructs = list3; constructIndex = 0; if (list3.length === 0) { return bogusState; } return handleConstruct(list3[constructIndex]); } function handleConstruct(construct) { return start3; function start3(code2) { info = store(); currentConstruct = construct; if (!construct.partial) { context.currentConstruct = construct; } if (construct.name && context.parser.constructs.disable.null.includes(construct.name)) { return nok(code2); } return construct.tokenize.call( // If we do have fields, create an object w/ `context` as its // prototype. // This allows a “live binding”, which is needed for `interrupt`. fields ? Object.assign(Object.create(context), fields) : context, effects, ok2, nok )(code2); } } function ok2(code2) { consumed = true; onreturn(currentConstruct, info); return returnState; } function nok(code2) { consumed = true; info.restore(); if (++constructIndex < listOfConstructs.length) { return handleConstruct(listOfConstructs[constructIndex]); } return bogusState; } } } function addResult(construct, from2) { if (construct.resolveAll && !resolveAllConstructs.includes(construct)) { resolveAllConstructs.push(construct); } if (construct.resolve) { splice( context.events, from2, context.events.length - from2, construct.resolve(context.events.slice(from2), context) ); } if (construct.resolveTo) { context.events = construct.resolveTo(context.events, context); } } function store() { const startPoint = now(); const startPrevious = context.previous; const startCurrentConstruct = context.currentConstruct; const startEventsIndex = context.events.length; const startStack = Array.from(stack2); return { restore, from: startEventsIndex }; function restore() { point4 = startPoint; context.previous = startPrevious; context.currentConstruct = startCurrentConstruct; context.events.length = startEventsIndex; stack2 = startStack; accountForPotentialSkip(); } } function accountForPotentialSkip() { if (point4.line in columnStart && point4.column < 2) { point4.column = columnStart[point4.line]; point4.offset += columnStart[point4.line] - 1; } } } function sliceChunks(chunks, token2) { const startIndex = token2.start._index; const startBufferIndex = token2.start._bufferIndex; const endIndex = token2.end._index; const endBufferIndex = token2.end._bufferIndex; let view; if (startIndex === endIndex) { view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)]; } else { view = chunks.slice(startIndex, endIndex); if (startBufferIndex > -1) { view[0] = view[0].slice(startBufferIndex); } if (endBufferIndex > 0) { view.push(chunks[endIndex].slice(0, endBufferIndex)); } } return view; } function serializeChunks(chunks, expandTabs) { let index2 = -1; const result = []; let atTab; while (++index2 < chunks.length) { const chunk = chunks[index2]; let value2; if (typeof chunk === "string") { value2 = chunk; } else switch (chunk) { case -5: { value2 = "\r"; break; } case -4: { value2 = "\n"; break; } case -3: { value2 = "\r\n"; break; } case -2: { value2 = expandTabs ? " " : " "; break; } case -1: { if (!expandTabs && atTab) continue; value2 = " "; break; } default: { value2 = String.fromCharCode(chunk); } } atTab = chunk === -2; result.push(value2); } return result.join(""); } // node_modules/micromark/lib/constructs.js var constructs_exports = {}; __export(constructs_exports, { attentionMarkers: () => attentionMarkers, contentInitial: () => contentInitial, disable: () => disable, document: () => document3, flow: () => flow2, flowInitial: () => flowInitial, insideSpan: () => insideSpan, string: () => string2, text: () => text2 }); var document3 = { [42]: list, [43]: list, [45]: list, [48]: list, [49]: list, [50]: list, [51]: list, [52]: list, [53]: list, [54]: list, [55]: list, [56]: list, [57]: list, [62]: blockQuote }; var contentInitial = { [91]: definition }; var flowInitial = { [-2]: codeIndented, [-1]: codeIndented, [32]: codeIndented }; var flow2 = { [35]: headingAtx, [42]: thematicBreak, [45]: [setextUnderline, thematicBreak], [60]: htmlFlow, [61]: setextUnderline, [95]: thematicBreak, [96]: codeFenced, [126]: codeFenced }; var string2 = { [38]: characterReference, [92]: characterEscape }; var text2 = { [-5]: lineEnding, [-4]: lineEnding, [-3]: lineEnding, [33]: labelStartImage, [38]: characterReference, [42]: attention, [60]: [autolink, htmlText], [91]: labelStartLink, [92]: [hardBreakEscape, characterEscape], [93]: labelEnd, [95]: attention, [96]: codeText }; var insideSpan = { null: [attention, resolver] }; var attentionMarkers = { null: [42, 95] }; var disable = { null: [] }; // node_modules/micromark/lib/parse.js function parse6(options = {}) { const constructs2 = combineExtensions( // @ts-expect-error Same as above. [constructs_exports].concat(options.extensions || []) ); const parser = { defined: [], lazy: {}, constructs: constructs2, content: create4(content2), document: create4(document2), flow: create4(flow), string: create4(string), text: create4(text) }; return parser; function create4(initial) { return creator; function creator(from) { return createTokenizer(parser, initial, from); } } } // node_modules/micromark/lib/preprocess.js var search = /[\0\t\n\r]/g; function preprocess() { let column2 = 1; let buffer3 = ""; let start3 = true; let atCarriageReturn; return preprocessor; function preprocessor(value2, encoding, end) { const chunks = []; let match; let next; let startPosition; let endPosition; let code2; value2 = buffer3 + value2.toString(encoding); startPosition = 0; buffer3 = ""; if (start3) { if (value2.charCodeAt(0) === 65279) { startPosition++; } start3 = void 0; } while (startPosition < value2.length) { search.lastIndex = startPosition; match = search.exec(value2); endPosition = match && match.index !== void 0 ? match.index : value2.length; code2 = value2.charCodeAt(endPosition); if (!match) { buffer3 = value2.slice(startPosition); break; } if (code2 === 10 && startPosition === endPosition && atCarriageReturn) { chunks.push(-3); atCarriageReturn = void 0; } else { if (atCarriageReturn) { chunks.push(-5); atCarriageReturn = void 0; } if (startPosition < endPosition) { chunks.push(value2.slice(startPosition, endPosition)); column2 += endPosition - startPosition; } switch (code2) { case 0: { chunks.push(65533); column2++; break; } case 9: { next = Math.ceil(column2 / 4) * 4; chunks.push(-2); while (column2++ < next) chunks.push(-1); break; } case 10: { chunks.push(-4); column2 = 1; break; } default: { atCarriageReturn = true; column2 = 1; } } } startPosition = endPosition + 1; } if (end) { if (atCarriageReturn) chunks.push(-5); if (buffer3) chunks.push(buffer3); chunks.push(null); } return chunks; } } // node_modules/micromark/lib/postprocess.js function postprocess(events) { while (!subtokenize(events)) { } return events; } // node_modules/micromark-util-decode-numeric-character-reference/index.js function decodeNumericCharacterReference(value2, base2) { const code2 = Number.parseInt(value2, base2); if ( // C0 except for HT, LF, FF, CR, space code2 < 9 || code2 === 11 || code2 > 13 && code2 < 32 || // Control character (DEL) of the basic block and C1 controls. code2 > 126 && code2 < 160 || // Lone high surrogates and low surrogates. code2 > 55295 && code2 < 57344 || // Noncharacters. code2 > 64975 && code2 < 65008 || (code2 & 65535) === 65535 || (code2 & 65535) === 65534 || // Out of range code2 > 1114111 ) { return "\uFFFD"; } return String.fromCharCode(code2); } // node_modules/micromark-util-decode-string/index.js var characterEscapeOrReference = /\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi; function decodeString(value2) { return value2.replace(characterEscapeOrReference, decode); } function decode($0, $1, $2) { if ($1) { return $1; } const head = $2.charCodeAt(0); if (head === 35) { const head2 = $2.charCodeAt(1); const hex = head2 === 120 || head2 === 88; return decodeNumericCharacterReference($2.slice(hex ? 2 : 1), hex ? 16 : 10); } return decodeNamedCharacterReference($2) || $0; } // node_modules/mdast-util-from-markdown/lib/index.js var own4 = {}.hasOwnProperty; var fromMarkdown = ( /** * @type {( * ((value: Value, encoding: Encoding, options?: Options | null | undefined) => Root) & * ((value: Value, options?: Options | null | undefined) => Root) * )} */ /** * @param {Value} value * @param {Encoding | Options | null | undefined} [encoding] * @param {Options | null | undefined} [options] * @returns {Root} */ function(value2, encoding, options) { if (typeof encoding !== "string") { options = encoding; encoding = void 0; } return compiler(options)( postprocess( // @ts-expect-error: micromark types need to accept `null`. parse6(options).document().write(preprocess()(value2, encoding, true)) ) ); } ); function compiler(options) { const config = { transforms: [], canContainEols: ["emphasis", "fragment", "heading", "paragraph", "strong"], enter: { autolink: opener(link2), autolinkProtocol: onenterdata, autolinkEmail: onenterdata, atxHeading: opener(heading2), blockQuote: opener(blockQuote2), characterEscape: onenterdata, characterReference: onenterdata, codeFenced: opener(codeFlow), codeFencedFenceInfo: buffer3, codeFencedFenceMeta: buffer3, codeIndented: opener(codeFlow, buffer3), codeText: opener(codeText2, buffer3), codeTextData: onenterdata, data: onenterdata, codeFlowValue: onenterdata, definition: opener(definition2), definitionDestinationString: buffer3, definitionLabelString: buffer3, definitionTitleString: buffer3, emphasis: opener(emphasis2), hardBreakEscape: opener(hardBreak2), hardBreakTrailing: opener(hardBreak2), htmlFlow: opener(html4, buffer3), htmlFlowData: onenterdata, htmlText: opener(html4, buffer3), htmlTextData: onenterdata, image: opener(image2), label: buffer3, link: opener(link2), listItem: opener(listItem2), listItemValue: onenterlistitemvalue, listOrdered: opener(list3, onenterlistordered), listUnordered: opener(list3), paragraph: opener(paragraph2), reference: onenterreference, referenceString: buffer3, resourceDestinationString: buffer3, resourceTitleString: buffer3, setextHeading: opener(heading2), strong: opener(strong2), thematicBreak: opener(thematicBreak3) }, exit: { atxHeading: closer(), atxHeadingSequence: onexitatxheadingsequence, autolink: closer(), autolinkEmail: onexitautolinkemail, autolinkProtocol: onexitautolinkprotocol, blockQuote: closer(), characterEscapeValue: onexitdata, characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker, characterReferenceMarkerNumeric: onexitcharacterreferencemarker, characterReferenceValue: onexitcharacterreferencevalue, codeFenced: closer(onexitcodefenced), codeFencedFence: onexitcodefencedfence, codeFencedFenceInfo: onexitcodefencedfenceinfo, codeFencedFenceMeta: onexitcodefencedfencemeta, codeFlowValue: onexitdata, codeIndented: closer(onexitcodeindented), codeText: closer(onexitcodetext), codeTextData: onexitdata, data: onexitdata, definition: closer(), definitionDestinationString: onexitdefinitiondestinationstring, definitionLabelString: onexitdefinitionlabelstring, definitionTitleString: onexitdefinitiontitlestring, emphasis: closer(), hardBreakEscape: closer(onexithardbreak), hardBreakTrailing: closer(onexithardbreak), htmlFlow: closer(onexithtmlflow), htmlFlowData: onexitdata, htmlText: closer(onexithtmltext), htmlTextData: onexitdata, image: closer(onexitimage), label: onexitlabel, labelText: onexitlabeltext, lineEnding: onexitlineending, link: closer(onexitlink), listItem: closer(), listOrdered: closer(), listUnordered: closer(), paragraph: closer(), referenceString: onexitreferencestring, resourceDestinationString: onexitresourcedestinationstring, resourceTitleString: onexitresourcetitlestring, resource: onexitresource, setextHeading: closer(onexitsetextheading), setextHeadingLineSequence: onexitsetextheadinglinesequence, setextHeadingText: onexitsetextheadingtext, strong: closer(), thematicBreak: closer() } }; configure(config, (options || {}).mdastExtensions || []); const data3 = {}; return compile3; function compile3(events) { let tree = { type: "root", children: [] }; const context = { stack: [tree], tokenStack: [], config, enter, exit: exit2, buffer: buffer3, resume, setData, getData }; const listStack = []; let index2 = -1; while (++index2 < events.length) { if (events[index2][1].type === "listOrdered" || events[index2][1].type === "listUnordered") { if (events[index2][0] === "enter") { listStack.push(index2); } else { const tail = listStack.pop(); index2 = prepareList(events, tail, index2); } } } index2 = -1; while (++index2 < events.length) { const handler = config[events[index2][0]]; if (own4.call(handler, events[index2][1].type)) { handler[events[index2][1].type].call( Object.assign( { sliceSerialize: events[index2][2].sliceSerialize }, context ), events[index2][1] ); } } if (context.tokenStack.length > 0) { const tail = context.tokenStack[context.tokenStack.length - 1]; const handler = tail[1] || defaultOnError; handler.call(context, void 0, tail[0]); } tree.position = { start: point2( events.length > 0 ? events[0][1].start : { line: 1, column: 1, offset: 0 } ), end: point2( events.length > 0 ? events[events.length - 2][1].end : { line: 1, column: 1, offset: 0 } ) }; index2 = -1; while (++index2 < config.transforms.length) { tree = config.transforms[index2](tree) || tree; } return tree; } function prepareList(events, start3, length) { let index2 = start3 - 1; let containerBalance = -1; let listSpread = false; let listItem3; let lineIndex; let firstBlankLineIndex; let atMarker; while (++index2 <= length) { const event = events[index2]; if (event[1].type === "listUnordered" || event[1].type === "listOrdered" || event[1].type === "blockQuote") { if (event[0] === "enter") { containerBalance++; } else { containerBalance--; } atMarker = void 0; } else if (event[1].type === "lineEndingBlank") { if (event[0] === "enter") { if (listItem3 && !atMarker && !containerBalance && !firstBlankLineIndex) { firstBlankLineIndex = index2; } atMarker = void 0; } } else if (event[1].type === "linePrefix" || event[1].type === "listItemValue" || event[1].type === "listItemMarker" || event[1].type === "listItemPrefix" || event[1].type === "listItemPrefixWhitespace") { } else { atMarker = void 0; } if (!containerBalance && event[0] === "enter" && event[1].type === "listItemPrefix" || containerBalance === -1 && event[0] === "exit" && (event[1].type === "listUnordered" || event[1].type === "listOrdered")) { if (listItem3) { let tailIndex = index2; lineIndex = void 0; while (tailIndex--) { const tailEvent = events[tailIndex]; if (tailEvent[1].type === "lineEnding" || tailEvent[1].type === "lineEndingBlank") { if (tailEvent[0] === "exit") continue; if (lineIndex) { events[lineIndex][1].type = "lineEndingBlank"; listSpread = true; } tailEvent[1].type = "lineEnding"; lineIndex = tailIndex; } else if (tailEvent[1].type === "linePrefix" || tailEvent[1].type === "blockQuotePrefix" || tailEvent[1].type === "blockQuotePrefixWhitespace" || tailEvent[1].type === "blockQuoteMarker" || tailEvent[1].type === "listItemIndent") { } else { break; } } if (firstBlankLineIndex && (!lineIndex || firstBlankLineIndex < lineIndex)) { listItem3._spread = true; } listItem3.end = Object.assign( {}, lineIndex ? events[lineIndex][1].start : event[1].end ); events.splice(lineIndex || index2, 0, ["exit", listItem3, event[2]]); index2++; length++; } if (event[1].type === "listItemPrefix") { listItem3 = { type: "listItem", // @ts-expect-error Patched _spread: false, start: Object.assign({}, event[1].start) }; events.splice(index2, 0, ["enter", listItem3, event[2]]); index2++; length++; firstBlankLineIndex = void 0; atMarker = true; } } } events[start3][1]._spread = listSpread; return length; } function setData(key2, value2) { data3[key2] = value2; } function getData(key2) { return data3[key2]; } function opener(create4, and) { return open; function open(token2) { enter.call(this, create4(token2), token2); if (and) and.call(this, token2); } } function buffer3() { this.stack.push({ type: "fragment", children: [] }); } function enter(node2, token2, errorHandler) { const parent = this.stack[this.stack.length - 1]; parent.children.push(node2); this.stack.push(node2); this.tokenStack.push([token2, errorHandler]); node2.position = { start: point2(token2.start) }; return node2; } function closer(and) { return close; function close(token2) { if (and) and.call(this, token2); exit2.call(this, token2); } } function exit2(token2, onExitError) { const node2 = this.stack.pop(); const open = this.tokenStack.pop(); if (!open) { throw new Error( "Cannot close `" + token2.type + "` (" + stringifyPosition({ start: token2.start, end: token2.end }) + "): it\u2019s not open" ); } else if (open[0].type !== token2.type) { if (onExitError) { onExitError.call(this, token2, open[0]); } else { const handler = open[1] || defaultOnError; handler.call(this, token2, open[0]); } } node2.position.end = point2(token2.end); return node2; } function resume() { return toString3(this.stack.pop()); } function onenterlistordered() { setData("expectingFirstListItemValue", true); } function onenterlistitemvalue(token2) { if (getData("expectingFirstListItemValue")) { const ancestor = this.stack[this.stack.length - 2]; ancestor.start = Number.parseInt(this.sliceSerialize(token2), 10); setData("expectingFirstListItemValue"); } } function onexitcodefencedfenceinfo() { const data4 = this.resume(); const node2 = this.stack[this.stack.length - 1]; node2.lang = data4; } function onexitcodefencedfencemeta() { const data4 = this.resume(); const node2 = this.stack[this.stack.length - 1]; node2.meta = data4; } function onexitcodefencedfence() { if (getData("flowCodeInside")) return; this.buffer(); setData("flowCodeInside", true); } function onexitcodefenced() { const data4 = this.resume(); const node2 = this.stack[this.stack.length - 1]; node2.value = data4.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g, ""); setData("flowCodeInside"); } function onexitcodeindented() { const data4 = this.resume(); const node2 = this.stack[this.stack.length - 1]; node2.value = data4.replace(/(\r?\n|\r)$/g, ""); } function onexitdefinitionlabelstring(token2) { const label = this.resume(); const node2 = this.stack[this.stack.length - 1]; node2.label = label; node2.identifier = normalizeIdentifier( this.sliceSerialize(token2) ).toLowerCase(); } function onexitdefinitiontitlestring() { const data4 = this.resume(); const node2 = this.stack[this.stack.length - 1]; node2.title = data4; } function onexitdefinitiondestinationstring() { const data4 = this.resume(); const node2 = this.stack[this.stack.length - 1]; node2.url = data4; } function onexitatxheadingsequence(token2) { const node2 = this.stack[this.stack.length - 1]; if (!node2.depth) { const depth = this.sliceSerialize(token2).length; node2.depth = depth; } } function onexitsetextheadingtext() { setData("setextHeadingSlurpLineEnding", true); } function onexitsetextheadinglinesequence(token2) { const node2 = this.stack[this.stack.length - 1]; node2.depth = this.sliceSerialize(token2).charCodeAt(0) === 61 ? 1 : 2; } function onexitsetextheading() { setData("setextHeadingSlurpLineEnding"); } function onenterdata(token2) { const node2 = this.stack[this.stack.length - 1]; let tail = node2.children[node2.children.length - 1]; if (!tail || tail.type !== "text") { tail = text5(); tail.position = { start: point2(token2.start) }; node2.children.push(tail); } this.stack.push(tail); } function onexitdata(token2) { const tail = this.stack.pop(); tail.value += this.sliceSerialize(token2); tail.position.end = point2(token2.end); } function onexitlineending(token2) { const context = this.stack[this.stack.length - 1]; if (getData("atHardBreak")) { const tail = context.children[context.children.length - 1]; tail.position.end = point2(token2.end); setData("atHardBreak"); return; } if (!getData("setextHeadingSlurpLineEnding") && config.canContainEols.includes(context.type)) { onenterdata.call(this, token2); onexitdata.call(this, token2); } } function onexithardbreak() { setData("atHardBreak", true); } function onexithtmlflow() { const data4 = this.resume(); const node2 = this.stack[this.stack.length - 1]; node2.value = data4; } function onexithtmltext() { const data4 = this.resume(); const node2 = this.stack[this.stack.length - 1]; node2.value = data4; } function onexitcodetext() { const data4 = this.resume(); const node2 = this.stack[this.stack.length - 1]; node2.value = data4; } function onexitlink() { const node2 = this.stack[this.stack.length - 1]; if (getData("inReference")) { const referenceType = getData("referenceType") || "shortcut"; node2.type += "Reference"; node2.referenceType = referenceType; delete node2.url; delete node2.title; } else { delete node2.identifier; delete node2.label; } setData("referenceType"); } function onexitimage() { const node2 = this.stack[this.stack.length - 1]; if (getData("inReference")) { const referenceType = getData("referenceType") || "shortcut"; node2.type += "Reference"; node2.referenceType = referenceType; delete node2.url; delete node2.title; } else { delete node2.identifier; delete node2.label; } setData("referenceType"); } function onexitlabeltext(token2) { const string3 = this.sliceSerialize(token2); const ancestor = this.stack[this.stack.length - 2]; ancestor.label = decodeString(string3); ancestor.identifier = normalizeIdentifier(string3).toLowerCase(); } function onexitlabel() { const fragment = this.stack[this.stack.length - 1]; const value2 = this.resume(); const node2 = this.stack[this.stack.length - 1]; setData("inReference", true); if (node2.type === "link") { const children = fragment.children; node2.children = children; } else { node2.alt = value2; } } function onexitresourcedestinationstring() { const data4 = this.resume(); const node2 = this.stack[this.stack.length - 1]; node2.url = data4; } function onexitresourcetitlestring() { const data4 = this.resume(); const node2 = this.stack[this.stack.length - 1]; node2.title = data4; } function onexitresource() { setData("inReference"); } function onenterreference() { setData("referenceType", "collapsed"); } function onexitreferencestring(token2) { const label = this.resume(); const node2 = this.stack[this.stack.length - 1]; node2.label = label; node2.identifier = normalizeIdentifier( this.sliceSerialize(token2) ).toLowerCase(); setData("referenceType", "full"); } function onexitcharacterreferencemarker(token2) { setData("characterReferenceType", token2.type); } function onexitcharacterreferencevalue(token2) { const data4 = this.sliceSerialize(token2); const type = getData("characterReferenceType"); let value2; if (type) { value2 = decodeNumericCharacterReference( data4, type === "characterReferenceMarkerNumeric" ? 10 : 16 ); setData("characterReferenceType"); } else { const result = decodeNamedCharacterReference(data4); value2 = result; } const tail = this.stack.pop(); tail.value += value2; tail.position.end = point2(token2.end); } function onexitautolinkprotocol(token2) { onexitdata.call(this, token2); const node2 = this.stack[this.stack.length - 1]; node2.url = this.sliceSerialize(token2); } function onexitautolinkemail(token2) { onexitdata.call(this, token2); const node2 = this.stack[this.stack.length - 1]; node2.url = "mailto:" + this.sliceSerialize(token2); } function blockQuote2() { return { type: "blockquote", children: [] }; } function codeFlow() { return { type: "code", lang: null, meta: null, value: "" }; } function codeText2() { return { type: "inlineCode", value: "" }; } function definition2() { return { type: "definition", identifier: "", label: null, title: null, url: "" }; } function emphasis2() { return { type: "emphasis", children: [] }; } function heading2() { return { type: "heading", depth: void 0, children: [] }; } function hardBreak2() { return { type: "break" }; } function html4() { return { type: "html", value: "" }; } function image2() { return { type: "image", title: null, url: "", alt: null }; } function link2() { return { type: "link", title: null, url: "", children: [] }; } function list3(token2) { return { type: "list", ordered: token2.type === "listOrdered", start: null, // @ts-expect-error Patched. spread: token2._spread, children: [] }; } function listItem2(token2) { return { type: "listItem", // @ts-expect-error Patched. spread: token2._spread, checked: null, children: [] }; } function paragraph2() { return { type: "paragraph", children: [] }; } function strong2() { return { type: "strong", children: [] }; } function text5() { return { type: "text", value: "" }; } function thematicBreak3() { return { type: "thematicBreak" }; } } function point2(d) { return { line: d.line, column: d.column, offset: d.offset }; } function configure(combined, extensions) { let index2 = -1; while (++index2 < extensions.length) { const value2 = extensions[index2]; if (Array.isArray(value2)) { configure(combined, value2); } else { extension(combined, value2); } } } function extension(combined, extension2) { let key2; for (key2 in extension2) { if (own4.call(extension2, key2)) { if (key2 === "canContainEols") { const right = extension2[key2]; if (right) { combined[key2].push(...right); } } else if (key2 === "transforms") { const right = extension2[key2]; if (right) { combined[key2].push(...right); } } else if (key2 === "enter" || key2 === "exit") { const right = extension2[key2]; if (right) { Object.assign(combined[key2], right); } } } } } function defaultOnError(left, right) { if (left) { throw new Error( "Cannot close `" + left.type + "` (" + stringifyPosition({ start: left.start, end: left.end }) + "): a different token (`" + right.type + "`, " + stringifyPosition({ start: right.start, end: right.end }) + ") is open" ); } else { throw new Error( "Cannot close document, a token (`" + right.type + "`, " + stringifyPosition({ start: right.start, end: right.end }) + ") is still open" ); } } // node_modules/remark-parse/lib/index.js function remarkParse(options) { const parser = (doc) => { const settings = ( /** @type {Options} */ this.data("settings") ); return fromMarkdown( doc, Object.assign({}, settings, options, { // Note: these options are not in the readme. // The goal is for them to be set by plugins on `data` instead of being // passed by users. extensions: this.data("micromarkExtensions") || [], mdastExtensions: this.data("fromMarkdownExtensions") || [] }) ); }; Object.assign(this, { Parser: parser }); } // node_modules/remark-parse/index.js var remark_parse_default = remarkParse; // node_modules/mdast-util-to-hast/lib/handlers/blockquote.js function blockquote(state, node2) { const result = { type: "element", tagName: "blockquote", properties: {}, children: state.wrap(state.all(node2), true) }; state.patch(node2, result); return state.applyData(node2, result); } // node_modules/mdast-util-to-hast/lib/handlers/break.js function hardBreak(state, node2) { const result = { type: "element", tagName: "br", properties: {}, children: [] }; state.patch(node2, result); return [state.applyData(node2, result), { type: "text", value: "\n" }]; } // node_modules/mdast-util-to-hast/lib/handlers/code.js function code(state, node2) { const value2 = node2.value ? node2.value + "\n" : ""; const lang = node2.lang ? node2.lang.match(/^[^ \t]+(?=[ \t]|$)/) : null; const properties = {}; if (lang) { properties.className = ["language-" + lang]; } let result = { type: "element", tagName: "code", properties, children: [{ type: "text", value: value2 }] }; if (node2.meta) { result.data = { meta: node2.meta }; } state.patch(node2, result); result = state.applyData(node2, result); result = { type: "element", tagName: "pre", properties: {}, children: [result] }; state.patch(node2, result); return result; } // node_modules/mdast-util-to-hast/lib/handlers/delete.js function strikethrough(state, node2) { const result = { type: "element", tagName: "del", properties: {}, children: state.all(node2) }; state.patch(node2, result); return state.applyData(node2, result); } // node_modules/mdast-util-to-hast/lib/handlers/emphasis.js function emphasis(state, node2) { const result = { type: "element", tagName: "em", properties: {}, children: state.all(node2) }; state.patch(node2, result); return state.applyData(node2, result); } // node_modules/micromark-util-sanitize-uri/index.js function normalizeUri(value2) { const result = []; let index2 = -1; let start3 = 0; let skip = 0; while (++index2 < value2.length) { const code2 = value2.charCodeAt(index2); let replace = ""; if (code2 === 37 && asciiAlphanumeric(value2.charCodeAt(index2 + 1)) && asciiAlphanumeric(value2.charCodeAt(index2 + 2))) { skip = 2; } else if (code2 < 128) { if (!/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(code2))) { replace = String.fromCharCode(code2); } } else if (code2 > 55295 && code2 < 57344) { const next = value2.charCodeAt(index2 + 1); if (code2 < 56320 && next > 56319 && next < 57344) { replace = String.fromCharCode(code2, next); skip = 1; } else { replace = "\uFFFD"; } } else { replace = String.fromCharCode(code2); } if (replace) { result.push(value2.slice(start3, index2), encodeURIComponent(replace)); start3 = index2 + skip + 1; replace = ""; } if (skip) { index2 += skip; skip = 0; } } return result.join("") + value2.slice(start3); } // node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js function footnoteReference(state, node2) { const id = String(node2.identifier).toUpperCase(); const safeId = normalizeUri(id.toLowerCase()); const index2 = state.footnoteOrder.indexOf(id); let counter; if (index2 === -1) { state.footnoteOrder.push(id); state.footnoteCounts[id] = 1; counter = state.footnoteOrder.length; } else { state.footnoteCounts[id]++; counter = index2 + 1; } const reuseCounter = state.footnoteCounts[id]; const link2 = { type: "element", tagName: "a", properties: { href: "#" + state.clobberPrefix + "fn-" + safeId, id: state.clobberPrefix + "fnref-" + safeId + (reuseCounter > 1 ? "-" + reuseCounter : ""), dataFootnoteRef: true, ariaDescribedBy: ["footnote-label"] }, children: [{ type: "text", value: String(counter) }] }; state.patch(node2, link2); const sup = { type: "element", tagName: "sup", properties: {}, children: [link2] }; state.patch(node2, sup); return state.applyData(node2, sup); } // node_modules/mdast-util-to-hast/lib/handlers/footnote.js function footnote(state, node2) { const footnoteById = state.footnoteById; let no = 1; while (no in footnoteById) no++; const identifier = String(no); footnoteById[identifier] = { type: "footnoteDefinition", identifier, children: [{ type: "paragraph", children: node2.children }], position: node2.position }; return footnoteReference(state, { type: "footnoteReference", identifier, position: node2.position }); } // node_modules/mdast-util-to-hast/lib/handlers/heading.js function heading(state, node2) { const result = { type: "element", tagName: "h" + node2.depth, properties: {}, children: state.all(node2) }; state.patch(node2, result); return state.applyData(node2, result); } // node_modules/mdast-util-to-hast/lib/handlers/html.js function html(state, node2) { if (state.dangerous) { const result = { type: "raw", value: node2.value }; state.patch(node2, result); return state.applyData(node2, result); } return null; } // node_modules/mdast-util-to-hast/lib/revert.js function revert(state, node2) { const subtype = node2.referenceType; let suffix = "]"; if (subtype === "collapsed") { suffix += "[]"; } else if (subtype === "full") { suffix += "[" + (node2.label || node2.identifier) + "]"; } if (node2.type === "imageReference") { return { type: "text", value: "![" + node2.alt + suffix }; } const contents = state.all(node2); const head = contents[0]; if (head && head.type === "text") { head.value = "[" + head.value; } else { contents.unshift({ type: "text", value: "[" }); } const tail = contents[contents.length - 1]; if (tail && tail.type === "text") { tail.value += suffix; } else { contents.push({ type: "text", value: suffix }); } return contents; } // node_modules/mdast-util-to-hast/lib/handlers/image-reference.js function imageReference(state, node2) { const def = state.definition(node2.identifier); if (!def) { return revert(state, node2); } const properties = { src: normalizeUri(def.url || ""), alt: node2.alt }; if (def.title !== null && def.title !== void 0) { properties.title = def.title; } const result = { type: "element", tagName: "img", properties, children: [] }; state.patch(node2, result); return state.applyData(node2, result); } // node_modules/mdast-util-to-hast/lib/handlers/image.js function image(state, node2) { const properties = { src: normalizeUri(node2.url) }; if (node2.alt !== null && node2.alt !== void 0) { properties.alt = node2.alt; } if (node2.title !== null && node2.title !== void 0) { properties.title = node2.title; } const result = { type: "element", tagName: "img", properties, children: [] }; state.patch(node2, result); return state.applyData(node2, result); } // node_modules/mdast-util-to-hast/lib/handlers/inline-code.js function inlineCode(state, node2) { const text5 = { type: "text", value: node2.value.replace(/\r?\n|\r/g, " ") }; state.patch(node2, text5); const result = { type: "element", tagName: "code", properties: {}, children: [text5] }; state.patch(node2, result); return state.applyData(node2, result); } // node_modules/mdast-util-to-hast/lib/handlers/link-reference.js function linkReference(state, node2) { const def = state.definition(node2.identifier); if (!def) { return revert(state, node2); } const properties = { href: normalizeUri(def.url || "") }; if (def.title !== null && def.title !== void 0) { properties.title = def.title; } const result = { type: "element", tagName: "a", properties, children: state.all(node2) }; state.patch(node2, result); return state.applyData(node2, result); } // node_modules/mdast-util-to-hast/lib/handlers/link.js function link(state, node2) { const properties = { href: normalizeUri(node2.url) }; if (node2.title !== null && node2.title !== void 0) { properties.title = node2.title; } const result = { type: "element", tagName: "a", properties, children: state.all(node2) }; state.patch(node2, result); return state.applyData(node2, result); } // node_modules/mdast-util-to-hast/lib/handlers/list-item.js function listItem(state, node2, parent) { const results = state.all(node2); const loose = parent ? listLoose(parent) : listItemLoose(node2); const properties = {}; const children = []; if (typeof node2.checked === "boolean") { const head = results[0]; let paragraph2; if (head && head.type === "element" && head.tagName === "p") { paragraph2 = head; } else { paragraph2 = { type: "element", tagName: "p", properties: {}, children: [] }; results.unshift(paragraph2); } if (paragraph2.children.length > 0) { paragraph2.children.unshift({ type: "text", value: " " }); } paragraph2.children.unshift({ type: "element", tagName: "input", properties: { type: "checkbox", checked: node2.checked, disabled: true }, children: [] }); properties.className = ["task-list-item"]; } let index2 = -1; while (++index2 < results.length) { const child = results[index2]; if (loose || index2 !== 0 || child.type !== "element" || child.tagName !== "p") { children.push({ type: "text", value: "\n" }); } if (child.type === "element" && child.tagName === "p" && !loose) { children.push(...child.children); } else { children.push(child); } } const tail = results[results.length - 1]; if (tail && (loose || tail.type !== "element" || tail.tagName !== "p")) { children.push({ type: "text", value: "\n" }); } const result = { type: "element", tagName: "li", properties, children }; state.patch(node2, result); return state.applyData(node2, result); } function listLoose(node2) { let loose = false; if (node2.type === "list") { loose = node2.spread || false; const children = node2.children; let index2 = -1; while (!loose && ++index2 < children.length) { loose = listItemLoose(children[index2]); } } return loose; } function listItemLoose(node2) { const spread = node2.spread; return spread === void 0 || spread === null ? node2.children.length > 1 : spread; } // node_modules/mdast-util-to-hast/lib/handlers/list.js function list2(state, node2) { const properties = {}; const results = state.all(node2); let index2 = -1; if (typeof node2.start === "number" && node2.start !== 1) { properties.start = node2.start; } while (++index2 < results.length) { const child = results[index2]; if (child.type === "element" && child.tagName === "li" && child.properties && Array.isArray(child.properties.className) && child.properties.className.includes("task-list-item")) { properties.className = ["contains-task-list"]; break; } } const result = { type: "element", tagName: node2.ordered ? "ol" : "ul", properties, children: state.wrap(results, true) }; state.patch(node2, result); return state.applyData(node2, result); } // node_modules/mdast-util-to-hast/lib/handlers/paragraph.js function paragraph(state, node2) { const result = { type: "element", tagName: "p", properties: {}, children: state.all(node2) }; state.patch(node2, result); return state.applyData(node2, result); } // node_modules/mdast-util-to-hast/lib/handlers/root.js function root(state, node2) { const result = { type: "root", children: state.wrap(state.all(node2)) }; state.patch(node2, result); return state.applyData(node2, result); } // node_modules/mdast-util-to-hast/lib/handlers/strong.js function strong(state, node2) { const result = { type: "element", tagName: "strong", properties: {}, children: state.all(node2) }; state.patch(node2, result); return state.applyData(node2, result); } // node_modules/unist-util-position/lib/index.js var pointStart = point3("start"); var pointEnd = point3("end"); function position2(node2) { return { start: pointStart(node2), end: pointEnd(node2) }; } function point3(type) { return point4; function point4(node2) { const point5 = node2 && node2.position && node2.position[type] || {}; return { // @ts-expect-error: in practice, null is allowed. line: point5.line || null, // @ts-expect-error: in practice, null is allowed. column: point5.column || null, // @ts-expect-error: in practice, null is allowed. offset: point5.offset > -1 ? point5.offset : null }; } } // node_modules/mdast-util-to-hast/lib/handlers/table.js function table(state, node2) { const rows = state.all(node2); const firstRow = rows.shift(); const tableContent = []; if (firstRow) { const head = { type: "element", tagName: "thead", properties: {}, children: state.wrap([firstRow], true) }; state.patch(node2.children[0], head); tableContent.push(head); } if (rows.length > 0) { const body = { type: "element", tagName: "tbody", properties: {}, children: state.wrap(rows, true) }; const start3 = pointStart(node2.children[1]); const end = pointEnd(node2.children[node2.children.length - 1]); if (start3.line && end.line) body.position = { start: start3, end }; tableContent.push(body); } const result = { type: "element", tagName: "table", properties: {}, children: state.wrap(tableContent, true) }; state.patch(node2, result); return state.applyData(node2, result); } // node_modules/mdast-util-to-hast/lib/handlers/table-row.js function tableRow(state, node2, parent) { const siblings = parent ? parent.children : void 0; const rowIndex = siblings ? siblings.indexOf(node2) : 1; const tagName = rowIndex === 0 ? "th" : "td"; const align = parent && parent.type === "table" ? parent.align : void 0; const length = align ? align.length : node2.children.length; let cellIndex = -1; const cells = []; while (++cellIndex < length) { const cell = node2.children[cellIndex]; const properties = {}; const alignValue = align ? align[cellIndex] : void 0; if (alignValue) { properties.align = alignValue; } let result2 = { type: "element", tagName, properties, children: [] }; if (cell) { result2.children = state.all(cell); state.patch(cell, result2); result2 = state.applyData(node2, result2); } cells.push(result2); } const result = { type: "element", tagName: "tr", properties: {}, children: state.wrap(cells, true) }; state.patch(node2, result); return state.applyData(node2, result); } // node_modules/mdast-util-to-hast/lib/handlers/table-cell.js function tableCell(state, node2) { const result = { type: "element", tagName: "td", // Assume body cell. properties: {}, children: state.all(node2) }; state.patch(node2, result); return state.applyData(node2, result); } // node_modules/trim-lines/index.js var tab = 9; var space = 32; function trimLines(value2) { const source2 = String(value2); const search2 = /\r?\n|\r/g; let match = search2.exec(source2); let last = 0; const lines = []; while (match) { lines.push( trimLine(source2.slice(last, match.index), last > 0, true), match[0] ); last = match.index + match[0].length; match = search2.exec(source2); } lines.push(trimLine(source2.slice(last), last > 0, false)); return lines.join(""); } function trimLine(value2, start3, end) { let startIndex = 0; let endIndex = value2.length; if (start3) { let code2 = value2.codePointAt(startIndex); while (code2 === tab || code2 === space) { startIndex++; code2 = value2.codePointAt(startIndex); } } if (end) { let code2 = value2.codePointAt(endIndex - 1); while (code2 === tab || code2 === space) { endIndex--; code2 = value2.codePointAt(endIndex - 1); } } return endIndex > startIndex ? value2.slice(startIndex, endIndex) : ""; } // node_modules/mdast-util-to-hast/lib/handlers/text.js function text3(state, node2) { const result = { type: "text", value: trimLines(String(node2.value)) }; state.patch(node2, result); return state.applyData(node2, result); } // node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js function thematicBreak2(state, node2) { const result = { type: "element", tagName: "hr", properties: {}, children: [] }; state.patch(node2, result); return state.applyData(node2, result); } // node_modules/mdast-util-to-hast/lib/handlers/index.js var handlers = { blockquote, break: hardBreak, code, delete: strikethrough, emphasis, footnoteReference, footnote, heading, html, imageReference, image, inlineCode, linkReference, link, listItem, list: list2, paragraph, root, strong, table, tableCell, tableRow, text: text3, thematicBreak: thematicBreak2, toml: ignore, yaml: ignore, definition: ignore, footnoteDefinition: ignore }; function ignore() { return null; } // node_modules/unist-util-is/lib/index.js var convert = ( /** * @type {( * ((test: PredicateTest) => AssertPredicate) & * ((test?: Test) => AssertAnything) * )} */ /** * @param {Test} [test] * @returns {AssertAnything} */ function(test) { if (test === void 0 || test === null) { return ok; } if (typeof test === "string") { return typeFactory(test); } if (typeof test === "object") { return Array.isArray(test) ? anyFactory(test) : propsFactory(test); } if (typeof test === "function") { return castFactory(test); } throw new Error("Expected function, string, or object as test"); } ); function anyFactory(tests) { const checks2 = []; let index2 = -1; while (++index2 < tests.length) { checks2[index2] = convert(tests[index2]); } return castFactory(any); function any(...parameters) { let index3 = -1; while (++index3 < checks2.length) { if (checks2[index3].call(this, ...parameters)) return true; } return false; } } function propsFactory(check) { return castFactory(all4); function all4(node2) { let key2; for (key2 in check) { if (node2[key2] !== check[key2]) return false; } return true; } } function typeFactory(check) { return castFactory(type); function type(node2) { return node2 && node2.type === check; } } function castFactory(check) { return assertion; function assertion(node2, ...parameters) { return Boolean( node2 && typeof node2 === "object" && "type" in node2 && // @ts-expect-error: fine. Boolean(check.call(this, node2, ...parameters)) ); } } function ok() { return true; } // node_modules/unist-util-visit-parents/lib/color.js function color2(d) { return "\x1B[33m" + d + "\x1B[39m"; } // node_modules/unist-util-visit-parents/lib/index.js var CONTINUE2 = true; var EXIT2 = false; var SKIP2 = "skip"; var visitParents = ( /** * @type {( * ((tree: Tree, test: Check, visitor: BuildVisitor, reverse?: boolean | null | undefined) => void) & * ((tree: Tree, visitor: BuildVisitor, reverse?: boolean | null | undefined) => void) * )} */ /** * @param {Node} tree * @param {Test} test * @param {Visitor} visitor * @param {boolean | null | undefined} [reverse] * @returns {void} */ function(tree, test, visitor, reverse) { if (typeof test === "function" && typeof visitor !== "function") { reverse = visitor; visitor = test; test = null; } const is2 = convert(test); const step = reverse ? -1 : 1; factory(tree, void 0, [])(); function factory(node2, index2, parents) { const value2 = node2 && typeof node2 === "object" ? node2 : {}; if (typeof value2.type === "string") { const name2 = ( // `hast` typeof value2.tagName === "string" ? value2.tagName : ( // `xast` typeof value2.name === "string" ? value2.name : void 0 ) ); Object.defineProperty(visit3, "name", { value: "node (" + color2(node2.type + (name2 ? "<" + name2 + ">" : "")) + ")" }); } return visit3; function visit3() { let result = []; let subresult; let offset3; let grandparents; if (!test || is2(node2, index2, parents[parents.length - 1] || null)) { result = toResult2(visitor(node2, parents)); if (result[0] === EXIT2) { return result; } } if (node2.children && result[0] !== SKIP2) { offset3 = (reverse ? node2.children.length : -1) + step; grandparents = parents.concat(node2); while (offset3 > -1 && offset3 < node2.children.length) { subresult = factory(node2.children[offset3], offset3, grandparents)(); if (subresult[0] === EXIT2) { return subresult; } offset3 = typeof subresult[1] === "number" ? subresult[1] : offset3 + step; } } return result; } } } ); function toResult2(value2) { if (Array.isArray(value2)) { return value2; } if (typeof value2 === "number") { return [CONTINUE2, value2]; } return [value2]; } // node_modules/unist-util-visit/lib/index.js var visit2 = ( /** * @type {( * ((tree: Tree, test: Check, visitor: BuildVisitor, reverse?: boolean | null | undefined) => void) & * ((tree: Tree, visitor: BuildVisitor, reverse?: boolean | null | undefined) => void) * )} */ /** * @param {Node} tree * @param {Test} test * @param {Visitor} visitor * @param {boolean | null | undefined} [reverse] * @returns {void} */ function(tree, test, visitor, reverse) { if (typeof test === "function" && typeof visitor !== "function") { reverse = visitor; visitor = test; test = null; } visitParents(tree, test, overload, reverse); function overload(node2, parents) { const parent = parents[parents.length - 1]; return visitor( node2, parent ? parent.children.indexOf(node2) : null, parent ); } } ); // node_modules/unist-util-generated/lib/index.js function generated(node2) { return !node2 || !node2.position || !node2.position.start || !node2.position.start.line || !node2.position.start.column || !node2.position.end || !node2.position.end.line || !node2.position.end.column; } // node_modules/mdast-util-to-hast/node_modules/mdast-util-definitions/lib/index.js var own5 = {}.hasOwnProperty; function definitions(tree) { const cache = /* @__PURE__ */ Object.create(null); if (!tree || !tree.type) { throw new Error("mdast-util-definitions expected node"); } visit2(tree, "definition", (definition3) => { const id = clean(definition3.identifier); if (id && !own5.call(cache, id)) { cache[id] = definition3; } }); return definition2; function definition2(identifier) { const id = clean(identifier); return id && own5.call(cache, id) ? cache[id] : null; } } function clean(value2) { return String(value2 || "").toUpperCase(); } // node_modules/mdast-util-to-hast/lib/state.js var own6 = {}.hasOwnProperty; function createState(tree, options) { const settings = options || {}; const dangerous = settings.allowDangerousHtml || false; const footnoteById = {}; state.dangerous = dangerous; state.clobberPrefix = settings.clobberPrefix === void 0 || settings.clobberPrefix === null ? "user-content-" : settings.clobberPrefix; state.footnoteLabel = settings.footnoteLabel || "Footnotes"; state.footnoteLabelTagName = settings.footnoteLabelTagName || "h2"; state.footnoteLabelProperties = settings.footnoteLabelProperties || { className: ["sr-only"] }; state.footnoteBackLabel = settings.footnoteBackLabel || "Back to content"; state.unknownHandler = settings.unknownHandler; state.passThrough = settings.passThrough; state.handlers = { ...handlers, ...settings.handlers }; state.definition = definitions(tree); state.footnoteById = footnoteById; state.footnoteOrder = []; state.footnoteCounts = {}; state.patch = patch; state.applyData = applyData; state.one = oneBound; state.all = allBound; state.wrap = wrap2; state.augment = augment; visit2(tree, "footnoteDefinition", (definition2) => { const id = String(definition2.identifier).toUpperCase(); if (!own6.call(footnoteById, id)) { footnoteById[id] = definition2; } }); return state; function augment(left, right) { if (left && "data" in left && left.data) { const data3 = left.data; if (data3.hName) { if (right.type !== "element") { right = { type: "element", tagName: "", properties: {}, children: [] }; } right.tagName = data3.hName; } if (right.type === "element" && data3.hProperties) { right.properties = { ...right.properties, ...data3.hProperties }; } if ("children" in right && right.children && data3.hChildren) { right.children = data3.hChildren; } } if (left) { const ctx = "type" in left ? left : { position: left }; if (!generated(ctx)) { right.position = { start: pointStart(ctx), end: pointEnd(ctx) }; } } return right; } function state(node2, tagName, props, children) { if (Array.isArray(props)) { children = props; props = {}; } return augment(node2, { type: "element", tagName, properties: props || {}, children: children || [] }); } function oneBound(node2, parent) { return one2(state, node2, parent); } function allBound(parent) { return all2(state, parent); } } function patch(from, to) { if (from.position) to.position = position2(from); } function applyData(from, to) { let result = to; if (from && from.data) { const hName = from.data.hName; const hChildren = from.data.hChildren; const hProperties = from.data.hProperties; if (typeof hName === "string") { if (result.type === "element") { result.tagName = hName; } else { result = { type: "element", tagName: hName, properties: {}, children: [] }; } } if (result.type === "element" && hProperties) { result.properties = { ...result.properties, ...hProperties }; } if ("children" in result && result.children && hChildren !== null && hChildren !== void 0) { result.children = hChildren; } } return result; } function one2(state, node2, parent) { const type = node2 && node2.type; if (!type) { throw new Error("Expected node, got `" + node2 + "`"); } if (own6.call(state.handlers, type)) { return state.handlers[type](state, node2, parent); } if (state.passThrough && state.passThrough.includes(type)) { return "children" in node2 ? { ...node2, children: all2(state, node2) } : node2; } if (state.unknownHandler) { return state.unknownHandler(state, node2, parent); } return defaultUnknownHandler(state, node2); } function all2(state, parent) { const values = []; if ("children" in parent) { const nodes = parent.children; let index2 = -1; while (++index2 < nodes.length) { const result = one2(state, nodes[index2], parent); if (result) { if (index2 && nodes[index2 - 1].type === "break") { if (!Array.isArray(result) && result.type === "text") { result.value = result.value.replace(/^\s+/, ""); } if (!Array.isArray(result) && result.type === "element") { const head = result.children[0]; if (head && head.type === "text") { head.value = head.value.replace(/^\s+/, ""); } } } if (Array.isArray(result)) { values.push(...result); } else { values.push(result); } } } } return values; } function defaultUnknownHandler(state, node2) { const data3 = node2.data || {}; const result = "value" in node2 && !(own6.call(data3, "hProperties") || own6.call(data3, "hChildren")) ? { type: "text", value: node2.value } : { type: "element", tagName: "div", properties: {}, children: all2(state, node2) }; state.patch(node2, result); return state.applyData(node2, result); } function wrap2(nodes, loose) { const result = []; let index2 = -1; if (loose) { result.push({ type: "text", value: "\n" }); } while (++index2 < nodes.length) { if (index2) result.push({ type: "text", value: "\n" }); result.push(nodes[index2]); } if (loose && nodes.length > 0) { result.push({ type: "text", value: "\n" }); } return result; } // node_modules/mdast-util-to-hast/lib/footer.js function footer(state) { const listItems = []; let index2 = -1; while (++index2 < state.footnoteOrder.length) { const def = state.footnoteById[state.footnoteOrder[index2]]; if (!def) { continue; } const content3 = state.all(def); const id = String(def.identifier).toUpperCase(); const safeId = normalizeUri(id.toLowerCase()); let referenceIndex = 0; const backReferences = []; while (++referenceIndex <= state.footnoteCounts[id]) { const backReference = { type: "element", tagName: "a", properties: { href: "#" + state.clobberPrefix + "fnref-" + safeId + (referenceIndex > 1 ? "-" + referenceIndex : ""), dataFootnoteBackref: true, className: ["data-footnote-backref"], ariaLabel: state.footnoteBackLabel }, children: [{ type: "text", value: "\u21A9" }] }; if (referenceIndex > 1) { backReference.children.push({ type: "element", tagName: "sup", children: [{ type: "text", value: String(referenceIndex) }] }); } if (backReferences.length > 0) { backReferences.push({ type: "text", value: " " }); } backReferences.push(backReference); } const tail = content3[content3.length - 1]; if (tail && tail.type === "element" && tail.tagName === "p") { const tailTail = tail.children[tail.children.length - 1]; if (tailTail && tailTail.type === "text") { tailTail.value += " "; } else { tail.children.push({ type: "text", value: " " }); } tail.children.push(...backReferences); } else { content3.push(...backReferences); } const listItem2 = { type: "element", tagName: "li", properties: { id: state.clobberPrefix + "fn-" + safeId }, children: state.wrap(content3, true) }; state.patch(def, listItem2); listItems.push(listItem2); } if (listItems.length === 0) { return; } return { type: "element", tagName: "section", properties: { dataFootnotes: true, className: ["footnotes"] }, children: [ { type: "element", tagName: state.footnoteLabelTagName, properties: { // To do: use structured clone. ...JSON.parse(JSON.stringify(state.footnoteLabelProperties)), id: "footnote-label" }, children: [{ type: "text", value: state.footnoteLabel }] }, { type: "text", value: "\n" }, { type: "element", tagName: "ol", properties: {}, children: state.wrap(listItems, true) }, { type: "text", value: "\n" } ] }; } // node_modules/mdast-util-to-hast/lib/index.js function toHast(tree, options) { const state = createState(tree, options); const node2 = state.one(tree, null); const foot = footer(state); if (foot) { node2.children.push({ type: "text", value: "\n" }, foot); } return Array.isArray(node2) ? { type: "root", children: node2 } : node2; } // node_modules/remark-rehype/lib/index.js var remarkRehype = ( /** @type {(import('unified').Plugin<[Processor, Options?]|[null|undefined, Options?]|[Options]|[], MdastRoot>)} */ function(destination, options) { return destination && "run" in destination ? bridge(destination, options) : mutate(destination || options); } ); var lib_default = remarkRehype; function bridge(destination, options) { return (node2, file, next) => { destination.run(toHast(node2, options), file, (error) => { next(error); }); }; } function mutate(options) { return (node2) => toHast(node2, options); } // node_modules/estree-walker/src/walker.js var WalkerBase = class { constructor() { this.should_skip = false; this.should_remove = false; this.replacement = null; this.context = { skip: () => this.should_skip = true, remove: () => this.should_remove = true, replace: (node2) => this.replacement = node2 }; } /** * @template {Node} Parent * @param {Parent | null | undefined} parent * @param {keyof Parent | null | undefined} prop * @param {number | null | undefined} index * @param {Node} node */ replace(parent, prop, index2, node2) { if (parent && prop) { if (index2 != null) { parent[prop][index2] = node2; } else { parent[prop] = node2; } } } /** * @template {Node} Parent * @param {Parent | null | undefined} parent * @param {keyof Parent | null | undefined} prop * @param {number | null | undefined} index */ remove(parent, prop, index2) { if (parent && prop) { if (index2 !== null && index2 !== void 0) { parent[prop].splice(index2, 1); } else { delete parent[prop]; } } } }; // node_modules/estree-walker/src/sync.js var SyncWalker = class extends WalkerBase { /** * * @param {SyncHandler} [enter] * @param {SyncHandler} [leave] */ constructor(enter, leave) { super(); this.should_skip = false; this.should_remove = false; this.replacement = null; this.context = { skip: () => this.should_skip = true, remove: () => this.should_remove = true, replace: (node2) => this.replacement = node2 }; this.enter = enter; this.leave = leave; } /** * @template {Node} Parent * @param {Node} node * @param {Parent | null} parent * @param {keyof Parent} [prop] * @param {number | null} [index] * @returns {Node | null} */ visit(node2, parent, prop, index2) { if (node2) { if (this.enter) { const _should_skip = this.should_skip; const _should_remove = this.should_remove; const _replacement = this.replacement; this.should_skip = false; this.should_remove = false; this.replacement = null; this.enter.call(this.context, node2, parent, prop, index2); if (this.replacement) { node2 = this.replacement; this.replace(parent, prop, index2, node2); } if (this.should_remove) { this.remove(parent, prop, index2); } const skipped = this.should_skip; const removed = this.should_remove; this.should_skip = _should_skip; this.should_remove = _should_remove; this.replacement = _replacement; if (skipped) return node2; if (removed) return null; } let key2; for (key2 in node2) { const value2 = node2[key2]; if (value2 && typeof value2 === "object") { if (Array.isArray(value2)) { const nodes = ( /** @type {Array} */ value2 ); for (let i = 0; i < nodes.length; i += 1) { const item = nodes[i]; if (isNode(item)) { if (!this.visit(item, node2, key2, i)) { i--; } } } } else if (isNode(value2)) { this.visit(value2, node2, key2, null); } } } if (this.leave) { const _replacement = this.replacement; const _should_remove = this.should_remove; this.replacement = null; this.should_remove = false; this.leave.call(this.context, node2, parent, prop, index2); if (this.replacement) { node2 = this.replacement; this.replace(parent, prop, index2, node2); } if (this.should_remove) { this.remove(parent, prop, index2); } const removed = this.should_remove; this.replacement = _replacement; this.should_remove = _should_remove; if (removed) return null; } } return node2; } }; function isNode(value2) { return value2 !== null && typeof value2 === "object" && "type" in value2 && typeof value2.type === "string"; } // node_modules/estree-walker/src/index.js function walk(ast, { enter, leave }) { const instance = new SyncWalker(enter, leave); return instance.visit(ast, null); } // node_modules/estree-util-build-jsx/lib/index.js var regex = /@(jsx|jsxFrag|jsxImportSource|jsxRuntime)\s+(\S+)/g; function buildJsx(tree, options) { const config = options || {}; let automatic = config.runtime === "automatic"; const annotations = {}; const imports = {}; walk(tree, { // @ts-expect-error: hush, `estree-walker` is broken. enter(node2) { if (node2.type === "Program") { const comments = node2.comments || []; let index2 = -1; while (++index2 < comments.length) { regex.lastIndex = 0; let match = regex.exec(comments[index2].value); while (match) { annotations[match[1]] = match[2]; match = regex.exec(comments[index2].value); } } if (annotations.jsxRuntime) { if (annotations.jsxRuntime === "automatic") { automatic = true; if (annotations.jsx) { throw new Error("Unexpected `@jsx` pragma w/ automatic runtime"); } if (annotations.jsxFrag) { throw new Error( "Unexpected `@jsxFrag` pragma w/ automatic runtime" ); } } else if (annotations.jsxRuntime === "classic") { automatic = false; if (annotations.jsxImportSource) { throw new Error( "Unexpected `@jsxImportSource` w/ classic runtime" ); } } else { throw new Error( "Unexpected `jsxRuntime` `" + annotations.jsxRuntime + "`, expected `automatic` or `classic`" ); } } } }, // @ts-expect-error: hush, `estree-walker` is broken. // eslint-disable-next-line complexity leave(node2) { if (node2.type === "Program") { const specifiers = []; if (imports.fragment) { specifiers.push({ type: "ImportSpecifier", imported: { type: "Identifier", name: "Fragment" }, local: { type: "Identifier", name: "_Fragment" } }); } if (imports.jsx) { specifiers.push({ type: "ImportSpecifier", imported: { type: "Identifier", name: "jsx" }, local: { type: "Identifier", name: "_jsx" } }); } if (imports.jsxs) { specifiers.push({ type: "ImportSpecifier", imported: { type: "Identifier", name: "jsxs" }, local: { type: "Identifier", name: "_jsxs" } }); } if (imports.jsxDEV) { specifiers.push({ type: "ImportSpecifier", imported: { type: "Identifier", name: "jsxDEV" }, local: { type: "Identifier", name: "_jsxDEV" } }); } if (specifiers.length > 0) { node2.body.unshift({ type: "ImportDeclaration", specifiers, source: { type: "Literal", value: (annotations.jsxImportSource || config.importSource || "react") + (config.development ? "/jsx-dev-runtime" : "/jsx-runtime") } }); } } if (node2.type !== "JSXElement" && node2.type !== "JSXFragment") { return; } const children = []; let index2 = -1; while (++index2 < node2.children.length) { const child = node2.children[index2]; if (child.type === "JSXExpressionContainer") { if (child.expression.type !== "JSXEmptyExpression") { children.push(child.expression); } } else if (child.type === "JSXText") { const value2 = child.value.replace(/\t/g, " ").replace(/ *(\r?\n|\r) */g, "\n").replace(/\n+/g, "\n").replace(/\n+$/, "").replace(/^\n+/, "").replace(/\n/g, " "); if (value2) { children.push(create(child, { type: "Literal", value: value2 })); } } else { children.push(child); } } let name2; let fields = []; const objects = []; let parameters = []; let key2; if (node2.type === "JSXElement") { name2 = toIdentifier(node2.openingElement.name); if (name2.type === "Identifier" && /^[a-z]/.test(name2.name)) { name2 = create(name2, { type: "Literal", value: name2.name }); } let spread; const attributes = node2.openingElement.attributes; let index3 = -1; while (++index3 < attributes.length) { const attribute = attributes[index3]; if (attribute.type === "JSXSpreadAttribute") { if (fields.length > 0) { objects.push({ type: "ObjectExpression", properties: fields }); fields = []; } objects.push(attribute.argument); spread = true; } else { const prop = toProperty(attribute); if (automatic && prop.key.type === "Identifier" && prop.key.name === "key") { if (spread) { throw new Error( "Expected `key` to come before any spread expressions" ); } key2 = prop.value; } else { fields.push(prop); } } } } else if (automatic) { imports.fragment = true; name2 = { type: "Identifier", name: "_Fragment" }; } else { name2 = toMemberExpression( annotations.jsxFrag || config.pragmaFrag || "React.Fragment" ); } if (automatic) { if (children.length > 0) { fields.push({ type: "Property", key: { type: "Identifier", name: "children" }, value: children.length > 1 ? { type: "ArrayExpression", elements: children } : children[0], kind: "init", method: false, shorthand: false, computed: false }); } } else { parameters = children; } if (fields.length > 0) { objects.push({ type: "ObjectExpression", properties: fields }); } let props; let callee; if (objects.length > 1) { if (objects[0].type !== "ObjectExpression") { objects.unshift({ type: "ObjectExpression", properties: [] }); } props = { type: "CallExpression", callee: toMemberExpression("Object.assign"), arguments: objects, optional: false }; } else if (objects.length > 0) { props = objects[0]; } if (automatic) { parameters.push(props || { type: "ObjectExpression", properties: [] }); if (key2) { parameters.push(key2); } else if (config.development) { parameters.push({ type: "Identifier", name: "undefined" }); } const isStaticChildren = children.length > 1; if (config.development) { imports.jsxDEV = true; callee = { type: "Identifier", name: "_jsxDEV" }; parameters.push({ type: "Literal", value: isStaticChildren }); const source2 = { type: "ObjectExpression", properties: [ { type: "Property", method: false, shorthand: false, computed: false, kind: "init", key: { type: "Identifier", name: "fileName" }, value: { type: "Literal", value: config.filePath || "" } } ] }; if (node2.loc) { source2.properties.push( { type: "Property", method: false, shorthand: false, computed: false, kind: "init", key: { type: "Identifier", name: "lineNumber" }, value: { type: "Literal", value: node2.loc.start.line } }, { type: "Property", method: false, shorthand: false, computed: false, kind: "init", key: { type: "Identifier", name: "columnNumber" }, value: { type: "Literal", value: node2.loc.start.column + 1 } } ); } parameters.push(source2, { type: "ThisExpression" }); } else if (isStaticChildren) { imports.jsxs = true; callee = { type: "Identifier", name: "_jsxs" }; } else { imports.jsx = true; callee = { type: "Identifier", name: "_jsx" }; } } else { if (props || parameters.length > 0) { parameters.unshift(props || { type: "Literal", value: null }); } callee = toMemberExpression( annotations.jsx || config.pragma || "React.createElement" ); } parameters.unshift(name2); this.replace( create(node2, { type: "CallExpression", callee, arguments: parameters, optional: false }) ); } }); return tree; } function toProperty(node2) { let value2; if (node2.value) { if (node2.value.type === "JSXExpressionContainer") { value2 = node2.value.expression; } else { value2 = node2.value; delete value2.raw; } } else { value2 = { type: "Literal", value: true }; } return create(node2, { type: "Property", key: toIdentifier(node2.name), value: value2, kind: "init", method: false, shorthand: false, computed: false }); } function toIdentifier(node2) { let replace; if (node2.type === "JSXMemberExpression") { const id = toIdentifier(node2.property); replace = { type: "MemberExpression", object: toIdentifier(node2.object), property: id, computed: id.type === "Literal", optional: false }; } else if (node2.type === "JSXNamespacedName") { replace = { type: "Literal", value: node2.namespace.name + ":" + node2.name.name }; } else { replace = name(node2.name) ? { type: "Identifier", name: node2.name } : { type: "Literal", value: node2.name }; } return create(node2, replace); } function toMemberExpression(id) { const identifiers = id.split("."); let index2 = -1; let result; while (++index2 < identifiers.length) { const prop = name(identifiers[index2]) ? { type: "Identifier", name: identifiers[index2] } : { type: "Literal", value: identifiers[index2] }; result = result ? { type: "MemberExpression", object: result, property: prop, computed: Boolean(index2 && prop.type === "Literal"), optional: false } : prop; } return result; } function create(from, node2) { const fields = ["start", "end", "loc", "range", "comments"]; let index2 = -1; while (++index2 < fields.length) { const field = fields[index2]; if (field in from) { node2[field] = from[field]; } } return node2; } // node_modules/@mdx-js/mdx/lib/util/estree-util-create.js function create2(from, to) { const fields = ["start", "end", "loc", "range", "comments"]; let index2 = -1; while (++index2 < fields.length) { const field = fields[index2]; if (field in from) { to[field] = from[field]; } } } // node_modules/@mdx-js/mdx/lib/util/estree-util-specifiers-to-declarations.js function specifiersToDeclarations(specifiers, init) { let index2 = -1; const declarations = []; const otherSpecifiers = []; let importNamespaceSpecifier; while (++index2 < specifiers.length) { const specifier = specifiers[index2]; if (specifier.type === "ImportNamespaceSpecifier") { importNamespaceSpecifier = specifier; } else { otherSpecifiers.push(specifier); } } if (importNamespaceSpecifier) { const declarator = { type: "VariableDeclarator", id: importNamespaceSpecifier.local, init }; create2(importNamespaceSpecifier, declarator); declarations.push(declarator); } declarations.push({ type: "VariableDeclarator", id: { type: "ObjectPattern", properties: otherSpecifiers.map((specifier) => { let key2 = specifier.type === "ImportSpecifier" ? specifier.imported : specifier.type === "ExportSpecifier" ? specifier.exported : { type: "Identifier", name: "default" }; let value2 = specifier.local; if (specifier.type === "ExportSpecifier") { value2 = key2; key2 = specifier.local; } const property = { type: "Property", kind: "init", shorthand: key2.name === value2.name, method: false, computed: false, key: key2, value: value2 }; create2(specifier, property); return property; }) }, init: importNamespaceSpecifier ? { type: "Identifier", name: importNamespaceSpecifier.local.name } : init }); return declarations; } // node_modules/@mdx-js/mdx/lib/util/estree-util-to-id-or-member-expression.js var toIdOrMemberExpression = toIdOrMemberExpressionFactory( "Identifier", "MemberExpression", name ); var toJsxIdOrMemberExpression = ( // @ts-expect-error: fine /** @type {(ids: Array) => JSXIdentifier | JSXMemberExpression)} */ toIdOrMemberExpressionFactory( "JSXIdentifier", "JSXMemberExpression", isJsxIdentifierName ) ); function toIdOrMemberExpressionFactory(idType, memberType, isIdentifier3) { return toIdOrMemberExpression2; function toIdOrMemberExpression2(ids) { let index2 = -1; let object; while (++index2 < ids.length) { const name2 = ids[index2]; const valid2 = typeof name2 === "string" && isIdentifier3(name2); if (idType === "JSXIdentifier" && !valid2) { throw new Error("Cannot turn `" + name2 + "` into a JSX identifier"); } const id = valid2 ? { type: idType, name: name2 } : { type: "Literal", value: name2 }; object = object ? { type: memberType, object, property: id, computed: id.type === "Literal", optional: false } : id; } if (!object) throw new Error("Expected non-empty `ids` to be passed"); if (object.type === "Literal") throw new Error("Expected identifier as left-most value"); return object; } } function isJsxIdentifierName(name2) { let index2 = -1; while (++index2 < name2.length) { if (!(index2 ? jsxCont : start2)(name2.charCodeAt(index2))) return false; } return index2 > 0; } function jsxCont(code2) { return code2 === 45 || cont2(code2); } // node_modules/@mdx-js/mdx/lib/plugin/recma-jsx-build.js function recmaJsxBuild(options) { const { development: development2, outputFormat } = options || {}; return (tree, file) => { buildJsx(tree, { development: development2, filePath: file.history[0] }); if (outputFormat === "function-body" && tree.body[0] && tree.body[0].type === "ImportDeclaration" && typeof tree.body[0].source.value === "string" && /\/jsx-(dev-)?runtime$/.test(tree.body[0].source.value)) { tree.body[0] = { type: "VariableDeclaration", kind: "const", declarations: specifiersToDeclarations( tree.body[0].specifiers, toIdOrMemberExpression(["arguments", 0]) ) }; } }; } // node_modules/is-reference/src/index.js function is_reference(node2, parent) { if (node2.type === "MemberExpression") { return !node2.computed && is_reference(node2.object, node2); } if (node2.type === "Identifier") { if (!parent) return true; switch (parent.type) { case "MemberExpression": return parent.computed || node2 === parent.object; case "MethodDefinition": return parent.computed; case "PropertyDefinition": return parent.computed || node2 === parent.value; case "Property": return parent.computed || node2 === parent.value; case "ExportSpecifier": case "ImportSpecifier": return node2 === parent.local; case "LabeledStatement": case "BreakStatement": case "ContinueStatement": return false; default: return true; } } return false; } // node_modules/periscopic/src/index.js function analyze(expression) { const map = /* @__PURE__ */ new WeakMap(); const globals = /* @__PURE__ */ new Map(); const scope = new Scope5(null, false); const references = []; let current_scope = scope; walk(expression, { enter(node2, parent) { switch (node2.type) { case "Identifier": if (parent && is_reference(node2, parent)) { references.push([current_scope, node2]); } break; case "ImportDeclaration": node2.specifiers.forEach((specifier) => { current_scope.declarations.set(specifier.local.name, specifier); }); break; case "FunctionExpression": case "FunctionDeclaration": case "ArrowFunctionExpression": if (node2.type === "FunctionDeclaration") { if (node2.id) { current_scope.declarations.set(node2.id.name, node2); } map.set(node2, current_scope = new Scope5(current_scope, false)); } else { map.set(node2, current_scope = new Scope5(current_scope, false)); if (node2.type === "FunctionExpression" && node2.id) { current_scope.declarations.set(node2.id.name, node2); } } node2.params.forEach((param) => { extract_names(param).forEach((name2) => { current_scope.declarations.set(name2, node2); }); }); break; case "ForStatement": case "ForInStatement": case "ForOfStatement": map.set(node2, current_scope = new Scope5(current_scope, true)); break; case "BlockStatement": map.set(node2, current_scope = new Scope5(current_scope, true)); break; case "ClassDeclaration": case "VariableDeclaration": current_scope.add_declaration(node2); break; case "CatchClause": map.set(node2, current_scope = new Scope5(current_scope, true)); if (node2.param) { extract_names(node2.param).forEach((name2) => { if (node2.param) { current_scope.declarations.set(name2, node2.param); } }); } break; } }, leave(node2) { if (map.has(node2) && current_scope !== null && current_scope.parent) { current_scope = current_scope.parent; } } }); for (let i = references.length - 1; i >= 0; --i) { const [scope2, reference] = references[i]; if (!scope2.references.has(reference.name)) { add_reference(scope2, reference.name); } if (!scope2.find_owner(reference.name)) { globals.set(reference.name, reference); } } return { map, scope, globals }; } function add_reference(scope, name2) { scope.references.add(name2); if (scope.parent) add_reference(scope.parent, name2); } var Scope5 = class { /** * @param {Scope | null} parent * @param {boolean} block */ constructor(parent, block) { this.parent = parent; this.block = block; this.declarations = /* @__PURE__ */ new Map(); this.initialised_declarations = /* @__PURE__ */ new Set(); this.references = /* @__PURE__ */ new Set(); } /** * @param {import('estree').VariableDeclaration | import('estree').ClassDeclaration} node */ add_declaration(node2) { if (node2.type === "VariableDeclaration") { if (node2.kind === "var" && this.block && this.parent) { this.parent.add_declaration(node2); } else { const handle_declarator = (declarator) => { extract_names(declarator.id).forEach((name2) => { this.declarations.set(name2, node2); if (declarator.init) this.initialised_declarations.add(name2); }); ; }; node2.declarations.forEach(handle_declarator); } } else if (node2.id) { this.declarations.set(node2.id.name, node2); } } /** * @param {string} name * @returns {Scope | null} */ find_owner(name2) { if (this.declarations.has(name2)) return this; return this.parent && this.parent.find_owner(name2); } /** * @param {string} name * @returns {boolean} */ has(name2) { return this.declarations.has(name2) || !!this.parent && this.parent.has(name2); } }; function extract_names(param) { return extract_identifiers(param).map((node2) => node2.name); } function extract_identifiers(param, nodes = []) { switch (param.type) { case "Identifier": nodes.push(param); break; case "MemberExpression": let object = param; while (object.type === "MemberExpression") { object = /** @type {any} */ object.object; } nodes.push( /** @type {any} */ object ); break; case "ObjectPattern": const handle_prop = (prop) => { if (prop.type === "RestElement") { extract_identifiers(prop.argument, nodes); } else { extract_identifiers(prop.value, nodes); } }; param.properties.forEach(handle_prop); break; case "ArrayPattern": const handle_element = (element2) => { if (element2) extract_identifiers(element2, nodes); }; param.elements.forEach((element2) => { if (element2) { handle_element(element2); } }); break; case "RestElement": extract_identifiers(param.argument, nodes); break; case "AssignmentPattern": extract_identifiers(param.left, nodes); break; } return nodes; } // node_modules/@mdx-js/mdx/lib/util/estree-util-declaration-to-expression.js function declarationToExpression(declaration) { if (declaration.type === "FunctionDeclaration") { return { ...declaration, type: "FunctionExpression" }; } if (declaration.type === "ClassDeclaration") { return { ...declaration, type: "ClassExpression" }; } throw new Error("Cannot turn `" + declaration.type + "` into an expression"); } // node_modules/@mdx-js/mdx/lib/util/estree-util-is-declaration.js function isDeclaration(node2) { return Boolean( node2.type === "FunctionDeclaration" || node2.type === "ClassDeclaration" || node2.type === "VariableDeclaration" ); } // node_modules/@mdx-js/mdx/lib/plugin/recma-document.js function recmaDocument(options) { const options_ = options || {}; const baseUrl = options_.baseUrl || void 0; const useDynamicImport = options_.useDynamicImport || void 0; const outputFormat = options_.outputFormat || "program"; const pragma = options_.pragma === void 0 ? "React.createElement" : options_.pragma; const pragmaFrag = options_.pragmaFrag === void 0 ? "React.Fragment" : options_.pragmaFrag; const pragmaImportSource = options_.pragmaImportSource || "react"; const jsxImportSource = options_.jsxImportSource || "react"; const jsxRuntime = options_.jsxRuntime || "automatic"; return (tree, file) => { const exportedIdentifiers = []; const replacement = []; const pragmas = []; let exportAllCount = 0; let layout; let content3; let child; if (!tree.comments) tree.comments = []; if (jsxRuntime) { pragmas.push("@jsxRuntime " + jsxRuntime); } if (jsxRuntime === "automatic" && jsxImportSource) { pragmas.push("@jsxImportSource " + jsxImportSource); } if (jsxRuntime === "classic" && pragma) { pragmas.push("@jsx " + pragma); } if (jsxRuntime === "classic" && pragmaFrag) { pragmas.push("@jsxFrag " + pragmaFrag); } if (pragmas.length > 0) { tree.comments.unshift({ type: "Block", value: pragmas.join(" ") }); } if (jsxRuntime === "classic" && pragmaImportSource) { if (!pragma) { throw new Error( "Missing `pragma` in classic runtime with `pragmaImportSource`" ); } handleEsm({ type: "ImportDeclaration", specifiers: [ { type: "ImportDefaultSpecifier", local: { type: "Identifier", name: pragma.split(".")[0] } } ], source: { type: "Literal", value: pragmaImportSource } }); } for (child of tree.body) { if (child.type === "ExportDefaultDeclaration") { if (layout) { file.fail( "Cannot specify multiple layouts (previous: " + stringifyPosition(positionFromEstree(layout)) + ")", positionFromEstree(child), "recma-document:duplicate-layout" ); } layout = child; replacement.push({ type: "VariableDeclaration", kind: "const", declarations: [ { type: "VariableDeclarator", id: { type: "Identifier", name: "MDXLayout" }, init: isDeclaration(child.declaration) ? declarationToExpression(child.declaration) : child.declaration } ] }); } else if (child.type === "ExportNamedDeclaration" && child.source) { const source2 = ( /** @type {SimpleLiteral} */ child.source ); child.specifiers = child.specifiers.filter((specifier) => { if (specifier.exported.name === "default") { if (layout) { file.fail( "Cannot specify multiple layouts (previous: " + stringifyPosition(positionFromEstree(layout)) + ")", positionFromEstree(child), "recma-document:duplicate-layout" ); } layout = specifier; const specifiers = []; if (specifier.local.name === "default") { specifiers.push({ type: "ImportDefaultSpecifier", local: { type: "Identifier", name: "MDXLayout" } }); } else { const importSpecifier = { type: "ImportSpecifier", imported: specifier.local, local: { type: "Identifier", name: "MDXLayout" } }; create2(specifier.local, importSpecifier); specifiers.push(importSpecifier); } const from = { type: "Literal", value: source2.value }; create2(source2, from); const declaration = { type: "ImportDeclaration", specifiers, source: from }; create2(specifier, declaration); handleEsm(declaration); return false; } return true; }); if (child.specifiers.length > 0) { handleExport(child); } } else if (child.type === "ExportNamedDeclaration" || child.type === "ExportAllDeclaration") { handleExport(child); } else if (child.type === "ImportDeclaration") { handleEsm(child); } else if (child.type === "ExpressionStatement" && // @ts-expect-error types are wrong: `JSXFragment` is an `Expression`. (child.expression.type === "JSXFragment" || child.expression.type === "JSXElement")) { content3 = true; replacement.push(...createMdxContent(child.expression, Boolean(layout))); } else { replacement.push(child); } } if (!content3) { replacement.push(...createMdxContent(void 0, Boolean(layout))); } exportedIdentifiers.push(["MDXContent", "default"]); if (outputFormat === "function-body") { replacement.push({ type: "ReturnStatement", argument: { type: "ObjectExpression", properties: [ ...Array.from({ length: exportAllCount }).map( /** * @param {undefined} _ * @param {number} index * @returns {SpreadElement} */ (_, index2) => ({ type: "SpreadElement", argument: { type: "Identifier", name: "_exportAll" + (index2 + 1) } }) ), ...exportedIdentifiers.map((d) => { const prop = { type: "Property", kind: "init", method: false, computed: false, shorthand: typeof d === "string", key: { type: "Identifier", name: typeof d === "string" ? d : d[1] }, value: { type: "Identifier", name: typeof d === "string" ? d : d[0] } }; return prop; }) ] } }); } else { replacement.push({ type: "ExportDefaultDeclaration", declaration: { type: "Identifier", name: "MDXContent" } }); } tree.body = replacement; if (baseUrl) { walk(tree, { enter(node2) { if (node2.type === "MemberExpression" && "object" in node2 && node2.object.type === "MetaProperty" && node2.property.type === "Identifier" && node2.object.meta.name === "import" && node2.object.property.name === "meta" && node2.property.name === "url") { const replacement2 = { type: "Literal", value: baseUrl }; this.replace(replacement2); } } }); } function handleExport(node2) { if (node2.type === "ExportNamedDeclaration") { if (node2.declaration) { exportedIdentifiers.push( ...analyze(node2.declaration).scope.declarations.keys() ); } for (child of node2.specifiers) { exportedIdentifiers.push(child.exported.name); } } handleEsm(node2); } function handleEsm(node2) { if (baseUrl && node2.source) { let value2 = String(node2.source.value); try { value2 = String(new URL(value2)); } catch { if (/^\.{0,2}\//.test(value2)) { value2 = String(new URL(value2, baseUrl)); } } const literal4 = { type: "Literal", value: value2 }; create2(node2.source, literal4); node2.source = literal4; } let replace; let init; if (outputFormat === "function-body") { if ( // Always have a source: node2.type === "ImportDeclaration" || node2.type === "ExportAllDeclaration" || // Source optional: node2.type === "ExportNamedDeclaration" && node2.source ) { if (!useDynamicImport) { file.fail( "Cannot use `import` or `export \u2026 from` in `evaluate` (outputting a function body) by default: please set `useDynamicImport: true` (and probably specify a `baseUrl`)", positionFromEstree(node2), "recma-document:invalid-esm-statement" ); } if (!node2.source) { throw new Error("Expected `node.source` to be defined"); } const argument = { type: "ImportExpression", source: node2.source }; create2(node2, argument); init = { type: "AwaitExpression", argument }; if ((node2.type === "ImportDeclaration" || node2.type === "ExportNamedDeclaration") && node2.specifiers.length === 0) { replace = { type: "ExpressionStatement", expression: init }; } else { replace = { type: "VariableDeclaration", kind: "const", declarations: node2.type === "ExportAllDeclaration" ? [ { type: "VariableDeclarator", id: { type: "Identifier", name: "_exportAll" + ++exportAllCount }, init } ] : specifiersToDeclarations(node2.specifiers, init) }; } } else if (node2.declaration) { replace = node2.declaration; } else { const declarators = node2.specifiers.filter( (specifier) => specifier.local.name !== specifier.exported.name ).map((specifier) => ({ type: "VariableDeclarator", id: specifier.exported, init: specifier.local })); if (declarators.length > 0) { replace = { type: "VariableDeclaration", kind: "const", declarations: declarators }; } } } else { replace = node2; } if (replace) { replacement.push(replace); } } }; function createMdxContent(content3, hasInternalLayout) { const element2 = { type: "JSXElement", openingElement: { type: "JSXOpeningElement", name: { type: "JSXIdentifier", name: "MDXLayout" }, attributes: [ { type: "JSXSpreadAttribute", argument: { type: "Identifier", name: "props" } } ], selfClosing: false }, closingElement: { type: "JSXClosingElement", name: { type: "JSXIdentifier", name: "MDXLayout" } }, children: [ { type: "JSXElement", openingElement: { type: "JSXOpeningElement", name: { type: "JSXIdentifier", name: "_createMdxContent" }, attributes: [ { type: "JSXSpreadAttribute", argument: { type: "Identifier", name: "props" } } ], selfClosing: true }, closingElement: null, children: [] } ] }; let result = ( /** @type {Expression} */ element2 ); if (!hasInternalLayout) { result = { type: "ConditionalExpression", test: { type: "Identifier", name: "MDXLayout" }, consequent: result, alternate: { type: "CallExpression", callee: { type: "Identifier", name: "_createMdxContent" }, arguments: [{ type: "Identifier", name: "props" }], optional: false } }; } let argument = content3 || { type: "Literal", value: null }; if (argument && // @ts-expect-error: fine. argument.type === "JSXFragment" && // @ts-expect-error: fine. argument.children.length === 1 && // @ts-expect-error: fine. argument.children[0].type === "JSXElement") { argument = argument.children[0]; } return [ { type: "FunctionDeclaration", id: { type: "Identifier", name: "_createMdxContent" }, params: [{ type: "Identifier", name: "props" }], body: { type: "BlockStatement", body: [{ type: "ReturnStatement", argument }] } }, { type: "FunctionDeclaration", id: { type: "Identifier", name: "MDXContent" }, params: [ { type: "AssignmentPattern", left: { type: "Identifier", name: "props" }, right: { type: "ObjectExpression", properties: [] } } ], body: { type: "BlockStatement", body: [{ type: "ReturnStatement", argument: result }] } } ]; } } // node_modules/@mdx-js/mdx/lib/util/estree-util-to-binary-addition.js function toBinaryAddition(expressions) { let index2 = -1; let left; while (++index2 < expressions.length) { const right = expressions[index2]; left = left ? { type: "BinaryExpression", left, operator: "+", right } : right; } if (!left) throw new Error("Expected non-empty `expressions` to be passed"); return left; } // node_modules/@mdx-js/mdx/lib/plugin/recma-jsx-rewrite.js var own7 = {}.hasOwnProperty; function recmaJsxRewrite(options) { const { development: development2, providerImportSource, outputFormat } = options || {}; return (tree, file) => { const scopeInfo = analyze(tree); const fnStack = []; let importProvider = false; let createErrorHelper = false; let currentScope; walk(tree, { enter(node2) { const newScope = ( /** @type {Scope | undefined} */ scopeInfo.map.get(node2) ); if (node2.type === "FunctionDeclaration" || node2.type === "FunctionExpression" || node2.type === "ArrowFunctionExpression") { fnStack.push({ objects: [], components: [], tags: [], references: {}, idToInvalidComponentName: /* @__PURE__ */ new Map(), node: node2 }); if (isNamedFunction(node2, "MDXContent") && newScope && !inScope(newScope, "MDXLayout")) { fnStack[0].components.push("MDXLayout"); } } const fnScope = fnStack[0]; if (!fnScope || !isNamedFunction(fnScope.node, "_createMdxContent") && !providerImportSource) { return; } if (newScope) { newScope.node = node2; currentScope = newScope; } if (currentScope && node2.type === "JSXElement") { let name2 = node2.openingElement.name; if (name2.type === "JSXMemberExpression") { const ids = []; while (name2.type === "JSXMemberExpression") { ids.unshift(name2.property.name); name2 = name2.object; } ids.unshift(name2.name); const fullId = ids.join("."); const id = name2.name; const isInScope = inScope(currentScope, id); if (!own7.call(fnScope.references, fullId)) { const parentScope = ( /** @type {Scope | undefined} */ currentScope.parent ); if (!isInScope || // If the parent scope is `_createMdxContent`, then this // references a component we can add a check statement for. parentScope && parentScope.node.type === "FunctionDeclaration" && isNamedFunction(parentScope.node, "_createMdxContent")) { fnScope.references[fullId] = { node: node2, component: true }; } } if (!fnScope.objects.includes(id) && !isInScope) { fnScope.objects.push(id); } } else if (name2.type === "JSXNamespacedName") { } else if (name(name2.name) && !/^[a-z]/.test(name2.name)) { const id = name2.name; if (!inScope(currentScope, id)) { if (id !== "MDXLayout" && !own7.call(fnScope.references, id)) { fnScope.references[id] = { node: node2, component: true }; } if (!fnScope.components.includes(id)) { fnScope.components.push(id); } } } else if (node2.data && node2.data._mdxExplicitJsx) { } else { const id = name2.name; if (!fnScope.tags.includes(id)) { fnScope.tags.push(id); } let jsxIdExpression = ["_components", id]; if (name(id) === false) { let invalidComponentName = fnScope.idToInvalidComponentName.get(id); if (invalidComponentName === void 0) { invalidComponentName = `_component${fnScope.idToInvalidComponentName.size}`; fnScope.idToInvalidComponentName.set(id, invalidComponentName); } jsxIdExpression = [invalidComponentName]; } node2.openingElement.name = toJsxIdOrMemberExpression(jsxIdExpression); if (node2.closingElement) { node2.closingElement.name = toJsxIdOrMemberExpression(jsxIdExpression); } } } }, leave(node2) { const defaults = []; const actual = []; const parameters = []; const declarations = []; if (currentScope && currentScope.node === node2) { currentScope = currentScope.parent; } if (node2.type === "FunctionDeclaration" || node2.type === "FunctionExpression" || node2.type === "ArrowFunctionExpression") { const fn = node2; const scope = fnStack[fnStack.length - 1]; let name2; for (name2 of scope.tags) { defaults.push({ type: "Property", kind: "init", key: name(name2) ? { type: "Identifier", name: name2 } : { type: "Literal", value: name2 }, value: { type: "Literal", value: name2 }, method: false, shorthand: false, computed: false }); } actual.push(...scope.components); for (name2 of scope.objects) { if (!actual.includes(name2)) { actual.push(name2); } } const statements = []; if (defaults.length > 0 || actual.length > 0 || scope.idToInvalidComponentName.size > 0) { if (providerImportSource) { importProvider = true; parameters.push({ type: "CallExpression", callee: { type: "Identifier", name: "_provideComponents" }, arguments: [], optional: false }); } if (isNamedFunction(scope.node, "MDXContent") || isNamedFunction(scope.node, "_createMdxContent")) { parameters.push(toIdOrMemberExpression(["props", "components"])); } if (defaults.length > 0 || parameters.length > 1) { parameters.unshift({ type: "ObjectExpression", properties: defaults }); } let componentsInit = parameters.length > 1 ? { type: "CallExpression", callee: toIdOrMemberExpression(["Object", "assign"]), arguments: parameters, optional: false } : parameters[0].type === "MemberExpression" ? ( // If we’re only getting components from `props.components`, // make sure it’s defined. { type: "LogicalExpression", operator: "||", left: parameters[0], right: { type: "ObjectExpression", properties: [] } } ) : parameters[0]; let componentsPattern; if (actual.length > 0) { componentsPattern = { type: "ObjectPattern", properties: actual.map((name3) => ({ type: "Property", kind: "init", key: { type: "Identifier", name: name3 === "MDXLayout" ? "wrapper" : name3 }, value: { type: "Identifier", name: name3 }, method: false, shorthand: name3 !== "MDXLayout", computed: false })) }; } if (scope.tags.length > 0) { declarations.push({ type: "VariableDeclarator", id: { type: "Identifier", name: "_components" }, init: componentsInit }); componentsInit = { type: "Identifier", name: "_components" }; } if (isNamedFunction(scope.node, "_createMdxContent")) { for (const [ id, componentName ] of scope.idToInvalidComponentName) { declarations.push({ type: "VariableDeclarator", id: { type: "Identifier", name: componentName }, init: { type: "MemberExpression", object: { type: "Identifier", name: "_components" }, property: { type: "Literal", value: id }, computed: true, optional: false } }); } } if (componentsPattern) { declarations.push({ type: "VariableDeclarator", id: componentsPattern, init: componentsInit }); } if (declarations.length > 0) { statements.push({ type: "VariableDeclaration", kind: "const", declarations }); } } let key2; for (key2 in scope.references) { if (own7.call(scope.references, key2)) { const parts = key2.split("."); let index3 = 0; while (++index3 < parts.length) { const partial = parts.slice(0, index3).join("."); if (!own7.call(scope.references, partial)) { scope.references[partial] = { node: scope.references[key2].node, component: false }; } } } } const references = Object.keys(scope.references).sort(); let index2 = -1; while (++index2 < references.length) { const id = references[index2]; const info = scope.references[id]; const place = stringifyPosition(positionFromEstree(info.node)); const parameters2 = [ { type: "Literal", value: id }, { type: "Literal", value: info.component } ]; createErrorHelper = true; if (development2 && place !== "1:1-1:1") { parameters2.push({ type: "Literal", value: place }); } statements.push({ type: "IfStatement", test: { type: "UnaryExpression", operator: "!", prefix: true, argument: toIdOrMemberExpression(id.split(".")) }, consequent: { type: "ExpressionStatement", expression: { type: "CallExpression", callee: { type: "Identifier", name: "_missingMdxReference" }, arguments: parameters2, optional: false } }, alternate: null }); } if (statements.length > 0) { if (fn.body.type !== "BlockStatement") { fn.body = { type: "BlockStatement", body: [{ type: "ReturnStatement", argument: fn.body }] }; } fn.body.body.unshift(...statements); } fnStack.pop(); } } }); if (importProvider && providerImportSource) { tree.body.unshift( createImportProvider(providerImportSource, outputFormat) ); } if (createErrorHelper) { const message = [ { type: "Literal", value: "Expected " }, { type: "ConditionalExpression", test: { type: "Identifier", name: "component" }, consequent: { type: "Literal", value: "component" }, alternate: { type: "Literal", value: "object" } }, { type: "Literal", value: " `" }, { type: "Identifier", name: "id" }, { type: "Literal", value: "` to be defined: you likely forgot to import, pass, or provide it." } ]; const parameters = [ { type: "Identifier", name: "id" }, { type: "Identifier", name: "component" } ]; if (development2) { message.push({ type: "ConditionalExpression", test: { type: "Identifier", name: "place" }, consequent: toBinaryAddition([ { type: "Literal", value: "\nIt\u2019s referenced in your code at `" }, { type: "Identifier", name: "place" }, { type: "Literal", value: (file.path ? "` in `" + file.path : "") + "`" } ]), alternate: { type: "Literal", value: "" } }); parameters.push({ type: "Identifier", name: "place" }); } tree.body.push({ type: "FunctionDeclaration", id: { type: "Identifier", name: "_missingMdxReference" }, generator: false, async: false, params: parameters, body: { type: "BlockStatement", body: [ { type: "ThrowStatement", argument: { type: "NewExpression", callee: { type: "Identifier", name: "Error" }, arguments: [toBinaryAddition(message)] } } ] } }); } }; } function createImportProvider(providerImportSource, outputFormat) { const specifiers = [ { type: "ImportSpecifier", imported: { type: "Identifier", name: "useMDXComponents" }, local: { type: "Identifier", name: "_provideComponents" } } ]; return outputFormat === "function-body" ? { type: "VariableDeclaration", kind: "const", declarations: specifiersToDeclarations( specifiers, toIdOrMemberExpression(["arguments", 0]) ) } : { type: "ImportDeclaration", specifiers, source: { type: "Literal", value: providerImportSource } }; } function isNamedFunction(node2, name2) { return Boolean(node2 && "id" in node2 && node2.id && node2.id.name === name2); } function inScope(scope, id) { let currentScope = scope; while (currentScope) { if (currentScope.declarations.has(id)) { return true; } currentScope = currentScope.parent; } return false; } // node_modules/astring/dist/astring.mjs var { stringify } = JSON; if (!String.prototype.repeat) { throw new Error( "String.prototype.repeat is undefined, see https://github.com/davidbonnet/astring#installation" ); } if (!String.prototype.endsWith) { throw new Error( "String.prototype.endsWith is undefined, see https://github.com/davidbonnet/astring#installation" ); } var OPERATOR_PRECEDENCE = { "||": 3, "&&": 4, "|": 5, "??": 5, "^": 6, "&": 7, "==": 8, "!=": 8, "===": 8, "!==": 8, "<": 9, ">": 9, "<=": 9, ">=": 9, in: 9, instanceof: 9, "<<": 10, ">>": 10, ">>>": 10, "+": 11, "-": 11, "*": 12, "%": 12, "/": 12, "**": 13 }; var NEEDS_PARENTHESES = 17; var EXPRESSIONS_PRECEDENCE = { // Definitions ArrayExpression: 20, TaggedTemplateExpression: 20, ThisExpression: 20, Identifier: 20, PrivateIdentifier: 20, Literal: 18, TemplateLiteral: 20, Super: 20, SequenceExpression: 20, // Operations MemberExpression: 19, ChainExpression: 19, CallExpression: 19, NewExpression: 19, // Other definitions ArrowFunctionExpression: NEEDS_PARENTHESES, ClassExpression: NEEDS_PARENTHESES, FunctionExpression: NEEDS_PARENTHESES, ObjectExpression: NEEDS_PARENTHESES, // Other operations UpdateExpression: 16, UnaryExpression: 15, AwaitExpression: 15, BinaryExpression: 14, LogicalExpression: 13, ConditionalExpression: 4, AssignmentExpression: 3, YieldExpression: 2, RestElement: 1 }; function formatSequence(state, nodes) { const { generator } = state; state.write("("); if (nodes != null && nodes.length > 0) { generator[nodes[0].type](nodes[0], state); const { length } = nodes; for (let i = 1; i < length; i++) { const param = nodes[i]; state.write(", "); generator[param.type](param, state); } } state.write(")"); } function expressionNeedsParenthesis(state, node2, parentNode, isRightHand) { const nodePrecedence = state.expressionsPrecedence[node2.type]; if (nodePrecedence === NEEDS_PARENTHESES) { return true; } const parentNodePrecedence = state.expressionsPrecedence[parentNode.type]; if (nodePrecedence !== parentNodePrecedence) { return !isRightHand && nodePrecedence === 15 && parentNodePrecedence === 14 && parentNode.operator === "**" || nodePrecedence < parentNodePrecedence; } if (nodePrecedence !== 13 && nodePrecedence !== 14) { return false; } if (node2.operator === "**" && parentNode.operator === "**") { return !isRightHand; } if (isRightHand) { return OPERATOR_PRECEDENCE[node2.operator] <= OPERATOR_PRECEDENCE[parentNode.operator]; } return OPERATOR_PRECEDENCE[node2.operator] < OPERATOR_PRECEDENCE[parentNode.operator]; } function formatExpression(state, node2, parentNode, isRightHand) { const { generator } = state; if (expressionNeedsParenthesis(state, node2, parentNode, isRightHand)) { state.write("("); generator[node2.type](node2, state); state.write(")"); } else { generator[node2.type](node2, state); } } function reindent(state, text5, indent, lineEnd) { const lines = text5.split("\n"); const end = lines.length - 1; state.write(lines[0].trim()); if (end > 0) { state.write(lineEnd); for (let i = 1; i < end; i++) { state.write(indent + lines[i].trim() + lineEnd); } state.write(indent + lines[end].trim()); } } function formatComments(state, comments, indent, lineEnd) { const { length } = comments; for (let i = 0; i < length; i++) { const comment2 = comments[i]; state.write(indent); if (comment2.type[0] === "L") { state.write("// " + comment2.value.trim() + "\n", comment2); } else { state.write("/*"); reindent(state, comment2.value, indent, lineEnd); state.write("*/" + lineEnd); } } } function hasCallExpression(node2) { let currentNode = node2; while (currentNode != null) { const { type } = currentNode; if (type[0] === "C" && type[1] === "a") { return true; } else if (type[0] === "M" && type[1] === "e" && type[2] === "m") { currentNode = currentNode.object; } else { return false; } } } function formatVariableDeclaration(state, node2) { const { generator } = state; const { declarations } = node2; state.write(node2.kind + " "); const { length } = declarations; if (length > 0) { generator.VariableDeclarator(declarations[0], state); for (let i = 1; i < length; i++) { state.write(", "); generator.VariableDeclarator(declarations[i], state); } } } var ForInStatement; var FunctionDeclaration; var RestElement; var BinaryExpression; var ArrayExpression; var BlockStatement; var GENERATOR = { /* Default generator. */ Program(node2, state) { const indent = state.indent.repeat(state.indentLevel); const { lineEnd, writeComments } = state; if (writeComments && node2.comments != null) { formatComments(state, node2.comments, indent, lineEnd); } const statements = node2.body; const { length } = statements; for (let i = 0; i < length; i++) { const statement = statements[i]; if (writeComments && statement.comments != null) { formatComments(state, statement.comments, indent, lineEnd); } state.write(indent); this[statement.type](statement, state); state.write(lineEnd); } if (writeComments && node2.trailingComments != null) { formatComments(state, node2.trailingComments, indent, lineEnd); } }, BlockStatement: BlockStatement = function(node2, state) { const indent = state.indent.repeat(state.indentLevel++); const { lineEnd, writeComments } = state; const statementIndent = indent + state.indent; state.write("{"); const statements = node2.body; if (statements != null && statements.length > 0) { state.write(lineEnd); if (writeComments && node2.comments != null) { formatComments(state, node2.comments, statementIndent, lineEnd); } const { length } = statements; for (let i = 0; i < length; i++) { const statement = statements[i]; if (writeComments && statement.comments != null) { formatComments(state, statement.comments, statementIndent, lineEnd); } state.write(statementIndent); this[statement.type](statement, state); state.write(lineEnd); } state.write(indent); } else { if (writeComments && node2.comments != null) { state.write(lineEnd); formatComments(state, node2.comments, statementIndent, lineEnd); state.write(indent); } } if (writeComments && node2.trailingComments != null) { formatComments(state, node2.trailingComments, statementIndent, lineEnd); } state.write("}"); state.indentLevel--; }, ClassBody: BlockStatement, StaticBlock(node2, state) { state.write("static "); this.BlockStatement(node2, state); }, EmptyStatement(node2, state) { state.write(";"); }, ExpressionStatement(node2, state) { const precedence = state.expressionsPrecedence[node2.expression.type]; if (precedence === NEEDS_PARENTHESES || precedence === 3 && node2.expression.left.type[0] === "O") { state.write("("); this[node2.expression.type](node2.expression, state); state.write(")"); } else { this[node2.expression.type](node2.expression, state); } state.write(";"); }, IfStatement(node2, state) { state.write("if ("); this[node2.test.type](node2.test, state); state.write(") "); this[node2.consequent.type](node2.consequent, state); if (node2.alternate != null) { state.write(" else "); this[node2.alternate.type](node2.alternate, state); } }, LabeledStatement(node2, state) { this[node2.label.type](node2.label, state); state.write(": "); this[node2.body.type](node2.body, state); }, BreakStatement(node2, state) { state.write("break"); if (node2.label != null) { state.write(" "); this[node2.label.type](node2.label, state); } state.write(";"); }, ContinueStatement(node2, state) { state.write("continue"); if (node2.label != null) { state.write(" "); this[node2.label.type](node2.label, state); } state.write(";"); }, WithStatement(node2, state) { state.write("with ("); this[node2.object.type](node2.object, state); state.write(") "); this[node2.body.type](node2.body, state); }, SwitchStatement(node2, state) { const indent = state.indent.repeat(state.indentLevel++); const { lineEnd, writeComments } = state; state.indentLevel++; const caseIndent = indent + state.indent; const statementIndent = caseIndent + state.indent; state.write("switch ("); this[node2.discriminant.type](node2.discriminant, state); state.write(") {" + lineEnd); const { cases: occurences } = node2; const { length: occurencesCount } = occurences; for (let i = 0; i < occurencesCount; i++) { const occurence = occurences[i]; if (writeComments && occurence.comments != null) { formatComments(state, occurence.comments, caseIndent, lineEnd); } if (occurence.test) { state.write(caseIndent + "case "); this[occurence.test.type](occurence.test, state); state.write(":" + lineEnd); } else { state.write(caseIndent + "default:" + lineEnd); } const { consequent } = occurence; const { length: consequentCount } = consequent; for (let i2 = 0; i2 < consequentCount; i2++) { const statement = consequent[i2]; if (writeComments && statement.comments != null) { formatComments(state, statement.comments, statementIndent, lineEnd); } state.write(statementIndent); this[statement.type](statement, state); state.write(lineEnd); } } state.indentLevel -= 2; state.write(indent + "}"); }, ReturnStatement(node2, state) { state.write("return"); if (node2.argument) { state.write(" "); this[node2.argument.type](node2.argument, state); } state.write(";"); }, ThrowStatement(node2, state) { state.write("throw "); this[node2.argument.type](node2.argument, state); state.write(";"); }, TryStatement(node2, state) { state.write("try "); this[node2.block.type](node2.block, state); if (node2.handler) { const { handler } = node2; if (handler.param == null) { state.write(" catch "); } else { state.write(" catch ("); this[handler.param.type](handler.param, state); state.write(") "); } this[handler.body.type](handler.body, state); } if (node2.finalizer) { state.write(" finally "); this[node2.finalizer.type](node2.finalizer, state); } }, WhileStatement(node2, state) { state.write("while ("); this[node2.test.type](node2.test, state); state.write(") "); this[node2.body.type](node2.body, state); }, DoWhileStatement(node2, state) { state.write("do "); this[node2.body.type](node2.body, state); state.write(" while ("); this[node2.test.type](node2.test, state); state.write(");"); }, ForStatement(node2, state) { state.write("for ("); if (node2.init != null) { const { init } = node2; if (init.type[0] === "V") { formatVariableDeclaration(state, init); } else { this[init.type](init, state); } } state.write("; "); if (node2.test) { this[node2.test.type](node2.test, state); } state.write("; "); if (node2.update) { this[node2.update.type](node2.update, state); } state.write(") "); this[node2.body.type](node2.body, state); }, ForInStatement: ForInStatement = function(node2, state) { state.write(`for ${node2.await ? "await " : ""}(`); const { left } = node2; if (left.type[0] === "V") { formatVariableDeclaration(state, left); } else { this[left.type](left, state); } state.write(node2.type[3] === "I" ? " in " : " of "); this[node2.right.type](node2.right, state); state.write(") "); this[node2.body.type](node2.body, state); }, ForOfStatement: ForInStatement, DebuggerStatement(node2, state) { state.write("debugger;", node2); }, FunctionDeclaration: FunctionDeclaration = function(node2, state) { state.write( (node2.async ? "async " : "") + (node2.generator ? "function* " : "function ") + (node2.id ? node2.id.name : ""), node2 ); formatSequence(state, node2.params); state.write(" "); this[node2.body.type](node2.body, state); }, FunctionExpression: FunctionDeclaration, VariableDeclaration(node2, state) { formatVariableDeclaration(state, node2); state.write(";"); }, VariableDeclarator(node2, state) { this[node2.id.type](node2.id, state); if (node2.init != null) { state.write(" = "); this[node2.init.type](node2.init, state); } }, ClassDeclaration(node2, state) { state.write("class " + (node2.id ? `${node2.id.name} ` : ""), node2); if (node2.superClass) { state.write("extends "); const { superClass } = node2; const { type } = superClass; const precedence = state.expressionsPrecedence[type]; if ((type[0] !== "C" || type[1] !== "l" || type[5] !== "E") && (precedence === NEEDS_PARENTHESES || precedence < state.expressionsPrecedence.ClassExpression)) { state.write("("); this[node2.superClass.type](superClass, state); state.write(")"); } else { this[superClass.type](superClass, state); } state.write(" "); } this.ClassBody(node2.body, state); }, ImportDeclaration(node2, state) { state.write("import "); const { specifiers } = node2; const { length } = specifiers; let i = 0; if (length > 0) { for (; i < length; ) { if (i > 0) { state.write(", "); } const specifier = specifiers[i]; const type = specifier.type[6]; if (type === "D") { state.write(specifier.local.name, specifier); i++; } else if (type === "N") { state.write("* as " + specifier.local.name, specifier); i++; } else { break; } } if (i < length) { state.write("{"); for (; ; ) { const specifier = specifiers[i]; const { name: name2 } = specifier.imported; state.write(name2, specifier); if (name2 !== specifier.local.name) { state.write(" as " + specifier.local.name); } if (++i < length) { state.write(", "); } else { break; } } state.write("}"); } state.write(" from "); } this.Literal(node2.source, state); state.write(";"); }, ImportExpression(node2, state) { state.write("import("); this[node2.source.type](node2.source, state); state.write(")"); }, ExportDefaultDeclaration(node2, state) { state.write("export default "); this[node2.declaration.type](node2.declaration, state); if (state.expressionsPrecedence[node2.declaration.type] != null && node2.declaration.type[0] !== "F") { state.write(";"); } }, ExportNamedDeclaration(node2, state) { state.write("export "); if (node2.declaration) { this[node2.declaration.type](node2.declaration, state); } else { state.write("{"); const { specifiers } = node2, { length } = specifiers; if (length > 0) { for (let i = 0; ; ) { const specifier = specifiers[i]; const { name: name2 } = specifier.local; state.write(name2, specifier); if (name2 !== specifier.exported.name) { state.write(" as " + specifier.exported.name); } if (++i < length) { state.write(", "); } else { break; } } } state.write("}"); if (node2.source) { state.write(" from "); this.Literal(node2.source, state); } state.write(";"); } }, ExportAllDeclaration(node2, state) { if (node2.exported != null) { state.write("export * as " + node2.exported.name + " from "); } else { state.write("export * from "); } this.Literal(node2.source, state); state.write(";"); }, MethodDefinition(node2, state) { if (node2.static) { state.write("static "); } const kind = node2.kind[0]; if (kind === "g" || kind === "s") { state.write(node2.kind + " "); } if (node2.value.async) { state.write("async "); } if (node2.value.generator) { state.write("*"); } if (node2.computed) { state.write("["); this[node2.key.type](node2.key, state); state.write("]"); } else { this[node2.key.type](node2.key, state); } formatSequence(state, node2.value.params); state.write(" "); this[node2.value.body.type](node2.value.body, state); }, ClassExpression(node2, state) { this.ClassDeclaration(node2, state); }, ArrowFunctionExpression(node2, state) { state.write(node2.async ? "async " : "", node2); const { params } = node2; if (params != null) { if (params.length === 1 && params[0].type[0] === "I") { state.write(params[0].name, params[0]); } else { formatSequence(state, node2.params); } } state.write(" => "); if (node2.body.type[0] === "O") { state.write("("); this.ObjectExpression(node2.body, state); state.write(")"); } else { this[node2.body.type](node2.body, state); } }, ThisExpression(node2, state) { state.write("this", node2); }, Super(node2, state) { state.write("super", node2); }, RestElement: RestElement = function(node2, state) { state.write("..."); this[node2.argument.type](node2.argument, state); }, SpreadElement: RestElement, YieldExpression(node2, state) { state.write(node2.delegate ? "yield*" : "yield"); if (node2.argument) { state.write(" "); this[node2.argument.type](node2.argument, state); } }, AwaitExpression(node2, state) { state.write("await ", node2); formatExpression(state, node2.argument, node2); }, TemplateLiteral(node2, state) { const { quasis, expressions } = node2; state.write("`"); const { length } = expressions; for (let i = 0; i < length; i++) { const expression = expressions[i]; const quasi2 = quasis[i]; state.write(quasi2.value.raw, quasi2); state.write("${"); this[expression.type](expression, state); state.write("}"); } const quasi = quasis[quasis.length - 1]; state.write(quasi.value.raw, quasi); state.write("`"); }, TemplateElement(node2, state) { state.write(node2.value.raw, node2); }, TaggedTemplateExpression(node2, state) { formatExpression(state, node2.tag, node2); this[node2.quasi.type](node2.quasi, state); }, ArrayExpression: ArrayExpression = function(node2, state) { state.write("["); if (node2.elements.length > 0) { const { elements } = node2, { length } = elements; for (let i = 0; ; ) { const element2 = elements[i]; if (element2 != null) { this[element2.type](element2, state); } if (++i < length) { state.write(", "); } else { if (element2 == null) { state.write(", "); } break; } } } state.write("]"); }, ArrayPattern: ArrayExpression, ObjectExpression(node2, state) { const indent = state.indent.repeat(state.indentLevel++); const { lineEnd, writeComments } = state; const propertyIndent = indent + state.indent; state.write("{"); if (node2.properties.length > 0) { state.write(lineEnd); if (writeComments && node2.comments != null) { formatComments(state, node2.comments, propertyIndent, lineEnd); } const comma = "," + lineEnd; const { properties } = node2, { length } = properties; for (let i = 0; ; ) { const property = properties[i]; if (writeComments && property.comments != null) { formatComments(state, property.comments, propertyIndent, lineEnd); } state.write(propertyIndent); this[property.type](property, state); if (++i < length) { state.write(comma); } else { break; } } state.write(lineEnd); if (writeComments && node2.trailingComments != null) { formatComments(state, node2.trailingComments, propertyIndent, lineEnd); } state.write(indent + "}"); } else if (writeComments) { if (node2.comments != null) { state.write(lineEnd); formatComments(state, node2.comments, propertyIndent, lineEnd); if (node2.trailingComments != null) { formatComments(state, node2.trailingComments, propertyIndent, lineEnd); } state.write(indent + "}"); } else if (node2.trailingComments != null) { state.write(lineEnd); formatComments(state, node2.trailingComments, propertyIndent, lineEnd); state.write(indent + "}"); } else { state.write("}"); } } else { state.write("}"); } state.indentLevel--; }, Property(node2, state) { if (node2.method || node2.kind[0] !== "i") { this.MethodDefinition(node2, state); } else { if (!node2.shorthand) { if (node2.computed) { state.write("["); this[node2.key.type](node2.key, state); state.write("]"); } else { this[node2.key.type](node2.key, state); } state.write(": "); } this[node2.value.type](node2.value, state); } }, PropertyDefinition(node2, state) { if (node2.static) { state.write("static "); } if (node2.computed) { state.write("["); } this[node2.key.type](node2.key, state); if (node2.computed) { state.write("]"); } if (node2.value == null) { if (node2.key.type[0] !== "F") { state.write(";"); } return; } state.write(" = "); this[node2.value.type](node2.value, state); state.write(";"); }, ObjectPattern(node2, state) { state.write("{"); if (node2.properties.length > 0) { const { properties } = node2, { length } = properties; for (let i = 0; ; ) { this[properties[i].type](properties[i], state); if (++i < length) { state.write(", "); } else { break; } } } state.write("}"); }, SequenceExpression(node2, state) { formatSequence(state, node2.expressions); }, UnaryExpression(node2, state) { if (node2.prefix) { const { operator, argument, argument: { type } } = node2; state.write(operator); const needsParentheses = expressionNeedsParenthesis(state, argument, node2); if (!needsParentheses && (operator.length > 1 || type[0] === "U" && (type[1] === "n" || type[1] === "p") && argument.prefix && argument.operator[0] === operator && (operator === "+" || operator === "-"))) { state.write(" "); } if (needsParentheses) { state.write(operator.length > 1 ? " (" : "("); this[type](argument, state); state.write(")"); } else { this[type](argument, state); } } else { this[node2.argument.type](node2.argument, state); state.write(node2.operator); } }, UpdateExpression(node2, state) { if (node2.prefix) { state.write(node2.operator); this[node2.argument.type](node2.argument, state); } else { this[node2.argument.type](node2.argument, state); state.write(node2.operator); } }, AssignmentExpression(node2, state) { this[node2.left.type](node2.left, state); state.write(" " + node2.operator + " "); this[node2.right.type](node2.right, state); }, AssignmentPattern(node2, state) { this[node2.left.type](node2.left, state); state.write(" = "); this[node2.right.type](node2.right, state); }, BinaryExpression: BinaryExpression = function(node2, state) { const isIn = node2.operator === "in"; if (isIn) { state.write("("); } formatExpression(state, node2.left, node2, false); state.write(" " + node2.operator + " "); formatExpression(state, node2.right, node2, true); if (isIn) { state.write(")"); } }, LogicalExpression: BinaryExpression, ConditionalExpression(node2, state) { const { test } = node2; const precedence = state.expressionsPrecedence[test.type]; if (precedence === NEEDS_PARENTHESES || precedence <= state.expressionsPrecedence.ConditionalExpression) { state.write("("); this[test.type](test, state); state.write(")"); } else { this[test.type](test, state); } state.write(" ? "); this[node2.consequent.type](node2.consequent, state); state.write(" : "); this[node2.alternate.type](node2.alternate, state); }, NewExpression(node2, state) { state.write("new "); const precedence = state.expressionsPrecedence[node2.callee.type]; if (precedence === NEEDS_PARENTHESES || precedence < state.expressionsPrecedence.CallExpression || hasCallExpression(node2.callee)) { state.write("("); this[node2.callee.type](node2.callee, state); state.write(")"); } else { this[node2.callee.type](node2.callee, state); } formatSequence(state, node2["arguments"]); }, CallExpression(node2, state) { const precedence = state.expressionsPrecedence[node2.callee.type]; if (precedence === NEEDS_PARENTHESES || precedence < state.expressionsPrecedence.CallExpression) { state.write("("); this[node2.callee.type](node2.callee, state); state.write(")"); } else { this[node2.callee.type](node2.callee, state); } if (node2.optional) { state.write("?."); } formatSequence(state, node2["arguments"]); }, ChainExpression(node2, state) { this[node2.expression.type](node2.expression, state); }, MemberExpression(node2, state) { const precedence = state.expressionsPrecedence[node2.object.type]; if (precedence === NEEDS_PARENTHESES || precedence < state.expressionsPrecedence.MemberExpression) { state.write("("); this[node2.object.type](node2.object, state); state.write(")"); } else { this[node2.object.type](node2.object, state); } if (node2.computed) { if (node2.optional) { state.write("?."); } state.write("["); this[node2.property.type](node2.property, state); state.write("]"); } else { if (node2.optional) { state.write("?."); } else { state.write("."); } this[node2.property.type](node2.property, state); } }, MetaProperty(node2, state) { state.write(node2.meta.name + "." + node2.property.name, node2); }, Identifier(node2, state) { state.write(node2.name, node2); }, PrivateIdentifier(node2, state) { state.write(`#${node2.name}`, node2); }, Literal(node2, state) { if (node2.raw != null) { state.write(node2.raw, node2); } else if (node2.regex != null) { this.RegExpLiteral(node2, state); } else if (node2.bigint != null) { state.write(node2.bigint + "n", node2); } else { state.write(stringify(node2.value), node2); } }, RegExpLiteral(node2, state) { const { regex: regex2 } = node2; state.write(`/${regex2.pattern}/${regex2.flags}`, node2); } }; var EMPTY_OBJECT = {}; var State = class { constructor(options) { const setup = options == null ? EMPTY_OBJECT : options; this.output = ""; if (setup.output != null) { this.output = setup.output; this.write = this.writeToStream; } else { this.output = ""; } this.generator = setup.generator != null ? setup.generator : GENERATOR; this.expressionsPrecedence = setup.expressionsPrecedence != null ? setup.expressionsPrecedence : EXPRESSIONS_PRECEDENCE; this.indent = setup.indent != null ? setup.indent : " "; this.lineEnd = setup.lineEnd != null ? setup.lineEnd : "\n"; this.indentLevel = setup.startingIndentLevel != null ? setup.startingIndentLevel : 0; this.writeComments = setup.comments ? setup.comments : false; if (setup.sourceMap != null) { this.write = setup.output == null ? this.writeAndMap : this.writeToStreamAndMap; this.sourceMap = setup.sourceMap; this.line = 1; this.column = 0; this.lineEndSize = this.lineEnd.split("\n").length - 1; this.mapping = { original: null, // Uses the entire state to avoid generating ephemeral objects generated: this, name: void 0, source: setup.sourceMap.file || setup.sourceMap._file }; } } write(code2) { this.output += code2; } writeToStream(code2) { this.output.write(code2); } writeAndMap(code2, node2) { this.output += code2; this.map(code2, node2); } writeToStreamAndMap(code2, node2) { this.output.write(code2); this.map(code2, node2); } map(code2, node2) { if (node2 != null) { const { type } = node2; if (type[0] === "L" && type[2] === "n") { this.column = 0; this.line++; return; } if (node2.loc != null) { const { mapping } = this; mapping.original = node2.loc.start; mapping.name = node2.name; this.sourceMap.addMapping(mapping); } if (type[0] === "T" && type[8] === "E" || type[0] === "L" && type[1] === "i" && typeof node2.value === "string") { const { length: length2 } = code2; let { column: column2, line: line2 } = this; for (let i = 0; i < length2; i++) { if (code2[i] === "\n") { column2 = 0; line2++; } else { column2++; } } this.column = column2; this.line = line2; return; } } const { length } = code2; const { lineEnd } = this; if (length > 0) { if (this.lineEndSize > 0 && (lineEnd.length === 1 ? code2[length - 1] === lineEnd : code2.endsWith(lineEnd))) { this.line += this.lineEndSize; this.column = 0; } else { this.column += length; } } } toString() { return this.output; } }; function generate(node2, options) { const state = new State(options); state.generator[node2.type](node2, state); return state.output; } // node_modules/estree-util-to-js/lib/index.js var GENERATOR2 = GENERATOR; var generate2 = generate; var toJs = ( /** * @type {( * ((value: Program, options: OptionsWithSourceMapGenerator) => ResultWithSourceMapGenerator) & * ((value: Program, options: OptionsWithMaybeMapGenerator) => ResultMaybeSourceMapGenerator) & * ((value: Program, options?: OptionsWithoutSourceMapGenerator | null | undefined) => ResultWithoutSourceMapGenerator) * )} */ /** * @param {Program} tree * @param {Options | null | undefined} [options] * @returns {Result} */ function(tree, options) { const { SourceMapGenerator, filePath, handlers: handlers3 } = options || {}; const sourceMap = SourceMapGenerator ? new SourceMapGenerator({ file: filePath || ".js" }) : void 0; const value2 = generate2(tree, { comments: true, generator: { ...GENERATOR2, ...handlers3 }, sourceMap }); const map = sourceMap ? sourceMap.toJSON() : void 0; return { value: value2, map }; } ); // node_modules/estree-util-to-js/lib/jsx.js var jsx = { JSXAttribute, JSXClosingElement, JSXClosingFragment, JSXElement, JSXEmptyExpression, JSXExpressionContainer, JSXFragment, JSXIdentifier, JSXMemberExpression, JSXNamespacedName, JSXOpeningElement, JSXOpeningFragment, JSXSpreadAttribute, JSXText }; function JSXAttribute(node2, state) { this[node2.name.type](node2.name, state); if (node2.value !== void 0 && node2.value !== null) { state.write("="); if (node2.value.type === "Literal") { state.write( '"' + encodeJsx(String(node2.value.value)).replace(/"/g, """) + '"', node2 ); } else { this[node2.value.type](node2.value, state); } } } function JSXClosingElement(node2, state) { state.write(""); } function JSXClosingFragment(node2, state) { state.write("", node2); } function JSXElement(node2, state) { let index2 = -1; this[node2.openingElement.type](node2.openingElement, state); if (node2.children) { while (++index2 < node2.children.length) { const child = node2.children[index2]; if (child.type === "JSXSpreadChild") { throw new Error("JSX spread children are not supported"); } this[child.type](child, state); } } if (node2.closingElement) { this[node2.closingElement.type](node2.closingElement, state); } } function JSXEmptyExpression() { } function JSXExpressionContainer(node2, state) { state.write("{"); this[node2.expression.type](node2.expression, state); state.write("}"); } function JSXFragment(node2, state) { let index2 = -1; this[node2.openingFragment.type](node2.openingFragment, state); if (node2.children) { while (++index2 < node2.children.length) { const child = node2.children[index2]; if (child.type === "JSXSpreadChild") { throw new Error("JSX spread children are not supported"); } this[child.type](child, state); } } this[node2.closingFragment.type](node2.closingFragment, state); } function JSXIdentifier(node2, state) { state.write(node2.name, node2); } function JSXMemberExpression(node2, state) { this[node2.object.type](node2.object, state); state.write("."); this[node2.property.type](node2.property, state); } function JSXNamespacedName(node2, state) { this[node2.namespace.type](node2.namespace, state); state.write(":"); this[node2.name.type](node2.name, state); } function JSXOpeningElement(node2, state) { let index2 = -1; state.write("<"); this[node2.name.type](node2.name, state); if (node2.attributes) { while (++index2 < node2.attributes.length) { state.write(" "); this[node2.attributes[index2].type](node2.attributes[index2], state); } } state.write(node2.selfClosing ? " />" : ">"); } function JSXOpeningFragment(node2, state) { state.write("<>", node2); } function JSXSpreadAttribute(node2, state) { state.write("{"); this.SpreadElement(node2, state); state.write("}"); } function JSXText(node2, state) { state.write( encodeJsx(node2.value).replace( /[<>{}]/g, ($0) => $0 === "<" ? "<" : $0 === ">" ? ">" : $0 === "{" ? "{" : "}" ), node2 ); } function encodeJsx(value2) { return value2.replace(/&(?=[#a-z])/gi, "&"); } // node_modules/@mdx-js/mdx/lib/plugin/recma-stringify.js function recmaStringify(options) { const { SourceMapGenerator } = options || {}; Object.assign(this, { Compiler: compiler2 }); function compiler2(tree, file) { const result = SourceMapGenerator ? toJs(tree, { filePath: file.path || "unknown.mdx", SourceMapGenerator, handlers: jsx }) : toJs(tree, { handlers: jsx }); file.map = result.map; return result.value; } } // node_modules/hast-util-to-estree/lib/handlers/comment.js function comment(node2, state) { const result = { type: "Block", value: node2.value }; state.inherit(node2, result); state.comments.push(result); const expression = { type: "JSXEmptyExpression", // @ts-expect-error: `comments` is custom. comments: [Object.assign({}, result, { leading: false, trailing: true })] }; state.patch(node2, expression); const container = { type: "JSXExpressionContainer", expression }; state.patch(node2, container); return container; } // node_modules/comma-separated-tokens/index.js function stringify2(values, options) { const settings = options || {}; const input = values[values.length - 1] === "" ? [...values, ""] : values; return input.join( (settings.padRight ? " " : "") + "," + (settings.padLeft === false ? "" : " ") ).trim(); } // node_modules/property-information/lib/util/schema.js var Schema = class { /** * @constructor * @param {Properties} property * @param {Normal} normal * @param {string} [space] */ constructor(property, normal, space2) { this.property = property; this.normal = normal; if (space2) { this.space = space2; } } }; Schema.prototype.property = {}; Schema.prototype.normal = {}; Schema.prototype.space = null; // node_modules/property-information/lib/util/merge.js function merge(definitions2, space2) { const property = {}; const normal = {}; let index2 = -1; while (++index2 < definitions2.length) { Object.assign(property, definitions2[index2].property); Object.assign(normal, definitions2[index2].normal); } return new Schema(property, normal, space2); } // node_modules/property-information/lib/normalize.js function normalize(value2) { return value2.toLowerCase(); } // node_modules/property-information/lib/util/info.js var Info = class { /** * @constructor * @param {string} property * @param {string} attribute */ constructor(property, attribute) { this.property = property; this.attribute = attribute; } }; Info.prototype.space = null; Info.prototype.boolean = false; Info.prototype.booleanish = false; Info.prototype.overloadedBoolean = false; Info.prototype.number = false; Info.prototype.commaSeparated = false; Info.prototype.spaceSeparated = false; Info.prototype.commaOrSpaceSeparated = false; Info.prototype.mustUseProperty = false; Info.prototype.defined = false; // node_modules/property-information/lib/util/types.js var types_exports = {}; __export(types_exports, { boolean: () => boolean, booleanish: () => booleanish, commaOrSpaceSeparated: () => commaOrSpaceSeparated, commaSeparated: () => commaSeparated, number: () => number, overloadedBoolean: () => overloadedBoolean, spaceSeparated: () => spaceSeparated }); var powers = 0; var boolean = increment(); var booleanish = increment(); var overloadedBoolean = increment(); var number = increment(); var spaceSeparated = increment(); var commaSeparated = increment(); var commaOrSpaceSeparated = increment(); function increment() { return 2 ** ++powers; } // node_modules/property-information/lib/util/defined-info.js var checks = Object.keys(types_exports); var DefinedInfo = class extends Info { /** * @constructor * @param {string} property * @param {string} attribute * @param {number|null} [mask] * @param {string} [space] */ constructor(property, attribute, mask, space2) { let index2 = -1; super(property, attribute); mark(this, "space", space2); if (typeof mask === "number") { while (++index2 < checks.length) { const check = checks[index2]; mark(this, checks[index2], (mask & types_exports[check]) === types_exports[check]); } } } }; DefinedInfo.prototype.defined = true; function mark(values, key2, value2) { if (value2) { values[key2] = value2; } } // node_modules/property-information/lib/util/create.js var own8 = {}.hasOwnProperty; function create3(definition2) { const property = {}; const normal = {}; let prop; for (prop in definition2.properties) { if (own8.call(definition2.properties, prop)) { const value2 = definition2.properties[prop]; const info = new DefinedInfo( prop, definition2.transform(definition2.attributes || {}, prop), value2, definition2.space ); if (definition2.mustUseProperty && definition2.mustUseProperty.includes(prop)) { info.mustUseProperty = true; } property[prop] = info; normal[normalize(prop)] = prop; normal[normalize(info.attribute)] = prop; } } return new Schema(property, normal, definition2.space); } // node_modules/property-information/lib/xlink.js var xlink = create3({ space: "xlink", transform(_, prop) { return "xlink:" + prop.slice(5).toLowerCase(); }, properties: { xLinkActuate: null, xLinkArcRole: null, xLinkHref: null, xLinkRole: null, xLinkShow: null, xLinkTitle: null, xLinkType: null } }); // node_modules/property-information/lib/xml.js var xml = create3({ space: "xml", transform(_, prop) { return "xml:" + prop.slice(3).toLowerCase(); }, properties: { xmlLang: null, xmlBase: null, xmlSpace: null } }); // node_modules/property-information/lib/util/case-sensitive-transform.js function caseSensitiveTransform(attributes, attribute) { return attribute in attributes ? attributes[attribute] : attribute; } // node_modules/property-information/lib/util/case-insensitive-transform.js function caseInsensitiveTransform(attributes, property) { return caseSensitiveTransform(attributes, property.toLowerCase()); } // node_modules/property-information/lib/xmlns.js var xmlns = create3({ space: "xmlns", attributes: { xmlnsxlink: "xmlns:xlink" }, transform: caseInsensitiveTransform, properties: { xmlns: null, xmlnsXLink: null } }); // node_modules/property-information/lib/aria.js var aria = create3({ transform(_, prop) { return prop === "role" ? prop : "aria-" + prop.slice(4).toLowerCase(); }, properties: { ariaActiveDescendant: null, ariaAtomic: booleanish, ariaAutoComplete: null, ariaBusy: booleanish, ariaChecked: booleanish, ariaColCount: number, ariaColIndex: number, ariaColSpan: number, ariaControls: spaceSeparated, ariaCurrent: null, ariaDescribedBy: spaceSeparated, ariaDetails: null, ariaDisabled: booleanish, ariaDropEffect: spaceSeparated, ariaErrorMessage: null, ariaExpanded: booleanish, ariaFlowTo: spaceSeparated, ariaGrabbed: booleanish, ariaHasPopup: null, ariaHidden: booleanish, ariaInvalid: null, ariaKeyShortcuts: null, ariaLabel: null, ariaLabelledBy: spaceSeparated, ariaLevel: number, ariaLive: null, ariaModal: booleanish, ariaMultiLine: booleanish, ariaMultiSelectable: booleanish, ariaOrientation: null, ariaOwns: spaceSeparated, ariaPlaceholder: null, ariaPosInSet: number, ariaPressed: booleanish, ariaReadOnly: booleanish, ariaRelevant: null, ariaRequired: booleanish, ariaRoleDescription: spaceSeparated, ariaRowCount: number, ariaRowIndex: number, ariaRowSpan: number, ariaSelected: booleanish, ariaSetSize: number, ariaSort: null, ariaValueMax: number, ariaValueMin: number, ariaValueNow: number, ariaValueText: null, role: null } }); // node_modules/property-information/lib/html.js var html2 = create3({ space: "html", attributes: { acceptcharset: "accept-charset", classname: "class", htmlfor: "for", httpequiv: "http-equiv" }, transform: caseInsensitiveTransform, mustUseProperty: ["checked", "multiple", "muted", "selected"], properties: { // Standard Properties. abbr: null, accept: commaSeparated, acceptCharset: spaceSeparated, accessKey: spaceSeparated, action: null, allow: null, allowFullScreen: boolean, allowPaymentRequest: boolean, allowUserMedia: boolean, alt: null, as: null, async: boolean, autoCapitalize: null, autoComplete: spaceSeparated, autoFocus: boolean, autoPlay: boolean, capture: boolean, charSet: null, checked: boolean, cite: null, className: spaceSeparated, cols: number, colSpan: null, content: null, contentEditable: booleanish, controls: boolean, controlsList: spaceSeparated, coords: number | commaSeparated, crossOrigin: null, data: null, dateTime: null, decoding: null, default: boolean, defer: boolean, dir: null, dirName: null, disabled: boolean, download: overloadedBoolean, draggable: booleanish, encType: null, enterKeyHint: null, form: null, formAction: null, formEncType: null, formMethod: null, formNoValidate: boolean, formTarget: null, headers: spaceSeparated, height: number, hidden: boolean, high: number, href: null, hrefLang: null, htmlFor: spaceSeparated, httpEquiv: spaceSeparated, id: null, imageSizes: null, imageSrcSet: null, inputMode: null, integrity: null, is: null, isMap: boolean, itemId: null, itemProp: spaceSeparated, itemRef: spaceSeparated, itemScope: boolean, itemType: spaceSeparated, kind: null, label: null, lang: null, language: null, list: null, loading: null, loop: boolean, low: number, manifest: null, max: null, maxLength: number, media: null, method: null, min: null, minLength: number, multiple: boolean, muted: boolean, name: null, nonce: null, noModule: boolean, noValidate: boolean, onAbort: null, onAfterPrint: null, onAuxClick: null, onBeforeMatch: null, onBeforePrint: null, onBeforeUnload: null, onBlur: null, onCancel: null, onCanPlay: null, onCanPlayThrough: null, onChange: null, onClick: null, onClose: null, onContextLost: null, onContextMenu: null, onContextRestored: null, onCopy: null, onCueChange: null, onCut: null, onDblClick: null, onDrag: null, onDragEnd: null, onDragEnter: null, onDragExit: null, onDragLeave: null, onDragOver: null, onDragStart: null, onDrop: null, onDurationChange: null, onEmptied: null, onEnded: null, onError: null, onFocus: null, onFormData: null, onHashChange: null, onInput: null, onInvalid: null, onKeyDown: null, onKeyPress: null, onKeyUp: null, onLanguageChange: null, onLoad: null, onLoadedData: null, onLoadedMetadata: null, onLoadEnd: null, onLoadStart: null, onMessage: null, onMessageError: null, onMouseDown: null, onMouseEnter: null, onMouseLeave: null, onMouseMove: null, onMouseOut: null, onMouseOver: null, onMouseUp: null, onOffline: null, onOnline: null, onPageHide: null, onPageShow: null, onPaste: null, onPause: null, onPlay: null, onPlaying: null, onPopState: null, onProgress: null, onRateChange: null, onRejectionHandled: null, onReset: null, onResize: null, onScroll: null, onScrollEnd: null, onSecurityPolicyViolation: null, onSeeked: null, onSeeking: null, onSelect: null, onSlotChange: null, onStalled: null, onStorage: null, onSubmit: null, onSuspend: null, onTimeUpdate: null, onToggle: null, onUnhandledRejection: null, onUnload: null, onVolumeChange: null, onWaiting: null, onWheel: null, open: boolean, optimum: number, pattern: null, ping: spaceSeparated, placeholder: null, playsInline: boolean, poster: null, preload: null, readOnly: boolean, referrerPolicy: null, rel: spaceSeparated, required: boolean, reversed: boolean, rows: number, rowSpan: number, sandbox: spaceSeparated, scope: null, scoped: boolean, seamless: boolean, selected: boolean, shape: null, size: number, sizes: null, slot: null, span: number, spellCheck: booleanish, src: null, srcDoc: null, srcLang: null, srcSet: null, start: number, step: null, style: null, tabIndex: number, target: null, title: null, translate: null, type: null, typeMustMatch: boolean, useMap: null, value: booleanish, width: number, wrap: null, // Legacy. // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis align: null, // Several. Use CSS `text-align` instead, aLink: null, // ``. Use CSS `a:active {color}` instead archive: spaceSeparated, // ``. List of URIs to archives axis: null, // `` and ``. Use `scope` on `` background: null, // ``. Use CSS `background-image` instead bgColor: null, // `` and table elements. Use CSS `background-color` instead border: number, // ``. Use CSS `border-width` instead, borderColor: null, // `
`. Use CSS `border-color` instead, bottomMargin: number, // `` cellPadding: null, // `
` cellSpacing: null, // `
` char: null, // Several table elements. When `align=char`, sets the character to align on charOff: null, // Several table elements. When `char`, offsets the alignment classId: null, // `` clear: null, // `
`. Use CSS `clear` instead code: null, // `` codeBase: null, // `` codeType: null, // `` color: null, // `` and `
`. Use CSS instead compact: boolean, // Lists. Use CSS to reduce space between items instead declare: boolean, // `` event: null, // `