@vendure/graphiql-plugin 3.4.0-minor-202506250934 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/dist/graphiql/assets/{SchemaReference-CpyWtf-y.js → SchemaReference-CvpLgB2d.js} +2 -2
  2. package/dist/graphiql/assets/{SchemaReference-CpyWtf-y.js.map → SchemaReference-CvpLgB2d.js.map} +1 -1
  3. package/dist/graphiql/assets/{brace-fold-DRY9I3kG.js → brace-fold-CbvXwIyh.js} +2 -2
  4. package/dist/graphiql/assets/{brace-fold-DRY9I3kG.js.map → brace-fold-CbvXwIyh.js.map} +1 -1
  5. package/dist/graphiql/assets/{closebrackets-3DDxSZfS.js → closebrackets-D9IC1c35.js} +2 -2
  6. package/dist/graphiql/assets/{closebrackets-3DDxSZfS.js.map → closebrackets-D9IC1c35.js.map} +1 -1
  7. package/dist/graphiql/assets/{codemirror-Tc_3P_x1.js → codemirror-s7RqOvtc.js} +2 -2
  8. package/dist/graphiql/assets/codemirror-s7RqOvtc.js.map +1 -0
  9. package/dist/graphiql/assets/{comment-Dr85-_os.js → comment-hYnnSLkz.js} +2 -2
  10. package/dist/graphiql/assets/{comment-Dr85-_os.js.map → comment-hYnnSLkz.js.map} +1 -1
  11. package/dist/graphiql/assets/{dialog-CLvGWxga.js → dialog-74yvRjdg.js} +2 -2
  12. package/dist/graphiql/assets/dialog-74yvRjdg.js.map +1 -0
  13. package/dist/graphiql/assets/{foldgutter-Bd70Ylmw.js → foldgutter-CNvWBdVI.js} +2 -2
  14. package/dist/graphiql/assets/{foldgutter-Bd70Ylmw.js.map → foldgutter-CNvWBdVI.js.map} +1 -1
  15. package/dist/graphiql/assets/{hint-CTaCIspx.js → hint-D4-TGuu2.js} +2 -2
  16. package/dist/graphiql/assets/{hint-CTaCIspx.js.map → hint-D4-TGuu2.js.map} +1 -1
  17. package/dist/graphiql/assets/{hint-BU3hYq97.js → hint-tBpO-B8y.js} +2 -2
  18. package/dist/graphiql/assets/{hint-BU3hYq97.js.map → hint-tBpO-B8y.js.map} +1 -1
  19. package/dist/graphiql/assets/{index-B8bgcTYt.js → index-IiLbhMF9.js} +45 -45
  20. package/dist/graphiql/assets/index-IiLbhMF9.js.map +1 -0
  21. package/dist/graphiql/assets/{info-BjeMnYnE.js → info-D0V7Zrnm.js} +2 -2
  22. package/dist/graphiql/assets/{info-BjeMnYnE.js.map → info-D0V7Zrnm.js.map} +1 -1
  23. package/dist/graphiql/assets/{info-addon-CT8vWPfp.js → info-addon-BjO9oTYK.js} +2 -2
  24. package/dist/graphiql/assets/{info-addon-CT8vWPfp.js.map → info-addon-BjO9oTYK.js.map} +1 -1
  25. package/dist/graphiql/assets/{javascript-DOLBPx81.js → javascript-C1fmnkCb.js} +2 -2
  26. package/dist/graphiql/assets/{javascript-DOLBPx81.js.map → javascript-C1fmnkCb.js.map} +1 -1
  27. package/dist/graphiql/assets/{jump-Dl0QwazW.js → jump-CMl3nz-1.js} +2 -2
  28. package/dist/graphiql/assets/{jump-Dl0QwazW.js.map → jump-CMl3nz-1.js.map} +1 -1
  29. package/dist/graphiql/assets/{jump-to-line-C2CXtcBk.js → jump-to-line-Hq5vq2W4.js} +2 -2
  30. package/dist/graphiql/assets/{jump-to-line-C2CXtcBk.js.map → jump-to-line-Hq5vq2W4.js.map} +1 -1
  31. package/dist/graphiql/assets/{lint-ChBsGYZa.js → lint-B2CUTgTB.js} +2 -2
  32. package/dist/graphiql/assets/{lint-ChBsGYZa.js.map → lint-B2CUTgTB.js.map} +1 -1
  33. package/dist/graphiql/assets/{lint-CzSZJYWf.js → lint-B6DlOY4R.js} +2 -2
  34. package/dist/graphiql/assets/{lint-CzSZJYWf.js.map → lint-B6DlOY4R.js.map} +1 -1
  35. package/dist/graphiql/assets/{lint-B407pjh7.js → lint-C6rDu9yg.js} +2 -2
  36. package/dist/graphiql/assets/{lint-B407pjh7.js.map → lint-C6rDu9yg.js.map} +1 -1
  37. package/dist/graphiql/assets/{matchbrackets-CznKsy27.js → matchbrackets-DcI6Xjhe.js} +2 -2
  38. package/dist/graphiql/assets/matchbrackets-DcI6Xjhe.js.map +1 -0
  39. package/dist/graphiql/assets/{mode-CP0uw3Jl.js → mode-C2URUmUb.js} +2 -2
  40. package/dist/graphiql/assets/{mode-CP0uw3Jl.js.map → mode-C2URUmUb.js.map} +1 -1
  41. package/dist/graphiql/assets/{mode-CJNOcLCn.js → mode-CJXCb3SU.js} +2 -2
  42. package/dist/graphiql/assets/{mode-CJNOcLCn.js.map → mode-CJXCb3SU.js.map} +1 -1
  43. package/dist/graphiql/assets/{mode-2uvQFyqG.js → mode-DtlwYZcH.js} +2 -2
  44. package/dist/graphiql/assets/{mode-2uvQFyqG.js.map → mode-DtlwYZcH.js.map} +1 -1
  45. package/dist/graphiql/assets/{search-Crevdced.js → search-BzUGWzlS.js} +2 -2
  46. package/dist/graphiql/assets/{search-Crevdced.js.map → search-BzUGWzlS.js.map} +1 -1
  47. package/dist/graphiql/assets/{searchcursor-_ZFWpA3w.js → searchcursor-CHMRisY0.js} +2 -2
  48. package/dist/graphiql/assets/searchcursor-CHMRisY0.js.map +1 -0
  49. package/dist/graphiql/assets/{show-hint-3AOGYrK9.js → show-hint-CD13Xkku.js} +2 -2
  50. package/dist/graphiql/assets/{show-hint-3AOGYrK9.js.map → show-hint-CD13Xkku.js.map} +1 -1
  51. package/dist/graphiql/assets/{sublime-BPaNuiRD.js → sublime-2ochNaKe.js} +2 -2
  52. package/dist/graphiql/assets/{sublime-BPaNuiRD.js.map → sublime-2ochNaKe.js.map} +1 -1
  53. package/dist/graphiql/index.html +1 -1
  54. package/package.json +4 -4
  55. package/dist/graphiql/assets/codemirror-Tc_3P_x1.js.map +0 -1
  56. package/dist/graphiql/assets/dialog-CLvGWxga.js.map +0 -1
  57. package/dist/graphiql/assets/index-B8bgcTYt.js.map +0 -1
  58. package/dist/graphiql/assets/matchbrackets-CznKsy27.js.map +0 -1
  59. package/dist/graphiql/assets/searchcursor-_ZFWpA3w.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"javascript-DOLBPx81.js","sources":["../../../../../node_modules/codemirror/mode/javascript/javascript.js"],"sourcesContent":["// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/5/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"javascript\", function(config, parserConfig) {\n var indentUnit = config.indentUnit;\n var statementIndent = parserConfig.statementIndent;\n var jsonldMode = parserConfig.jsonld;\n var jsonMode = parserConfig.json || jsonldMode;\n var trackScope = parserConfig.trackScope !== false\n var isTS = parserConfig.typescript;\n var wordRE = parserConfig.wordCharacters || /[\\w$\\xa1-\\uffff]/;\n\n // Tokenizer\n\n var keywords = function(){\n function kw(type) {return {type: type, style: \"keyword\"};}\n var A = kw(\"keyword a\"), B = kw(\"keyword b\"), C = kw(\"keyword c\"), D = kw(\"keyword d\");\n var operator = kw(\"operator\"), atom = {type: \"atom\", style: \"atom\"};\n\n return {\n \"if\": kw(\"if\"), \"while\": A, \"with\": A, \"else\": B, \"do\": B, \"try\": B, \"finally\": B,\n \"return\": D, \"break\": D, \"continue\": D, \"new\": kw(\"new\"), \"delete\": C, \"void\": C, \"throw\": C,\n \"debugger\": kw(\"debugger\"), \"var\": kw(\"var\"), \"const\": kw(\"var\"), \"let\": kw(\"var\"),\n \"function\": kw(\"function\"), \"catch\": kw(\"catch\"),\n \"for\": kw(\"for\"), \"switch\": kw(\"switch\"), \"case\": kw(\"case\"), \"default\": kw(\"default\"),\n \"in\": operator, \"typeof\": operator, \"instanceof\": operator,\n \"true\": atom, \"false\": atom, \"null\": atom, \"undefined\": atom, \"NaN\": atom, \"Infinity\": atom,\n \"this\": kw(\"this\"), \"class\": kw(\"class\"), \"super\": kw(\"atom\"),\n \"yield\": C, \"export\": kw(\"export\"), \"import\": kw(\"import\"), \"extends\": C,\n \"await\": C\n };\n }();\n\n var isOperatorChar = /[+\\-*&%=<>!?|~^@]/;\n var isJsonldKeyword = /^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)\"/;\n\n function readRegexp(stream) {\n var escaped = false, next, inSet = false;\n while ((next = stream.next()) != null) {\n if (!escaped) {\n if (next == \"/\" && !inSet) return;\n if (next == \"[\") inSet = true;\n else if (inSet && next == \"]\") inSet = false;\n }\n escaped = !escaped && next == \"\\\\\";\n }\n }\n\n // Used as scratch variables to communicate multiple values without\n // consing up tons of objects.\n var type, content;\n function ret(tp, style, cont) {\n type = tp; content = cont;\n return style;\n }\n function tokenBase(stream, state) {\n var ch = stream.next();\n if (ch == '\"' || ch == \"'\") {\n state.tokenize = tokenString(ch);\n return state.tokenize(stream, state);\n } else if (ch == \".\" && stream.match(/^\\d[\\d_]*(?:[eE][+\\-]?[\\d_]+)?/)) {\n return ret(\"number\", \"number\");\n } else if (ch == \".\" && stream.match(\"..\")) {\n return ret(\"spread\", \"meta\");\n } else if (/[\\[\\]{}\\(\\),;\\:\\.]/.test(ch)) {\n return ret(ch);\n } else if (ch == \"=\" && stream.eat(\">\")) {\n return ret(\"=>\", \"operator\");\n } else if (ch == \"0\" && stream.match(/^(?:x[\\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/)) {\n return ret(\"number\", \"number\");\n } else if (/\\d/.test(ch)) {\n stream.match(/^[\\d_]*(?:n|(?:\\.[\\d_]*)?(?:[eE][+\\-]?[\\d_]+)?)?/);\n return ret(\"number\", \"number\");\n } else if (ch == \"/\") {\n if (stream.eat(\"*\")) {\n state.tokenize = tokenComment;\n return tokenComment(stream, state);\n } else if (stream.eat(\"/\")) {\n stream.skipToEnd();\n return ret(\"comment\", \"comment\");\n } else if (expressionAllowed(stream, state, 1)) {\n readRegexp(stream);\n stream.match(/^\\b(([gimyus])(?![gimyus]*\\2))+\\b/);\n return ret(\"regexp\", \"string-2\");\n } else {\n stream.eat(\"=\");\n return ret(\"operator\", \"operator\", stream.current());\n }\n } else if (ch == \"`\") {\n state.tokenize = tokenQuasi;\n return tokenQuasi(stream, state);\n } else if (ch == \"#\" && stream.peek() == \"!\") {\n stream.skipToEnd();\n return ret(\"meta\", \"meta\");\n } else if (ch == \"#\" && stream.eatWhile(wordRE)) {\n return ret(\"variable\", \"property\")\n } else if (ch == \"<\" && stream.match(\"!--\") ||\n (ch == \"-\" && stream.match(\"->\") && !/\\S/.test(stream.string.slice(0, stream.start)))) {\n stream.skipToEnd()\n return ret(\"comment\", \"comment\")\n } else if (isOperatorChar.test(ch)) {\n if (ch != \">\" || !state.lexical || state.lexical.type != \">\") {\n if (stream.eat(\"=\")) {\n if (ch == \"!\" || ch == \"=\") stream.eat(\"=\")\n } else if (/[<>*+\\-|&?]/.test(ch)) {\n stream.eat(ch)\n if (ch == \">\") stream.eat(ch)\n }\n }\n if (ch == \"?\" && stream.eat(\".\")) return ret(\".\")\n return ret(\"operator\", \"operator\", stream.current());\n } else if (wordRE.test(ch)) {\n stream.eatWhile(wordRE);\n var word = stream.current()\n if (state.lastType != \".\") {\n if (keywords.propertyIsEnumerable(word)) {\n var kw = keywords[word]\n return ret(kw.type, kw.style, word)\n }\n if (word == \"async\" && stream.match(/^(\\s|\\/\\*([^*]|\\*(?!\\/))*?\\*\\/)*[\\[\\(\\w]/, false))\n return ret(\"async\", \"keyword\", word)\n }\n return ret(\"variable\", \"variable\", word)\n }\n }\n\n function tokenString(quote) {\n return function(stream, state) {\n var escaped = false, next;\n if (jsonldMode && stream.peek() == \"@\" && stream.match(isJsonldKeyword)){\n state.tokenize = tokenBase;\n return ret(\"jsonld-keyword\", \"meta\");\n }\n while ((next = stream.next()) != null) {\n if (next == quote && !escaped) break;\n escaped = !escaped && next == \"\\\\\";\n }\n if (!escaped) state.tokenize = tokenBase;\n return ret(\"string\", \"string\");\n };\n }\n\n function tokenComment(stream, state) {\n var maybeEnd = false, ch;\n while (ch = stream.next()) {\n if (ch == \"/\" && maybeEnd) {\n state.tokenize = tokenBase;\n break;\n }\n maybeEnd = (ch == \"*\");\n }\n return ret(\"comment\", \"comment\");\n }\n\n function tokenQuasi(stream, state) {\n var escaped = false, next;\n while ((next = stream.next()) != null) {\n if (!escaped && (next == \"`\" || next == \"$\" && stream.eat(\"{\"))) {\n state.tokenize = tokenBase;\n break;\n }\n escaped = !escaped && next == \"\\\\\";\n }\n return ret(\"quasi\", \"string-2\", stream.current());\n }\n\n var brackets = \"([{}])\";\n // This is a crude lookahead trick to try and notice that we're\n // parsing the argument patterns for a fat-arrow function before we\n // actually hit the arrow token. It only works if the arrow is on\n // the same line as the arguments and there's no strange noise\n // (comments) in between. Fallback is to only notice when we hit the\n // arrow, and not declare the arguments as locals for the arrow\n // body.\n function findFatArrow(stream, state) {\n if (state.fatArrowAt) state.fatArrowAt = null;\n var arrow = stream.string.indexOf(\"=>\", stream.start);\n if (arrow < 0) return;\n\n if (isTS) { // Try to skip TypeScript return type declarations after the arguments\n var m = /:\\s*(?:\\w+(?:<[^>]*>|\\[\\])?|\\{[^}]*\\})\\s*$/.exec(stream.string.slice(stream.start, arrow))\n if (m) arrow = m.index\n }\n\n var depth = 0, sawSomething = false;\n for (var pos = arrow - 1; pos >= 0; --pos) {\n var ch = stream.string.charAt(pos);\n var bracket = brackets.indexOf(ch);\n if (bracket >= 0 && bracket < 3) {\n if (!depth) { ++pos; break; }\n if (--depth == 0) { if (ch == \"(\") sawSomething = true; break; }\n } else if (bracket >= 3 && bracket < 6) {\n ++depth;\n } else if (wordRE.test(ch)) {\n sawSomething = true;\n } else if (/[\"'\\/`]/.test(ch)) {\n for (;; --pos) {\n if (pos == 0) return\n var next = stream.string.charAt(pos - 1)\n if (next == ch && stream.string.charAt(pos - 2) != \"\\\\\") { pos--; break }\n }\n } else if (sawSomething && !depth) {\n ++pos;\n break;\n }\n }\n if (sawSomething && !depth) state.fatArrowAt = pos;\n }\n\n // Parser\n\n var atomicTypes = {\"atom\": true, \"number\": true, \"variable\": true, \"string\": true,\n \"regexp\": true, \"this\": true, \"import\": true, \"jsonld-keyword\": true};\n\n function JSLexical(indented, column, type, align, prev, info) {\n this.indented = indented;\n this.column = column;\n this.type = type;\n this.prev = prev;\n this.info = info;\n if (align != null) this.align = align;\n }\n\n function inScope(state, varname) {\n if (!trackScope) return false\n for (var v = state.localVars; v; v = v.next)\n if (v.name == varname) return true;\n for (var cx = state.context; cx; cx = cx.prev) {\n for (var v = cx.vars; v; v = v.next)\n if (v.name == varname) return true;\n }\n }\n\n function parseJS(state, style, type, content, stream) {\n var cc = state.cc;\n // Communicate our context to the combinators.\n // (Less wasteful than consing up a hundred closures on every call.)\n cx.state = state; cx.stream = stream; cx.marked = null, cx.cc = cc; cx.style = style;\n\n if (!state.lexical.hasOwnProperty(\"align\"))\n state.lexical.align = true;\n\n while(true) {\n var combinator = cc.length ? cc.pop() : jsonMode ? expression : statement;\n if (combinator(type, content)) {\n while(cc.length && cc[cc.length - 1].lex)\n cc.pop()();\n if (cx.marked) return cx.marked;\n if (type == \"variable\" && inScope(state, content)) return \"variable-2\";\n return style;\n }\n }\n }\n\n // Combinator utils\n\n var cx = {state: null, column: null, marked: null, cc: null};\n function pass() {\n for (var i = arguments.length - 1; i >= 0; i--) cx.cc.push(arguments[i]);\n }\n function cont() {\n pass.apply(null, arguments);\n return true;\n }\n function inList(name, list) {\n for (var v = list; v; v = v.next) if (v.name == name) return true\n return false;\n }\n function register(varname) {\n var state = cx.state;\n cx.marked = \"def\";\n if (!trackScope) return\n if (state.context) {\n if (state.lexical.info == \"var\" && state.context && state.context.block) {\n // FIXME function decls are also not block scoped\n var newContext = registerVarScoped(varname, state.context)\n if (newContext != null) {\n state.context = newContext\n return\n }\n } else if (!inList(varname, state.localVars)) {\n state.localVars = new Var(varname, state.localVars)\n return\n }\n }\n // Fall through means this is global\n if (parserConfig.globalVars && !inList(varname, state.globalVars))\n state.globalVars = new Var(varname, state.globalVars)\n }\n function registerVarScoped(varname, context) {\n if (!context) {\n return null\n } else if (context.block) {\n var inner = registerVarScoped(varname, context.prev)\n if (!inner) return null\n if (inner == context.prev) return context\n return new Context(inner, context.vars, true)\n } else if (inList(varname, context.vars)) {\n return context\n } else {\n return new Context(context.prev, new Var(varname, context.vars), false)\n }\n }\n\n function isModifier(name) {\n return name == \"public\" || name == \"private\" || name == \"protected\" || name == \"abstract\" || name == \"readonly\"\n }\n\n // Combinators\n\n function Context(prev, vars, block) { this.prev = prev; this.vars = vars; this.block = block }\n function Var(name, next) { this.name = name; this.next = next }\n\n var defaultVars = new Var(\"this\", new Var(\"arguments\", null))\n function pushcontext() {\n cx.state.context = new Context(cx.state.context, cx.state.localVars, false)\n cx.state.localVars = defaultVars\n }\n function pushblockcontext() {\n cx.state.context = new Context(cx.state.context, cx.state.localVars, true)\n cx.state.localVars = null\n }\n pushcontext.lex = pushblockcontext.lex = true\n function popcontext() {\n cx.state.localVars = cx.state.context.vars\n cx.state.context = cx.state.context.prev\n }\n popcontext.lex = true\n function pushlex(type, info) {\n var result = function() {\n var state = cx.state, indent = state.indented;\n if (state.lexical.type == \"stat\") indent = state.lexical.indented;\n else for (var outer = state.lexical; outer && outer.type == \")\" && outer.align; outer = outer.prev)\n indent = outer.indented;\n state.lexical = new JSLexical(indent, cx.stream.column(), type, null, state.lexical, info);\n };\n result.lex = true;\n return result;\n }\n function poplex() {\n var state = cx.state;\n if (state.lexical.prev) {\n if (state.lexical.type == \")\")\n state.indented = state.lexical.indented;\n state.lexical = state.lexical.prev;\n }\n }\n poplex.lex = true;\n\n function expect(wanted) {\n function exp(type) {\n if (type == wanted) return cont();\n else if (wanted == \";\" || type == \"}\" || type == \")\" || type == \"]\") return pass();\n else return cont(exp);\n };\n return exp;\n }\n\n function statement(type, value) {\n if (type == \"var\") return cont(pushlex(\"vardef\", value), vardef, expect(\";\"), poplex);\n if (type == \"keyword a\") return cont(pushlex(\"form\"), parenExpr, statement, poplex);\n if (type == \"keyword b\") return cont(pushlex(\"form\"), statement, poplex);\n if (type == \"keyword d\") return cx.stream.match(/^\\s*$/, false) ? cont() : cont(pushlex(\"stat\"), maybeexpression, expect(\";\"), poplex);\n if (type == \"debugger\") return cont(expect(\";\"));\n if (type == \"{\") return cont(pushlex(\"}\"), pushblockcontext, block, poplex, popcontext);\n if (type == \";\") return cont();\n if (type == \"if\") {\n if (cx.state.lexical.info == \"else\" && cx.state.cc[cx.state.cc.length - 1] == poplex)\n cx.state.cc.pop()();\n return cont(pushlex(\"form\"), parenExpr, statement, poplex, maybeelse);\n }\n if (type == \"function\") return cont(functiondef);\n if (type == \"for\") return cont(pushlex(\"form\"), pushblockcontext, forspec, statement, popcontext, poplex);\n if (type == \"class\" || (isTS && value == \"interface\")) {\n cx.marked = \"keyword\"\n return cont(pushlex(\"form\", type == \"class\" ? type : value), className, poplex)\n }\n if (type == \"variable\") {\n if (isTS && value == \"declare\") {\n cx.marked = \"keyword\"\n return cont(statement)\n } else if (isTS && (value == \"module\" || value == \"enum\" || value == \"type\") && cx.stream.match(/^\\s*\\w/, false)) {\n cx.marked = \"keyword\"\n if (value == \"enum\") return cont(enumdef);\n else if (value == \"type\") return cont(typename, expect(\"operator\"), typeexpr, expect(\";\"));\n else return cont(pushlex(\"form\"), pattern, expect(\"{\"), pushlex(\"}\"), block, poplex, poplex)\n } else if (isTS && value == \"namespace\") {\n cx.marked = \"keyword\"\n return cont(pushlex(\"form\"), expression, statement, poplex)\n } else if (isTS && value == \"abstract\") {\n cx.marked = \"keyword\"\n return cont(statement)\n } else {\n return cont(pushlex(\"stat\"), maybelabel);\n }\n }\n if (type == \"switch\") return cont(pushlex(\"form\"), parenExpr, expect(\"{\"), pushlex(\"}\", \"switch\"), pushblockcontext,\n block, poplex, poplex, popcontext);\n if (type == \"case\") return cont(expression, expect(\":\"));\n if (type == \"default\") return cont(expect(\":\"));\n if (type == \"catch\") return cont(pushlex(\"form\"), pushcontext, maybeCatchBinding, statement, poplex, popcontext);\n if (type == \"export\") return cont(pushlex(\"stat\"), afterExport, poplex);\n if (type == \"import\") return cont(pushlex(\"stat\"), afterImport, poplex);\n if (type == \"async\") return cont(statement)\n if (value == \"@\") return cont(expression, statement)\n return pass(pushlex(\"stat\"), expression, expect(\";\"), poplex);\n }\n function maybeCatchBinding(type) {\n if (type == \"(\") return cont(funarg, expect(\")\"))\n }\n function expression(type, value) {\n return expressionInner(type, value, false);\n }\n function expressionNoComma(type, value) {\n return expressionInner(type, value, true);\n }\n function parenExpr(type) {\n if (type != \"(\") return pass()\n return cont(pushlex(\")\"), maybeexpression, expect(\")\"), poplex)\n }\n function expressionInner(type, value, noComma) {\n if (cx.state.fatArrowAt == cx.stream.start) {\n var body = noComma ? arrowBodyNoComma : arrowBody;\n if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, expect(\"=>\"), body, popcontext);\n else if (type == \"variable\") return pass(pushcontext, pattern, expect(\"=>\"), body, popcontext);\n }\n\n var maybeop = noComma ? maybeoperatorNoComma : maybeoperatorComma;\n if (atomicTypes.hasOwnProperty(type)) return cont(maybeop);\n if (type == \"function\") return cont(functiondef, maybeop);\n if (type == \"class\" || (isTS && value == \"interface\")) { cx.marked = \"keyword\"; return cont(pushlex(\"form\"), classExpression, poplex); }\n if (type == \"keyword c\" || type == \"async\") return cont(noComma ? expressionNoComma : expression);\n if (type == \"(\") return cont(pushlex(\")\"), maybeexpression, expect(\")\"), poplex, maybeop);\n if (type == \"operator\" || type == \"spread\") return cont(noComma ? expressionNoComma : expression);\n if (type == \"[\") return cont(pushlex(\"]\"), arrayLiteral, poplex, maybeop);\n if (type == \"{\") return contCommasep(objprop, \"}\", null, maybeop);\n if (type == \"quasi\") return pass(quasi, maybeop);\n if (type == \"new\") return cont(maybeTarget(noComma));\n return cont();\n }\n function maybeexpression(type) {\n if (type.match(/[;\\}\\)\\],]/)) return pass();\n return pass(expression);\n }\n\n function maybeoperatorComma(type, value) {\n if (type == \",\") return cont(maybeexpression);\n return maybeoperatorNoComma(type, value, false);\n }\n function maybeoperatorNoComma(type, value, noComma) {\n var me = noComma == false ? maybeoperatorComma : maybeoperatorNoComma;\n var expr = noComma == false ? expression : expressionNoComma;\n if (type == \"=>\") return cont(pushcontext, noComma ? arrowBodyNoComma : arrowBody, popcontext);\n if (type == \"operator\") {\n if (/\\+\\+|--/.test(value) || isTS && value == \"!\") return cont(me);\n if (isTS && value == \"<\" && cx.stream.match(/^([^<>]|<[^<>]*>)*>\\s*\\(/, false))\n return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, me);\n if (value == \"?\") return cont(expression, expect(\":\"), expr);\n return cont(expr);\n }\n if (type == \"quasi\") { return pass(quasi, me); }\n if (type == \";\") return;\n if (type == \"(\") return contCommasep(expressionNoComma, \")\", \"call\", me);\n if (type == \".\") return cont(property, me);\n if (type == \"[\") return cont(pushlex(\"]\"), maybeexpression, expect(\"]\"), poplex, me);\n if (isTS && value == \"as\") { cx.marked = \"keyword\"; return cont(typeexpr, me) }\n if (type == \"regexp\") {\n cx.state.lastType = cx.marked = \"operator\"\n cx.stream.backUp(cx.stream.pos - cx.stream.start - 1)\n return cont(expr)\n }\n }\n function quasi(type, value) {\n if (type != \"quasi\") return pass();\n if (value.slice(value.length - 2) != \"${\") return cont(quasi);\n return cont(maybeexpression, continueQuasi);\n }\n function continueQuasi(type) {\n if (type == \"}\") {\n cx.marked = \"string-2\";\n cx.state.tokenize = tokenQuasi;\n return cont(quasi);\n }\n }\n function arrowBody(type) {\n findFatArrow(cx.stream, cx.state);\n return pass(type == \"{\" ? statement : expression);\n }\n function arrowBodyNoComma(type) {\n findFatArrow(cx.stream, cx.state);\n return pass(type == \"{\" ? statement : expressionNoComma);\n }\n function maybeTarget(noComma) {\n return function(type) {\n if (type == \".\") return cont(noComma ? targetNoComma : target);\n else if (type == \"variable\" && isTS) return cont(maybeTypeArgs, noComma ? maybeoperatorNoComma : maybeoperatorComma)\n else return pass(noComma ? expressionNoComma : expression);\n };\n }\n function target(_, value) {\n if (value == \"target\") { cx.marked = \"keyword\"; return cont(maybeoperatorComma); }\n }\n function targetNoComma(_, value) {\n if (value == \"target\") { cx.marked = \"keyword\"; return cont(maybeoperatorNoComma); }\n }\n function maybelabel(type) {\n if (type == \":\") return cont(poplex, statement);\n return pass(maybeoperatorComma, expect(\";\"), poplex);\n }\n function property(type) {\n if (type == \"variable\") {cx.marked = \"property\"; return cont();}\n }\n function objprop(type, value) {\n if (type == \"async\") {\n cx.marked = \"property\";\n return cont(objprop);\n } else if (type == \"variable\" || cx.style == \"keyword\") {\n cx.marked = \"property\";\n if (value == \"get\" || value == \"set\") return cont(getterSetter);\n var m // Work around fat-arrow-detection complication for detecting typescript typed arrow params\n if (isTS && cx.state.fatArrowAt == cx.stream.start && (m = cx.stream.match(/^\\s*:\\s*/, false)))\n cx.state.fatArrowAt = cx.stream.pos + m[0].length\n return cont(afterprop);\n } else if (type == \"number\" || type == \"string\") {\n cx.marked = jsonldMode ? \"property\" : (cx.style + \" property\");\n return cont(afterprop);\n } else if (type == \"jsonld-keyword\") {\n return cont(afterprop);\n } else if (isTS && isModifier(value)) {\n cx.marked = \"keyword\"\n return cont(objprop)\n } else if (type == \"[\") {\n return cont(expression, maybetype, expect(\"]\"), afterprop);\n } else if (type == \"spread\") {\n return cont(expressionNoComma, afterprop);\n } else if (value == \"*\") {\n cx.marked = \"keyword\";\n return cont(objprop);\n } else if (type == \":\") {\n return pass(afterprop)\n }\n }\n function getterSetter(type) {\n if (type != \"variable\") return pass(afterprop);\n cx.marked = \"property\";\n return cont(functiondef);\n }\n function afterprop(type) {\n if (type == \":\") return cont(expressionNoComma);\n if (type == \"(\") return pass(functiondef);\n }\n function commasep(what, end, sep) {\n function proceed(type, value) {\n if (sep ? sep.indexOf(type) > -1 : type == \",\") {\n var lex = cx.state.lexical;\n if (lex.info == \"call\") lex.pos = (lex.pos || 0) + 1;\n return cont(function(type, value) {\n if (type == end || value == end) return pass()\n return pass(what)\n }, proceed);\n }\n if (type == end || value == end) return cont();\n if (sep && sep.indexOf(\";\") > -1) return pass(what)\n return cont(expect(end));\n }\n return function(type, value) {\n if (type == end || value == end) return cont();\n return pass(what, proceed);\n };\n }\n function contCommasep(what, end, info) {\n for (var i = 3; i < arguments.length; i++)\n cx.cc.push(arguments[i]);\n return cont(pushlex(end, info), commasep(what, end), poplex);\n }\n function block(type) {\n if (type == \"}\") return cont();\n return pass(statement, block);\n }\n function maybetype(type, value) {\n if (isTS) {\n if (type == \":\") return cont(typeexpr);\n if (value == \"?\") return cont(maybetype);\n }\n }\n function maybetypeOrIn(type, value) {\n if (isTS && (type == \":\" || value == \"in\")) return cont(typeexpr)\n }\n function mayberettype(type) {\n if (isTS && type == \":\") {\n if (cx.stream.match(/^\\s*\\w+\\s+is\\b/, false)) return cont(expression, isKW, typeexpr)\n else return cont(typeexpr)\n }\n }\n function isKW(_, value) {\n if (value == \"is\") {\n cx.marked = \"keyword\"\n return cont()\n }\n }\n function typeexpr(type, value) {\n if (value == \"keyof\" || value == \"typeof\" || value == \"infer\" || value == \"readonly\") {\n cx.marked = \"keyword\"\n return cont(value == \"typeof\" ? expressionNoComma : typeexpr)\n }\n if (type == \"variable\" || value == \"void\") {\n cx.marked = \"type\"\n return cont(afterType)\n }\n if (value == \"|\" || value == \"&\") return cont(typeexpr)\n if (type == \"string\" || type == \"number\" || type == \"atom\") return cont(afterType);\n if (type == \"[\") return cont(pushlex(\"]\"), commasep(typeexpr, \"]\", \",\"), poplex, afterType)\n if (type == \"{\") return cont(pushlex(\"}\"), typeprops, poplex, afterType)\n if (type == \"(\") return cont(commasep(typearg, \")\"), maybeReturnType, afterType)\n if (type == \"<\") return cont(commasep(typeexpr, \">\"), typeexpr)\n if (type == \"quasi\") { return pass(quasiType, afterType); }\n }\n function maybeReturnType(type) {\n if (type == \"=>\") return cont(typeexpr)\n }\n function typeprops(type) {\n if (type.match(/[\\}\\)\\]]/)) return cont()\n if (type == \",\" || type == \";\") return cont(typeprops)\n return pass(typeprop, typeprops)\n }\n function typeprop(type, value) {\n if (type == \"variable\" || cx.style == \"keyword\") {\n cx.marked = \"property\"\n return cont(typeprop)\n } else if (value == \"?\" || type == \"number\" || type == \"string\") {\n return cont(typeprop)\n } else if (type == \":\") {\n return cont(typeexpr)\n } else if (type == \"[\") {\n return cont(expect(\"variable\"), maybetypeOrIn, expect(\"]\"), typeprop)\n } else if (type == \"(\") {\n return pass(functiondecl, typeprop)\n } else if (!type.match(/[;\\}\\)\\],]/)) {\n return cont()\n }\n }\n function quasiType(type, value) {\n if (type != \"quasi\") return pass();\n if (value.slice(value.length - 2) != \"${\") return cont(quasiType);\n return cont(typeexpr, continueQuasiType);\n }\n function continueQuasiType(type) {\n if (type == \"}\") {\n cx.marked = \"string-2\";\n cx.state.tokenize = tokenQuasi;\n return cont(quasiType);\n }\n }\n function typearg(type, value) {\n if (type == \"variable\" && cx.stream.match(/^\\s*[?:]/, false) || value == \"?\") return cont(typearg)\n if (type == \":\") return cont(typeexpr)\n if (type == \"spread\") return cont(typearg)\n return pass(typeexpr)\n }\n function afterType(type, value) {\n if (value == \"<\") return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, afterType)\n if (value == \"|\" || type == \".\" || value == \"&\") return cont(typeexpr)\n if (type == \"[\") return cont(typeexpr, expect(\"]\"), afterType)\n if (value == \"extends\" || value == \"implements\") { cx.marked = \"keyword\"; return cont(typeexpr) }\n if (value == \"?\") return cont(typeexpr, expect(\":\"), typeexpr)\n }\n function maybeTypeArgs(_, value) {\n if (value == \"<\") return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, afterType)\n }\n function typeparam() {\n return pass(typeexpr, maybeTypeDefault)\n }\n function maybeTypeDefault(_, value) {\n if (value == \"=\") return cont(typeexpr)\n }\n function vardef(_, value) {\n if (value == \"enum\") {cx.marked = \"keyword\"; return cont(enumdef)}\n return pass(pattern, maybetype, maybeAssign, vardefCont);\n }\n function pattern(type, value) {\n if (isTS && isModifier(value)) { cx.marked = \"keyword\"; return cont(pattern) }\n if (type == \"variable\") { register(value); return cont(); }\n if (type == \"spread\") return cont(pattern);\n if (type == \"[\") return contCommasep(eltpattern, \"]\");\n if (type == \"{\") return contCommasep(proppattern, \"}\");\n }\n function proppattern(type, value) {\n if (type == \"variable\" && !cx.stream.match(/^\\s*:/, false)) {\n register(value);\n return cont(maybeAssign);\n }\n if (type == \"variable\") cx.marked = \"property\";\n if (type == \"spread\") return cont(pattern);\n if (type == \"}\") return pass();\n if (type == \"[\") return cont(expression, expect(']'), expect(':'), proppattern);\n return cont(expect(\":\"), pattern, maybeAssign);\n }\n function eltpattern() {\n return pass(pattern, maybeAssign)\n }\n function maybeAssign(_type, value) {\n if (value == \"=\") return cont(expressionNoComma);\n }\n function vardefCont(type) {\n if (type == \",\") return cont(vardef);\n }\n function maybeelse(type, value) {\n if (type == \"keyword b\" && value == \"else\") return cont(pushlex(\"form\", \"else\"), statement, poplex);\n }\n function forspec(type, value) {\n if (value == \"await\") return cont(forspec);\n if (type == \"(\") return cont(pushlex(\")\"), forspec1, poplex);\n }\n function forspec1(type) {\n if (type == \"var\") return cont(vardef, forspec2);\n if (type == \"variable\") return cont(forspec2);\n return pass(forspec2)\n }\n function forspec2(type, value) {\n if (type == \")\") return cont()\n if (type == \";\") return cont(forspec2)\n if (value == \"in\" || value == \"of\") { cx.marked = \"keyword\"; return cont(expression, forspec2) }\n return pass(expression, forspec2)\n }\n function functiondef(type, value) {\n if (value == \"*\") {cx.marked = \"keyword\"; return cont(functiondef);}\n if (type == \"variable\") {register(value); return cont(functiondef);}\n if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, mayberettype, statement, popcontext);\n if (isTS && value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, functiondef)\n }\n function functiondecl(type, value) {\n if (value == \"*\") {cx.marked = \"keyword\"; return cont(functiondecl);}\n if (type == \"variable\") {register(value); return cont(functiondecl);}\n if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, mayberettype, popcontext);\n if (isTS && value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, functiondecl)\n }\n function typename(type, value) {\n if (type == \"keyword\" || type == \"variable\") {\n cx.marked = \"type\"\n return cont(typename)\n } else if (value == \"<\") {\n return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex)\n }\n }\n function funarg(type, value) {\n if (value == \"@\") cont(expression, funarg)\n if (type == \"spread\") return cont(funarg);\n if (isTS && isModifier(value)) { cx.marked = \"keyword\"; return cont(funarg); }\n if (isTS && type == \"this\") return cont(maybetype, maybeAssign)\n return pass(pattern, maybetype, maybeAssign);\n }\n function classExpression(type, value) {\n // Class expressions may have an optional name.\n if (type == \"variable\") return className(type, value);\n return classNameAfter(type, value);\n }\n function className(type, value) {\n if (type == \"variable\") {register(value); return cont(classNameAfter);}\n }\n function classNameAfter(type, value) {\n if (value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, classNameAfter)\n if (value == \"extends\" || value == \"implements\" || (isTS && type == \",\")) {\n if (value == \"implements\") cx.marked = \"keyword\";\n return cont(isTS ? typeexpr : expression, classNameAfter);\n }\n if (type == \"{\") return cont(pushlex(\"}\"), classBody, poplex);\n }\n function classBody(type, value) {\n if (type == \"async\" ||\n (type == \"variable\" &&\n (value == \"static\" || value == \"get\" || value == \"set\" || (isTS && isModifier(value))) &&\n cx.stream.match(/^\\s+#?[\\w$\\xa1-\\uffff]/, false))) {\n cx.marked = \"keyword\";\n return cont(classBody);\n }\n if (type == \"variable\" || cx.style == \"keyword\") {\n cx.marked = \"property\";\n return cont(classfield, classBody);\n }\n if (type == \"number\" || type == \"string\") return cont(classfield, classBody);\n if (type == \"[\")\n return cont(expression, maybetype, expect(\"]\"), classfield, classBody)\n if (value == \"*\") {\n cx.marked = \"keyword\";\n return cont(classBody);\n }\n if (isTS && type == \"(\") return pass(functiondecl, classBody)\n if (type == \";\" || type == \",\") return cont(classBody);\n if (type == \"}\") return cont();\n if (value == \"@\") return cont(expression, classBody)\n }\n function classfield(type, value) {\n if (value == \"!\") return cont(classfield)\n if (value == \"?\") return cont(classfield)\n if (type == \":\") return cont(typeexpr, maybeAssign)\n if (value == \"=\") return cont(expressionNoComma)\n var context = cx.state.lexical.prev, isInterface = context && context.info == \"interface\"\n return pass(isInterface ? functiondecl : functiondef)\n }\n function afterExport(type, value) {\n if (value == \"*\") { cx.marked = \"keyword\"; return cont(maybeFrom, expect(\";\")); }\n if (value == \"default\") { cx.marked = \"keyword\"; return cont(expression, expect(\";\")); }\n if (type == \"{\") return cont(commasep(exportField, \"}\"), maybeFrom, expect(\";\"));\n return pass(statement);\n }\n function exportField(type, value) {\n if (value == \"as\") { cx.marked = \"keyword\"; return cont(expect(\"variable\")); }\n if (type == \"variable\") return pass(expressionNoComma, exportField);\n }\n function afterImport(type) {\n if (type == \"string\") return cont();\n if (type == \"(\") return pass(expression);\n if (type == \".\") return pass(maybeoperatorComma);\n return pass(importSpec, maybeMoreImports, maybeFrom);\n }\n function importSpec(type, value) {\n if (type == \"{\") return contCommasep(importSpec, \"}\");\n if (type == \"variable\") register(value);\n if (value == \"*\") cx.marked = \"keyword\";\n return cont(maybeAs);\n }\n function maybeMoreImports(type) {\n if (type == \",\") return cont(importSpec, maybeMoreImports)\n }\n function maybeAs(_type, value) {\n if (value == \"as\") { cx.marked = \"keyword\"; return cont(importSpec); }\n }\n function maybeFrom(_type, value) {\n if (value == \"from\") { cx.marked = \"keyword\"; return cont(expression); }\n }\n function arrayLiteral(type) {\n if (type == \"]\") return cont();\n return pass(commasep(expressionNoComma, \"]\"));\n }\n function enumdef() {\n return pass(pushlex(\"form\"), pattern, expect(\"{\"), pushlex(\"}\"), commasep(enummember, \"}\"), poplex, poplex)\n }\n function enummember() {\n return pass(pattern, maybeAssign);\n }\n\n function isContinuedStatement(state, textAfter) {\n return state.lastType == \"operator\" || state.lastType == \",\" ||\n isOperatorChar.test(textAfter.charAt(0)) ||\n /[,.]/.test(textAfter.charAt(0));\n }\n\n function expressionAllowed(stream, state, backUp) {\n return state.tokenize == tokenBase &&\n /^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\\[{}\\(,;:]|=>)$/.test(state.lastType) ||\n (state.lastType == \"quasi\" && /\\{\\s*$/.test(stream.string.slice(0, stream.pos - (backUp || 0))))\n }\n\n // Interface\n\n return {\n startState: function(basecolumn) {\n var state = {\n tokenize: tokenBase,\n lastType: \"sof\",\n cc: [],\n lexical: new JSLexical((basecolumn || 0) - indentUnit, 0, \"block\", false),\n localVars: parserConfig.localVars,\n context: parserConfig.localVars && new Context(null, null, false),\n indented: basecolumn || 0\n };\n if (parserConfig.globalVars && typeof parserConfig.globalVars == \"object\")\n state.globalVars = parserConfig.globalVars;\n return state;\n },\n\n token: function(stream, state) {\n if (stream.sol()) {\n if (!state.lexical.hasOwnProperty(\"align\"))\n state.lexical.align = false;\n state.indented = stream.indentation();\n findFatArrow(stream, state);\n }\n if (state.tokenize != tokenComment && stream.eatSpace()) return null;\n var style = state.tokenize(stream, state);\n if (type == \"comment\") return style;\n state.lastType = type == \"operator\" && (content == \"++\" || content == \"--\") ? \"incdec\" : type;\n return parseJS(state, style, type, content, stream);\n },\n\n indent: function(state, textAfter) {\n if (state.tokenize == tokenComment || state.tokenize == tokenQuasi) return CodeMirror.Pass;\n if (state.tokenize != tokenBase) return 0;\n var firstChar = textAfter && textAfter.charAt(0), lexical = state.lexical, top\n // Kludge to prevent 'maybelse' from blocking lexical scope pops\n if (!/^\\s*else\\b/.test(textAfter)) for (var i = state.cc.length - 1; i >= 0; --i) {\n var c = state.cc[i];\n if (c == poplex) lexical = lexical.prev;\n else if (c != maybeelse && c != popcontext) break;\n }\n while ((lexical.type == \"stat\" || lexical.type == \"form\") &&\n (firstChar == \"}\" || ((top = state.cc[state.cc.length - 1]) &&\n (top == maybeoperatorComma || top == maybeoperatorNoComma) &&\n !/^[,\\.=+\\-*:?[\\(]/.test(textAfter))))\n lexical = lexical.prev;\n if (statementIndent && lexical.type == \")\" && lexical.prev.type == \"stat\")\n lexical = lexical.prev;\n var type = lexical.type, closing = firstChar == type;\n\n if (type == \"vardef\") return lexical.indented + (state.lastType == \"operator\" || state.lastType == \",\" ? lexical.info.length + 1 : 0);\n else if (type == \"form\" && firstChar == \"{\") return lexical.indented;\n else if (type == \"form\") return lexical.indented + indentUnit;\n else if (type == \"stat\")\n return lexical.indented + (isContinuedStatement(state, textAfter) ? statementIndent || indentUnit : 0);\n else if (lexical.info == \"switch\" && !closing && parserConfig.doubleIndentSwitch != false)\n return lexical.indented + (/^(?:case|default)\\b/.test(textAfter) ? indentUnit : 2 * indentUnit);\n else if (lexical.align) return lexical.column + (closing ? 0 : 1);\n else return lexical.indented + (closing ? 0 : indentUnit);\n },\n\n electricInput: /^\\s*(?:case .*?:|default:|\\{|\\})$/,\n blockCommentStart: jsonMode ? null : \"/*\",\n blockCommentEnd: jsonMode ? null : \"*/\",\n blockCommentContinue: jsonMode ? null : \" * \",\n lineComment: jsonMode ? null : \"//\",\n fold: \"brace\",\n closeBrackets: \"()[]{}''\\\"\\\"``\",\n\n helperType: jsonMode ? \"json\" : \"javascript\",\n jsonldMode: jsonldMode,\n jsonMode: jsonMode,\n\n expressionAllowed: expressionAllowed,\n\n skipExpression: function(state) {\n parseJS(state, \"atom\", \"atom\", \"true\", new CodeMirror.StringStream(\"\", 2, null))\n }\n };\n});\n\nCodeMirror.registerHelper(\"wordChars\", \"javascript\", /[\\w$]/);\n\nCodeMirror.defineMIME(\"text/javascript\", \"javascript\");\nCodeMirror.defineMIME(\"text/ecmascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/javascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/x-javascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/ecmascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/json\", { name: \"javascript\", json: true });\nCodeMirror.defineMIME(\"application/x-json\", { name: \"javascript\", json: true });\nCodeMirror.defineMIME(\"application/manifest+json\", { name: \"javascript\", json: true })\nCodeMirror.defineMIME(\"application/ld+json\", { name: \"javascript\", jsonld: true });\nCodeMirror.defineMIME(\"text/typescript\", { name: \"javascript\", typescript: true });\nCodeMirror.defineMIME(\"application/typescript\", { name: \"javascript\", typescript: true });\n\n});\n"],"names":["mod","require$$0","CodeMirror","config","parserConfig","indentUnit","statementIndent","jsonldMode","jsonMode","trackScope","isTS","wordRE","keywords","kw","type","A","B","C","D","operator","atom","isOperatorChar","isJsonldKeyword","readRegexp","stream","escaped","next","inSet","content","ret","tp","style","cont","tokenBase","state","ch","tokenString","tokenComment","expressionAllowed","tokenQuasi","word","quote","maybeEnd","brackets","findFatArrow","arrow","m","depth","sawSomething","pos","bracket","atomicTypes","JSLexical","indented","column","align","prev","info","inScope","varname","v","cx","parseJS","cc","combinator","expression","statement","pass","i","inList","name","list","register","newContext","registerVarScoped","Var","context","inner","Context","isModifier","vars","block","defaultVars","pushcontext","pushblockcontext","popcontext","pushlex","result","indent","outer","poplex","expect","wanted","exp","value","vardef","parenExpr","maybeexpression","maybeelse","functiondef","forspec","className","enumdef","typename","typeexpr","pattern","maybelabel","maybeCatchBinding","afterExport","afterImport","funarg","expressionInner","expressionNoComma","noComma","body","arrowBodyNoComma","arrowBody","commasep","maybeop","maybeoperatorNoComma","maybeoperatorComma","classExpression","arrayLiteral","contCommasep","objprop","quasi","maybeTarget","me","expr","property","continueQuasi","targetNoComma","target","maybeTypeArgs","_","getterSetter","afterprop","maybetype","what","end","sep","proceed","lex","maybetypeOrIn","mayberettype","isKW","afterType","typeprops","typearg","maybeReturnType","quasiType","typeprop","functiondecl","continueQuasiType","typeparam","maybeTypeDefault","maybeAssign","vardefCont","eltpattern","proppattern","_type","forspec1","forspec2","classNameAfter","classBody","classfield","isInterface","maybeFrom","exportField","importSpec","maybeMoreImports","maybeAs","enummember","isContinuedStatement","textAfter","backUp","basecolumn","firstChar","lexical","top","c","closing"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"javascript-C1fmnkCb.js","sources":["../../../../../node_modules/codemirror/mode/javascript/javascript.js"],"sourcesContent":["// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/5/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"javascript\", function(config, parserConfig) {\n var indentUnit = config.indentUnit;\n var statementIndent = parserConfig.statementIndent;\n var jsonldMode = parserConfig.jsonld;\n var jsonMode = parserConfig.json || jsonldMode;\n var trackScope = parserConfig.trackScope !== false\n var isTS = parserConfig.typescript;\n var wordRE = parserConfig.wordCharacters || /[\\w$\\xa1-\\uffff]/;\n\n // Tokenizer\n\n var keywords = function(){\n function kw(type) {return {type: type, style: \"keyword\"};}\n var A = kw(\"keyword a\"), B = kw(\"keyword b\"), C = kw(\"keyword c\"), D = kw(\"keyword d\");\n var operator = kw(\"operator\"), atom = {type: \"atom\", style: \"atom\"};\n\n return {\n \"if\": kw(\"if\"), \"while\": A, \"with\": A, \"else\": B, \"do\": B, \"try\": B, \"finally\": B,\n \"return\": D, \"break\": D, \"continue\": D, \"new\": kw(\"new\"), \"delete\": C, \"void\": C, \"throw\": C,\n \"debugger\": kw(\"debugger\"), \"var\": kw(\"var\"), \"const\": kw(\"var\"), \"let\": kw(\"var\"),\n \"function\": kw(\"function\"), \"catch\": kw(\"catch\"),\n \"for\": kw(\"for\"), \"switch\": kw(\"switch\"), \"case\": kw(\"case\"), \"default\": kw(\"default\"),\n \"in\": operator, \"typeof\": operator, \"instanceof\": operator,\n \"true\": atom, \"false\": atom, \"null\": atom, \"undefined\": atom, \"NaN\": atom, \"Infinity\": atom,\n \"this\": kw(\"this\"), \"class\": kw(\"class\"), \"super\": kw(\"atom\"),\n \"yield\": C, \"export\": kw(\"export\"), \"import\": kw(\"import\"), \"extends\": C,\n \"await\": C\n };\n }();\n\n var isOperatorChar = /[+\\-*&%=<>!?|~^@]/;\n var isJsonldKeyword = /^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)\"/;\n\n function readRegexp(stream) {\n var escaped = false, next, inSet = false;\n while ((next = stream.next()) != null) {\n if (!escaped) {\n if (next == \"/\" && !inSet) return;\n if (next == \"[\") inSet = true;\n else if (inSet && next == \"]\") inSet = false;\n }\n escaped = !escaped && next == \"\\\\\";\n }\n }\n\n // Used as scratch variables to communicate multiple values without\n // consing up tons of objects.\n var type, content;\n function ret(tp, style, cont) {\n type = tp; content = cont;\n return style;\n }\n function tokenBase(stream, state) {\n var ch = stream.next();\n if (ch == '\"' || ch == \"'\") {\n state.tokenize = tokenString(ch);\n return state.tokenize(stream, state);\n } else if (ch == \".\" && stream.match(/^\\d[\\d_]*(?:[eE][+\\-]?[\\d_]+)?/)) {\n return ret(\"number\", \"number\");\n } else if (ch == \".\" && stream.match(\"..\")) {\n return ret(\"spread\", \"meta\");\n } else if (/[\\[\\]{}\\(\\),;\\:\\.]/.test(ch)) {\n return ret(ch);\n } else if (ch == \"=\" && stream.eat(\">\")) {\n return ret(\"=>\", \"operator\");\n } else if (ch == \"0\" && stream.match(/^(?:x[\\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/)) {\n return ret(\"number\", \"number\");\n } else if (/\\d/.test(ch)) {\n stream.match(/^[\\d_]*(?:n|(?:\\.[\\d_]*)?(?:[eE][+\\-]?[\\d_]+)?)?/);\n return ret(\"number\", \"number\");\n } else if (ch == \"/\") {\n if (stream.eat(\"*\")) {\n state.tokenize = tokenComment;\n return tokenComment(stream, state);\n } else if (stream.eat(\"/\")) {\n stream.skipToEnd();\n return ret(\"comment\", \"comment\");\n } else if (expressionAllowed(stream, state, 1)) {\n readRegexp(stream);\n stream.match(/^\\b(([gimyus])(?![gimyus]*\\2))+\\b/);\n return ret(\"regexp\", \"string-2\");\n } else {\n stream.eat(\"=\");\n return ret(\"operator\", \"operator\", stream.current());\n }\n } else if (ch == \"`\") {\n state.tokenize = tokenQuasi;\n return tokenQuasi(stream, state);\n } else if (ch == \"#\" && stream.peek() == \"!\") {\n stream.skipToEnd();\n return ret(\"meta\", \"meta\");\n } else if (ch == \"#\" && stream.eatWhile(wordRE)) {\n return ret(\"variable\", \"property\")\n } else if (ch == \"<\" && stream.match(\"!--\") ||\n (ch == \"-\" && stream.match(\"->\") && !/\\S/.test(stream.string.slice(0, stream.start)))) {\n stream.skipToEnd()\n return ret(\"comment\", \"comment\")\n } else if (isOperatorChar.test(ch)) {\n if (ch != \">\" || !state.lexical || state.lexical.type != \">\") {\n if (stream.eat(\"=\")) {\n if (ch == \"!\" || ch == \"=\") stream.eat(\"=\")\n } else if (/[<>*+\\-|&?]/.test(ch)) {\n stream.eat(ch)\n if (ch == \">\") stream.eat(ch)\n }\n }\n if (ch == \"?\" && stream.eat(\".\")) return ret(\".\")\n return ret(\"operator\", \"operator\", stream.current());\n } else if (wordRE.test(ch)) {\n stream.eatWhile(wordRE);\n var word = stream.current()\n if (state.lastType != \".\") {\n if (keywords.propertyIsEnumerable(word)) {\n var kw = keywords[word]\n return ret(kw.type, kw.style, word)\n }\n if (word == \"async\" && stream.match(/^(\\s|\\/\\*([^*]|\\*(?!\\/))*?\\*\\/)*[\\[\\(\\w]/, false))\n return ret(\"async\", \"keyword\", word)\n }\n return ret(\"variable\", \"variable\", word)\n }\n }\n\n function tokenString(quote) {\n return function(stream, state) {\n var escaped = false, next;\n if (jsonldMode && stream.peek() == \"@\" && stream.match(isJsonldKeyword)){\n state.tokenize = tokenBase;\n return ret(\"jsonld-keyword\", \"meta\");\n }\n while ((next = stream.next()) != null) {\n if (next == quote && !escaped) break;\n escaped = !escaped && next == \"\\\\\";\n }\n if (!escaped) state.tokenize = tokenBase;\n return ret(\"string\", \"string\");\n };\n }\n\n function tokenComment(stream, state) {\n var maybeEnd = false, ch;\n while (ch = stream.next()) {\n if (ch == \"/\" && maybeEnd) {\n state.tokenize = tokenBase;\n break;\n }\n maybeEnd = (ch == \"*\");\n }\n return ret(\"comment\", \"comment\");\n }\n\n function tokenQuasi(stream, state) {\n var escaped = false, next;\n while ((next = stream.next()) != null) {\n if (!escaped && (next == \"`\" || next == \"$\" && stream.eat(\"{\"))) {\n state.tokenize = tokenBase;\n break;\n }\n escaped = !escaped && next == \"\\\\\";\n }\n return ret(\"quasi\", \"string-2\", stream.current());\n }\n\n var brackets = \"([{}])\";\n // This is a crude lookahead trick to try and notice that we're\n // parsing the argument patterns for a fat-arrow function before we\n // actually hit the arrow token. It only works if the arrow is on\n // the same line as the arguments and there's no strange noise\n // (comments) in between. Fallback is to only notice when we hit the\n // arrow, and not declare the arguments as locals for the arrow\n // body.\n function findFatArrow(stream, state) {\n if (state.fatArrowAt) state.fatArrowAt = null;\n var arrow = stream.string.indexOf(\"=>\", stream.start);\n if (arrow < 0) return;\n\n if (isTS) { // Try to skip TypeScript return type declarations after the arguments\n var m = /:\\s*(?:\\w+(?:<[^>]*>|\\[\\])?|\\{[^}]*\\})\\s*$/.exec(stream.string.slice(stream.start, arrow))\n if (m) arrow = m.index\n }\n\n var depth = 0, sawSomething = false;\n for (var pos = arrow - 1; pos >= 0; --pos) {\n var ch = stream.string.charAt(pos);\n var bracket = brackets.indexOf(ch);\n if (bracket >= 0 && bracket < 3) {\n if (!depth) { ++pos; break; }\n if (--depth == 0) { if (ch == \"(\") sawSomething = true; break; }\n } else if (bracket >= 3 && bracket < 6) {\n ++depth;\n } else if (wordRE.test(ch)) {\n sawSomething = true;\n } else if (/[\"'\\/`]/.test(ch)) {\n for (;; --pos) {\n if (pos == 0) return\n var next = stream.string.charAt(pos - 1)\n if (next == ch && stream.string.charAt(pos - 2) != \"\\\\\") { pos--; break }\n }\n } else if (sawSomething && !depth) {\n ++pos;\n break;\n }\n }\n if (sawSomething && !depth) state.fatArrowAt = pos;\n }\n\n // Parser\n\n var atomicTypes = {\"atom\": true, \"number\": true, \"variable\": true, \"string\": true,\n \"regexp\": true, \"this\": true, \"import\": true, \"jsonld-keyword\": true};\n\n function JSLexical(indented, column, type, align, prev, info) {\n this.indented = indented;\n this.column = column;\n this.type = type;\n this.prev = prev;\n this.info = info;\n if (align != null) this.align = align;\n }\n\n function inScope(state, varname) {\n if (!trackScope) return false\n for (var v = state.localVars; v; v = v.next)\n if (v.name == varname) return true;\n for (var cx = state.context; cx; cx = cx.prev) {\n for (var v = cx.vars; v; v = v.next)\n if (v.name == varname) return true;\n }\n }\n\n function parseJS(state, style, type, content, stream) {\n var cc = state.cc;\n // Communicate our context to the combinators.\n // (Less wasteful than consing up a hundred closures on every call.)\n cx.state = state; cx.stream = stream; cx.marked = null, cx.cc = cc; cx.style = style;\n\n if (!state.lexical.hasOwnProperty(\"align\"))\n state.lexical.align = true;\n\n while(true) {\n var combinator = cc.length ? cc.pop() : jsonMode ? expression : statement;\n if (combinator(type, content)) {\n while(cc.length && cc[cc.length - 1].lex)\n cc.pop()();\n if (cx.marked) return cx.marked;\n if (type == \"variable\" && inScope(state, content)) return \"variable-2\";\n return style;\n }\n }\n }\n\n // Combinator utils\n\n var cx = {state: null, column: null, marked: null, cc: null};\n function pass() {\n for (var i = arguments.length - 1; i >= 0; i--) cx.cc.push(arguments[i]);\n }\n function cont() {\n pass.apply(null, arguments);\n return true;\n }\n function inList(name, list) {\n for (var v = list; v; v = v.next) if (v.name == name) return true\n return false;\n }\n function register(varname) {\n var state = cx.state;\n cx.marked = \"def\";\n if (!trackScope) return\n if (state.context) {\n if (state.lexical.info == \"var\" && state.context && state.context.block) {\n // FIXME function decls are also not block scoped\n var newContext = registerVarScoped(varname, state.context)\n if (newContext != null) {\n state.context = newContext\n return\n }\n } else if (!inList(varname, state.localVars)) {\n state.localVars = new Var(varname, state.localVars)\n return\n }\n }\n // Fall through means this is global\n if (parserConfig.globalVars && !inList(varname, state.globalVars))\n state.globalVars = new Var(varname, state.globalVars)\n }\n function registerVarScoped(varname, context) {\n if (!context) {\n return null\n } else if (context.block) {\n var inner = registerVarScoped(varname, context.prev)\n if (!inner) return null\n if (inner == context.prev) return context\n return new Context(inner, context.vars, true)\n } else if (inList(varname, context.vars)) {\n return context\n } else {\n return new Context(context.prev, new Var(varname, context.vars), false)\n }\n }\n\n function isModifier(name) {\n return name == \"public\" || name == \"private\" || name == \"protected\" || name == \"abstract\" || name == \"readonly\"\n }\n\n // Combinators\n\n function Context(prev, vars, block) { this.prev = prev; this.vars = vars; this.block = block }\n function Var(name, next) { this.name = name; this.next = next }\n\n var defaultVars = new Var(\"this\", new Var(\"arguments\", null))\n function pushcontext() {\n cx.state.context = new Context(cx.state.context, cx.state.localVars, false)\n cx.state.localVars = defaultVars\n }\n function pushblockcontext() {\n cx.state.context = new Context(cx.state.context, cx.state.localVars, true)\n cx.state.localVars = null\n }\n pushcontext.lex = pushblockcontext.lex = true\n function popcontext() {\n cx.state.localVars = cx.state.context.vars\n cx.state.context = cx.state.context.prev\n }\n popcontext.lex = true\n function pushlex(type, info) {\n var result = function() {\n var state = cx.state, indent = state.indented;\n if (state.lexical.type == \"stat\") indent = state.lexical.indented;\n else for (var outer = state.lexical; outer && outer.type == \")\" && outer.align; outer = outer.prev)\n indent = outer.indented;\n state.lexical = new JSLexical(indent, cx.stream.column(), type, null, state.lexical, info);\n };\n result.lex = true;\n return result;\n }\n function poplex() {\n var state = cx.state;\n if (state.lexical.prev) {\n if (state.lexical.type == \")\")\n state.indented = state.lexical.indented;\n state.lexical = state.lexical.prev;\n }\n }\n poplex.lex = true;\n\n function expect(wanted) {\n function exp(type) {\n if (type == wanted) return cont();\n else if (wanted == \";\" || type == \"}\" || type == \")\" || type == \"]\") return pass();\n else return cont(exp);\n };\n return exp;\n }\n\n function statement(type, value) {\n if (type == \"var\") return cont(pushlex(\"vardef\", value), vardef, expect(\";\"), poplex);\n if (type == \"keyword a\") return cont(pushlex(\"form\"), parenExpr, statement, poplex);\n if (type == \"keyword b\") return cont(pushlex(\"form\"), statement, poplex);\n if (type == \"keyword d\") return cx.stream.match(/^\\s*$/, false) ? cont() : cont(pushlex(\"stat\"), maybeexpression, expect(\";\"), poplex);\n if (type == \"debugger\") return cont(expect(\";\"));\n if (type == \"{\") return cont(pushlex(\"}\"), pushblockcontext, block, poplex, popcontext);\n if (type == \";\") return cont();\n if (type == \"if\") {\n if (cx.state.lexical.info == \"else\" && cx.state.cc[cx.state.cc.length - 1] == poplex)\n cx.state.cc.pop()();\n return cont(pushlex(\"form\"), parenExpr, statement, poplex, maybeelse);\n }\n if (type == \"function\") return cont(functiondef);\n if (type == \"for\") return cont(pushlex(\"form\"), pushblockcontext, forspec, statement, popcontext, poplex);\n if (type == \"class\" || (isTS && value == \"interface\")) {\n cx.marked = \"keyword\"\n return cont(pushlex(\"form\", type == \"class\" ? type : value), className, poplex)\n }\n if (type == \"variable\") {\n if (isTS && value == \"declare\") {\n cx.marked = \"keyword\"\n return cont(statement)\n } else if (isTS && (value == \"module\" || value == \"enum\" || value == \"type\") && cx.stream.match(/^\\s*\\w/, false)) {\n cx.marked = \"keyword\"\n if (value == \"enum\") return cont(enumdef);\n else if (value == \"type\") return cont(typename, expect(\"operator\"), typeexpr, expect(\";\"));\n else return cont(pushlex(\"form\"), pattern, expect(\"{\"), pushlex(\"}\"), block, poplex, poplex)\n } else if (isTS && value == \"namespace\") {\n cx.marked = \"keyword\"\n return cont(pushlex(\"form\"), expression, statement, poplex)\n } else if (isTS && value == \"abstract\") {\n cx.marked = \"keyword\"\n return cont(statement)\n } else {\n return cont(pushlex(\"stat\"), maybelabel);\n }\n }\n if (type == \"switch\") return cont(pushlex(\"form\"), parenExpr, expect(\"{\"), pushlex(\"}\", \"switch\"), pushblockcontext,\n block, poplex, poplex, popcontext);\n if (type == \"case\") return cont(expression, expect(\":\"));\n if (type == \"default\") return cont(expect(\":\"));\n if (type == \"catch\") return cont(pushlex(\"form\"), pushcontext, maybeCatchBinding, statement, poplex, popcontext);\n if (type == \"export\") return cont(pushlex(\"stat\"), afterExport, poplex);\n if (type == \"import\") return cont(pushlex(\"stat\"), afterImport, poplex);\n if (type == \"async\") return cont(statement)\n if (value == \"@\") return cont(expression, statement)\n return pass(pushlex(\"stat\"), expression, expect(\";\"), poplex);\n }\n function maybeCatchBinding(type) {\n if (type == \"(\") return cont(funarg, expect(\")\"))\n }\n function expression(type, value) {\n return expressionInner(type, value, false);\n }\n function expressionNoComma(type, value) {\n return expressionInner(type, value, true);\n }\n function parenExpr(type) {\n if (type != \"(\") return pass()\n return cont(pushlex(\")\"), maybeexpression, expect(\")\"), poplex)\n }\n function expressionInner(type, value, noComma) {\n if (cx.state.fatArrowAt == cx.stream.start) {\n var body = noComma ? arrowBodyNoComma : arrowBody;\n if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, expect(\"=>\"), body, popcontext);\n else if (type == \"variable\") return pass(pushcontext, pattern, expect(\"=>\"), body, popcontext);\n }\n\n var maybeop = noComma ? maybeoperatorNoComma : maybeoperatorComma;\n if (atomicTypes.hasOwnProperty(type)) return cont(maybeop);\n if (type == \"function\") return cont(functiondef, maybeop);\n if (type == \"class\" || (isTS && value == \"interface\")) { cx.marked = \"keyword\"; return cont(pushlex(\"form\"), classExpression, poplex); }\n if (type == \"keyword c\" || type == \"async\") return cont(noComma ? expressionNoComma : expression);\n if (type == \"(\") return cont(pushlex(\")\"), maybeexpression, expect(\")\"), poplex, maybeop);\n if (type == \"operator\" || type == \"spread\") return cont(noComma ? expressionNoComma : expression);\n if (type == \"[\") return cont(pushlex(\"]\"), arrayLiteral, poplex, maybeop);\n if (type == \"{\") return contCommasep(objprop, \"}\", null, maybeop);\n if (type == \"quasi\") return pass(quasi, maybeop);\n if (type == \"new\") return cont(maybeTarget(noComma));\n return cont();\n }\n function maybeexpression(type) {\n if (type.match(/[;\\}\\)\\],]/)) return pass();\n return pass(expression);\n }\n\n function maybeoperatorComma(type, value) {\n if (type == \",\") return cont(maybeexpression);\n return maybeoperatorNoComma(type, value, false);\n }\n function maybeoperatorNoComma(type, value, noComma) {\n var me = noComma == false ? maybeoperatorComma : maybeoperatorNoComma;\n var expr = noComma == false ? expression : expressionNoComma;\n if (type == \"=>\") return cont(pushcontext, noComma ? arrowBodyNoComma : arrowBody, popcontext);\n if (type == \"operator\") {\n if (/\\+\\+|--/.test(value) || isTS && value == \"!\") return cont(me);\n if (isTS && value == \"<\" && cx.stream.match(/^([^<>]|<[^<>]*>)*>\\s*\\(/, false))\n return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, me);\n if (value == \"?\") return cont(expression, expect(\":\"), expr);\n return cont(expr);\n }\n if (type == \"quasi\") { return pass(quasi, me); }\n if (type == \";\") return;\n if (type == \"(\") return contCommasep(expressionNoComma, \")\", \"call\", me);\n if (type == \".\") return cont(property, me);\n if (type == \"[\") return cont(pushlex(\"]\"), maybeexpression, expect(\"]\"), poplex, me);\n if (isTS && value == \"as\") { cx.marked = \"keyword\"; return cont(typeexpr, me) }\n if (type == \"regexp\") {\n cx.state.lastType = cx.marked = \"operator\"\n cx.stream.backUp(cx.stream.pos - cx.stream.start - 1)\n return cont(expr)\n }\n }\n function quasi(type, value) {\n if (type != \"quasi\") return pass();\n if (value.slice(value.length - 2) != \"${\") return cont(quasi);\n return cont(maybeexpression, continueQuasi);\n }\n function continueQuasi(type) {\n if (type == \"}\") {\n cx.marked = \"string-2\";\n cx.state.tokenize = tokenQuasi;\n return cont(quasi);\n }\n }\n function arrowBody(type) {\n findFatArrow(cx.stream, cx.state);\n return pass(type == \"{\" ? statement : expression);\n }\n function arrowBodyNoComma(type) {\n findFatArrow(cx.stream, cx.state);\n return pass(type == \"{\" ? statement : expressionNoComma);\n }\n function maybeTarget(noComma) {\n return function(type) {\n if (type == \".\") return cont(noComma ? targetNoComma : target);\n else if (type == \"variable\" && isTS) return cont(maybeTypeArgs, noComma ? maybeoperatorNoComma : maybeoperatorComma)\n else return pass(noComma ? expressionNoComma : expression);\n };\n }\n function target(_, value) {\n if (value == \"target\") { cx.marked = \"keyword\"; return cont(maybeoperatorComma); }\n }\n function targetNoComma(_, value) {\n if (value == \"target\") { cx.marked = \"keyword\"; return cont(maybeoperatorNoComma); }\n }\n function maybelabel(type) {\n if (type == \":\") return cont(poplex, statement);\n return pass(maybeoperatorComma, expect(\";\"), poplex);\n }\n function property(type) {\n if (type == \"variable\") {cx.marked = \"property\"; return cont();}\n }\n function objprop(type, value) {\n if (type == \"async\") {\n cx.marked = \"property\";\n return cont(objprop);\n } else if (type == \"variable\" || cx.style == \"keyword\") {\n cx.marked = \"property\";\n if (value == \"get\" || value == \"set\") return cont(getterSetter);\n var m // Work around fat-arrow-detection complication for detecting typescript typed arrow params\n if (isTS && cx.state.fatArrowAt == cx.stream.start && (m = cx.stream.match(/^\\s*:\\s*/, false)))\n cx.state.fatArrowAt = cx.stream.pos + m[0].length\n return cont(afterprop);\n } else if (type == \"number\" || type == \"string\") {\n cx.marked = jsonldMode ? \"property\" : (cx.style + \" property\");\n return cont(afterprop);\n } else if (type == \"jsonld-keyword\") {\n return cont(afterprop);\n } else if (isTS && isModifier(value)) {\n cx.marked = \"keyword\"\n return cont(objprop)\n } else if (type == \"[\") {\n return cont(expression, maybetype, expect(\"]\"), afterprop);\n } else if (type == \"spread\") {\n return cont(expressionNoComma, afterprop);\n } else if (value == \"*\") {\n cx.marked = \"keyword\";\n return cont(objprop);\n } else if (type == \":\") {\n return pass(afterprop)\n }\n }\n function getterSetter(type) {\n if (type != \"variable\") return pass(afterprop);\n cx.marked = \"property\";\n return cont(functiondef);\n }\n function afterprop(type) {\n if (type == \":\") return cont(expressionNoComma);\n if (type == \"(\") return pass(functiondef);\n }\n function commasep(what, end, sep) {\n function proceed(type, value) {\n if (sep ? sep.indexOf(type) > -1 : type == \",\") {\n var lex = cx.state.lexical;\n if (lex.info == \"call\") lex.pos = (lex.pos || 0) + 1;\n return cont(function(type, value) {\n if (type == end || value == end) return pass()\n return pass(what)\n }, proceed);\n }\n if (type == end || value == end) return cont();\n if (sep && sep.indexOf(\";\") > -1) return pass(what)\n return cont(expect(end));\n }\n return function(type, value) {\n if (type == end || value == end) return cont();\n return pass(what, proceed);\n };\n }\n function contCommasep(what, end, info) {\n for (var i = 3; i < arguments.length; i++)\n cx.cc.push(arguments[i]);\n return cont(pushlex(end, info), commasep(what, end), poplex);\n }\n function block(type) {\n if (type == \"}\") return cont();\n return pass(statement, block);\n }\n function maybetype(type, value) {\n if (isTS) {\n if (type == \":\") return cont(typeexpr);\n if (value == \"?\") return cont(maybetype);\n }\n }\n function maybetypeOrIn(type, value) {\n if (isTS && (type == \":\" || value == \"in\")) return cont(typeexpr)\n }\n function mayberettype(type) {\n if (isTS && type == \":\") {\n if (cx.stream.match(/^\\s*\\w+\\s+is\\b/, false)) return cont(expression, isKW, typeexpr)\n else return cont(typeexpr)\n }\n }\n function isKW(_, value) {\n if (value == \"is\") {\n cx.marked = \"keyword\"\n return cont()\n }\n }\n function typeexpr(type, value) {\n if (value == \"keyof\" || value == \"typeof\" || value == \"infer\" || value == \"readonly\") {\n cx.marked = \"keyword\"\n return cont(value == \"typeof\" ? expressionNoComma : typeexpr)\n }\n if (type == \"variable\" || value == \"void\") {\n cx.marked = \"type\"\n return cont(afterType)\n }\n if (value == \"|\" || value == \"&\") return cont(typeexpr)\n if (type == \"string\" || type == \"number\" || type == \"atom\") return cont(afterType);\n if (type == \"[\") return cont(pushlex(\"]\"), commasep(typeexpr, \"]\", \",\"), poplex, afterType)\n if (type == \"{\") return cont(pushlex(\"}\"), typeprops, poplex, afterType)\n if (type == \"(\") return cont(commasep(typearg, \")\"), maybeReturnType, afterType)\n if (type == \"<\") return cont(commasep(typeexpr, \">\"), typeexpr)\n if (type == \"quasi\") { return pass(quasiType, afterType); }\n }\n function maybeReturnType(type) {\n if (type == \"=>\") return cont(typeexpr)\n }\n function typeprops(type) {\n if (type.match(/[\\}\\)\\]]/)) return cont()\n if (type == \",\" || type == \";\") return cont(typeprops)\n return pass(typeprop, typeprops)\n }\n function typeprop(type, value) {\n if (type == \"variable\" || cx.style == \"keyword\") {\n cx.marked = \"property\"\n return cont(typeprop)\n } else if (value == \"?\" || type == \"number\" || type == \"string\") {\n return cont(typeprop)\n } else if (type == \":\") {\n return cont(typeexpr)\n } else if (type == \"[\") {\n return cont(expect(\"variable\"), maybetypeOrIn, expect(\"]\"), typeprop)\n } else if (type == \"(\") {\n return pass(functiondecl, typeprop)\n } else if (!type.match(/[;\\}\\)\\],]/)) {\n return cont()\n }\n }\n function quasiType(type, value) {\n if (type != \"quasi\") return pass();\n if (value.slice(value.length - 2) != \"${\") return cont(quasiType);\n return cont(typeexpr, continueQuasiType);\n }\n function continueQuasiType(type) {\n if (type == \"}\") {\n cx.marked = \"string-2\";\n cx.state.tokenize = tokenQuasi;\n return cont(quasiType);\n }\n }\n function typearg(type, value) {\n if (type == \"variable\" && cx.stream.match(/^\\s*[?:]/, false) || value == \"?\") return cont(typearg)\n if (type == \":\") return cont(typeexpr)\n if (type == \"spread\") return cont(typearg)\n return pass(typeexpr)\n }\n function afterType(type, value) {\n if (value == \"<\") return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, afterType)\n if (value == \"|\" || type == \".\" || value == \"&\") return cont(typeexpr)\n if (type == \"[\") return cont(typeexpr, expect(\"]\"), afterType)\n if (value == \"extends\" || value == \"implements\") { cx.marked = \"keyword\"; return cont(typeexpr) }\n if (value == \"?\") return cont(typeexpr, expect(\":\"), typeexpr)\n }\n function maybeTypeArgs(_, value) {\n if (value == \"<\") return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, afterType)\n }\n function typeparam() {\n return pass(typeexpr, maybeTypeDefault)\n }\n function maybeTypeDefault(_, value) {\n if (value == \"=\") return cont(typeexpr)\n }\n function vardef(_, value) {\n if (value == \"enum\") {cx.marked = \"keyword\"; return cont(enumdef)}\n return pass(pattern, maybetype, maybeAssign, vardefCont);\n }\n function pattern(type, value) {\n if (isTS && isModifier(value)) { cx.marked = \"keyword\"; return cont(pattern) }\n if (type == \"variable\") { register(value); return cont(); }\n if (type == \"spread\") return cont(pattern);\n if (type == \"[\") return contCommasep(eltpattern, \"]\");\n if (type == \"{\") return contCommasep(proppattern, \"}\");\n }\n function proppattern(type, value) {\n if (type == \"variable\" && !cx.stream.match(/^\\s*:/, false)) {\n register(value);\n return cont(maybeAssign);\n }\n if (type == \"variable\") cx.marked = \"property\";\n if (type == \"spread\") return cont(pattern);\n if (type == \"}\") return pass();\n if (type == \"[\") return cont(expression, expect(']'), expect(':'), proppattern);\n return cont(expect(\":\"), pattern, maybeAssign);\n }\n function eltpattern() {\n return pass(pattern, maybeAssign)\n }\n function maybeAssign(_type, value) {\n if (value == \"=\") return cont(expressionNoComma);\n }\n function vardefCont(type) {\n if (type == \",\") return cont(vardef);\n }\n function maybeelse(type, value) {\n if (type == \"keyword b\" && value == \"else\") return cont(pushlex(\"form\", \"else\"), statement, poplex);\n }\n function forspec(type, value) {\n if (value == \"await\") return cont(forspec);\n if (type == \"(\") return cont(pushlex(\")\"), forspec1, poplex);\n }\n function forspec1(type) {\n if (type == \"var\") return cont(vardef, forspec2);\n if (type == \"variable\") return cont(forspec2);\n return pass(forspec2)\n }\n function forspec2(type, value) {\n if (type == \")\") return cont()\n if (type == \";\") return cont(forspec2)\n if (value == \"in\" || value == \"of\") { cx.marked = \"keyword\"; return cont(expression, forspec2) }\n return pass(expression, forspec2)\n }\n function functiondef(type, value) {\n if (value == \"*\") {cx.marked = \"keyword\"; return cont(functiondef);}\n if (type == \"variable\") {register(value); return cont(functiondef);}\n if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, mayberettype, statement, popcontext);\n if (isTS && value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, functiondef)\n }\n function functiondecl(type, value) {\n if (value == \"*\") {cx.marked = \"keyword\"; return cont(functiondecl);}\n if (type == \"variable\") {register(value); return cont(functiondecl);}\n if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, mayberettype, popcontext);\n if (isTS && value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, functiondecl)\n }\n function typename(type, value) {\n if (type == \"keyword\" || type == \"variable\") {\n cx.marked = \"type\"\n return cont(typename)\n } else if (value == \"<\") {\n return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex)\n }\n }\n function funarg(type, value) {\n if (value == \"@\") cont(expression, funarg)\n if (type == \"spread\") return cont(funarg);\n if (isTS && isModifier(value)) { cx.marked = \"keyword\"; return cont(funarg); }\n if (isTS && type == \"this\") return cont(maybetype, maybeAssign)\n return pass(pattern, maybetype, maybeAssign);\n }\n function classExpression(type, value) {\n // Class expressions may have an optional name.\n if (type == \"variable\") return className(type, value);\n return classNameAfter(type, value);\n }\n function className(type, value) {\n if (type == \"variable\") {register(value); return cont(classNameAfter);}\n }\n function classNameAfter(type, value) {\n if (value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, classNameAfter)\n if (value == \"extends\" || value == \"implements\" || (isTS && type == \",\")) {\n if (value == \"implements\") cx.marked = \"keyword\";\n return cont(isTS ? typeexpr : expression, classNameAfter);\n }\n if (type == \"{\") return cont(pushlex(\"}\"), classBody, poplex);\n }\n function classBody(type, value) {\n if (type == \"async\" ||\n (type == \"variable\" &&\n (value == \"static\" || value == \"get\" || value == \"set\" || (isTS && isModifier(value))) &&\n cx.stream.match(/^\\s+#?[\\w$\\xa1-\\uffff]/, false))) {\n cx.marked = \"keyword\";\n return cont(classBody);\n }\n if (type == \"variable\" || cx.style == \"keyword\") {\n cx.marked = \"property\";\n return cont(classfield, classBody);\n }\n if (type == \"number\" || type == \"string\") return cont(classfield, classBody);\n if (type == \"[\")\n return cont(expression, maybetype, expect(\"]\"), classfield, classBody)\n if (value == \"*\") {\n cx.marked = \"keyword\";\n return cont(classBody);\n }\n if (isTS && type == \"(\") return pass(functiondecl, classBody)\n if (type == \";\" || type == \",\") return cont(classBody);\n if (type == \"}\") return cont();\n if (value == \"@\") return cont(expression, classBody)\n }\n function classfield(type, value) {\n if (value == \"!\") return cont(classfield)\n if (value == \"?\") return cont(classfield)\n if (type == \":\") return cont(typeexpr, maybeAssign)\n if (value == \"=\") return cont(expressionNoComma)\n var context = cx.state.lexical.prev, isInterface = context && context.info == \"interface\"\n return pass(isInterface ? functiondecl : functiondef)\n }\n function afterExport(type, value) {\n if (value == \"*\") { cx.marked = \"keyword\"; return cont(maybeFrom, expect(\";\")); }\n if (value == \"default\") { cx.marked = \"keyword\"; return cont(expression, expect(\";\")); }\n if (type == \"{\") return cont(commasep(exportField, \"}\"), maybeFrom, expect(\";\"));\n return pass(statement);\n }\n function exportField(type, value) {\n if (value == \"as\") { cx.marked = \"keyword\"; return cont(expect(\"variable\")); }\n if (type == \"variable\") return pass(expressionNoComma, exportField);\n }\n function afterImport(type) {\n if (type == \"string\") return cont();\n if (type == \"(\") return pass(expression);\n if (type == \".\") return pass(maybeoperatorComma);\n return pass(importSpec, maybeMoreImports, maybeFrom);\n }\n function importSpec(type, value) {\n if (type == \"{\") return contCommasep(importSpec, \"}\");\n if (type == \"variable\") register(value);\n if (value == \"*\") cx.marked = \"keyword\";\n return cont(maybeAs);\n }\n function maybeMoreImports(type) {\n if (type == \",\") return cont(importSpec, maybeMoreImports)\n }\n function maybeAs(_type, value) {\n if (value == \"as\") { cx.marked = \"keyword\"; return cont(importSpec); }\n }\n function maybeFrom(_type, value) {\n if (value == \"from\") { cx.marked = \"keyword\"; return cont(expression); }\n }\n function arrayLiteral(type) {\n if (type == \"]\") return cont();\n return pass(commasep(expressionNoComma, \"]\"));\n }\n function enumdef() {\n return pass(pushlex(\"form\"), pattern, expect(\"{\"), pushlex(\"}\"), commasep(enummember, \"}\"), poplex, poplex)\n }\n function enummember() {\n return pass(pattern, maybeAssign);\n }\n\n function isContinuedStatement(state, textAfter) {\n return state.lastType == \"operator\" || state.lastType == \",\" ||\n isOperatorChar.test(textAfter.charAt(0)) ||\n /[,.]/.test(textAfter.charAt(0));\n }\n\n function expressionAllowed(stream, state, backUp) {\n return state.tokenize == tokenBase &&\n /^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\\[{}\\(,;:]|=>)$/.test(state.lastType) ||\n (state.lastType == \"quasi\" && /\\{\\s*$/.test(stream.string.slice(0, stream.pos - (backUp || 0))))\n }\n\n // Interface\n\n return {\n startState: function(basecolumn) {\n var state = {\n tokenize: tokenBase,\n lastType: \"sof\",\n cc: [],\n lexical: new JSLexical((basecolumn || 0) - indentUnit, 0, \"block\", false),\n localVars: parserConfig.localVars,\n context: parserConfig.localVars && new Context(null, null, false),\n indented: basecolumn || 0\n };\n if (parserConfig.globalVars && typeof parserConfig.globalVars == \"object\")\n state.globalVars = parserConfig.globalVars;\n return state;\n },\n\n token: function(stream, state) {\n if (stream.sol()) {\n if (!state.lexical.hasOwnProperty(\"align\"))\n state.lexical.align = false;\n state.indented = stream.indentation();\n findFatArrow(stream, state);\n }\n if (state.tokenize != tokenComment && stream.eatSpace()) return null;\n var style = state.tokenize(stream, state);\n if (type == \"comment\") return style;\n state.lastType = type == \"operator\" && (content == \"++\" || content == \"--\") ? \"incdec\" : type;\n return parseJS(state, style, type, content, stream);\n },\n\n indent: function(state, textAfter) {\n if (state.tokenize == tokenComment || state.tokenize == tokenQuasi) return CodeMirror.Pass;\n if (state.tokenize != tokenBase) return 0;\n var firstChar = textAfter && textAfter.charAt(0), lexical = state.lexical, top\n // Kludge to prevent 'maybelse' from blocking lexical scope pops\n if (!/^\\s*else\\b/.test(textAfter)) for (var i = state.cc.length - 1; i >= 0; --i) {\n var c = state.cc[i];\n if (c == poplex) lexical = lexical.prev;\n else if (c != maybeelse && c != popcontext) break;\n }\n while ((lexical.type == \"stat\" || lexical.type == \"form\") &&\n (firstChar == \"}\" || ((top = state.cc[state.cc.length - 1]) &&\n (top == maybeoperatorComma || top == maybeoperatorNoComma) &&\n !/^[,\\.=+\\-*:?[\\(]/.test(textAfter))))\n lexical = lexical.prev;\n if (statementIndent && lexical.type == \")\" && lexical.prev.type == \"stat\")\n lexical = lexical.prev;\n var type = lexical.type, closing = firstChar == type;\n\n if (type == \"vardef\") return lexical.indented + (state.lastType == \"operator\" || state.lastType == \",\" ? lexical.info.length + 1 : 0);\n else if (type == \"form\" && firstChar == \"{\") return lexical.indented;\n else if (type == \"form\") return lexical.indented + indentUnit;\n else if (type == \"stat\")\n return lexical.indented + (isContinuedStatement(state, textAfter) ? statementIndent || indentUnit : 0);\n else if (lexical.info == \"switch\" && !closing && parserConfig.doubleIndentSwitch != false)\n return lexical.indented + (/^(?:case|default)\\b/.test(textAfter) ? indentUnit : 2 * indentUnit);\n else if (lexical.align) return lexical.column + (closing ? 0 : 1);\n else return lexical.indented + (closing ? 0 : indentUnit);\n },\n\n electricInput: /^\\s*(?:case .*?:|default:|\\{|\\})$/,\n blockCommentStart: jsonMode ? null : \"/*\",\n blockCommentEnd: jsonMode ? null : \"*/\",\n blockCommentContinue: jsonMode ? null : \" * \",\n lineComment: jsonMode ? null : \"//\",\n fold: \"brace\",\n closeBrackets: \"()[]{}''\\\"\\\"``\",\n\n helperType: jsonMode ? \"json\" : \"javascript\",\n jsonldMode: jsonldMode,\n jsonMode: jsonMode,\n\n expressionAllowed: expressionAllowed,\n\n skipExpression: function(state) {\n parseJS(state, \"atom\", \"atom\", \"true\", new CodeMirror.StringStream(\"\", 2, null))\n }\n };\n});\n\nCodeMirror.registerHelper(\"wordChars\", \"javascript\", /[\\w$]/);\n\nCodeMirror.defineMIME(\"text/javascript\", \"javascript\");\nCodeMirror.defineMIME(\"text/ecmascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/javascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/x-javascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/ecmascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/json\", { name: \"javascript\", json: true });\nCodeMirror.defineMIME(\"application/x-json\", { name: \"javascript\", json: true });\nCodeMirror.defineMIME(\"application/manifest+json\", { name: \"javascript\", json: true })\nCodeMirror.defineMIME(\"application/ld+json\", { name: \"javascript\", jsonld: true });\nCodeMirror.defineMIME(\"text/typescript\", { name: \"javascript\", typescript: true });\nCodeMirror.defineMIME(\"application/typescript\", { name: \"javascript\", typescript: true });\n\n});\n"],"names":["mod","require$$0","CodeMirror","config","parserConfig","indentUnit","statementIndent","jsonldMode","jsonMode","trackScope","isTS","wordRE","keywords","kw","type","A","B","C","D","operator","atom","isOperatorChar","isJsonldKeyword","readRegexp","stream","escaped","next","inSet","content","ret","tp","style","cont","tokenBase","state","ch","tokenString","tokenComment","expressionAllowed","tokenQuasi","word","quote","maybeEnd","brackets","findFatArrow","arrow","m","depth","sawSomething","pos","bracket","atomicTypes","JSLexical","indented","column","align","prev","info","inScope","varname","v","cx","parseJS","cc","combinator","expression","statement","pass","i","inList","name","list","register","newContext","registerVarScoped","Var","context","inner","Context","isModifier","vars","block","defaultVars","pushcontext","pushblockcontext","popcontext","pushlex","result","indent","outer","poplex","expect","wanted","exp","value","vardef","parenExpr","maybeexpression","maybeelse","functiondef","forspec","className","enumdef","typename","typeexpr","pattern","maybelabel","maybeCatchBinding","afterExport","afterImport","funarg","expressionInner","expressionNoComma","noComma","body","arrowBodyNoComma","arrowBody","commasep","maybeop","maybeoperatorNoComma","maybeoperatorComma","classExpression","arrayLiteral","contCommasep","objprop","quasi","maybeTarget","me","expr","property","continueQuasi","targetNoComma","target","maybeTypeArgs","_","getterSetter","afterprop","maybetype","what","end","sep","proceed","lex","maybetypeOrIn","mayberettype","isKW","afterType","typeprops","typearg","maybeReturnType","quasiType","typeprop","functiondecl","continueQuasiType","typeparam","maybeTypeDefault","maybeAssign","vardefCont","eltpattern","proppattern","_type","forspec1","forspec2","classNameAfter","classBody","classfield","isInterface","maybeFrom","exportField","importSpec","maybeMoreImports","maybeAs","enummember","isContinuedStatement","textAfter","backUp","basecolumn","firstChar","lexical","top","c","closing"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- import{C as u}from"./codemirror-Tc_3P_x1.js";import{g as d,a as l,e as m,b as g,c,d as j}from"./SchemaReference-CpyWtf-y.js";import"./index-B8bgcTYt.js";import"./codemirror-HbUmq4EM.js";import"./forEachState-C8esYVuF.js";u.defineOption("jump",!1,(e,r,n)=>{if(n&&n!==u.Init){const t=e.state.jump.onMouseOver;u.off(e.getWrapperElement(),"mouseover",t);const i=e.state.jump.onMouseOut;u.off(e.getWrapperElement(),"mouseout",i),u.off(document,"keydown",e.state.jump.onKeyDown),delete e.state.jump}if(r){const t=e.state.jump={options:r,onMouseOver:M.bind(null,e),onMouseOut:k.bind(null,e),onKeyDown:y.bind(null,e)};u.on(e.getWrapperElement(),"mouseover",t.onMouseOver),u.on(e.getWrapperElement(),"mouseout",t.onMouseOut),u.on(document,"keydown",t.onKeyDown)}});function M(e,r){const n=r.target||r.srcElement;if(!(n instanceof HTMLElement)||(n==null?void 0:n.nodeName)!=="SPAN")return;const t=n.getBoundingClientRect(),i={left:(t.left+t.right)/2,top:(t.top+t.bottom)/2};e.state.jump.cursor=i,e.state.jump.isHoldingModifier&&f(e)}function k(e){if(!e.state.jump.isHoldingModifier&&e.state.jump.cursor){e.state.jump.cursor=null;return}e.state.jump.isHoldingModifier&&e.state.jump.marker&&p(e)}function y(e,r){if(e.state.jump.isHoldingModifier||!O(r.key))return;e.state.jump.isHoldingModifier=!0,e.state.jump.cursor&&f(e);const n=o=>{o.code===r.code&&(e.state.jump.isHoldingModifier=!1,e.state.jump.marker&&p(e),u.off(document,"keyup",n),u.off(document,"click",t),e.off("mousedown",i))},t=o=>{const{destination:s,options:a}=e.state.jump;s&&a.onClick(s,o)},i=(o,s)=>{e.state.jump.destination&&(s.codemirrorIgnore=!0)};u.on(document,"keyup",n),u.on(document,"click",t),e.on("mousedown",i)}const D=typeof navigator<"u"&&navigator.userAgent.includes("Mac");function O(e){return e===(D?"Meta":"Control")}function f(e){if(e.state.jump.marker)return;const{cursor:r,options:n}=e.state.jump,t=e.coordsChar(r),i=e.getTokenAt(t,!0),o=n.getDestination||e.getHelper(t,"jump");if(o){const s=o(i,n,e);if(s){const a=e.markText({line:t.line,ch:i.start},{line:t.line,ch:i.end},{className:"CodeMirror-jump-token"});e.state.jump.marker=a,e.state.jump.destination=s}}}function p(e){const{marker:r}=e.state.jump;e.state.jump.marker=null,e.state.jump.destination=null,r.clear()}u.registerHelper("jump","graphql",(e,r)=>{if(!r.schema||!r.onClick||!e.state)return;const{state:n}=e,{kind:t,step:i}=n,o=d(r.schema,n);if(t==="Field"&&i===0&&o.fieldDef||t==="AliasedField"&&i===2&&o.fieldDef)return l(o);if(t==="Directive"&&i===1&&o.directiveDef)return m(o);if(t==="Argument"&&i===0&&o.argDef)return g(o);if(t==="EnumValue"&&o.enumValue)return c(o);if(t==="NamedType"&&o.type)return j(o)});
2
- //# sourceMappingURL=jump-Dl0QwazW.js.map
1
+ import{C as u}from"./codemirror-s7RqOvtc.js";import{g as d,a as l,e as m,b as g,c,d as j}from"./SchemaReference-CvpLgB2d.js";import"./index-IiLbhMF9.js";import"./codemirror-HbUmq4EM.js";import"./forEachState-C8esYVuF.js";u.defineOption("jump",!1,(e,r,n)=>{if(n&&n!==u.Init){const t=e.state.jump.onMouseOver;u.off(e.getWrapperElement(),"mouseover",t);const i=e.state.jump.onMouseOut;u.off(e.getWrapperElement(),"mouseout",i),u.off(document,"keydown",e.state.jump.onKeyDown),delete e.state.jump}if(r){const t=e.state.jump={options:r,onMouseOver:M.bind(null,e),onMouseOut:k.bind(null,e),onKeyDown:y.bind(null,e)};u.on(e.getWrapperElement(),"mouseover",t.onMouseOver),u.on(e.getWrapperElement(),"mouseout",t.onMouseOut),u.on(document,"keydown",t.onKeyDown)}});function M(e,r){const n=r.target||r.srcElement;if(!(n instanceof HTMLElement)||(n==null?void 0:n.nodeName)!=="SPAN")return;const t=n.getBoundingClientRect(),i={left:(t.left+t.right)/2,top:(t.top+t.bottom)/2};e.state.jump.cursor=i,e.state.jump.isHoldingModifier&&f(e)}function k(e){if(!e.state.jump.isHoldingModifier&&e.state.jump.cursor){e.state.jump.cursor=null;return}e.state.jump.isHoldingModifier&&e.state.jump.marker&&p(e)}function y(e,r){if(e.state.jump.isHoldingModifier||!O(r.key))return;e.state.jump.isHoldingModifier=!0,e.state.jump.cursor&&f(e);const n=o=>{o.code===r.code&&(e.state.jump.isHoldingModifier=!1,e.state.jump.marker&&p(e),u.off(document,"keyup",n),u.off(document,"click",t),e.off("mousedown",i))},t=o=>{const{destination:s,options:a}=e.state.jump;s&&a.onClick(s,o)},i=(o,s)=>{e.state.jump.destination&&(s.codemirrorIgnore=!0)};u.on(document,"keyup",n),u.on(document,"click",t),e.on("mousedown",i)}const D=typeof navigator<"u"&&navigator.userAgent.includes("Mac");function O(e){return e===(D?"Meta":"Control")}function f(e){if(e.state.jump.marker)return;const{cursor:r,options:n}=e.state.jump,t=e.coordsChar(r),i=e.getTokenAt(t,!0),o=n.getDestination||e.getHelper(t,"jump");if(o){const s=o(i,n,e);if(s){const a=e.markText({line:t.line,ch:i.start},{line:t.line,ch:i.end},{className:"CodeMirror-jump-token"});e.state.jump.marker=a,e.state.jump.destination=s}}}function p(e){const{marker:r}=e.state.jump;e.state.jump.marker=null,e.state.jump.destination=null,r.clear()}u.registerHelper("jump","graphql",(e,r)=>{if(!r.schema||!r.onClick||!e.state)return;const{state:n}=e,{kind:t,step:i}=n,o=d(r.schema,n);if(t==="Field"&&i===0&&o.fieldDef||t==="AliasedField"&&i===2&&o.fieldDef)return l(o);if(t==="Directive"&&i===1&&o.directiveDef)return m(o);if(t==="Argument"&&i===0&&o.argDef)return g(o);if(t==="EnumValue"&&o.enumValue)return c(o);if(t==="NamedType"&&o.type)return j(o)});
2
+ //# sourceMappingURL=jump-CMl3nz-1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jump-Dl0QwazW.js","sources":["../../../../../node_modules/codemirror-graphql/esm/utils/jump-addon.js","../../../../../node_modules/codemirror-graphql/esm/jump.js"],"sourcesContent":["import CodeMirror from 'codemirror';\nCodeMirror.defineOption('jump', false, (cm, options, old) => {\n if (old && old !== CodeMirror.Init) {\n const oldOnMouseOver = cm.state.jump.onMouseOver;\n CodeMirror.off(cm.getWrapperElement(), 'mouseover', oldOnMouseOver);\n const oldOnMouseOut = cm.state.jump.onMouseOut;\n CodeMirror.off(cm.getWrapperElement(), 'mouseout', oldOnMouseOut);\n CodeMirror.off(document, 'keydown', cm.state.jump.onKeyDown);\n delete cm.state.jump;\n }\n if (options) {\n const state = (cm.state.jump = {\n options,\n onMouseOver: onMouseOver.bind(null, cm),\n onMouseOut: onMouseOut.bind(null, cm),\n onKeyDown: onKeyDown.bind(null, cm),\n });\n CodeMirror.on(cm.getWrapperElement(), 'mouseover', state.onMouseOver);\n CodeMirror.on(cm.getWrapperElement(), 'mouseout', state.onMouseOut);\n CodeMirror.on(document, 'keydown', state.onKeyDown);\n }\n});\nfunction onMouseOver(cm, event) {\n const target = event.target || event.srcElement;\n if (!(target instanceof HTMLElement)) {\n return;\n }\n if ((target === null || target === void 0 ? void 0 : target.nodeName) !== 'SPAN') {\n return;\n }\n const box = target.getBoundingClientRect();\n const cursor = {\n left: (box.left + box.right) / 2,\n top: (box.top + box.bottom) / 2,\n };\n cm.state.jump.cursor = cursor;\n if (cm.state.jump.isHoldingModifier) {\n enableJumpMode(cm);\n }\n}\nfunction onMouseOut(cm) {\n if (!cm.state.jump.isHoldingModifier && cm.state.jump.cursor) {\n cm.state.jump.cursor = null;\n return;\n }\n if (cm.state.jump.isHoldingModifier && cm.state.jump.marker) {\n disableJumpMode(cm);\n }\n}\nfunction onKeyDown(cm, event) {\n if (cm.state.jump.isHoldingModifier || !isJumpModifier(event.key)) {\n return;\n }\n cm.state.jump.isHoldingModifier = true;\n if (cm.state.jump.cursor) {\n enableJumpMode(cm);\n }\n const onKeyUp = (upEvent) => {\n if (upEvent.code !== event.code) {\n return;\n }\n cm.state.jump.isHoldingModifier = false;\n if (cm.state.jump.marker) {\n disableJumpMode(cm);\n }\n CodeMirror.off(document, 'keyup', onKeyUp);\n CodeMirror.off(document, 'click', onClick);\n cm.off('mousedown', onMouseDown);\n };\n const onClick = (clickEvent) => {\n const { destination, options } = cm.state.jump;\n if (destination) {\n options.onClick(destination, clickEvent);\n }\n };\n const onMouseDown = (_, downEvent) => {\n if (cm.state.jump.destination) {\n downEvent.codemirrorIgnore = true;\n }\n };\n CodeMirror.on(document, 'keyup', onKeyUp);\n CodeMirror.on(document, 'click', onClick);\n cm.on('mousedown', onMouseDown);\n}\nconst isMac = typeof navigator !== 'undefined' && navigator.userAgent.includes('Mac');\nfunction isJumpModifier(key) {\n return key === (isMac ? 'Meta' : 'Control');\n}\nfunction enableJumpMode(cm) {\n if (cm.state.jump.marker) {\n return;\n }\n const { cursor, options } = cm.state.jump;\n const pos = cm.coordsChar(cursor);\n const token = cm.getTokenAt(pos, true);\n const getDestination = options.getDestination || cm.getHelper(pos, 'jump');\n if (getDestination) {\n const destination = getDestination(token, options, cm);\n if (destination) {\n const marker = cm.markText({ line: pos.line, ch: token.start }, { line: pos.line, ch: token.end }, { className: 'CodeMirror-jump-token' });\n cm.state.jump.marker = marker;\n cm.state.jump.destination = destination;\n }\n }\n}\nfunction disableJumpMode(cm) {\n const { marker } = cm.state.jump;\n cm.state.jump.marker = null;\n cm.state.jump.destination = null;\n marker.clear();\n}\n//# sourceMappingURL=jump-addon.js.map","import CodeMirror from 'codemirror';\nimport getTypeInfo from './utils/getTypeInfo';\nimport { getArgumentReference, getDirectiveReference, getEnumValueReference, getFieldReference, getTypeReference, } from './utils/SchemaReference';\nimport './utils/jump-addon';\nCodeMirror.registerHelper('jump', 'graphql', (token, options) => {\n if (!options.schema || !options.onClick || !token.state) {\n return;\n }\n const { state } = token;\n const { kind, step } = state;\n const typeInfo = getTypeInfo(options.schema, state);\n if ((kind === 'Field' && step === 0 && typeInfo.fieldDef) ||\n (kind === 'AliasedField' && step === 2 && typeInfo.fieldDef)) {\n return getFieldReference(typeInfo);\n }\n if (kind === 'Directive' && step === 1 && typeInfo.directiveDef) {\n return getDirectiveReference(typeInfo);\n }\n if (kind === 'Argument' && step === 0 && typeInfo.argDef) {\n return getArgumentReference(typeInfo);\n }\n if (kind === 'EnumValue' && typeInfo.enumValue) {\n return getEnumValueReference(typeInfo);\n }\n if (kind === 'NamedType' && typeInfo.type) {\n return getTypeReference(typeInfo);\n }\n});\n//# sourceMappingURL=jump.js.map"],"names":["CodeMirror","cm","options","old","oldOnMouseOver","oldOnMouseOut","state","onMouseOver","onMouseOut","onKeyDown","event","target","box","cursor","enableJumpMode","disableJumpMode","isJumpModifier","onKeyUp","upEvent","onClick","onMouseDown","clickEvent","destination","_","downEvent","isMac","key","pos","token","getDestination","marker","kind","step","typeInfo","getTypeInfo","getFieldReference","getDirectiveReference","getArgumentReference","getEnumValueReference","getTypeReference"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"jump-CMl3nz-1.js","sources":["../../../../../node_modules/codemirror-graphql/esm/utils/jump-addon.js","../../../../../node_modules/codemirror-graphql/esm/jump.js"],"sourcesContent":["import CodeMirror from 'codemirror';\nCodeMirror.defineOption('jump', false, (cm, options, old) => {\n if (old && old !== CodeMirror.Init) {\n const oldOnMouseOver = cm.state.jump.onMouseOver;\n CodeMirror.off(cm.getWrapperElement(), 'mouseover', oldOnMouseOver);\n const oldOnMouseOut = cm.state.jump.onMouseOut;\n CodeMirror.off(cm.getWrapperElement(), 'mouseout', oldOnMouseOut);\n CodeMirror.off(document, 'keydown', cm.state.jump.onKeyDown);\n delete cm.state.jump;\n }\n if (options) {\n const state = (cm.state.jump = {\n options,\n onMouseOver: onMouseOver.bind(null, cm),\n onMouseOut: onMouseOut.bind(null, cm),\n onKeyDown: onKeyDown.bind(null, cm),\n });\n CodeMirror.on(cm.getWrapperElement(), 'mouseover', state.onMouseOver);\n CodeMirror.on(cm.getWrapperElement(), 'mouseout', state.onMouseOut);\n CodeMirror.on(document, 'keydown', state.onKeyDown);\n }\n});\nfunction onMouseOver(cm, event) {\n const target = event.target || event.srcElement;\n if (!(target instanceof HTMLElement)) {\n return;\n }\n if ((target === null || target === void 0 ? void 0 : target.nodeName) !== 'SPAN') {\n return;\n }\n const box = target.getBoundingClientRect();\n const cursor = {\n left: (box.left + box.right) / 2,\n top: (box.top + box.bottom) / 2,\n };\n cm.state.jump.cursor = cursor;\n if (cm.state.jump.isHoldingModifier) {\n enableJumpMode(cm);\n }\n}\nfunction onMouseOut(cm) {\n if (!cm.state.jump.isHoldingModifier && cm.state.jump.cursor) {\n cm.state.jump.cursor = null;\n return;\n }\n if (cm.state.jump.isHoldingModifier && cm.state.jump.marker) {\n disableJumpMode(cm);\n }\n}\nfunction onKeyDown(cm, event) {\n if (cm.state.jump.isHoldingModifier || !isJumpModifier(event.key)) {\n return;\n }\n cm.state.jump.isHoldingModifier = true;\n if (cm.state.jump.cursor) {\n enableJumpMode(cm);\n }\n const onKeyUp = (upEvent) => {\n if (upEvent.code !== event.code) {\n return;\n }\n cm.state.jump.isHoldingModifier = false;\n if (cm.state.jump.marker) {\n disableJumpMode(cm);\n }\n CodeMirror.off(document, 'keyup', onKeyUp);\n CodeMirror.off(document, 'click', onClick);\n cm.off('mousedown', onMouseDown);\n };\n const onClick = (clickEvent) => {\n const { destination, options } = cm.state.jump;\n if (destination) {\n options.onClick(destination, clickEvent);\n }\n };\n const onMouseDown = (_, downEvent) => {\n if (cm.state.jump.destination) {\n downEvent.codemirrorIgnore = true;\n }\n };\n CodeMirror.on(document, 'keyup', onKeyUp);\n CodeMirror.on(document, 'click', onClick);\n cm.on('mousedown', onMouseDown);\n}\nconst isMac = typeof navigator !== 'undefined' && navigator.userAgent.includes('Mac');\nfunction isJumpModifier(key) {\n return key === (isMac ? 'Meta' : 'Control');\n}\nfunction enableJumpMode(cm) {\n if (cm.state.jump.marker) {\n return;\n }\n const { cursor, options } = cm.state.jump;\n const pos = cm.coordsChar(cursor);\n const token = cm.getTokenAt(pos, true);\n const getDestination = options.getDestination || cm.getHelper(pos, 'jump');\n if (getDestination) {\n const destination = getDestination(token, options, cm);\n if (destination) {\n const marker = cm.markText({ line: pos.line, ch: token.start }, { line: pos.line, ch: token.end }, { className: 'CodeMirror-jump-token' });\n cm.state.jump.marker = marker;\n cm.state.jump.destination = destination;\n }\n }\n}\nfunction disableJumpMode(cm) {\n const { marker } = cm.state.jump;\n cm.state.jump.marker = null;\n cm.state.jump.destination = null;\n marker.clear();\n}\n//# sourceMappingURL=jump-addon.js.map","import CodeMirror from 'codemirror';\nimport getTypeInfo from './utils/getTypeInfo';\nimport { getArgumentReference, getDirectiveReference, getEnumValueReference, getFieldReference, getTypeReference, } from './utils/SchemaReference';\nimport './utils/jump-addon';\nCodeMirror.registerHelper('jump', 'graphql', (token, options) => {\n if (!options.schema || !options.onClick || !token.state) {\n return;\n }\n const { state } = token;\n const { kind, step } = state;\n const typeInfo = getTypeInfo(options.schema, state);\n if ((kind === 'Field' && step === 0 && typeInfo.fieldDef) ||\n (kind === 'AliasedField' && step === 2 && typeInfo.fieldDef)) {\n return getFieldReference(typeInfo);\n }\n if (kind === 'Directive' && step === 1 && typeInfo.directiveDef) {\n return getDirectiveReference(typeInfo);\n }\n if (kind === 'Argument' && step === 0 && typeInfo.argDef) {\n return getArgumentReference(typeInfo);\n }\n if (kind === 'EnumValue' && typeInfo.enumValue) {\n return getEnumValueReference(typeInfo);\n }\n if (kind === 'NamedType' && typeInfo.type) {\n return getTypeReference(typeInfo);\n }\n});\n//# sourceMappingURL=jump.js.map"],"names":["CodeMirror","cm","options","old","oldOnMouseOver","oldOnMouseOut","state","onMouseOver","onMouseOut","onKeyDown","event","target","box","cursor","enableJumpMode","disableJumpMode","isJumpModifier","onKeyUp","upEvent","onClick","onMouseDown","clickEvent","destination","_","downEvent","isMac","key","pos","token","getDestination","marker","kind","step","typeInfo","getTypeInfo","getFieldReference","getDirectiveReference","getArgumentReference","getEnumValueReference","getTypeReference"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -1,2 +1,2 @@
1
- import{g as d}from"./index-B8bgcTYt.js";import{r as g}from"./codemirror-HbUmq4EM.js";import{r as h}from"./dialog-BwC5n760.js";function b(p,l){for(var o=0;o<l.length;o++){const s=l[o];if(typeof s!="string"&&!Array.isArray(s)){for(const i in s)if(i!=="default"&&!(i in p)){const u=Object.getOwnPropertyDescriptor(s,i);u&&Object.defineProperty(p,i,u.get?u:{enumerable:!0,get:()=>s[i]})}}}return Object.freeze(Object.defineProperty(p,Symbol.toStringTag,{value:"Module"}))}var f={exports:{}},c;function j(){return c||(c=1,function(p,l){(function(o){o(g(),h())})(function(o){o.defineOption("search",{bottom:!1});function s(e,t,n,r,a){e.openDialog?e.openDialog(t,a,{value:r,selectValueOnOpen:!0,bottom:e.options.search.bottom}):a(prompt(n,r))}function i(e){return e.phrase("Jump to line:")+' <input type="text" style="width: 10em" class="CodeMirror-search-field"/> <span style="color: #888" class="CodeMirror-search-hint">'+e.phrase("(Use line:column or scroll% syntax)")+"</span>"}function u(e,t){var n=Number(t);return/^[-+]/.test(t)?e.getCursor().line+n:n-1}o.commands.jumpToLine=function(e){var t=e.getCursor();s(e,i(e),e.phrase("Jump to line:"),t.line+1+":"+t.ch,function(n){if(n){var r;if(r=/^\s*([\+\-]?\d+)\s*\:\s*(\d+)\s*$/.exec(n))e.setCursor(u(e,r[1]),Number(r[2]));else if(r=/^\s*([\+\-]?\d+(\.\d+)?)\%\s*/.exec(n)){var a=Math.round(e.lineCount()*Number(r[1])/100);/^[-+]/.test(r[1])&&(a=t.line+a+1),e.setCursor(a-1,t.ch)}else(r=/^\s*\:?\s*([\+\-]?\d+)\s*/.exec(n))&&e.setCursor(u(e,r[1]),t.ch)}})},o.keyMap.default["Alt-G"]="jumpToLine"})}()),f.exports}var m=j();const x=d(m),T=b({__proto__:null,default:x},[m]);export{T as j};
2
- //# sourceMappingURL=jump-to-line-C2CXtcBk.js.map
1
+ import{g as d}from"./index-IiLbhMF9.js";import{r as g}from"./codemirror-HbUmq4EM.js";import{r as h}from"./dialog-BwC5n760.js";function b(p,l){for(var o=0;o<l.length;o++){const s=l[o];if(typeof s!="string"&&!Array.isArray(s)){for(const i in s)if(i!=="default"&&!(i in p)){const u=Object.getOwnPropertyDescriptor(s,i);u&&Object.defineProperty(p,i,u.get?u:{enumerable:!0,get:()=>s[i]})}}}return Object.freeze(Object.defineProperty(p,Symbol.toStringTag,{value:"Module"}))}var f={exports:{}},c;function j(){return c||(c=1,function(p,l){(function(o){o(g(),h())})(function(o){o.defineOption("search",{bottom:!1});function s(e,t,n,r,a){e.openDialog?e.openDialog(t,a,{value:r,selectValueOnOpen:!0,bottom:e.options.search.bottom}):a(prompt(n,r))}function i(e){return e.phrase("Jump to line:")+' <input type="text" style="width: 10em" class="CodeMirror-search-field"/> <span style="color: #888" class="CodeMirror-search-hint">'+e.phrase("(Use line:column or scroll% syntax)")+"</span>"}function u(e,t){var n=Number(t);return/^[-+]/.test(t)?e.getCursor().line+n:n-1}o.commands.jumpToLine=function(e){var t=e.getCursor();s(e,i(e),e.phrase("Jump to line:"),t.line+1+":"+t.ch,function(n){if(n){var r;if(r=/^\s*([\+\-]?\d+)\s*\:\s*(\d+)\s*$/.exec(n))e.setCursor(u(e,r[1]),Number(r[2]));else if(r=/^\s*([\+\-]?\d+(\.\d+)?)\%\s*/.exec(n)){var a=Math.round(e.lineCount()*Number(r[1])/100);/^[-+]/.test(r[1])&&(a=t.line+a+1),e.setCursor(a-1,t.ch)}else(r=/^\s*\:?\s*([\+\-]?\d+)\s*/.exec(n))&&e.setCursor(u(e,r[1]),t.ch)}})},o.keyMap.default["Alt-G"]="jumpToLine"})}()),f.exports}var m=j();const x=d(m),T=b({__proto__:null,default:x},[m]);export{T as j};
2
+ //# sourceMappingURL=jump-to-line-Hq5vq2W4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jump-to-line-C2CXtcBk.js","sources":["../../../../../node_modules/codemirror/addon/search/jump-to-line.js"],"sourcesContent":["// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/5/LICENSE\n\n// Defines jumpToLine command. Uses dialog.js if present.\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"), require(\"../dialog/dialog\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\", \"../dialog/dialog\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n\n // default search panel location\n CodeMirror.defineOption(\"search\", {bottom: false});\n\n function dialog(cm, text, shortText, deflt, f) {\n if (cm.openDialog) cm.openDialog(text, f, {value: deflt, selectValueOnOpen: true, bottom: cm.options.search.bottom});\n else f(prompt(shortText, deflt));\n }\n\n function getJumpDialog(cm) {\n return cm.phrase(\"Jump to line:\") + ' <input type=\"text\" style=\"width: 10em\" class=\"CodeMirror-search-field\"/> <span style=\"color: #888\" class=\"CodeMirror-search-hint\">' + cm.phrase(\"(Use line:column or scroll% syntax)\") + '</span>';\n }\n\n function interpretLine(cm, string) {\n var num = Number(string)\n if (/^[-+]/.test(string)) return cm.getCursor().line + num\n else return num - 1\n }\n\n CodeMirror.commands.jumpToLine = function(cm) {\n var cur = cm.getCursor();\n dialog(cm, getJumpDialog(cm), cm.phrase(\"Jump to line:\"), (cur.line + 1) + \":\" + cur.ch, function(posStr) {\n if (!posStr) return;\n\n var match;\n if (match = /^\\s*([\\+\\-]?\\d+)\\s*\\:\\s*(\\d+)\\s*$/.exec(posStr)) {\n cm.setCursor(interpretLine(cm, match[1]), Number(match[2]))\n } else if (match = /^\\s*([\\+\\-]?\\d+(\\.\\d+)?)\\%\\s*/.exec(posStr)) {\n var line = Math.round(cm.lineCount() * Number(match[1]) / 100);\n if (/^[-+]/.test(match[1])) line = cur.line + line + 1;\n cm.setCursor(line - 1, cur.ch);\n } else if (match = /^\\s*\\:?\\s*([\\+\\-]?\\d+)\\s*/.exec(posStr)) {\n cm.setCursor(interpretLine(cm, match[1]), cur.ch);\n }\n });\n };\n\n CodeMirror.keyMap[\"default\"][\"Alt-G\"] = \"jumpToLine\";\n});\n"],"names":["mod","require$$0","require$$1","CodeMirror","dialog","cm","text","shortText","deflt","f","getJumpDialog","interpretLine","string","num","cur","posStr","match","line"],"mappings":"ohBAKC,SAASA,EAAK,CAEXA,EAAIC,IAAiCC,GAA2B,CAKnE,GAAE,SAASC,EAAY,CAItBA,EAAW,aAAa,SAAU,CAAC,OAAQ,EAAK,CAAC,EAEjD,SAASC,EAAOC,EAAIC,EAAMC,EAAWC,EAAOC,EAAG,CACzCJ,EAAG,WAAYA,EAAG,WAAWC,EAAMG,EAAG,CAAC,MAAOD,EAAO,kBAAmB,GAAM,OAAQH,EAAG,QAAQ,OAAO,MAAM,CAAC,EAC9GI,EAAE,OAAOF,EAAWC,CAAK,CAAC,CACnC,CAEE,SAASE,EAAcL,EAAI,CACzB,OAAOA,EAAG,OAAO,eAAe,EAAI,sIAAwIA,EAAG,OAAO,qCAAqC,EAAI,SACnO,CAEE,SAASM,EAAcN,EAAIO,EAAQ,CACjC,IAAIC,EAAM,OAAOD,CAAM,EACvB,MAAI,QAAQ,KAAKA,CAAM,EAAUP,EAAG,UAAW,EAAC,KAAOQ,EAC3CA,EAAM,CACtB,CAEEV,EAAW,SAAS,WAAa,SAASE,EAAI,CAC5C,IAAIS,EAAMT,EAAG,UAAW,EACxBD,EAAOC,EAAIK,EAAcL,CAAE,EAAGA,EAAG,OAAO,eAAe,EAAIS,EAAI,KAAO,EAAK,IAAMA,EAAI,GAAI,SAASC,EAAQ,CACxG,GAAKA,EAEL,KAAIC,EACJ,GAAIA,EAAQ,oCAAoC,KAAKD,CAAM,EACzDV,EAAG,UAAUM,EAAcN,EAAIW,EAAM,CAAC,CAAC,EAAG,OAAOA,EAAM,CAAC,CAAC,CAAC,UACjDA,EAAQ,gCAAgC,KAAKD,CAAM,EAAG,CAC/D,IAAIE,EAAO,KAAK,MAAMZ,EAAG,YAAc,OAAOW,EAAM,CAAC,CAAC,EAAI,GAAG,EACzD,QAAQ,KAAKA,EAAM,CAAC,CAAC,IAAGC,EAAOH,EAAI,KAAOG,EAAO,GACrDZ,EAAG,UAAUY,EAAO,EAAGH,EAAI,EAAE,CAC9B,MAAUE,EAAQ,4BAA4B,KAAKD,CAAM,IACxDV,EAAG,UAAUM,EAAcN,EAAIW,EAAM,CAAC,CAAC,EAAGF,EAAI,EAAE,EAExD,CAAK,CACF,EAEDX,EAAW,OAAO,QAAW,OAAO,EAAI,YAC1C,CAAC","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"jump-to-line-Hq5vq2W4.js","sources":["../../../../../node_modules/codemirror/addon/search/jump-to-line.js"],"sourcesContent":["// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/5/LICENSE\n\n// Defines jumpToLine command. Uses dialog.js if present.\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"), require(\"../dialog/dialog\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\", \"../dialog/dialog\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n\n // default search panel location\n CodeMirror.defineOption(\"search\", {bottom: false});\n\n function dialog(cm, text, shortText, deflt, f) {\n if (cm.openDialog) cm.openDialog(text, f, {value: deflt, selectValueOnOpen: true, bottom: cm.options.search.bottom});\n else f(prompt(shortText, deflt));\n }\n\n function getJumpDialog(cm) {\n return cm.phrase(\"Jump to line:\") + ' <input type=\"text\" style=\"width: 10em\" class=\"CodeMirror-search-field\"/> <span style=\"color: #888\" class=\"CodeMirror-search-hint\">' + cm.phrase(\"(Use line:column or scroll% syntax)\") + '</span>';\n }\n\n function interpretLine(cm, string) {\n var num = Number(string)\n if (/^[-+]/.test(string)) return cm.getCursor().line + num\n else return num - 1\n }\n\n CodeMirror.commands.jumpToLine = function(cm) {\n var cur = cm.getCursor();\n dialog(cm, getJumpDialog(cm), cm.phrase(\"Jump to line:\"), (cur.line + 1) + \":\" + cur.ch, function(posStr) {\n if (!posStr) return;\n\n var match;\n if (match = /^\\s*([\\+\\-]?\\d+)\\s*\\:\\s*(\\d+)\\s*$/.exec(posStr)) {\n cm.setCursor(interpretLine(cm, match[1]), Number(match[2]))\n } else if (match = /^\\s*([\\+\\-]?\\d+(\\.\\d+)?)\\%\\s*/.exec(posStr)) {\n var line = Math.round(cm.lineCount() * Number(match[1]) / 100);\n if (/^[-+]/.test(match[1])) line = cur.line + line + 1;\n cm.setCursor(line - 1, cur.ch);\n } else if (match = /^\\s*\\:?\\s*([\\+\\-]?\\d+)\\s*/.exec(posStr)) {\n cm.setCursor(interpretLine(cm, match[1]), cur.ch);\n }\n });\n };\n\n CodeMirror.keyMap[\"default\"][\"Alt-G\"] = \"jumpToLine\";\n});\n"],"names":["mod","require$$0","require$$1","CodeMirror","dialog","cm","text","shortText","deflt","f","getJumpDialog","interpretLine","string","num","cur","posStr","match","line"],"mappings":"ohBAKC,SAASA,EAAK,CAEXA,EAAIC,IAAiCC,GAA2B,CAKnE,GAAE,SAASC,EAAY,CAItBA,EAAW,aAAa,SAAU,CAAC,OAAQ,EAAK,CAAC,EAEjD,SAASC,EAAOC,EAAIC,EAAMC,EAAWC,EAAOC,EAAG,CACzCJ,EAAG,WAAYA,EAAG,WAAWC,EAAMG,EAAG,CAAC,MAAOD,EAAO,kBAAmB,GAAM,OAAQH,EAAG,QAAQ,OAAO,MAAM,CAAC,EAC9GI,EAAE,OAAOF,EAAWC,CAAK,CAAC,CACnC,CAEE,SAASE,EAAcL,EAAI,CACzB,OAAOA,EAAG,OAAO,eAAe,EAAI,sIAAwIA,EAAG,OAAO,qCAAqC,EAAI,SACnO,CAEE,SAASM,EAAcN,EAAIO,EAAQ,CACjC,IAAIC,EAAM,OAAOD,CAAM,EACvB,MAAI,QAAQ,KAAKA,CAAM,EAAUP,EAAG,UAAW,EAAC,KAAOQ,EAC3CA,EAAM,CACtB,CAEEV,EAAW,SAAS,WAAa,SAASE,EAAI,CAC5C,IAAIS,EAAMT,EAAG,UAAW,EACxBD,EAAOC,EAAIK,EAAcL,CAAE,EAAGA,EAAG,OAAO,eAAe,EAAIS,EAAI,KAAO,EAAK,IAAMA,EAAI,GAAI,SAASC,EAAQ,CACxG,GAAKA,EAEL,KAAIC,EACJ,GAAIA,EAAQ,oCAAoC,KAAKD,CAAM,EACzDV,EAAG,UAAUM,EAAcN,EAAIW,EAAM,CAAC,CAAC,EAAG,OAAOA,EAAM,CAAC,CAAC,CAAC,UACjDA,EAAQ,gCAAgC,KAAKD,CAAM,EAAG,CAC/D,IAAIE,EAAO,KAAK,MAAMZ,EAAG,YAAc,OAAOW,EAAM,CAAC,CAAC,EAAI,GAAG,EACzD,QAAQ,KAAKA,EAAM,CAAC,CAAC,IAAGC,EAAOH,EAAI,KAAOG,EAAO,GACrDZ,EAAG,UAAUY,EAAO,EAAGH,EAAI,EAAE,CAC9B,MAAUE,EAAQ,4BAA4B,KAAKD,CAAM,IACxDV,EAAG,UAAUM,EAAcN,EAAIW,EAAM,CAAC,CAAC,EAAGF,EAAI,EAAE,EAExD,CAAK,CACF,EAEDX,EAAW,OAAO,QAAW,OAAO,EAAI,YAC1C,CAAC","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- import{g as P}from"./index-B8bgcTYt.js";import{r as W}from"./codemirror-HbUmq4EM.js";function U(v,m){for(var l=0;l<m.length;l++){const f=m[l];if(typeof f!="string"&&!Array.isArray(f)){for(const p in f)if(p!=="default"&&!(p in v)){const g=Object.getOwnPropertyDescriptor(f,p);g&&Object.defineProperty(v,p,g.get?g:{enumerable:!0,get:()=>f[p]})}}}return Object.freeze(Object.defineProperty(v,Symbol.toStringTag,{value:"Module"}))}var x={exports:{}},E;function q(){return E||(E=1,function(v,m){(function(l){l(W())})(function(l){var f="CodeMirror-lint-markers",p="CodeMirror-lint-line-";function g(t,e,r){var n=document.createElement("div");n.className="CodeMirror-lint-tooltip cm-s-"+t.options.theme,n.appendChild(r.cloneNode(!0)),t.state.lint.options.selfContain?t.getWrapperElement().appendChild(n):document.body.appendChild(n);function i(o){if(!n.parentNode)return l.off(document,"mousemove",i);var a=Math.max(0,o.clientY-n.offsetHeight-5),s=Math.max(0,Math.min(o.clientX+5,n.ownerDocument.defaultView.innerWidth-n.offsetWidth));n.style.top=a+"px",n.style.left=s+"px"}return l.on(document,"mousemove",i),i(e),n.style.opacity!=null&&(n.style.opacity=1),n}function L(t){t.parentNode&&t.parentNode.removeChild(t)}function b(t){t.parentNode&&(t.style.opacity==null&&L(t),t.style.opacity=0,setTimeout(function(){L(t)},600))}function O(t,e,r,n){var i=g(t,e,r);function o(){l.off(n,"mouseout",o),i&&(b(i),i=null)}var a=setInterval(function(){if(i)for(var s=n;;s=s.parentNode){if(s&&s.nodeType==11&&(s=s.host),s==document.body)return;if(!s){o();break}}if(!i)return clearInterval(a)},400);l.on(n,"mouseout",o)}function _(t,e,r){this.marked=[],e instanceof Function&&(e={getAnnotations:e}),(!e||e===!0)&&(e={}),this.options={},this.linterOptions=e.options||{};for(var n in y)this.options[n]=y[n];for(var n in e)y.hasOwnProperty(n)?e[n]!=null&&(this.options[n]=e[n]):e.options||(this.linterOptions[n]=e[n]);this.timeout=null,this.hasGutter=r,this.onMouseOver=function(i){H(t,i)},this.waitingFor=0}var y={highlightLines:!1,tooltips:!0,delay:500,lintOnChange:!0,getAnnotations:null,async:!1,selfContain:null,formatAnnotation:null,onUpdateLinting:null};function T(t){var e=t.state.lint;e.hasGutter&&t.clearGutter(f),e.options.highlightLines&&A(t);for(var r=0;r<e.marked.length;++r)e.marked[r].clear();e.marked.length=0}function A(t){t.eachLine(function(e){var r=e.wrapClass&&/\bCodeMirror-lint-line-\w+\b/.exec(e.wrapClass);r&&t.removeLineClass(e,"wrap",r[0])})}function F(t,e,r,n,i){var o=document.createElement("div"),a=o;return o.className="CodeMirror-lint-marker CodeMirror-lint-marker-"+r,n&&(a=o.appendChild(document.createElement("div")),a.className="CodeMirror-lint-marker CodeMirror-lint-marker-multiple"),i!=!1&&l.on(a,"mouseover",function(s){O(t,s,e,a)}),o}function D(t,e){return t=="error"?t:e}function G(t){for(var e=[],r=0;r<t.length;++r){var n=t[r],i=n.from.line;(e[i]||(e[i]=[])).push(n)}return e}function M(t){var e=t.severity;e||(e="error");var r=document.createElement("div");return r.className="CodeMirror-lint-message CodeMirror-lint-message-"+e,typeof t.messageHTML<"u"?r.innerHTML=t.messageHTML:r.appendChild(document.createTextNode(t.message)),r}function I(t,e){var r=t.state.lint,n=++r.waitingFor;function i(){n=-1,t.off("change",i)}t.on("change",i),e(t.getValue(),function(o,a){t.off("change",i),r.waitingFor==n&&(a&&o instanceof l&&(o=a),t.operation(function(){k(t,o)}))},r.linterOptions,t)}function C(t){var e=t.state.lint;if(e){var r=e.options,n=r.getAnnotations||t.getHelper(l.Pos(0,0),"lint");if(n)if(r.async||n.async)I(t,n);else{var i=n(t.getValue(),e.linterOptions,t);if(!i)return;i.then?i.then(function(o){t.operation(function(){k(t,o)})}):t.operation(function(){k(t,i)})}}}function k(t,e){var r=t.state.lint;if(r){var n=r.options;T(t);for(var i=G(e),o=0;o<i.length;++o){var a=i[o];if(a){for(var s=null,d=r.hasGutter&&document.createDocumentFragment(),h=0;h<a.length;++h){var u=a[h],c=u.severity;c||(c="error"),s=D(s,c),n.formatAnnotation&&(u=n.formatAnnotation(u)),r.hasGutter&&d.appendChild(M(u)),u.to&&r.marked.push(t.markText(u.from,u.to,{className:"CodeMirror-lint-mark CodeMirror-lint-mark-"+c,__annotation:u}))}r.hasGutter&&t.setGutterMarker(o,f,F(t,d,s,a.length>1,n.tooltips)),n.highlightLines&&t.addLineClass(o,"wrap",p+s)}}n.onUpdateLinting&&n.onUpdateLinting(e,i,t)}}function w(t){var e=t.state.lint;e&&(clearTimeout(e.timeout),e.timeout=setTimeout(function(){C(t)},e.options.delay))}function j(t,e,r){for(var n=r.target||r.srcElement,i=document.createDocumentFragment(),o=0;o<e.length;o++){var a=e[o];i.appendChild(M(a))}O(t,r,i,n)}function H(t,e){var r=e.target||e.srcElement;if(/\bCodeMirror-lint-mark-/.test(r.className)){for(var n=r.getBoundingClientRect(),i=(n.left+n.right)/2,o=(n.top+n.bottom)/2,a=t.findMarksAt(t.coordsChar({left:i,top:o},"client")),s=[],d=0;d<a.length;++d){var h=a[d].__annotation;h&&s.push(h)}s.length&&j(t,s,e)}}l.defineOption("lint",!1,function(t,e,r){if(r&&r!=l.Init&&(T(t),t.state.lint.options.lintOnChange!==!1&&t.off("change",w),l.off(t.getWrapperElement(),"mouseover",t.state.lint.onMouseOver),clearTimeout(t.state.lint.timeout),delete t.state.lint),e){for(var n=t.getOption("gutters"),i=!1,o=0;o<n.length;++o)n[o]==f&&(i=!0);var a=t.state.lint=new _(t,e,i);a.options.lintOnChange&&t.on("change",w),a.options.tooltips!=!1&&a.options.tooltips!="gutter"&&l.on(t.getWrapperElement(),"mouseover",a.onMouseOver),C(t)}}),l.defineExtension("performLint",function(){C(this)})})}()),x.exports}var N=q();const R=P(N),$=U({__proto__:null,default:R},[N]);export{$ as l};
2
- //# sourceMappingURL=lint-ChBsGYZa.js.map
1
+ import{g as P}from"./index-IiLbhMF9.js";import{r as W}from"./codemirror-HbUmq4EM.js";function U(v,m){for(var l=0;l<m.length;l++){const f=m[l];if(typeof f!="string"&&!Array.isArray(f)){for(const p in f)if(p!=="default"&&!(p in v)){const g=Object.getOwnPropertyDescriptor(f,p);g&&Object.defineProperty(v,p,g.get?g:{enumerable:!0,get:()=>f[p]})}}}return Object.freeze(Object.defineProperty(v,Symbol.toStringTag,{value:"Module"}))}var x={exports:{}},E;function q(){return E||(E=1,function(v,m){(function(l){l(W())})(function(l){var f="CodeMirror-lint-markers",p="CodeMirror-lint-line-";function g(t,e,r){var n=document.createElement("div");n.className="CodeMirror-lint-tooltip cm-s-"+t.options.theme,n.appendChild(r.cloneNode(!0)),t.state.lint.options.selfContain?t.getWrapperElement().appendChild(n):document.body.appendChild(n);function i(o){if(!n.parentNode)return l.off(document,"mousemove",i);var a=Math.max(0,o.clientY-n.offsetHeight-5),s=Math.max(0,Math.min(o.clientX+5,n.ownerDocument.defaultView.innerWidth-n.offsetWidth));n.style.top=a+"px",n.style.left=s+"px"}return l.on(document,"mousemove",i),i(e),n.style.opacity!=null&&(n.style.opacity=1),n}function L(t){t.parentNode&&t.parentNode.removeChild(t)}function b(t){t.parentNode&&(t.style.opacity==null&&L(t),t.style.opacity=0,setTimeout(function(){L(t)},600))}function O(t,e,r,n){var i=g(t,e,r);function o(){l.off(n,"mouseout",o),i&&(b(i),i=null)}var a=setInterval(function(){if(i)for(var s=n;;s=s.parentNode){if(s&&s.nodeType==11&&(s=s.host),s==document.body)return;if(!s){o();break}}if(!i)return clearInterval(a)},400);l.on(n,"mouseout",o)}function _(t,e,r){this.marked=[],e instanceof Function&&(e={getAnnotations:e}),(!e||e===!0)&&(e={}),this.options={},this.linterOptions=e.options||{};for(var n in y)this.options[n]=y[n];for(var n in e)y.hasOwnProperty(n)?e[n]!=null&&(this.options[n]=e[n]):e.options||(this.linterOptions[n]=e[n]);this.timeout=null,this.hasGutter=r,this.onMouseOver=function(i){H(t,i)},this.waitingFor=0}var y={highlightLines:!1,tooltips:!0,delay:500,lintOnChange:!0,getAnnotations:null,async:!1,selfContain:null,formatAnnotation:null,onUpdateLinting:null};function T(t){var e=t.state.lint;e.hasGutter&&t.clearGutter(f),e.options.highlightLines&&A(t);for(var r=0;r<e.marked.length;++r)e.marked[r].clear();e.marked.length=0}function A(t){t.eachLine(function(e){var r=e.wrapClass&&/\bCodeMirror-lint-line-\w+\b/.exec(e.wrapClass);r&&t.removeLineClass(e,"wrap",r[0])})}function F(t,e,r,n,i){var o=document.createElement("div"),a=o;return o.className="CodeMirror-lint-marker CodeMirror-lint-marker-"+r,n&&(a=o.appendChild(document.createElement("div")),a.className="CodeMirror-lint-marker CodeMirror-lint-marker-multiple"),i!=!1&&l.on(a,"mouseover",function(s){O(t,s,e,a)}),o}function D(t,e){return t=="error"?t:e}function G(t){for(var e=[],r=0;r<t.length;++r){var n=t[r],i=n.from.line;(e[i]||(e[i]=[])).push(n)}return e}function M(t){var e=t.severity;e||(e="error");var r=document.createElement("div");return r.className="CodeMirror-lint-message CodeMirror-lint-message-"+e,typeof t.messageHTML<"u"?r.innerHTML=t.messageHTML:r.appendChild(document.createTextNode(t.message)),r}function I(t,e){var r=t.state.lint,n=++r.waitingFor;function i(){n=-1,t.off("change",i)}t.on("change",i),e(t.getValue(),function(o,a){t.off("change",i),r.waitingFor==n&&(a&&o instanceof l&&(o=a),t.operation(function(){k(t,o)}))},r.linterOptions,t)}function C(t){var e=t.state.lint;if(e){var r=e.options,n=r.getAnnotations||t.getHelper(l.Pos(0,0),"lint");if(n)if(r.async||n.async)I(t,n);else{var i=n(t.getValue(),e.linterOptions,t);if(!i)return;i.then?i.then(function(o){t.operation(function(){k(t,o)})}):t.operation(function(){k(t,i)})}}}function k(t,e){var r=t.state.lint;if(r){var n=r.options;T(t);for(var i=G(e),o=0;o<i.length;++o){var a=i[o];if(a){for(var s=null,d=r.hasGutter&&document.createDocumentFragment(),h=0;h<a.length;++h){var u=a[h],c=u.severity;c||(c="error"),s=D(s,c),n.formatAnnotation&&(u=n.formatAnnotation(u)),r.hasGutter&&d.appendChild(M(u)),u.to&&r.marked.push(t.markText(u.from,u.to,{className:"CodeMirror-lint-mark CodeMirror-lint-mark-"+c,__annotation:u}))}r.hasGutter&&t.setGutterMarker(o,f,F(t,d,s,a.length>1,n.tooltips)),n.highlightLines&&t.addLineClass(o,"wrap",p+s)}}n.onUpdateLinting&&n.onUpdateLinting(e,i,t)}}function w(t){var e=t.state.lint;e&&(clearTimeout(e.timeout),e.timeout=setTimeout(function(){C(t)},e.options.delay))}function j(t,e,r){for(var n=r.target||r.srcElement,i=document.createDocumentFragment(),o=0;o<e.length;o++){var a=e[o];i.appendChild(M(a))}O(t,r,i,n)}function H(t,e){var r=e.target||e.srcElement;if(/\bCodeMirror-lint-mark-/.test(r.className)){for(var n=r.getBoundingClientRect(),i=(n.left+n.right)/2,o=(n.top+n.bottom)/2,a=t.findMarksAt(t.coordsChar({left:i,top:o},"client")),s=[],d=0;d<a.length;++d){var h=a[d].__annotation;h&&s.push(h)}s.length&&j(t,s,e)}}l.defineOption("lint",!1,function(t,e,r){if(r&&r!=l.Init&&(T(t),t.state.lint.options.lintOnChange!==!1&&t.off("change",w),l.off(t.getWrapperElement(),"mouseover",t.state.lint.onMouseOver),clearTimeout(t.state.lint.timeout),delete t.state.lint),e){for(var n=t.getOption("gutters"),i=!1,o=0;o<n.length;++o)n[o]==f&&(i=!0);var a=t.state.lint=new _(t,e,i);a.options.lintOnChange&&t.on("change",w),a.options.tooltips!=!1&&a.options.tooltips!="gutter"&&l.on(t.getWrapperElement(),"mouseover",a.onMouseOver),C(t)}}),l.defineExtension("performLint",function(){C(this)})})}()),x.exports}var N=q();const R=P(N),$=U({__proto__:null,default:R},[N]);export{$ as l};
2
+ //# sourceMappingURL=lint-B2CUTgTB.js.map