| 1 |
!(function (e) { |
| 2 |
"object" == typeof exports && "object" == typeof module ? e(require("../../lib/codemirror")) : "function" == typeof define && define.amd ? define(["../../lib/codemirror"], e) : e(CodeMirror); |
| 3 |
})(function (e) { |
| 4 |
"use strict"; |
| 5 |
e.defineMode("javascript", function (r, t) { |
| 6 |
var n, |
| 7 |
a, |
| 8 |
i = r.indentUnit, |
| 9 |
o = t.statementIndent, |
| 10 |
u = t.jsonld, |
| 11 |
s = t.json || u, |
| 12 |
f = !1 !== t.trackScope, |
| 13 |
c = t.typescript, |
| 14 |
l = t.wordCharacters || /[\w$\xa1-\uffff]/, |
| 15 |
d = (function () { |
| 16 |
function e(e) { |
| 17 |
return { type: e, style: "keyword" }; |
| 18 |
} |
| 19 |
var r = e("keyword a"), |
| 20 |
t = e("keyword b"), |
| 21 |
n = e("keyword c"), |
| 22 |
a = e("keyword d"), |
| 23 |
i = e("operator"), |
| 24 |
o = { type: "atom", style: "atom" }; |
| 25 |
return { |
| 26 |
if: e("if"), |
| 27 |
while: r, |
| 28 |
with: r, |
| 29 |
else: t, |
| 30 |
do: t, |
| 31 |
try: t, |
| 32 |
finally: t, |
| 33 |
return: a, |
| 34 |
break: a, |
| 35 |
continue: a, |
| 36 |
new: e("new"), |
| 37 |
delete: n, |
| 38 |
void: n, |
| 39 |
throw: n, |
| 40 |
debugger: e("debugger"), |
| 41 |
var: e("var"), |
| 42 |
const: e("var"), |
| 43 |
let: e("var"), |
| 44 |
function: e("function"), |
| 45 |
catch: e("catch"), |
| 46 |
for: e("for"), |
| 47 |
switch: e("switch"), |
| 48 |
case: e("case"), |
| 49 |
default: e("default"), |
| 50 |
in: i, |
| 51 |
typeof: i, |
| 52 |
instanceof: i, |
| 53 |
true: o, |
| 54 |
false: o, |
| 55 |
null: o, |
| 56 |
undefined: o, |
| 57 |
NaN: o, |
| 58 |
Infinity: o, |
| 59 |
this: e("this"), |
| 60 |
class: e("class"), |
| 61 |
super: e("atom"), |
| 62 |
yield: n, |
| 63 |
export: e("export"), |
| 64 |
import: e("import"), |
| 65 |
extends: n, |
| 66 |
await: n, |
| 67 |
}; |
| 68 |
})(), |
| 69 |
p = /[+\-*&%=<>!?|~^@]/, |
| 70 |
m = /^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/; |
| 71 |
function k(e, r, t) { |
| 72 |
return (n = e), (a = t), r; |
| 73 |
} |
| 74 |
function v(e, r) { |
| 75 |
var t, |
| 76 |
n = e.next(); |
| 77 |
if ('"' == n || "'" == n) { |
| 78 |
return ( |
| 79 |
(r.tokenize = |
| 80 |
((t = n), |
| 81 |
function (e, r) { |
| 82 |
var n, |
| 83 |
a = !1; |
| 84 |
if (u && "@" == e.peek() && e.match(m)) return (r.tokenize = v), k("jsonld-keyword", "meta"); |
| 85 |
for (; null != (n = e.next()) && (n != t || a); ) a = !a && "\\" == n; |
| 86 |
return a || (r.tokenize = v), k("string", "string"); |
| 87 |
})), |
| 88 |
r.tokenize(e, r) |
| 89 |
); |
| 90 |
} |
| 91 |
if ("." == n && e.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/)) return k("number", "number"); |
| 92 |
if ("." == n && e.match("..")) return k("spread", "meta"); |
| 93 |
if (/[\[\]{}\(\),;\:\.]/.test(n)) return k(n); |
| 94 |
if ("=" == n && e.eat(">")) return k("=>", "operator"); |
| 95 |
else if ("0" == n && e.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/)) return k("number", "number"); |
| 96 |
else if (/\d/.test(n)) return e.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/), k("number", "number"); |
| 97 |
else if ("/" == n) |
| 98 |
return e.eat("*") |
| 99 |
? ((r.tokenize = y), y(e, r)) |
| 100 |
: e.eat("/") |
| 101 |
? (e.skipToEnd(), k("comment", "comment")) |
| 102 |
: eJ(e, r, 1) |
| 103 |
? ((function e(r) { |
| 104 |
for (var t, n = !1, a = !1; null != (t = r.next()); ) { |
| 105 |
if (!n) { |
| 106 |
if ("/" == t && !a) return; |
| 107 |
"[" == t ? (a = !0) : a && "]" == t && (a = !1); |
| 108 |
} |
| 109 |
n = !n && "\\" == t; |
| 110 |
} |
| 111 |
})(e), |
| 112 |
e.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/), |
| 113 |
k("regexp", "string-2")) |
| 114 |
: (e.eat("="), k("operator", "operator", e.current())); |
| 115 |
else if ("`" == n) return (r.tokenize = w), w(e, r); |
| 116 |
else if ("#" == n && "!" == e.peek()) return e.skipToEnd(), k("meta", "meta"); |
| 117 |
else if ("#" == n && e.eatWhile(l)) return k("variable", "property"); |
| 118 |
else if (("<" == n && e.match("!--")) || ("-" == n && e.match("->") && !/\S/.test(e.string.slice(0, e.start)))) return e.skipToEnd(), k("comment", "comment"); |
| 119 |
else if (p.test(n)) |
| 120 |
return ((">" != n || !r.lexical || ">" != r.lexical.type) && (e.eat("=") ? ("!" == n || "=" == n) && e.eat("=") : /[<>*+\-|&?]/.test(n) && (e.eat(n), ">" == n && e.eat(n))), "?" == n && e.eat(".")) |
| 121 |
? k(".") |
| 122 |
: k("operator", "operator", e.current()); |
| 123 |
else if (l.test(n)) { |
| 124 |
e.eatWhile(l); |
| 125 |
var a = e.current(); |
| 126 |
if ("." != r.lastType) { |
| 127 |
if (d.propertyIsEnumerable(a)) { |
| 128 |
var i = d[a]; |
| 129 |
return k(i.type, i.style, a); |
| 130 |
} |
| 131 |
if ("async" == a && e.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/, !1)) return k("async", "keyword", a); |
| 132 |
} |
| 133 |
return k("variable", "variable", a); |
| 134 |
} |
| 135 |
} |
| 136 |
function y(e, r) { |
| 137 |
for (var t, n = !1; (t = e.next()); ) { |
| 138 |
if ("/" == t && n) { |
| 139 |
r.tokenize = v; |
| 140 |
break; |
| 141 |
} |
| 142 |
n = "*" == t; |
| 143 |
} |
| 144 |
return k("comment", "comment"); |
| 145 |
} |
| 146 |
function w(e, r) { |
| 147 |
for (var t, n = !1; null != (t = e.next()); ) { |
| 148 |
if (!n && ("`" == t || ("$" == t && e.eat("{")))) { |
| 149 |
r.tokenize = v; |
| 150 |
break; |
| 151 |
} |
| 152 |
n = !n && "\\" == t; |
| 153 |
} |
| 154 |
return k("quasi", "string-2", e.current()); |
| 155 |
} |
| 156 |
function b(e, r) { |
| 157 |
r.fatArrowAt && (r.fatArrowAt = null); |
| 158 |
var t = e.string.indexOf("=>", e.start); |
| 159 |
if (!(t < 0)) { |
| 160 |
if (c) { |
| 161 |
var n = /:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(e.string.slice(e.start, t)); |
| 162 |
n && (t = n.index); |
| 163 |
} |
| 164 |
for (var a = 0, i = !1, o = t - 1; o >= 0; --o) { |
| 165 |
var u = e.string.charAt(o), |
| 166 |
s = "([{}])".indexOf(u); |
| 167 |
if (s >= 0 && s < 3) { |
| 168 |
if (!a) { |
| 169 |
++o; |
| 170 |
break; |
| 171 |
} |
| 172 |
if (0 == --a) { |
| 173 |
"(" == u && (i = !0); |
| 174 |
break; |
| 175 |
} |
| 176 |
} else if (s >= 3 && s < 6) ++a; |
| 177 |
else if (l.test(u)) i = !0; |
| 178 |
else if (/["'\/`]/.test(u)) |
| 179 |
for (; ; --o) { |
| 180 |
if (0 == o) return; |
| 181 |
if (e.string.charAt(o - 1) == u && "\\" != e.string.charAt(o - 2)) { |
| 182 |
o--; |
| 183 |
break; |
| 184 |
} |
| 185 |
} |
| 186 |
else if (i && !a) { |
| 187 |
++o; |
| 188 |
break; |
| 189 |
} |
| 190 |
} |
| 191 |
i && !a && (r.fatArrowAt = o); |
| 192 |
} |
| 193 |
} |
| 194 |
var x = { atom: !0, number: !0, variable: !0, string: !0, regexp: !0, this: !0, import: !0, "jsonld-keyword": !0 }; |
| 195 |
function h(e, r, t, n, a, i) { |
| 196 |
(this.indented = e), (this.column = r), (this.type = t), (this.prev = a), (this.info = i), null != n && (this.align = n); |
| 197 |
} |
| 198 |
function g(e, r) { |
| 199 |
if (!f) return !1; |
| 200 |
for (var t = e.localVars; t; t = t.next) if (t.name == r) return !0; |
| 201 |
for (var n = e.context; n; n = n.prev) for (var t = n.vars; t; t = t.next) if (t.name == r) return !0; |
| 202 |
} |
| 203 |
function $(e, r, t, n, a) { |
| 204 |
var i = e.cc; |
| 205 |
for (_.state = e, _.stream = a, _.marked = null, _.cc = i, _.style = r, e.lexical.hasOwnProperty("align") || (e.lexical.align = !0); ; ) |
| 206 |
if ((i.length ? i.pop() : s ? B : U)(t, n)) { |
| 207 |
for (; i.length && i[i.length - 1].lex; ) i.pop()(); |
| 208 |
if (_.marked) return _.marked; |
| 209 |
if ("variable" == t && g(e, n)) return "variable-2"; |
| 210 |
return r; |
| 211 |
} |
| 212 |
} |
| 213 |
var _ = { state: null, column: null, marked: null, cc: null }; |
| 214 |
function j() { |
| 215 |
for (var e = arguments.length - 1; e >= 0; e--) _.cc.push(arguments[e]); |
| 216 |
} |
| 217 |
function M() { |
| 218 |
return j.apply(null, arguments), !0; |
| 219 |
} |
| 220 |
function A(e, r) { |
| 221 |
for (var t = r; t; t = t.next) if (t.name == e) return !0; |
| 222 |
return !1; |
| 223 |
} |
| 224 |
function V(e) { |
| 225 |
var r = _.state; |
| 226 |
if (((_.marked = "def"), f)) { |
| 227 |
if (r.context) { |
| 228 |
if ("var" == r.lexical.info && r.context && r.context.block) { |
| 229 |
var n = (function e(r, t) { |
| 230 |
if (!t) return null; |
| 231 |
if (t.block) { |
| 232 |
var n = e(r, t.prev); |
| 233 |
return n ? (n == t.prev ? t : new z(n, t.vars, !0)) : null; |
| 234 |
} |
| 235 |
return A(r, t.vars) ? t : new z(t.prev, new I(r, t.vars), !1); |
| 236 |
})(e, r.context); |
| 237 |
if (null != n) { |
| 238 |
r.context = n; |
| 239 |
return; |
| 240 |
} |
| 241 |
} else if (!A(e, r.localVars)) { |
| 242 |
r.localVars = new I(e, r.localVars); |
| 243 |
return; |
| 244 |
} |
| 245 |
} |
| 246 |
t.globalVars && !A(e, r.globalVars) && (r.globalVars = new I(e, r.globalVars)); |
| 247 |
} |
| 248 |
} |
| 249 |
function E(e) { |
| 250 |
return "public" == e || "private" == e || "protected" == e || "abstract" == e || "readonly" == e; |
| 251 |
} |
| 252 |
function z(e, r, t) { |
| 253 |
(this.prev = e), (this.vars = r), (this.block = t); |
| 254 |
} |
| 255 |
function I(e, r) { |
| 256 |
(this.name = e), (this.next = r); |
| 257 |
} |
| 258 |
var T = new I("this", new I("arguments", null)); |
| 259 |
function S() { |
| 260 |
(_.state.context = new z(_.state.context, _.state.localVars, !1)), (_.state.localVars = T); |
| 261 |
} |
| 262 |
function q() { |
| 263 |
(_.state.context = new z(_.state.context, _.state.localVars, !0)), (_.state.localVars = null); |
| 264 |
} |
| 265 |
function C() { |
| 266 |
(_.state.localVars = _.state.context.vars), (_.state.context = _.state.context.prev); |
| 267 |
} |
| 268 |
function O(e, r) { |
| 269 |
var t = function () { |
| 270 |
var t = _.state, |
| 271 |
n = t.indented; |
| 272 |
if ("stat" == t.lexical.type) n = t.lexical.indented; |
| 273 |
else for (var a = t.lexical; a && ")" == a.type && a.align; a = a.prev) n = a.indented; |
| 274 |
t.lexical = new h(n, _.stream.column(), e, null, t.lexical, r); |
| 275 |
}; |
| 276 |
return (t.lex = !0), t; |
| 277 |
} |
| 278 |
function P() { |
| 279 |
var e = _.state; |
| 280 |
e.lexical.prev && (")" == e.lexical.type && (e.indented = e.lexical.indented), (e.lexical = e.lexical.prev)); |
| 281 |
} |
| 282 |
function N(e) { |
| 283 |
function r(t) { |
| 284 |
return t == e ? M() : ";" == e || "}" == t || ")" == t || "]" == t ? j() : M(r); |
| 285 |
} |
| 286 |
return r; |
| 287 |
} |
| 288 |
function U(e, r) { |
| 289 |
if ("var" == e) return M(O("vardef", r), e$, N(";"), P); |
| 290 |
if ("keyword a" == e) return M(O("form"), H, U, P); |
| 291 |
if ("keyword b" == e) return M(O("form"), U, P); |
| 292 |
if ("keyword d" == e) return _.stream.match(/^\s*$/, !1) ? M() : M(O("stat"), G, N(";"), P); |
| 293 |
if ("debugger" == e) return M(N(";")); |
| 294 |
if ("{" == e) return M(O("}"), q, eu, P, C); |
| 295 |
if (";" == e) return M(); |
| 296 |
if ("if" == e) return "else" == _.state.lexical.info && _.state.cc[_.state.cc.length - 1] == P && _.state.cc.pop()(), M(O("form"), H, U, P, eE); |
| 297 |
if ("function" == e) return M(e0); |
| 298 |
if ("for" == e) return M(O("form"), q, ez, U, C, P); |
| 299 |
if ("class" == e || (c && "interface" == r)) return (_.marked = "keyword"), M(O("form", "class" == e ? e : r), eC, P); |
| 300 |
if ("variable" == e) { |
| 301 |
if (c && "declare" == r) return (_.marked = "keyword"), M(U); |
| 302 |
if (c && ("module" == r || "enum" == r || "type" == r) && _.stream.match(/^\s*\w/, !1)) |
| 303 |
return ((_.marked = "keyword"), "enum" == r) ? M(eD) : "type" == r ? M(eS, N("operator"), ed, N(";")) : M(O("form"), e_, N("{"), O("}"), eu, P, P); |
| 304 |
if (c && "namespace" == r) return (_.marked = "keyword"), M(O("form"), B, U, P); |
| 305 |
else if (c && "abstract" == r) return (_.marked = "keyword"), M(U); |
| 306 |
else return M(O("stat"), ee); |
| 307 |
} |
| 308 |
return "switch" == e |
| 309 |
? M(O("form"), H, N("{"), O("}", "switch"), q, eu, P, P, C) |
| 310 |
: "case" == e |
| 311 |
? M(B, N(":")) |
| 312 |
: "default" == e |
| 313 |
? M(N(":")) |
| 314 |
: "catch" == e |
| 315 |
? M(O("form"), S, W, U, P, C) |
| 316 |
: "export" == e |
| 317 |
? M(O("stat"), eN, P) |
| 318 |
: "import" == e |
| 319 |
? M(O("stat"), eW, P) |
| 320 |
: "async" == e |
| 321 |
? M(U) |
| 322 |
: "@" == r |
| 323 |
? M(B, U) |
| 324 |
: j(O("stat"), B, N(";"), P); |
| 325 |
} |
| 326 |
function W(e) { |
| 327 |
if ("(" == e) return M(e8, N(")")); |
| 328 |
} |
| 329 |
function B(e, r) { |
| 330 |
return D(e, r, !1); |
| 331 |
} |
| 332 |
function F(e, r) { |
| 333 |
return D(e, r, !0); |
| 334 |
} |
| 335 |
function H(e) { |
| 336 |
return "(" != e ? j() : M(O(")"), G, N(")"), P); |
| 337 |
} |
| 338 |
function D(e, r, t) { |
| 339 |
if (_.state.fatArrowAt == _.stream.start) { |
| 340 |
var n = t ? X : R; |
| 341 |
if ("(" == e) return M(S, O(")"), ei(e8, ")"), P, N("=>"), n, C); |
| 342 |
if ("variable" == e) return j(S, e_, N("=>"), n, C); |
| 343 |
} |
| 344 |
var a, |
| 345 |
i = t ? K : J; |
| 346 |
return x.hasOwnProperty(e) |
| 347 |
? M(i) |
| 348 |
: "function" == e |
| 349 |
? M(e0, i) |
| 350 |
: "class" == e || (c && "interface" == r) |
| 351 |
? ((_.marked = "keyword"), M(O("form"), eq, P)) |
| 352 |
: "keyword c" == e || "async" == e |
| 353 |
? M(t ? F : B) |
| 354 |
: "(" == e |
| 355 |
? M(O(")"), G, N(")"), P, i) |
| 356 |
: "operator" == e || "spread" == e |
| 357 |
? M(t ? F : B) |
| 358 |
: "[" == e |
| 359 |
? M(O("]"), e5, P, i) |
| 360 |
: "{" == e |
| 361 |
? eo(et, "}", null, i) |
| 362 |
: "quasi" == e |
| 363 |
? j(L, i) |
| 364 |
: "new" == e |
| 365 |
? M( |
| 366 |
((a = t), |
| 367 |
function (e) { |
| 368 |
return "." == e ? M(a ? Z : Y) : "variable" == e && c ? M(ex, a ? K : J) : j(a ? F : B); |
| 369 |
}) |
| 370 |
) |
| 371 |
: M(); |
| 372 |
} |
| 373 |
function G(e) { |
| 374 |
return e.match(/[;\}\)\],]/) ? j() : j(B); |
| 375 |
} |
| 376 |
function J(e, r) { |
| 377 |
return "," == e ? M(G) : K(e, r, !1); |
| 378 |
} |
| 379 |
function K(e, r, t) { |
| 380 |
var n = !1 == t ? J : K, |
| 381 |
a = !1 == t ? B : F; |
| 382 |
if ("=>" == e) return M(S, t ? X : R, C); |
| 383 |
if ("operator" == e) return /\+\+|--/.test(r) || (c && "!" == r) ? M(n) : c && "<" == r && _.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/, !1) ? M(O(">"), ei(ed, ">"), P, n) : "?" == r ? M(B, N(":"), a) : M(a); |
| 384 |
if ("quasi" == e) return j(L, n); |
| 385 |
if (";" != e) { |
| 386 |
if ("(" == e) return eo(F, ")", "call", n); |
| 387 |
if ("." == e) return M(er, n); |
| 388 |
if ("[" == e) return M(O("]"), G, N("]"), P, n); |
| 389 |
if (c && "as" == r) return (_.marked = "keyword"), M(ed, n); |
| 390 |
if ("regexp" == e) return (_.state.lastType = _.marked = "operator"), _.stream.backUp(_.stream.pos - _.stream.start - 1), M(a); |
| 391 |
} |
| 392 |
} |
| 393 |
function L(e, r) { |
| 394 |
return "quasi" != e ? j() : "${" != r.slice(r.length - 2) ? M(L) : M(G, Q); |
| 395 |
} |
| 396 |
function Q(e) { |
| 397 |
if ("}" == e) return (_.marked = "string-2"), (_.state.tokenize = w), M(L); |
| 398 |
} |
| 399 |
function R(e) { |
| 400 |
return b(_.stream, _.state), j("{" == e ? U : B); |
| 401 |
} |
| 402 |
function X(e) { |
| 403 |
return b(_.stream, _.state), j("{" == e ? U : F); |
| 404 |
} |
| 405 |
function Y(e, r) { |
| 406 |
if ("target" == r) return (_.marked = "keyword"), M(J); |
| 407 |
} |
| 408 |
function Z(e, r) { |
| 409 |
if ("target" == r) return (_.marked = "keyword"), M(K); |
| 410 |
} |
| 411 |
function ee(e) { |
| 412 |
return ":" == e ? M(P, U) : j(J, N(";"), P); |
| 413 |
} |
| 414 |
function er(e) { |
| 415 |
if ("variable" == e) return (_.marked = "property"), M(); |
| 416 |
} |
| 417 |
function et(e, r) { |
| 418 |
if ("async" == e) return (_.marked = "property"), M(et); |
| 419 |
if ("variable" == e || "keyword" == _.style) { |
| 420 |
var t; |
| 421 |
return ((_.marked = "property"), "get" == r || "set" == r) ? M(en) : (c && _.state.fatArrowAt == _.stream.start && (t = _.stream.match(/^\s*:\s*/, !1)) && (_.state.fatArrowAt = _.stream.pos + t[0].length), M(ea)); |
| 422 |
} |
| 423 |
if ("number" == e || "string" == e) return (_.marked = u ? "property" : _.style + " property"), M(ea); |
| 424 |
if ("jsonld-keyword" == e) return M(ea); |
| 425 |
if (c && E(r)) return (_.marked = "keyword"), M(et); |
| 426 |
else if ("[" == e) return M(B, es, N("]"), ea); |
| 427 |
else if ("spread" == e) return M(F, ea); |
| 428 |
else if ("*" == r) return (_.marked = "keyword"), M(et); |
| 429 |
else if (":" == e) return j(ea); |
| 430 |
} |
| 431 |
function en(e) { |
| 432 |
return "variable" != e ? j(ea) : ((_.marked = "property"), M(e0)); |
| 433 |
} |
| 434 |
function ea(e) { |
| 435 |
return ":" == e ? M(F) : "(" == e ? j(e0) : void 0; |
| 436 |
} |
| 437 |
function ei(e, r, t) { |
| 438 |
function n(a, i) { |
| 439 |
if (t ? t.indexOf(a) > -1 : "," == a) { |
| 440 |
var o = _.state.lexical; |
| 441 |
return ( |
| 442 |
"call" == o.info && (o.pos = (o.pos || 0) + 1), |
| 443 |
M(function (t, n) { |
| 444 |
return t == r || n == r ? j() : j(e); |
| 445 |
}, n) |
| 446 |
); |
| 447 |
} |
| 448 |
return a == r || i == r ? M() : t && t.indexOf(";") > -1 ? j(e) : M(N(r)); |
| 449 |
} |
| 450 |
return function (t, a) { |
| 451 |
return t == r || a == r ? M() : j(e, n); |
| 452 |
}; |
| 453 |
} |
| 454 |
function eo(e, r, t) { |
| 455 |
for (var n = 3; n < arguments.length; n++) _.cc.push(arguments[n]); |
| 456 |
return M(O(r, t), ei(e, r), P); |
| 457 |
} |
| 458 |
function eu(e) { |
| 459 |
return "}" == e ? M() : j(U, eu); |
| 460 |
} |
| 461 |
function es(e, r) { |
| 462 |
if (c) { |
| 463 |
if (":" == e) return M(ed); |
| 464 |
if ("?" == r) return M(es); |
| 465 |
} |
| 466 |
} |
| 467 |
function ef(e, r) { |
| 468 |
if (c && (":" == e || "in" == r)) return M(ed); |
| 469 |
} |
| 470 |
function ec(e) { |
| 471 |
if (c && ":" == e) return _.stream.match(/^\s*\w+\s+is\b/, !1) ? M(B, el, ed) : M(ed); |
| 472 |
} |
| 473 |
function el(e, r) { |
| 474 |
if ("is" == r) return (_.marked = "keyword"), M(); |
| 475 |
} |
| 476 |
function ed(e, r) { |
| 477 |
return "keyof" == r || "typeof" == r || "infer" == r || "readonly" == r |
| 478 |
? ((_.marked = "keyword"), M("typeof" == r ? F : ed)) |
| 479 |
: "variable" == e || "void" == r |
| 480 |
? ((_.marked = "type"), M(eb)) |
| 481 |
: "|" == r || "&" == r |
| 482 |
? M(ed) |
| 483 |
: "string" == e || "number" == e || "atom" == e |
| 484 |
? M(eb) |
| 485 |
: "[" == e |
| 486 |
? M(O("]"), ei(ed, "]", ","), P, eb) |
| 487 |
: "{" == e |
| 488 |
? M(O("}"), em, P, eb) |
| 489 |
: "(" == e |
| 490 |
? M(ei(ew, ")"), ep, eb) |
| 491 |
: "<" == e |
| 492 |
? M(ei(ed, ">"), ed) |
| 493 |
: "quasi" == e |
| 494 |
? j(ev, eb) |
| 495 |
: void 0; |
| 496 |
} |
| 497 |
function ep(e) { |
| 498 |
if ("=>" == e) return M(ed); |
| 499 |
} |
| 500 |
function em(e) { |
| 501 |
return e.match(/[\}\)\]]/) ? M() : "," == e || ";" == e ? M(em) : j(ek, em); |
| 502 |
} |
| 503 |
function ek(e, r) { |
| 504 |
if ("variable" == e || "keyword" == _.style) return (_.marked = "property"), M(ek); |
| 505 |
if ("?" == r || "number" == e || "string" == e) return M(ek); |
| 506 |
if (":" == e) return M(ed); |
| 507 |
if ("[" == e) return M(N("variable"), ef, N("]"), ek); |
| 508 |
if ("(" == e) return j(e9, ek); |
| 509 |
else if (!e.match(/[;\}\)\],]/)) return M(); |
| 510 |
} |
| 511 |
function ev(e, r) { |
| 512 |
return "quasi" != e ? j() : "${" != r.slice(r.length - 2) ? M(ev) : M(ed, ey); |
| 513 |
} |
| 514 |
function ey(e) { |
| 515 |
if ("}" == e) return (_.marked = "string-2"), (_.state.tokenize = w), M(ev); |
| 516 |
} |
| 517 |
function ew(e, r) { |
| 518 |
return ("variable" == e && _.stream.match(/^\s*[?:]/, !1)) || "?" == r ? M(ew) : ":" == e ? M(ed) : "spread" == e ? M(ew) : j(ed); |
| 519 |
} |
| 520 |
function eb(e, r) { |
| 521 |
return "<" == r |
| 522 |
? M(O(">"), ei(ed, ">"), P, eb) |
| 523 |
: "|" == r || "." == e || "&" == r |
| 524 |
? M(ed) |
| 525 |
: "[" == e |
| 526 |
? M(ed, N("]"), eb) |
| 527 |
: "extends" == r || "implements" == r |
| 528 |
? ((_.marked = "keyword"), M(ed)) |
| 529 |
: "?" == r |
| 530 |
? M(ed, N(":"), ed) |
| 531 |
: void 0; |
| 532 |
} |
| 533 |
function ex(e, r) { |
| 534 |
if ("<" == r) return M(O(">"), ei(ed, ">"), P, eb); |
| 535 |
} |
| 536 |
function eh() { |
| 537 |
return j(ed, eg); |
| 538 |
} |
| 539 |
function eg(e, r) { |
| 540 |
if ("=" == r) return M(ed); |
| 541 |
} |
| 542 |
function e$(e, r) { |
| 543 |
return "enum" == r ? ((_.marked = "keyword"), M(eD)) : j(e_, es, eA, eV); |
| 544 |
} |
| 545 |
function e_(e, r) { |
| 546 |
return c && E(r) ? ((_.marked = "keyword"), M(e_)) : "variable" == e ? (V(r), M()) : "spread" == e ? M(e_) : "[" == e ? eo(eM, "]") : "{" == e ? eo(ej, "}") : void 0; |
| 547 |
} |
| 548 |
function ej(e, r) { |
| 549 |
return "variable" != e || _.stream.match(/^\s*:/, !1) ? (("variable" == e && (_.marked = "property"), "spread" == e) ? M(e_) : "}" == e ? j() : "[" == e ? M(B, N("]"), N(":"), ej) : M(N(":"), e_, eA)) : (V(r), M(eA)); |
| 550 |
} |
| 551 |
function eM() { |
| 552 |
return j(e_, eA); |
| 553 |
} |
| 554 |
function eA(e, r) { |
| 555 |
if ("=" == r) return M(F); |
| 556 |
} |
| 557 |
function eV(e) { |
| 558 |
if ("," == e) return M(e$); |
| 559 |
} |
| 560 |
function eE(e, r) { |
| 561 |
if ("keyword b" == e && "else" == r) return M(O("form", "else"), U, P); |
| 562 |
} |
| 563 |
function ez(e, r) { |
| 564 |
return "await" == r ? M(ez) : "(" == e ? M(O(")"), eI, P) : void 0; |
| 565 |
} |
| 566 |
function eI(e) { |
| 567 |
return "var" == e ? M(e$, eT) : "variable" == e ? M(eT) : j(eT); |
| 568 |
} |
| 569 |
function eT(e, r) { |
| 570 |
return ")" == e ? M() : ";" == e ? M(eT) : "in" == r || "of" == r ? ((_.marked = "keyword"), M(B, eT)) : j(B, eT); |
| 571 |
} |
| 572 |
function e0(e, r) { |
| 573 |
return "*" == r ? ((_.marked = "keyword"), M(e0)) : "variable" == e ? (V(r), M(e0)) : "(" == e ? M(S, O(")"), ei(e8, ")"), P, ec, U, C) : c && "<" == r ? M(O(">"), ei(eh, ">"), P, e0) : void 0; |
| 574 |
} |
| 575 |
function e9(e, r) { |
| 576 |
return "*" == r ? ((_.marked = "keyword"), M(e9)) : "variable" == e ? (V(r), M(e9)) : "(" == e ? M(S, O(")"), ei(e8, ")"), P, ec, C) : c && "<" == r ? M(O(">"), ei(eh, ">"), P, e9) : void 0; |
| 577 |
} |
| 578 |
function eS(e, r) { |
| 579 |
return "keyword" == e || "variable" == e ? ((_.marked = "type"), M(eS)) : "<" == r ? M(O(">"), ei(eh, ">"), P) : void 0; |
| 580 |
} |
| 581 |
function e8(e, r) { |
| 582 |
return ("@" == r && M(B, e8), "spread" == e) ? M(e8) : c && E(r) ? ((_.marked = "keyword"), M(e8)) : c && "this" == e ? M(es, eA) : j(e_, es, eA); |
| 583 |
} |
| 584 |
function eq(e, r) { |
| 585 |
return "variable" == e ? eC(e, r) : eO(e, r); |
| 586 |
} |
| 587 |
function eC(e, r) { |
| 588 |
if ("variable" == e) return V(r), M(eO); |
| 589 |
} |
| 590 |
function eO(e, r) { |
| 591 |
return "<" == r ? M(O(">"), ei(eh, ">"), P, eO) : "extends" == r || "implements" == r || (c && "," == e) ? ("implements" == r && (_.marked = "keyword"), M(c ? ed : B, eO)) : "{" == e ? M(O("}"), eP, P) : void 0; |
| 592 |
} |
| 593 |
function eP(e, r) { |
| 594 |
return "async" == e || ("variable" == e && ("static" == r || "get" == r || "set" == r || (c && E(r))) && _.stream.match(/^\s+[\w$\xa1-\uffff]/, !1)) |
| 595 |
? ((_.marked = "keyword"), M(eP)) |
| 596 |
: "variable" == e || "keyword" == _.style |
| 597 |
? ((_.marked = "property"), M(e1, eP)) |
| 598 |
: "number" == e || "string" == e |
| 599 |
? M(e1, eP) |
| 600 |
: "[" == e |
| 601 |
? M(B, es, N("]"), e1, eP) |
| 602 |
: "*" == r |
| 603 |
? ((_.marked = "keyword"), M(eP)) |
| 604 |
: c && "(" == e |
| 605 |
? j(e9, eP) |
| 606 |
: ";" == e || "," == e |
| 607 |
? M(eP) |
| 608 |
: "}" == e |
| 609 |
? M() |
| 610 |
: "@" == r |
| 611 |
? M(B, eP) |
| 612 |
: void 0; |
| 613 |
} |
| 614 |
function e1(e, r) { |
| 615 |
if ("!" == r || "?" == r) return M(e1); |
| 616 |
if (":" == e) return M(ed, eA); |
| 617 |
if ("=" == r) return M(F); |
| 618 |
var t = _.state.lexical.prev; |
| 619 |
return j(t && "interface" == t.info ? e9 : e0); |
| 620 |
} |
| 621 |
function eN(e, r) { |
| 622 |
return "*" == r ? ((_.marked = "keyword"), M(e4, N(";"))) : "default" == r ? ((_.marked = "keyword"), M(B, N(";"))) : "{" == e ? M(ei(eU, "}"), e4, N(";")) : j(U); |
| 623 |
} |
| 624 |
function eU(e, r) { |
| 625 |
return "as" == r ? ((_.marked = "keyword"), M(N("variable"))) : "variable" == e ? j(F, eU) : void 0; |
| 626 |
} |
| 627 |
function eW(e) { |
| 628 |
return "string" == e ? M() : "(" == e ? j(B) : "." == e ? j(J) : j(eB, eF, e4); |
| 629 |
} |
| 630 |
function eB(e, r) { |
| 631 |
return "{" == e ? eo(eB, "}") : ("variable" == e && V(r), "*" == r && (_.marked = "keyword"), M(eH)); |
| 632 |
} |
| 633 |
function eF(e) { |
| 634 |
if ("," == e) return M(eB, eF); |
| 635 |
} |
| 636 |
function eH(e, r) { |
| 637 |
if ("as" == r) return (_.marked = "keyword"), M(eB); |
| 638 |
} |
| 639 |
function e4(e, r) { |
| 640 |
if ("from" == r) return (_.marked = "keyword"), M(B); |
| 641 |
} |
| 642 |
function e5(e) { |
| 643 |
return "]" == e ? M() : j(ei(F, "]")); |
| 644 |
} |
| 645 |
function eD() { |
| 646 |
return j(O("form"), e_, N("{"), O("}"), ei(eG, "}"), P, P); |
| 647 |
} |
| 648 |
function eG() { |
| 649 |
return j(e_, eA); |
| 650 |
} |
| 651 |
function eJ(e, r, t) { |
| 652 |
return (r.tokenize == v && /^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(r.lastType)) || ("quasi" == r.lastType && /\{\s*$/.test(e.string.slice(0, e.pos - (t || 0)))); |
| 653 |
} |
| 654 |
return ( |
| 655 |
(S.lex = q.lex = !0), |
| 656 |
(C.lex = !0), |
| 657 |
(P.lex = !0), |
| 658 |
{ |
| 659 |
startState: function (e) { |
| 660 |
var r = { tokenize: v, lastType: "sof", cc: [], lexical: new h((e || 0) - i, 0, "block", !1), localVars: t.localVars, context: t.localVars && new z(null, null, !1), indented: e || 0 }; |
| 661 |
return t.globalVars && "object" == typeof t.globalVars && (r.globalVars = t.globalVars), r; |
| 662 |
}, |
| 663 |
token: function (e, r) { |
| 664 |
if ((e.sol() && (r.lexical.hasOwnProperty("align") || (r.lexical.align = !1), (r.indented = e.indentation()), b(e, r)), r.tokenize != y && e.eatSpace())) return null; |
| 665 |
var t = r.tokenize(e, r); |
| 666 |
return "comment" == n ? t : ((r.lastType = "operator" == n && ("++" == a || "--" == a) ? "incdec" : n), $(r, t, n, a, e)); |
| 667 |
}, |
| 668 |
indent: function (r, n) { |
| 669 |
if (r.tokenize == y || r.tokenize == w) return e.Pass; |
| 670 |
if (r.tokenize != v) return 0; |
| 671 |
var a, |
| 672 |
u, |
| 673 |
s, |
| 674 |
f = n && n.charAt(0), |
| 675 |
c = r.lexical; |
| 676 |
if (!/^\s*else\b/.test(n)) |
| 677 |
for (var l = r.cc.length - 1; l >= 0; --l) { |
| 678 |
var d = r.cc[l]; |
| 679 |
if (d == P) c = c.prev; |
| 680 |
else if (d != eE && d != C) break; |
| 681 |
} |
| 682 |
for (; ("stat" == c.type || "form" == c.type) && ("}" == f || ((s = r.cc[r.cc.length - 1]) && (s == J || s == K) && !/^[,\.=+\-*:?[\(]/.test(n))); ) c = c.prev; |
| 683 |
o && ")" == c.type && "stat" == c.prev.type && (c = c.prev); |
| 684 |
var m = c.type, |
| 685 |
k = f == m; |
| 686 |
if ("vardef" == m) return c.indented + ("operator" == r.lastType || "," == r.lastType ? c.info.length + 1 : 0); |
| 687 |
if ("form" == m && "{" == f) return c.indented; |
| 688 |
if ("form" == m) return c.indented + i; |
| 689 |
if ("stat" == m) return c.indented + (((a = r), (u = n), "operator" == a.lastType || "," == a.lastType || p.test(u.charAt(0)) || /[,.]/.test(u.charAt(0))) ? o || i : 0); |
| 690 |
if ("switch" == c.info && !k && !1 != t.doubleIndentSwitch) return c.indented + (/^(?:case|default)\b/.test(n) ? i : 2 * i); |
| 691 |
else if (c.align) return c.column + (k ? 0 : 1); |
| 692 |
else return c.indented + (k ? 0 : i); |
| 693 |
}, |
| 694 |
electricInput: /^\s*(?:case .*?:|default:|\{|\})$/, |
| 695 |
blockCommentStart: s ? null : "/*", |
| 696 |
blockCommentEnd: s ? null : "*/", |
| 697 |
blockCommentContinue: s ? null : " * ", |
| 698 |
lineComment: s ? null : "//", |
| 699 |
fold: "brace", |
| 700 |
closeBrackets: "()[]{}''\"\"``", |
| 701 |
helperType: s ? "json" : "javascript", |
| 702 |
jsonldMode: u, |
| 703 |
jsonMode: s, |
| 704 |
expressionAllowed: eJ, |
| 705 |
skipExpression: function (r) { |
| 706 |
$(r, "atom", "atom", "true", new e.StringStream("", 2, null)); |
| 707 |
}, |
| 708 |
} |
| 709 |
); |
| 710 |
}), |
| 711 |
e.registerHelper("wordChars", "javascript", /[\w$]/), |
| 712 |
e.defineMIME("text/javascript", "javascript"), |
| 713 |
e.defineMIME("text/ecmascript", "javascript"), |
| 714 |
e.defineMIME("application/javascript", "javascript"), |
| 715 |
e.defineMIME("application/x-javascript", "javascript"), |
| 716 |
e.defineMIME("application/ecmascript", "javascript"), |
| 717 |
e.defineMIME("application/json", { name: "javascript", json: !0 }), |
| 718 |
e.defineMIME("application/x-json", { name: "javascript", json: !0 }), |
| 719 |
e.defineMIME("application/manifest+json", { name: "javascript", json: !0 }), |
| 720 |
e.defineMIME("application/ld+json", { name: "javascript", jsonld: !0 }), |
| 721 |
e.defineMIME("text/typescript", { name: "javascript", typescript: !0 }), |
| 722 |
e.defineMIME("application/typescript", { name: "javascript", typescript: !0 }); |
| 723 |
}); |
| 724 |
|