@cloud-cli/on 1.36.2 → 1.37.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.
- package/dist/on.js +1154 -1144
- package/dist/types.d.ts +7 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/worker.d.ts.map +1 -1
- package/dist/workflows.d.ts.map +1 -1
- package/package.json +9 -9
package/dist/on.js
CHANGED
|
@@ -1509,22 +1509,22 @@ function Ge(e, t) {
|
|
|
1509
1509
|
var w = function(e, t) {
|
|
1510
1510
|
t === void 0 && (t = {}), this.label = e, this.keyword = t.keyword, this.beforeExpr = !!t.beforeExpr, this.startsExpr = !!t.startsExpr, this.isLoop = !!t.isLoop, this.isAssign = !!t.isAssign, this.prefix = !!t.prefix, this.postfix = !!t.postfix, this.binop = t.binop || null, this.updateContext = null;
|
|
1511
1511
|
};
|
|
1512
|
-
function
|
|
1512
|
+
function Ke(e, t) {
|
|
1513
1513
|
return new w(e, {
|
|
1514
1514
|
beforeExpr: !0,
|
|
1515
1515
|
binop: t
|
|
1516
1516
|
});
|
|
1517
1517
|
}
|
|
1518
|
-
var
|
|
1519
|
-
function
|
|
1520
|
-
return t === void 0 && (t = {}), t.keyword = e,
|
|
1518
|
+
var T = { beforeExpr: !0 }, E = { startsExpr: !0 }, qe = {};
|
|
1519
|
+
function D(e, t) {
|
|
1520
|
+
return t === void 0 && (t = {}), t.keyword = e, qe[e] = new w(e, t);
|
|
1521
1521
|
}
|
|
1522
|
-
var
|
|
1523
|
-
num: new w("num",
|
|
1524
|
-
regexp: new w("regexp",
|
|
1525
|
-
string: new w("string",
|
|
1526
|
-
name: new w("name",
|
|
1527
|
-
privateId: new w("privateId",
|
|
1522
|
+
var O = {
|
|
1523
|
+
num: new w("num", E),
|
|
1524
|
+
regexp: new w("regexp", E),
|
|
1525
|
+
string: new w("string", E),
|
|
1526
|
+
name: new w("name", E),
|
|
1527
|
+
privateId: new w("privateId", E),
|
|
1528
1528
|
eof: new w("eof"),
|
|
1529
1529
|
bracketL: new w("[", {
|
|
1530
1530
|
beforeExpr: !0,
|
|
@@ -1541,17 +1541,17 @@ var k = {
|
|
|
1541
1541
|
startsExpr: !0
|
|
1542
1542
|
}),
|
|
1543
1543
|
parenR: new w(")"),
|
|
1544
|
-
comma: new w(",",
|
|
1545
|
-
semi: new w(";",
|
|
1546
|
-
colon: new w(":",
|
|
1544
|
+
comma: new w(",", T),
|
|
1545
|
+
semi: new w(";", T),
|
|
1546
|
+
colon: new w(":", T),
|
|
1547
1547
|
dot: new w("."),
|
|
1548
|
-
question: new w("?",
|
|
1548
|
+
question: new w("?", T),
|
|
1549
1549
|
questionDot: new w("?."),
|
|
1550
|
-
arrow: new w("=>",
|
|
1550
|
+
arrow: new w("=>", T),
|
|
1551
1551
|
template: new w("template"),
|
|
1552
1552
|
invalidTemplate: new w("invalidTemplate"),
|
|
1553
|
-
ellipsis: new w("...",
|
|
1554
|
-
backQuote: new w("`",
|
|
1553
|
+
ellipsis: new w("...", T),
|
|
1554
|
+
backQuote: new w("`", E),
|
|
1555
1555
|
dollarBraceL: new w("${", {
|
|
1556
1556
|
beforeExpr: !0,
|
|
1557
1557
|
startsExpr: !0
|
|
@@ -1574,124 +1574,124 @@ var k = {
|
|
|
1574
1574
|
prefix: !0,
|
|
1575
1575
|
startsExpr: !0
|
|
1576
1576
|
}),
|
|
1577
|
-
logicalOR:
|
|
1578
|
-
logicalAND:
|
|
1579
|
-
bitwiseOR:
|
|
1580
|
-
bitwiseXOR:
|
|
1581
|
-
bitwiseAND:
|
|
1582
|
-
equality:
|
|
1583
|
-
relational:
|
|
1584
|
-
bitShift:
|
|
1577
|
+
logicalOR: Ke("||", 1),
|
|
1578
|
+
logicalAND: Ke("&&", 2),
|
|
1579
|
+
bitwiseOR: Ke("|", 3),
|
|
1580
|
+
bitwiseXOR: Ke("^", 4),
|
|
1581
|
+
bitwiseAND: Ke("&", 5),
|
|
1582
|
+
equality: Ke("==/!=/===/!==", 6),
|
|
1583
|
+
relational: Ke("</>/<=/>=", 7),
|
|
1584
|
+
bitShift: Ke("<</>>/>>>", 8),
|
|
1585
1585
|
plusMin: new w("+/-", {
|
|
1586
1586
|
beforeExpr: !0,
|
|
1587
1587
|
binop: 9,
|
|
1588
1588
|
prefix: !0,
|
|
1589
1589
|
startsExpr: !0
|
|
1590
1590
|
}),
|
|
1591
|
-
modulo:
|
|
1592
|
-
star:
|
|
1593
|
-
slash:
|
|
1591
|
+
modulo: Ke("%", 10),
|
|
1592
|
+
star: Ke("*", 10),
|
|
1593
|
+
slash: Ke("/", 10),
|
|
1594
1594
|
starstar: new w("**", { beforeExpr: !0 }),
|
|
1595
|
-
coalesce:
|
|
1596
|
-
_break:
|
|
1597
|
-
_case:
|
|
1598
|
-
_catch:
|
|
1599
|
-
_continue:
|
|
1600
|
-
_debugger:
|
|
1601
|
-
_default:
|
|
1602
|
-
_do:
|
|
1595
|
+
coalesce: Ke("??", 1),
|
|
1596
|
+
_break: D("break"),
|
|
1597
|
+
_case: D("case", T),
|
|
1598
|
+
_catch: D("catch"),
|
|
1599
|
+
_continue: D("continue"),
|
|
1600
|
+
_debugger: D("debugger"),
|
|
1601
|
+
_default: D("default", T),
|
|
1602
|
+
_do: D("do", {
|
|
1603
1603
|
isLoop: !0,
|
|
1604
1604
|
beforeExpr: !0
|
|
1605
1605
|
}),
|
|
1606
|
-
_else:
|
|
1607
|
-
_finally:
|
|
1608
|
-
_for:
|
|
1609
|
-
_function:
|
|
1610
|
-
_if:
|
|
1611
|
-
_return:
|
|
1612
|
-
_switch:
|
|
1613
|
-
_throw:
|
|
1614
|
-
_try:
|
|
1615
|
-
_var:
|
|
1616
|
-
_const:
|
|
1617
|
-
_while:
|
|
1618
|
-
_with:
|
|
1619
|
-
_new:
|
|
1606
|
+
_else: D("else", T),
|
|
1607
|
+
_finally: D("finally"),
|
|
1608
|
+
_for: D("for", { isLoop: !0 }),
|
|
1609
|
+
_function: D("function", E),
|
|
1610
|
+
_if: D("if"),
|
|
1611
|
+
_return: D("return", T),
|
|
1612
|
+
_switch: D("switch"),
|
|
1613
|
+
_throw: D("throw", T),
|
|
1614
|
+
_try: D("try"),
|
|
1615
|
+
_var: D("var"),
|
|
1616
|
+
_const: D("const"),
|
|
1617
|
+
_while: D("while", { isLoop: !0 }),
|
|
1618
|
+
_with: D("with"),
|
|
1619
|
+
_new: D("new", {
|
|
1620
1620
|
beforeExpr: !0,
|
|
1621
1621
|
startsExpr: !0
|
|
1622
1622
|
}),
|
|
1623
|
-
_this:
|
|
1624
|
-
_super:
|
|
1625
|
-
_class:
|
|
1626
|
-
_extends:
|
|
1627
|
-
_export:
|
|
1628
|
-
_import:
|
|
1629
|
-
_null:
|
|
1630
|
-
_true:
|
|
1631
|
-
_false:
|
|
1632
|
-
_in:
|
|
1623
|
+
_this: D("this", E),
|
|
1624
|
+
_super: D("super", E),
|
|
1625
|
+
_class: D("class", E),
|
|
1626
|
+
_extends: D("extends", T),
|
|
1627
|
+
_export: D("export"),
|
|
1628
|
+
_import: D("import", E),
|
|
1629
|
+
_null: D("null", E),
|
|
1630
|
+
_true: D("true", E),
|
|
1631
|
+
_false: D("false", E),
|
|
1632
|
+
_in: D("in", {
|
|
1633
1633
|
beforeExpr: !0,
|
|
1634
1634
|
binop: 7
|
|
1635
1635
|
}),
|
|
1636
|
-
_instanceof:
|
|
1636
|
+
_instanceof: D("instanceof", {
|
|
1637
1637
|
beforeExpr: !0,
|
|
1638
1638
|
binop: 7
|
|
1639
1639
|
}),
|
|
1640
|
-
_typeof:
|
|
1640
|
+
_typeof: D("typeof", {
|
|
1641
1641
|
beforeExpr: !0,
|
|
1642
1642
|
prefix: !0,
|
|
1643
1643
|
startsExpr: !0
|
|
1644
1644
|
}),
|
|
1645
|
-
_void:
|
|
1645
|
+
_void: D("void", {
|
|
1646
1646
|
beforeExpr: !0,
|
|
1647
1647
|
prefix: !0,
|
|
1648
1648
|
startsExpr: !0
|
|
1649
1649
|
}),
|
|
1650
|
-
_delete:
|
|
1650
|
+
_delete: D("delete", {
|
|
1651
1651
|
beforeExpr: !0,
|
|
1652
1652
|
prefix: !0,
|
|
1653
1653
|
startsExpr: !0
|
|
1654
1654
|
})
|
|
1655
|
-
},
|
|
1656
|
-
function
|
|
1655
|
+
}, k = /\r\n?|\n|\u2028|\u2029/, Je = new RegExp(k.source, "g");
|
|
1656
|
+
function Ye(e) {
|
|
1657
1657
|
return e === 10 || e === 13 || e === 8232 || e === 8233;
|
|
1658
1658
|
}
|
|
1659
|
-
function
|
|
1659
|
+
function Xe(e, t, n) {
|
|
1660
1660
|
n === void 0 && (n = e.length);
|
|
1661
1661
|
for (var r = t; r < n; r++) {
|
|
1662
1662
|
var i = e.charCodeAt(r);
|
|
1663
|
-
if (
|
|
1663
|
+
if (Ye(i)) return r < n - 1 && i === 13 && e.charCodeAt(r + 1) === 10 ? r + 2 : r + 1;
|
|
1664
1664
|
}
|
|
1665
1665
|
return -1;
|
|
1666
1666
|
}
|
|
1667
|
-
var
|
|
1668
|
-
return
|
|
1669
|
-
}),
|
|
1670
|
-
return
|
|
1671
|
-
}),
|
|
1672
|
-
function rt(e) {
|
|
1673
|
-
return nt[e] || (nt[e] = RegExp("^(?:" + e.replace(/ /g, "|") + ")$"));
|
|
1674
|
-
}
|
|
1667
|
+
var Ze = /[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/, A = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g, Qe = Object.prototype, $e = Qe.hasOwnProperty, et = Qe.toString, tt = Object.hasOwn || (function(e, t) {
|
|
1668
|
+
return $e.call(e, t);
|
|
1669
|
+
}), nt = Array.isArray || (function(e) {
|
|
1670
|
+
return et.call(e) === "[object Array]";
|
|
1671
|
+
}), rt = Object.create(null);
|
|
1675
1672
|
function it(e) {
|
|
1673
|
+
return rt[e] || (rt[e] = RegExp("^(?:" + e.replace(/ /g, "|") + ")$"));
|
|
1674
|
+
}
|
|
1675
|
+
function at(e) {
|
|
1676
1676
|
return e <= 65535 ? String.fromCharCode(e) : (e -= 65536, String.fromCharCode((e >> 10) + 55296, (e & 1023) + 56320));
|
|
1677
1677
|
}
|
|
1678
|
-
var
|
|
1678
|
+
var ot = /(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/, st = function(e, t) {
|
|
1679
1679
|
this.line = e, this.column = t;
|
|
1680
1680
|
};
|
|
1681
|
-
|
|
1682
|
-
return new
|
|
1681
|
+
st.prototype.offset = function(e) {
|
|
1682
|
+
return new st(this.line, this.column + e);
|
|
1683
1683
|
};
|
|
1684
|
-
var
|
|
1684
|
+
var ct = function(e, t, n) {
|
|
1685
1685
|
this.start = t, this.end = n, e.sourceFile !== null && (this.source = e.sourceFile);
|
|
1686
1686
|
};
|
|
1687
|
-
function
|
|
1687
|
+
function lt(e, t) {
|
|
1688
1688
|
for (var n = 1, r = 0;;) {
|
|
1689
|
-
var i =
|
|
1690
|
-
if (i < 0) return new
|
|
1689
|
+
var i = Xe(e, r, t);
|
|
1690
|
+
if (i < 0) return new st(n, t - r);
|
|
1691
1691
|
++n, r = i;
|
|
1692
1692
|
}
|
|
1693
1693
|
}
|
|
1694
|
-
var
|
|
1694
|
+
var ut = {
|
|
1695
1695
|
ecmaVersion: null,
|
|
1696
1696
|
sourceType: "script",
|
|
1697
1697
|
strict: !1,
|
|
@@ -1713,20 +1713,20 @@ var lt = {
|
|
|
1713
1713
|
sourceFile: null,
|
|
1714
1714
|
directSourceFile: null,
|
|
1715
1715
|
preserveParens: !1
|
|
1716
|
-
},
|
|
1717
|
-
function
|
|
1716
|
+
}, dt = !1;
|
|
1717
|
+
function ft(e) {
|
|
1718
1718
|
var t = {};
|
|
1719
|
-
for (var n in
|
|
1720
|
-
if (t.ecmaVersion === "latest" ? t.ecmaVersion = 1e8 : t.ecmaVersion == null ? (!
|
|
1719
|
+
for (var n in ut) t[n] = e && tt(e, n) ? e[n] : ut[n];
|
|
1720
|
+
if (t.ecmaVersion === "latest" ? t.ecmaVersion = 1e8 : t.ecmaVersion == null ? (!dt && typeof console == "object" && console.warn && (dt = !0, console.warn("Since Acorn 8.0.0, options.ecmaVersion is required.\nDefaulting to 2020, but this will stop working in the future.")), t.ecmaVersion = 11) : t.ecmaVersion >= 2015 && (t.ecmaVersion -= 2009), t.allowReserved ??= t.ecmaVersion < 5, (!e || e.allowHashBang == null) && (t.allowHashBang = t.ecmaVersion >= 14), nt(t.onToken)) {
|
|
1721
1721
|
var r = t.onToken;
|
|
1722
1722
|
t.onToken = function(e) {
|
|
1723
1723
|
return r.push(e);
|
|
1724
1724
|
};
|
|
1725
1725
|
}
|
|
1726
|
-
if (
|
|
1726
|
+
if (nt(t.onComment) && (t.onComment = pt(t, t.onComment)), t.sourceType === "commonjs" && t.allowAwaitOutsideFunction) throw Error("Cannot use allowAwaitOutsideFunction with sourceType: commonjs");
|
|
1727
1727
|
return t;
|
|
1728
1728
|
}
|
|
1729
|
-
function
|
|
1729
|
+
function pt(e, t) {
|
|
1730
1730
|
return function(n, r, i, a, o, s) {
|
|
1731
1731
|
var c = {
|
|
1732
1732
|
type: n ? "Block" : "Line",
|
|
@@ -1734,20 +1734,20 @@ function ft(e, t) {
|
|
|
1734
1734
|
start: i,
|
|
1735
1735
|
end: a
|
|
1736
1736
|
};
|
|
1737
|
-
e.locations && (c.loc = new
|
|
1737
|
+
e.locations && (c.loc = new ct(this, o, s)), e.ranges && (c.range = [i, a]), t.push(c);
|
|
1738
1738
|
};
|
|
1739
1739
|
}
|
|
1740
|
-
var
|
|
1741
|
-
function
|
|
1742
|
-
return
|
|
1740
|
+
var mt = 1, ht = 2, gt = 4, _t = 8, vt = 16, yt = 32, bt = 64, xt = 128, St = 256, Ct = 512, wt = 1024, Tt = mt | ht | St;
|
|
1741
|
+
function Et(e, t) {
|
|
1742
|
+
return ht | (e ? gt : 0) | (t ? _t : 0);
|
|
1743
1743
|
}
|
|
1744
|
-
var
|
|
1745
|
-
this.options = e =
|
|
1744
|
+
var Dt = 0, Ot = 1, kt = 2, At = 3, jt = 4, Mt = 5, j = function(e, t, n) {
|
|
1745
|
+
this.options = e = ft(e), this.sourceFile = e.sourceFile, this.keywords = it(ze[e.ecmaVersion >= 6 ? 6 : e.sourceType === "module" ? "5module" : 5]);
|
|
1746
1746
|
var r = "";
|
|
1747
|
-
e.allowReserved !== !0 && (r = Le[e.ecmaVersion >= 6 ? 6 : e.ecmaVersion === 5 ? 5 : 3], e.sourceType === "module" && (r += " await")), this.reservedWords =
|
|
1747
|
+
e.allowReserved !== !0 && (r = Le[e.ecmaVersion >= 6 ? 6 : e.ecmaVersion === 5 ? 5 : 3], e.sourceType === "module" && (r += " await")), this.reservedWords = it(r);
|
|
1748
1748
|
var i = (r ? r + " " : "") + Le.strict;
|
|
1749
|
-
this.reservedWordsStrict =
|
|
1750
|
-
},
|
|
1749
|
+
this.reservedWordsStrict = it(i), this.reservedWordsStrictBind = it(i + " " + Le.strictBind), this.input = String(t), this.containsEsc = !1, this.pos = n || 0, this.curLine = 1, e.startLocation ? (this.lineStart = this.pos - e.startLocation.column, this.curLine = e.startLocation.line) : n ? (this.lineStart = this.input.lastIndexOf("\n", n - 1) + 1, this.options.locations && (this.curLine = this.input.slice(0, this.lineStart).split(k).length)) : this.lineStart = 0, this.type = O.eof, this.value = null, this.start = this.end = this.pos, this.startLoc = this.endLoc = this.curPosition(), this.lastTokEndLoc = this.lastTokStartLoc = null, this.lastTokStart = this.lastTokEnd = this.pos, this.context = this.initialContext(), this.exprAllowed = !0, this.inModule = e.sourceType === "module", this.strict = this.inModule || e.strict === !0 || this.strictDirective(this.pos), this.potentialArrowAt = -1, this.potentialArrowInForAwait = !1, this.yieldPos = this.awaitPos = this.awaitIdentPos = 0, this.labels = [], this.undefinedExports = Object.create(null), this.pos === 0 && e.allowHashBang && this.input.slice(0, 2) === "#!" && this.skipLineComment(2), this.scopeStack = [], this.enterScope(this.options.sourceType === "commonjs" ? ht : mt), this.regexpState = null, this.privateNameStack = [];
|
|
1750
|
+
}, M = {
|
|
1751
1751
|
inFunction: { configurable: !0 },
|
|
1752
1752
|
inGenerator: { configurable: !0 },
|
|
1753
1753
|
inAsync: { configurable: !0 },
|
|
@@ -1760,120 +1760,120 @@ var Et = 0, Dt = 1, Ot = 2, kt = 3, At = 4, jt = 5, M = function(e, t, n) {
|
|
|
1760
1760
|
allowUsing: { configurable: !0 },
|
|
1761
1761
|
inClassStaticBlock: { configurable: !0 }
|
|
1762
1762
|
};
|
|
1763
|
-
|
|
1763
|
+
j.prototype.parse = function() {
|
|
1764
1764
|
var e = this, t = this.options.program || this.startNode();
|
|
1765
1765
|
return this.nextToken(), this.catchStackOverflow(function() {
|
|
1766
1766
|
return e.parseTopLevel(t);
|
|
1767
1767
|
});
|
|
1768
|
-
},
|
|
1769
|
-
return (this.currentVarScope().flags & mt) > 0;
|
|
1770
|
-
}, N.inGenerator.get = function() {
|
|
1771
|
-
return (this.currentVarScope().flags & gt) > 0;
|
|
1772
|
-
}, N.inAsync.get = function() {
|
|
1768
|
+
}, M.inFunction.get = function() {
|
|
1773
1769
|
return (this.currentVarScope().flags & ht) > 0;
|
|
1774
|
-
},
|
|
1770
|
+
}, M.inGenerator.get = function() {
|
|
1771
|
+
return (this.currentVarScope().flags & _t) > 0;
|
|
1772
|
+
}, M.inAsync.get = function() {
|
|
1773
|
+
return (this.currentVarScope().flags & gt) > 0;
|
|
1774
|
+
}, M.canAwait.get = function() {
|
|
1775
1775
|
for (var e = this.scopeStack.length - 1; e >= 0; e--) {
|
|
1776
1776
|
var t = this.scopeStack[e].flags;
|
|
1777
|
-
if (t & (
|
|
1778
|
-
if (t &
|
|
1777
|
+
if (t & (St | Ct)) return !1;
|
|
1778
|
+
if (t & ht) return (t & gt) > 0;
|
|
1779
1779
|
}
|
|
1780
1780
|
return this.inModule && this.options.ecmaVersion >= 13 || this.options.allowAwaitOutsideFunction;
|
|
1781
|
-
},
|
|
1782
|
-
return !!(this.inFunction || this.options.allowReturnOutsideFunction && this.currentVarScope().flags &
|
|
1783
|
-
},
|
|
1784
|
-
return (this.currentThisScope().flags &
|
|
1785
|
-
},
|
|
1786
|
-
return (this.currentThisScope().flags &
|
|
1787
|
-
},
|
|
1781
|
+
}, M.allowReturn.get = function() {
|
|
1782
|
+
return !!(this.inFunction || this.options.allowReturnOutsideFunction && this.currentVarScope().flags & mt);
|
|
1783
|
+
}, M.allowSuper.get = function() {
|
|
1784
|
+
return (this.currentThisScope().flags & bt) > 0 || this.options.allowSuperOutsideMethod;
|
|
1785
|
+
}, M.allowDirectSuper.get = function() {
|
|
1786
|
+
return (this.currentThisScope().flags & xt) > 0;
|
|
1787
|
+
}, M.treatFunctionsAsVar.get = function() {
|
|
1788
1788
|
return this.treatFunctionsAsVarInScope(this.currentScope());
|
|
1789
|
-
},
|
|
1789
|
+
}, M.allowNewDotTarget.get = function() {
|
|
1790
1790
|
for (var e = this.scopeStack.length - 1; e >= 0; e--) {
|
|
1791
1791
|
var t = this.scopeStack[e].flags;
|
|
1792
|
-
if (t & (
|
|
1792
|
+
if (t & (St | Ct) || t & ht && !(t & vt)) return !0;
|
|
1793
1793
|
}
|
|
1794
1794
|
return !1;
|
|
1795
|
-
},
|
|
1795
|
+
}, M.allowUsing.get = function() {
|
|
1796
1796
|
var e = this.currentScope().flags;
|
|
1797
|
-
return !(e &
|
|
1798
|
-
},
|
|
1799
|
-
return (this.currentVarScope().flags &
|
|
1800
|
-
},
|
|
1797
|
+
return !(e & wt || !this.inModule && e & mt);
|
|
1798
|
+
}, M.inClassStaticBlock.get = function() {
|
|
1799
|
+
return (this.currentVarScope().flags & St) > 0;
|
|
1800
|
+
}, j.extend = function() {
|
|
1801
1801
|
for (var e = [], t = arguments.length; t--;) e[t] = arguments[t];
|
|
1802
1802
|
for (var n = this, r = 0; r < e.length; r++) n = e[r](n);
|
|
1803
1803
|
return n;
|
|
1804
|
-
},
|
|
1804
|
+
}, j.parse = function(e, t) {
|
|
1805
1805
|
return new this(t, e).parse();
|
|
1806
|
-
},
|
|
1806
|
+
}, j.parseExpressionAt = function(e, t, n) {
|
|
1807
1807
|
var r = new this(n, e, t);
|
|
1808
1808
|
return r.nextToken(), r.parseExpression();
|
|
1809
|
-
},
|
|
1809
|
+
}, j.tokenizer = function(e, t) {
|
|
1810
1810
|
return new this(t, e);
|
|
1811
|
-
}, Object.defineProperties(
|
|
1812
|
-
var
|
|
1813
|
-
|
|
1811
|
+
}, Object.defineProperties(j.prototype, M);
|
|
1812
|
+
var N = j.prototype, Nt = /^(?:'((?:\\[^]|[^'\\])*?)'|"((?:\\[^]|[^"\\])*?)")/;
|
|
1813
|
+
N.strictDirective = function(e) {
|
|
1814
1814
|
if (this.options.ecmaVersion < 5) return !1;
|
|
1815
1815
|
for (;;) {
|
|
1816
|
-
|
|
1817
|
-
var t =
|
|
1816
|
+
A.lastIndex = e, e += A.exec(this.input)[0].length;
|
|
1817
|
+
var t = Nt.exec(this.input.slice(e));
|
|
1818
1818
|
if (!t) return !1;
|
|
1819
1819
|
if ((t[1] || t[2]) === "use strict") {
|
|
1820
|
-
|
|
1821
|
-
var n =
|
|
1822
|
-
return i === ";" || i === "}" ||
|
|
1820
|
+
A.lastIndex = e + t[0].length;
|
|
1821
|
+
var n = A.exec(this.input), r = n.index + n[0].length, i = this.input.charAt(r);
|
|
1822
|
+
return i === ";" || i === "}" || k.test(n[0]) && !(/[(`.[+\-/*%<>=,?^&]/.test(i) || i === "!" && this.input.charAt(r + 1) === "=");
|
|
1823
1823
|
}
|
|
1824
|
-
e += t[0].length,
|
|
1824
|
+
e += t[0].length, A.lastIndex = e, e += A.exec(this.input)[0].length, this.input[e] === ";" && e++;
|
|
1825
1825
|
}
|
|
1826
|
-
},
|
|
1826
|
+
}, N.eat = function(e) {
|
|
1827
1827
|
return this.type === e && (this.next(), !0);
|
|
1828
|
-
},
|
|
1829
|
-
return this.type ===
|
|
1830
|
-
},
|
|
1828
|
+
}, N.isContextual = function(e) {
|
|
1829
|
+
return this.type === O.name && this.value === e && !this.containsEsc;
|
|
1830
|
+
}, N.eatContextual = function(e) {
|
|
1831
1831
|
return this.isContextual(e) ? (this.next(), !0) : !1;
|
|
1832
|
-
},
|
|
1832
|
+
}, N.catchStackOverflow = function(e) {
|
|
1833
1833
|
try {
|
|
1834
1834
|
return e();
|
|
1835
1835
|
} catch (e) {
|
|
1836
1836
|
if (e instanceof Error && (/\bstack\b.*\b(exceeded|overflow)\b/i.test(e.message) || /\btoo much recursion\b/i.test(e.message))) this.raise(this.start, "Not enough stack space to parse input");
|
|
1837
1837
|
else throw e;
|
|
1838
1838
|
}
|
|
1839
|
-
},
|
|
1839
|
+
}, N.expectContextual = function(e) {
|
|
1840
1840
|
this.eatContextual(e) || this.unexpected();
|
|
1841
|
-
},
|
|
1842
|
-
return this.type ===
|
|
1843
|
-
},
|
|
1841
|
+
}, N.canInsertSemicolon = function() {
|
|
1842
|
+
return this.type === O.eof || this.type === O.braceR || k.test(this.input.slice(this.lastTokEnd, this.start));
|
|
1843
|
+
}, N.insertSemicolon = function() {
|
|
1844
1844
|
if (this.canInsertSemicolon()) return this.options.onInsertedSemicolon && this.options.onInsertedSemicolon(this.lastTokEnd, this.lastTokEndLoc), !0;
|
|
1845
|
-
},
|
|
1846
|
-
!this.eat(
|
|
1847
|
-
},
|
|
1845
|
+
}, N.semicolon = function() {
|
|
1846
|
+
!this.eat(O.semi) && !this.insertSemicolon() && this.unexpected();
|
|
1847
|
+
}, N.afterTrailingComma = function(e, t) {
|
|
1848
1848
|
if (this.type === e) return this.options.onTrailingComma && this.options.onTrailingComma(this.lastTokStart, this.lastTokStartLoc), t || this.next(), !0;
|
|
1849
|
-
},
|
|
1849
|
+
}, N.expect = function(e) {
|
|
1850
1850
|
this.eat(e) || this.unexpected();
|
|
1851
|
-
},
|
|
1851
|
+
}, N.unexpected = function(e) {
|
|
1852
1852
|
this.raise(e ?? this.start, "Unexpected token");
|
|
1853
1853
|
};
|
|
1854
|
-
var
|
|
1854
|
+
var Pt = function() {
|
|
1855
1855
|
this.shorthandAssign = this.trailingComma = this.parenthesizedAssign = this.parenthesizedBind = this.doubleProto = -1;
|
|
1856
1856
|
};
|
|
1857
|
-
|
|
1857
|
+
N.checkPatternErrors = function(e, t) {
|
|
1858
1858
|
if (e) {
|
|
1859
1859
|
e.trailingComma > -1 && this.raiseRecoverable(e.trailingComma, "Comma is not permitted after the rest element");
|
|
1860
1860
|
var n = t ? e.parenthesizedAssign : e.parenthesizedBind;
|
|
1861
1861
|
n > -1 && this.raiseRecoverable(n, t ? "Assigning to rvalue" : "Parenthesized pattern");
|
|
1862
1862
|
}
|
|
1863
|
-
},
|
|
1863
|
+
}, N.checkExpressionErrors = function(e, t) {
|
|
1864
1864
|
if (!e) return !1;
|
|
1865
1865
|
var n = e.shorthandAssign, r = e.doubleProto;
|
|
1866
1866
|
if (!t) return n >= 0 || r >= 0;
|
|
1867
1867
|
n >= 0 && this.raise(n, "Shorthand property assignments are valid only in destructuring patterns"), r >= 0 && this.raiseRecoverable(r, "Redefinition of __proto__ property");
|
|
1868
|
-
},
|
|
1868
|
+
}, N.checkYieldAwaitInDefaultParams = function() {
|
|
1869
1869
|
this.yieldPos && (!this.awaitPos || this.yieldPos < this.awaitPos) && this.raise(this.yieldPos, "Yield expression cannot be a default value"), this.awaitPos && this.raise(this.awaitPos, "Await expression cannot be a default value");
|
|
1870
|
-
},
|
|
1870
|
+
}, N.isSimpleAssignTarget = function(e) {
|
|
1871
1871
|
return e.type === "ParenthesizedExpression" ? this.isSimpleAssignTarget(e.expression) : e.type === "Identifier" || e.type === "MemberExpression";
|
|
1872
1872
|
};
|
|
1873
|
-
var
|
|
1874
|
-
|
|
1873
|
+
var P = j.prototype;
|
|
1874
|
+
P.parseTopLevel = function(e) {
|
|
1875
1875
|
var t = Object.create(null);
|
|
1876
|
-
for (e.body ||= []; this.type !==
|
|
1876
|
+
for (e.body ||= []; this.type !== O.eof;) {
|
|
1877
1877
|
var n = this.parseStatement(null, !0, t);
|
|
1878
1878
|
e.body.push(n);
|
|
1879
1879
|
}
|
|
@@ -1883,11 +1883,11 @@ F.parseTopLevel = function(e) {
|
|
|
1883
1883
|
}
|
|
1884
1884
|
return this.adaptDirectivePrologue(e.body), this.next(), e.sourceType = this.options.sourceType === "commonjs" ? "script" : this.options.sourceType, this.finishNode(e, "Program");
|
|
1885
1885
|
};
|
|
1886
|
-
var
|
|
1887
|
-
|
|
1886
|
+
var Ft = { kind: "loop" }, It = { kind: "switch" };
|
|
1887
|
+
P.isLet = function(e) {
|
|
1888
1888
|
if (this.options.ecmaVersion < 6 || !this.isContextual("let")) return !1;
|
|
1889
|
-
|
|
1890
|
-
var t =
|
|
1889
|
+
A.lastIndex = this.pos;
|
|
1890
|
+
var t = A.exec(this.input), n = this.pos + t[0].length, r = this.fullCharCodeAt(n);
|
|
1891
1891
|
if (r === 91 || r === 92) return !0;
|
|
1892
1892
|
if (e) return !1;
|
|
1893
1893
|
if (r === 123) return !0;
|
|
@@ -1901,22 +1901,22 @@ F.isLet = function(e) {
|
|
|
1901
1901
|
if (!Be.test(a)) return !0;
|
|
1902
1902
|
}
|
|
1903
1903
|
return !1;
|
|
1904
|
-
},
|
|
1904
|
+
}, P.isAsyncFunction = function() {
|
|
1905
1905
|
if (this.options.ecmaVersion < 8 || !this.isContextual("async")) return !1;
|
|
1906
|
-
|
|
1907
|
-
var e =
|
|
1908
|
-
return !
|
|
1909
|
-
},
|
|
1906
|
+
A.lastIndex = this.pos;
|
|
1907
|
+
var e = A.exec(this.input), t = this.pos + e[0].length, n;
|
|
1908
|
+
return !k.test(this.input.slice(this.pos, t)) && this.input.slice(t, t + 8) === "function" && (t + 8 === this.input.length || !(Ge(n = this.fullCharCodeAt(t + 8)) || n === 92));
|
|
1909
|
+
}, P.isUsingKeyword = function(e, t) {
|
|
1910
1910
|
if (this.options.ecmaVersion < 17 || !this.isContextual(e ? "await" : "using")) return !1;
|
|
1911
|
-
|
|
1912
|
-
var n =
|
|
1913
|
-
if (
|
|
1911
|
+
A.lastIndex = this.pos;
|
|
1912
|
+
var n = A.exec(this.input), r = this.pos + n[0].length;
|
|
1913
|
+
if (k.test(this.input.slice(this.pos, r))) return !1;
|
|
1914
1914
|
if (e) {
|
|
1915
1915
|
var i = r + 5, a;
|
|
1916
1916
|
if (this.input.slice(r, i) !== "using" || i === this.input.length || Ge(a = this.fullCharCodeAt(i)) || a === 92) return !1;
|
|
1917
|
-
|
|
1918
|
-
var o =
|
|
1919
|
-
if (r = i + o[0].length, o &&
|
|
1917
|
+
A.lastIndex = i;
|
|
1918
|
+
var o = A.exec(this.input);
|
|
1919
|
+
if (r = i + o[0].length, o && k.test(this.input.slice(i, r))) return !1;
|
|
1920
1920
|
}
|
|
1921
1921
|
var s = this.fullCharCodeAt(r);
|
|
1922
1922
|
if (!We(s) && s !== 92) return !1;
|
|
@@ -1928,69 +1928,69 @@ F.isLet = function(e) {
|
|
|
1928
1928
|
var l = this.input.slice(c, r);
|
|
1929
1929
|
if (Be.test(l)) return !1;
|
|
1930
1930
|
if (t && !e && l === "of") {
|
|
1931
|
-
|
|
1932
|
-
var u =
|
|
1931
|
+
A.lastIndex = r;
|
|
1932
|
+
var u = A.exec(this.input);
|
|
1933
1933
|
if (r += u[0].length, this.input.charCodeAt(r) !== 61 || (s = this.input.charCodeAt(r + 1)) === 61 || s === 62) return !1;
|
|
1934
1934
|
}
|
|
1935
1935
|
return !0;
|
|
1936
|
-
},
|
|
1936
|
+
}, P.isAwaitUsing = function(e) {
|
|
1937
1937
|
return this.isUsingKeyword(!0, e);
|
|
1938
|
-
},
|
|
1938
|
+
}, P.isUsing = function(e) {
|
|
1939
1939
|
return this.isUsingKeyword(!1, e);
|
|
1940
|
-
},
|
|
1940
|
+
}, P.parseStatement = function(e, t, n) {
|
|
1941
1941
|
var r = this.type, i = this.startNode(), a;
|
|
1942
|
-
switch (this.isLet(e) && (r =
|
|
1943
|
-
case
|
|
1944
|
-
case
|
|
1945
|
-
case
|
|
1946
|
-
case
|
|
1947
|
-
case
|
|
1948
|
-
case
|
|
1949
|
-
case
|
|
1950
|
-
case
|
|
1951
|
-
case
|
|
1952
|
-
case
|
|
1953
|
-
case
|
|
1954
|
-
case
|
|
1955
|
-
case
|
|
1956
|
-
case
|
|
1957
|
-
case
|
|
1958
|
-
case
|
|
1959
|
-
case
|
|
1960
|
-
case
|
|
1961
|
-
case
|
|
1962
|
-
case
|
|
1963
|
-
if (this.options.ecmaVersion > 10 && r ===
|
|
1964
|
-
|
|
1965
|
-
var o =
|
|
1942
|
+
switch (this.isLet(e) && (r = O._var, a = "let"), r) {
|
|
1943
|
+
case O._break:
|
|
1944
|
+
case O._continue: return this.parseBreakContinueStatement(i, r.keyword);
|
|
1945
|
+
case O._debugger: return this.parseDebuggerStatement(i);
|
|
1946
|
+
case O._do: return this.parseDoStatement(i);
|
|
1947
|
+
case O._for: return this.parseForStatement(i);
|
|
1948
|
+
case O._function: return e && (this.strict || e !== "if" && e !== "label") && this.options.ecmaVersion >= 6 && this.unexpected(), this.parseFunctionStatement(i, !1, !e);
|
|
1949
|
+
case O._class: return e && this.unexpected(), this.parseClass(i, !0);
|
|
1950
|
+
case O._if: return this.parseIfStatement(i);
|
|
1951
|
+
case O._return: return this.parseReturnStatement(i);
|
|
1952
|
+
case O._switch: return this.parseSwitchStatement(i);
|
|
1953
|
+
case O._throw: return this.parseThrowStatement(i);
|
|
1954
|
+
case O._try: return this.parseTryStatement(i);
|
|
1955
|
+
case O._const:
|
|
1956
|
+
case O._var: return a ||= this.value, e && a !== "var" && this.unexpected(), this.parseVarStatement(i, a);
|
|
1957
|
+
case O._while: return this.parseWhileStatement(i);
|
|
1958
|
+
case O._with: return this.parseWithStatement(i);
|
|
1959
|
+
case O.braceL: return this.parseBlock(!0, i);
|
|
1960
|
+
case O.semi: return this.parseEmptyStatement(i);
|
|
1961
|
+
case O._export:
|
|
1962
|
+
case O._import:
|
|
1963
|
+
if (this.options.ecmaVersion > 10 && r === O._import) {
|
|
1964
|
+
A.lastIndex = this.pos;
|
|
1965
|
+
var o = A.exec(this.input), s = this.pos + o[0].length, c = this.input.charCodeAt(s);
|
|
1966
1966
|
if (c === 40 || c === 46) return this.parseExpressionStatement(i, this.parseExpression());
|
|
1967
1967
|
}
|
|
1968
|
-
return this.options.allowImportExportEverywhere || (t || this.raise(this.start, "'import' and 'export' may only appear at the top level"), this.inModule || this.raise(this.start, "'import' and 'export' may appear only with 'sourceType: module'")), r ===
|
|
1968
|
+
return this.options.allowImportExportEverywhere || (t || this.raise(this.start, "'import' and 'export' may only appear at the top level"), this.inModule || this.raise(this.start, "'import' and 'export' may appear only with 'sourceType: module'")), r === O._import ? this.parseImport(i) : this.parseExport(i, n);
|
|
1969
1969
|
default:
|
|
1970
1970
|
if (this.isAsyncFunction()) return e && this.unexpected(), this.next(), this.parseFunctionStatement(i, !0, !e);
|
|
1971
1971
|
var l = this.isAwaitUsing(!1) ? "await using" : this.isUsing(!1) ? "using" : null;
|
|
1972
1972
|
if (l) return this.allowUsing || this.raise(this.start, "Using declaration cannot appear in the top level when source type is `script` or in the bare case statement"), e && this.raise(this.start, "Using declaration is not allowed in single-statement positions"), l === "await using" && (this.canAwait || this.raise(this.start, "Await using cannot appear outside of async function"), this.next()), this.next(), this.parseVar(i, !1, l), this.semicolon(), this.finishNode(i, "VariableDeclaration");
|
|
1973
1973
|
var u = this.value, d = this.parseExpression();
|
|
1974
|
-
return r ===
|
|
1974
|
+
return r === O.name && d.type === "Identifier" && this.eat(O.colon) ? this.parseLabeledStatement(i, u, d, e) : this.parseExpressionStatement(i, d);
|
|
1975
1975
|
}
|
|
1976
|
-
},
|
|
1976
|
+
}, P.parseBreakContinueStatement = function(e, t) {
|
|
1977
1977
|
var n = t === "break";
|
|
1978
|
-
this.next(), this.eat(
|
|
1978
|
+
this.next(), this.eat(O.semi) || this.insertSemicolon() ? e.label = null : this.type === O.name ? (e.label = this.parseIdent(), this.semicolon()) : this.unexpected();
|
|
1979
1979
|
for (var r = 0; r < this.labels.length; ++r) {
|
|
1980
1980
|
var i = this.labels[r];
|
|
1981
1981
|
if ((e.label == null || i.name === e.label.name) && (i.kind != null && (n || i.kind === "loop") || e.label && n)) break;
|
|
1982
1982
|
}
|
|
1983
1983
|
return r === this.labels.length && this.raise(e.start, "Unsyntactic " + t), this.finishNode(e, n ? "BreakStatement" : "ContinueStatement");
|
|
1984
|
-
},
|
|
1984
|
+
}, P.parseDebuggerStatement = function(e) {
|
|
1985
1985
|
return this.next(), this.semicolon(), this.finishNode(e, "DebuggerStatement");
|
|
1986
|
-
},
|
|
1987
|
-
return this.next(), this.labels.push(
|
|
1988
|
-
},
|
|
1986
|
+
}, P.parseDoStatement = function(e) {
|
|
1987
|
+
return this.next(), this.labels.push(Ft), e.body = this.parseStatement("do"), this.labels.pop(), this.expect(O._while), e.test = this.parseParenExpression(), this.options.ecmaVersion >= 6 ? this.eat(O.semi) : this.semicolon(), this.finishNode(e, "DoWhileStatement");
|
|
1988
|
+
}, P.parseForStatement = function(e) {
|
|
1989
1989
|
this.next();
|
|
1990
1990
|
var t = this.options.ecmaVersion >= 9 && this.canAwait && this.eatContextual("await") ? this.lastTokStart : -1;
|
|
1991
|
-
if (this.labels.push(
|
|
1991
|
+
if (this.labels.push(Ft), this.enterScope(0), this.expect(O.parenL), this.type === O.semi) return t > -1 && this.unexpected(t), this.parseFor(e, null);
|
|
1992
1992
|
var n = this.isLet();
|
|
1993
|
-
if (this.type ===
|
|
1993
|
+
if (this.type === O._var || this.type === O._const || n) {
|
|
1994
1994
|
var r = this.startNode(), i = n ? "let" : this.value;
|
|
1995
1995
|
return this.next(), this.parseVar(r, !0, i), this.finishNode(r, "VariableDeclaration"), this.parseForAfterInit(e, r, t);
|
|
1996
1996
|
}
|
|
@@ -1999,47 +1999,47 @@ F.isLet = function(e) {
|
|
|
1999
1999
|
var c = this.startNode();
|
|
2000
2000
|
return this.next(), s === "await using" && (this.canAwait || this.raise(this.start, "Await using cannot appear outside of async function"), this.next()), this.parseVar(c, !0, s), this.finishNode(c, "VariableDeclaration"), this.parseForAfterInit(e, c, t);
|
|
2001
2001
|
}
|
|
2002
|
-
var l = this.containsEsc, u = new
|
|
2003
|
-
return this.type ===
|
|
2004
|
-
},
|
|
2005
|
-
return (this.type ===
|
|
2006
|
-
},
|
|
2007
|
-
return this.next(), this.parseFunction(e,
|
|
2008
|
-
},
|
|
2009
|
-
return this.next(), e.test = this.parseParenExpression(), e.consequent = this.parseStatement("if"), e.alternate = this.eat(
|
|
2010
|
-
},
|
|
2011
|
-
return this.allowReturn || this.raise(this.start, "'return' outside of function"), this.next(), this.eat(
|
|
2012
|
-
},
|
|
2013
|
-
this.next(), e.discriminant = this.parseParenExpression(), e.cases = [], this.expect(
|
|
2014
|
-
for (var t, n = !1; this.type !==
|
|
2015
|
-
var r = this.type ===
|
|
2016
|
-
t && this.finishNode(t, "SwitchCase"), e.cases.push(t = this.startNode()), t.consequent = [], this.next(), r ? t.test = this.parseExpression() : (n && this.raiseRecoverable(this.lastTokStart, "Multiple default clauses"), n = !0, t.test = null), this.expect(
|
|
2002
|
+
var l = this.containsEsc, u = new Pt(), d = this.start, f = t > -1 ? this.parseExprSubscripts(u, "await") : this.parseExpression(!0, u);
|
|
2003
|
+
return this.type === O._in || (o = this.options.ecmaVersion >= 6 && this.isContextual("of")) ? (t > -1 ? (this.type === O._in && this.unexpected(t), e.await = !0) : o && this.options.ecmaVersion >= 8 && (f.start === d && !l && f.type === "Identifier" && f.name === "async" ? this.unexpected() : this.options.ecmaVersion >= 9 && (e.await = !1)), a && o && this.raise(f.start, "The left-hand side of a for-of loop may not start with 'let'."), this.toAssignable(f, !1, u), this.checkLValPattern(f), this.parseForIn(e, f)) : (this.checkExpressionErrors(u, !0), t > -1 && this.unexpected(t), this.parseFor(e, f));
|
|
2004
|
+
}, P.parseForAfterInit = function(e, t, n) {
|
|
2005
|
+
return (this.type === O._in || this.options.ecmaVersion >= 6 && this.isContextual("of")) && t.declarations.length === 1 ? (this.type === O._in ? ((t.kind === "using" || t.kind === "await using") && !t.declarations[0].init && this.raise(this.start, "Using declaration is not allowed in for-in loops"), this.options.ecmaVersion >= 9 && n > -1 && this.unexpected(n)) : this.options.ecmaVersion >= 9 && (e.await = n > -1), this.parseForIn(e, t)) : (n > -1 && this.unexpected(n), this.parseFor(e, t));
|
|
2006
|
+
}, P.parseFunctionStatement = function(e, t, n) {
|
|
2007
|
+
return this.next(), this.parseFunction(e, Rt | (n ? 0 : zt), !1, t);
|
|
2008
|
+
}, P.parseIfStatement = function(e) {
|
|
2009
|
+
return this.next(), e.test = this.parseParenExpression(), e.consequent = this.parseStatement("if"), e.alternate = this.eat(O._else) ? this.parseStatement("if") : null, this.finishNode(e, "IfStatement");
|
|
2010
|
+
}, P.parseReturnStatement = function(e) {
|
|
2011
|
+
return this.allowReturn || this.raise(this.start, "'return' outside of function"), this.next(), this.eat(O.semi) || this.insertSemicolon() ? e.argument = null : (e.argument = this.parseExpression(), this.semicolon()), this.finishNode(e, "ReturnStatement");
|
|
2012
|
+
}, P.parseSwitchStatement = function(e) {
|
|
2013
|
+
this.next(), e.discriminant = this.parseParenExpression(), e.cases = [], this.expect(O.braceL), this.labels.push(It), this.enterScope(wt);
|
|
2014
|
+
for (var t, n = !1; this.type !== O.braceR;) if (this.type === O._case || this.type === O._default) {
|
|
2015
|
+
var r = this.type === O._case;
|
|
2016
|
+
t && this.finishNode(t, "SwitchCase"), e.cases.push(t = this.startNode()), t.consequent = [], this.next(), r ? t.test = this.parseExpression() : (n && this.raiseRecoverable(this.lastTokStart, "Multiple default clauses"), n = !0, t.test = null), this.expect(O.colon);
|
|
2017
2017
|
} else t || this.unexpected(), t.consequent.push(this.parseStatement(null));
|
|
2018
2018
|
return this.exitScope(), t && this.finishNode(t, "SwitchCase"), this.next(), this.labels.pop(), this.finishNode(e, "SwitchStatement");
|
|
2019
|
-
},
|
|
2020
|
-
return this.next(),
|
|
2019
|
+
}, P.parseThrowStatement = function(e) {
|
|
2020
|
+
return this.next(), k.test(this.input.slice(this.lastTokEnd, this.start)) && this.raise(this.lastTokEnd, "Illegal newline after throw"), e.argument = this.parseExpression(), this.semicolon(), this.finishNode(e, "ThrowStatement");
|
|
2021
2021
|
};
|
|
2022
|
-
var
|
|
2023
|
-
|
|
2022
|
+
var Lt = [];
|
|
2023
|
+
P.parseCatchClauseParam = function() {
|
|
2024
2024
|
var e = this.parseBindingAtom(), t = e.type === "Identifier";
|
|
2025
|
-
return this.enterScope(t ?
|
|
2026
|
-
},
|
|
2027
|
-
if (this.next(), e.block = this.parseBlock(), e.handler = null, this.type ===
|
|
2025
|
+
return this.enterScope(t ? yt : 0), this.checkLValPattern(e, t ? jt : kt), this.expect(O.parenR), e;
|
|
2026
|
+
}, P.parseTryStatement = function(e) {
|
|
2027
|
+
if (this.next(), e.block = this.parseBlock(), e.handler = null, this.type === O._catch) {
|
|
2028
2028
|
var t = this.startNode();
|
|
2029
|
-
this.next(), this.eat(
|
|
2029
|
+
this.next(), this.eat(O.parenL) ? t.param = this.parseCatchClauseParam() : (this.options.ecmaVersion < 10 && this.unexpected(), t.param = null, this.enterScope(0)), t.body = this.parseBlock(!1), this.exitScope(), e.handler = this.finishNode(t, "CatchClause");
|
|
2030
2030
|
}
|
|
2031
|
-
return e.finalizer = this.eat(
|
|
2032
|
-
},
|
|
2031
|
+
return e.finalizer = this.eat(O._finally) ? this.parseBlock() : null, !e.handler && !e.finalizer && this.raise(e.start, "Missing catch or finally clause"), this.finishNode(e, "TryStatement");
|
|
2032
|
+
}, P.parseVarStatement = function(e, t, n) {
|
|
2033
2033
|
return this.next(), this.parseVar(e, !1, t, n), this.semicolon(), this.finishNode(e, "VariableDeclaration");
|
|
2034
|
-
},
|
|
2035
|
-
return this.next(), e.test = this.parseParenExpression(), this.labels.push(
|
|
2036
|
-
},
|
|
2034
|
+
}, P.parseWhileStatement = function(e) {
|
|
2035
|
+
return this.next(), e.test = this.parseParenExpression(), this.labels.push(Ft), e.body = this.parseStatement("while"), this.labels.pop(), this.finishNode(e, "WhileStatement");
|
|
2036
|
+
}, P.parseWithStatement = function(e) {
|
|
2037
2037
|
return this.strict && this.raise(this.start, "'with' in strict mode"), this.next(), e.object = this.parseParenExpression(), e.body = this.parseStatement("with"), this.finishNode(e, "WithStatement");
|
|
2038
|
-
},
|
|
2038
|
+
}, P.parseEmptyStatement = function(e) {
|
|
2039
2039
|
return this.next(), this.finishNode(e, "EmptyStatement");
|
|
2040
|
-
},
|
|
2040
|
+
}, P.parseLabeledStatement = function(e, t, n, r) {
|
|
2041
2041
|
for (var i = 0, a = this.labels; i < a.length; i += 1) a[i].name === t && this.raise(n.start, "Label '" + t + "' is already declared");
|
|
2042
|
-
for (var o = this.type.isLoop ? "loop" : this.type ===
|
|
2042
|
+
for (var o = this.type.isLoop ? "loop" : this.type === O._switch ? "switch" : null, s = this.labels.length - 1; s >= 0; s--) {
|
|
2043
2043
|
var c = this.labels[s];
|
|
2044
2044
|
if (c.statementStart === e.start) c.statementStart = this.start, c.kind = o;
|
|
2045
2045
|
else break;
|
|
@@ -2049,113 +2049,113 @@ F.parseCatchClauseParam = function() {
|
|
|
2049
2049
|
kind: o,
|
|
2050
2050
|
statementStart: this.start
|
|
2051
2051
|
}), e.body = this.parseStatement(r ? r.indexOf("label") === -1 ? r + "label" : r : "label"), this.labels.pop(), e.label = n, this.finishNode(e, "LabeledStatement");
|
|
2052
|
-
},
|
|
2052
|
+
}, P.parseExpressionStatement = function(e, t) {
|
|
2053
2053
|
return e.expression = t, this.semicolon(), this.finishNode(e, "ExpressionStatement");
|
|
2054
|
-
},
|
|
2055
|
-
for (e === void 0 && (e = !0), t === void 0 && (t = this.startNode()), t.body = [], this.expect(
|
|
2054
|
+
}, P.parseBlock = function(e, t, n) {
|
|
2055
|
+
for (e === void 0 && (e = !0), t === void 0 && (t = this.startNode()), t.body = [], this.expect(O.braceL), e && this.enterScope(0); this.type !== O.braceR;) {
|
|
2056
2056
|
var r = this.parseStatement(null);
|
|
2057
2057
|
t.body.push(r);
|
|
2058
2058
|
}
|
|
2059
2059
|
return n && (this.strict = !1), this.next(), e && this.exitScope(), this.finishNode(t, "BlockStatement");
|
|
2060
|
-
},
|
|
2061
|
-
return e.init = t, this.expect(
|
|
2062
|
-
},
|
|
2063
|
-
var n = this.type ===
|
|
2064
|
-
return this.next(), t.type === "VariableDeclaration" && t.declarations[0].init != null && (!n || this.options.ecmaVersion < 8 || this.strict || t.kind !== "var" || t.declarations[0].id.type !== "Identifier") && this.raise(t.start, (n ? "for-in" : "for-of") + " loop variable declaration may not have an initializer"), e.left = t, e.right = n ? this.parseExpression() : this.parseMaybeAssign(), this.expect(
|
|
2065
|
-
},
|
|
2060
|
+
}, P.parseFor = function(e, t) {
|
|
2061
|
+
return e.init = t, this.expect(O.semi), e.test = this.type === O.semi ? null : this.parseExpression(), this.expect(O.semi), e.update = this.type === O.parenR ? null : this.parseExpression(), this.expect(O.parenR), e.body = this.parseStatement("for"), this.exitScope(), this.labels.pop(), this.finishNode(e, "ForStatement");
|
|
2062
|
+
}, P.parseForIn = function(e, t) {
|
|
2063
|
+
var n = this.type === O._in;
|
|
2064
|
+
return this.next(), t.type === "VariableDeclaration" && t.declarations[0].init != null && (!n || this.options.ecmaVersion < 8 || this.strict || t.kind !== "var" || t.declarations[0].id.type !== "Identifier") && this.raise(t.start, (n ? "for-in" : "for-of") + " loop variable declaration may not have an initializer"), e.left = t, e.right = n ? this.parseExpression() : this.parseMaybeAssign(), this.expect(O.parenR), e.body = this.parseStatement("for"), this.exitScope(), this.labels.pop(), this.finishNode(e, n ? "ForInStatement" : "ForOfStatement");
|
|
2065
|
+
}, P.parseVar = function(e, t, n, r) {
|
|
2066
2066
|
for (e.declarations = [], e.kind = n;;) {
|
|
2067
2067
|
var i = this.startNode();
|
|
2068
|
-
if (this.parseVarId(i, n), this.eat(
|
|
2068
|
+
if (this.parseVarId(i, n), this.eat(O.eq) ? i.init = this.parseMaybeAssign(t) : !r && n === "const" && !(this.type === O._in || this.options.ecmaVersion >= 6 && this.isContextual("of")) ? this.unexpected() : !r && (n === "using" || n === "await using") && this.options.ecmaVersion >= 17 && this.type !== O._in && !this.isContextual("of") ? this.raise(this.lastTokEnd, "Missing initializer in " + n + " declaration") : !r && i.id.type !== "Identifier" && (!t || this.type !== O._in && !this.isContextual("of")) ? this.raise(this.lastTokEnd, "Complex binding patterns require an initialization value") : i.init = null, e.declarations.push(this.finishNode(i, "VariableDeclarator")), !this.eat(O.comma)) break;
|
|
2069
2069
|
}
|
|
2070
2070
|
return e;
|
|
2071
|
-
},
|
|
2072
|
-
e.id = t === "using" || t === "await using" ? this.parseIdent() : this.parseBindingAtom(), this.checkLValPattern(e.id, t === "var" ?
|
|
2071
|
+
}, P.parseVarId = function(e, t) {
|
|
2072
|
+
e.id = t === "using" || t === "await using" ? this.parseIdent() : this.parseBindingAtom(), this.checkLValPattern(e.id, t === "var" ? Ot : kt, !1);
|
|
2073
2073
|
};
|
|
2074
|
-
var
|
|
2075
|
-
|
|
2076
|
-
this.initFunction(e), (this.options.ecmaVersion >= 9 || this.options.ecmaVersion >= 6 && !r) && (this.type ===
|
|
2074
|
+
var Rt = 1, zt = 2, Bt = 4;
|
|
2075
|
+
P.parseFunction = function(e, t, n, r, i) {
|
|
2076
|
+
this.initFunction(e), (this.options.ecmaVersion >= 9 || this.options.ecmaVersion >= 6 && !r) && (this.type === O.star && t & zt && this.unexpected(), e.generator = this.eat(O.star)), this.options.ecmaVersion >= 8 && (e.async = !!r), t & Rt && (e.id = t & Bt && this.type !== O.name ? null : this.parseIdent(), e.id && !(t & zt) && this.checkLValSimple(e.id, this.strict || e.generator || e.async ? this.treatFunctionsAsVar ? Ot : kt : At));
|
|
2077
2077
|
var a = this.yieldPos, o = this.awaitPos, s = this.awaitIdentPos;
|
|
2078
|
-
return this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0, this.enterScope(
|
|
2079
|
-
},
|
|
2080
|
-
this.expect(
|
|
2081
|
-
},
|
|
2078
|
+
return this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0, this.enterScope(Et(e.async, e.generator)), t & Rt || (e.id = this.type === O.name ? this.parseIdent() : null), this.parseFunctionParams(e), this.parseFunctionBody(e, n, !1, i), this.yieldPos = a, this.awaitPos = o, this.awaitIdentPos = s, this.finishNode(e, t & Rt ? "FunctionDeclaration" : "FunctionExpression");
|
|
2079
|
+
}, P.parseFunctionParams = function(e) {
|
|
2080
|
+
this.expect(O.parenL), e.params = this.parseBindingList(O.parenR, !1, this.options.ecmaVersion >= 8), this.checkYieldAwaitInDefaultParams();
|
|
2081
|
+
}, P.parseClass = function(e, t) {
|
|
2082
2082
|
this.next();
|
|
2083
2083
|
var n = this.strict;
|
|
2084
2084
|
this.strict = !0, this.parseClassId(e, t), this.parseClassSuper(e);
|
|
2085
2085
|
var r = this.enterClassBody(), i = this.startNode(), a = !1;
|
|
2086
|
-
for (i.body = [], this.expect(
|
|
2086
|
+
for (i.body = [], this.expect(O.braceL); this.type !== O.braceR;) {
|
|
2087
2087
|
var o = this.parseClassElement(e.superClass !== null);
|
|
2088
|
-
o && (i.body.push(o), o.type === "MethodDefinition" && o.kind === "constructor" ? (a && this.raiseRecoverable(o.start, "Duplicate constructor in the same class"), a = !0) : o.key && o.key.type === "PrivateIdentifier" &&
|
|
2088
|
+
o && (i.body.push(o), o.type === "MethodDefinition" && o.kind === "constructor" ? (a && this.raiseRecoverable(o.start, "Duplicate constructor in the same class"), a = !0) : o.key && o.key.type === "PrivateIdentifier" && Vt(r, o) && this.raiseRecoverable(o.key.start, "Identifier '#" + o.key.name + "' has already been declared"));
|
|
2089
2089
|
}
|
|
2090
2090
|
return this.strict = n, this.next(), e.body = this.finishNode(i, "ClassBody"), this.exitClassBody(), this.finishNode(e, t ? "ClassDeclaration" : "ClassExpression");
|
|
2091
|
-
},
|
|
2092
|
-
if (this.eat(
|
|
2091
|
+
}, P.parseClassElement = function(e) {
|
|
2092
|
+
if (this.eat(O.semi)) return null;
|
|
2093
2093
|
var t = this.options.ecmaVersion, n = this.startNode(), r = "", i = !1, a = !1, o = "method", s = !1;
|
|
2094
2094
|
if (this.eatContextual("static")) {
|
|
2095
|
-
if (t >= 13 && this.eat(
|
|
2096
|
-
this.isClassElementNameStart() || this.type ===
|
|
2095
|
+
if (t >= 13 && this.eat(O.braceL)) return this.parseClassStaticBlock(n), n;
|
|
2096
|
+
this.isClassElementNameStart() || this.type === O.star ? s = !0 : r = "static";
|
|
2097
2097
|
}
|
|
2098
|
-
if (n.static = s, !r && t >= 8 && this.eatContextual("async") && ((this.isClassElementNameStart() || this.type ===
|
|
2098
|
+
if (n.static = s, !r && t >= 8 && this.eatContextual("async") && ((this.isClassElementNameStart() || this.type === O.star) && !this.canInsertSemicolon() ? a = !0 : r = "async"), !r && (t >= 9 || !a) && this.eat(O.star) && (i = !0), !r && !a && !i) {
|
|
2099
2099
|
var c = this.value;
|
|
2100
2100
|
(this.eatContextual("get") || this.eatContextual("set")) && (this.isClassElementNameStart() ? o = c : r = c);
|
|
2101
2101
|
}
|
|
2102
|
-
if (r ? (n.computed = !1, n.key = this.startNodeAt(this.lastTokStart, this.lastTokStartLoc), n.key.name = r, this.finishNode(n.key, "Identifier")) : this.parseClassElementName(n), t < 13 || this.type ===
|
|
2103
|
-
var l = !n.static &&
|
|
2102
|
+
if (r ? (n.computed = !1, n.key = this.startNodeAt(this.lastTokStart, this.lastTokStartLoc), n.key.name = r, this.finishNode(n.key, "Identifier")) : this.parseClassElementName(n), t < 13 || this.type === O.parenL || o !== "method" || i || a) {
|
|
2103
|
+
var l = !n.static && Ht(n, "constructor"), u = l && e;
|
|
2104
2104
|
l && o !== "method" && this.raise(n.key.start, "Constructor can't have get/set modifier"), n.kind = l ? "constructor" : o, this.parseClassMethod(n, i, a, u);
|
|
2105
2105
|
} else this.parseClassField(n);
|
|
2106
2106
|
return n;
|
|
2107
|
-
},
|
|
2108
|
-
return this.type ===
|
|
2109
|
-
},
|
|
2110
|
-
this.type ===
|
|
2111
|
-
},
|
|
2107
|
+
}, P.isClassElementNameStart = function() {
|
|
2108
|
+
return this.type === O.name || this.type === O.privateId || this.type === O.num || this.type === O.string || this.type === O.bracketL || this.type.keyword;
|
|
2109
|
+
}, P.parseClassElementName = function(e) {
|
|
2110
|
+
this.type === O.privateId ? (this.value === "constructor" && this.raise(this.start, "Classes can't have an element named '#constructor'"), e.computed = !1, e.key = this.parsePrivateIdent()) : this.parsePropertyName(e);
|
|
2111
|
+
}, P.parseClassMethod = function(e, t, n, r) {
|
|
2112
2112
|
var i = e.key;
|
|
2113
|
-
e.kind === "constructor" ? (t && this.raise(i.start, "Constructor can't be a generator"), n && this.raise(i.start, "Constructor can't be an async method")) : e.static &&
|
|
2113
|
+
e.kind === "constructor" ? (t && this.raise(i.start, "Constructor can't be a generator"), n && this.raise(i.start, "Constructor can't be an async method")) : e.static && Ht(e, "prototype") && this.raise(i.start, "Classes may not have a static property named prototype");
|
|
2114
2114
|
var a = e.value = this.parseMethod(t, n, r);
|
|
2115
2115
|
return e.kind === "get" && a.params.length !== 0 && this.raiseRecoverable(a.start, "getter should have no params"), e.kind === "set" && a.params.length !== 1 && this.raiseRecoverable(a.start, "setter should have exactly one param"), e.kind === "set" && a.params[0].type === "RestElement" && this.raiseRecoverable(a.params[0].start, "Setter cannot use rest params"), this.finishNode(e, "MethodDefinition");
|
|
2116
|
-
},
|
|
2117
|
-
return
|
|
2118
|
-
},
|
|
2116
|
+
}, P.parseClassField = function(e) {
|
|
2117
|
+
return Ht(e, "constructor") ? this.raise(e.key.start, "Classes can't have a field named 'constructor'") : e.static && Ht(e, "prototype") && this.raise(e.key.start, "Classes can't have a static field named 'prototype'"), this.eat(O.eq) ? (this.enterScope(Ct | bt), e.value = this.parseMaybeAssign(), this.exitScope()) : e.value = null, this.semicolon(), this.finishNode(e, "PropertyDefinition");
|
|
2118
|
+
}, P.parseClassStaticBlock = function(e) {
|
|
2119
2119
|
e.body = [];
|
|
2120
2120
|
var t = this.labels;
|
|
2121
|
-
for (this.labels = [], this.enterScope(
|
|
2121
|
+
for (this.labels = [], this.enterScope(St | bt); this.type !== O.braceR;) {
|
|
2122
2122
|
var n = this.parseStatement(null);
|
|
2123
2123
|
e.body.push(n);
|
|
2124
2124
|
}
|
|
2125
2125
|
return this.next(), this.exitScope(), this.labels = t, this.finishNode(e, "StaticBlock");
|
|
2126
|
-
},
|
|
2127
|
-
this.type ===
|
|
2128
|
-
},
|
|
2129
|
-
e.superClass = this.eat(
|
|
2130
|
-
},
|
|
2126
|
+
}, P.parseClassId = function(e, t) {
|
|
2127
|
+
this.type === O.name ? (e.id = this.parseIdent(), t && this.checkLValSimple(e.id, kt, !1)) : (t === !0 && this.unexpected(), e.id = null);
|
|
2128
|
+
}, P.parseClassSuper = function(e) {
|
|
2129
|
+
e.superClass = this.eat(O._extends) ? this.parseExprSubscripts(null, !1) : null;
|
|
2130
|
+
}, P.enterClassBody = function() {
|
|
2131
2131
|
var e = {
|
|
2132
2132
|
declared: Object.create(null),
|
|
2133
2133
|
used: []
|
|
2134
2134
|
};
|
|
2135
2135
|
return this.privateNameStack.push(e), e.declared;
|
|
2136
|
-
},
|
|
2136
|
+
}, P.exitClassBody = function() {
|
|
2137
2137
|
var e = this.privateNameStack.pop(), t = e.declared, n = e.used;
|
|
2138
2138
|
if (this.options.checkPrivateFields) for (var r = this.privateNameStack.length, i = r === 0 ? null : this.privateNameStack[r - 1], a = 0; a < n.length; ++a) {
|
|
2139
2139
|
var o = n[a];
|
|
2140
|
-
|
|
2140
|
+
tt(t, o.name) || (i ? i.used.push(o) : this.raiseRecoverable(o.start, "Private field '#" + o.name + "' must be declared in an enclosing class"));
|
|
2141
2141
|
}
|
|
2142
2142
|
};
|
|
2143
|
-
function
|
|
2143
|
+
function Vt(e, t) {
|
|
2144
2144
|
var n = t.key.name, r = e[n], i = "true";
|
|
2145
2145
|
return t.type === "MethodDefinition" && (t.kind === "get" || t.kind === "set") && (i = (t.static ? "s" : "i") + t.kind), r === "iget" && i === "iset" || r === "iset" && i === "iget" || r === "sget" && i === "sset" || r === "sset" && i === "sget" ? (e[n] = "true", !1) : r ? !0 : (e[n] = i, !1);
|
|
2146
2146
|
}
|
|
2147
|
-
function
|
|
2147
|
+
function Ht(e, t) {
|
|
2148
2148
|
var n = e.computed, r = e.key;
|
|
2149
2149
|
return !n && (r.type === "Identifier" && r.name === t || r.type === "Literal" && r.value === t);
|
|
2150
2150
|
}
|
|
2151
|
-
|
|
2152
|
-
return this.options.ecmaVersion >= 11 && (this.eatContextual("as") ? (e.exported = this.parseModuleExportName(), this.checkExport(t, e.exported, this.lastTokStart)) : e.exported = null), this.expectContextual("from"), this.type !==
|
|
2153
|
-
},
|
|
2154
|
-
if (this.next(), this.eat(
|
|
2155
|
-
if (this.eat(
|
|
2151
|
+
P.parseExportAllDeclaration = function(e, t) {
|
|
2152
|
+
return this.options.ecmaVersion >= 11 && (this.eatContextual("as") ? (e.exported = this.parseModuleExportName(), this.checkExport(t, e.exported, this.lastTokStart)) : e.exported = null), this.expectContextual("from"), this.type !== O.string && this.unexpected(), e.source = this.parseExprAtom(), this.options.ecmaVersion >= 16 && (e.attributes = this.parseWithClause()), this.semicolon(), this.finishNode(e, "ExportAllDeclaration");
|
|
2153
|
+
}, P.parseExport = function(e, t) {
|
|
2154
|
+
if (this.next(), this.eat(O.star)) return this.parseExportAllDeclaration(e, t);
|
|
2155
|
+
if (this.eat(O._default)) return this.checkExport(t, "default", this.lastTokStart), e.declaration = this.parseExportDefaultDeclaration(), this.finishNode(e, "ExportDefaultDeclaration");
|
|
2156
2156
|
if (this.shouldParseExportStatement()) e.declaration = this.parseExportDeclaration(e), e.declaration.type === "VariableDeclaration" ? this.checkVariableExport(t, e.declaration.declarations) : this.checkExport(t, e.declaration.id, e.declaration.id.start), e.specifiers = [], e.source = null, this.options.ecmaVersion >= 16 && (e.attributes = []);
|
|
2157
2157
|
else {
|
|
2158
|
-
if (e.declaration = null, e.specifiers = this.parseExportSpecifiers(t), this.eatContextual("from")) this.type !==
|
|
2158
|
+
if (e.declaration = null, e.specifiers = this.parseExportSpecifiers(t), this.eatContextual("from")) this.type !== O.string && this.unexpected(), e.source = this.parseExprAtom(), this.options.ecmaVersion >= 16 && (e.attributes = this.parseWithClause());
|
|
2159
2159
|
else {
|
|
2160
2160
|
for (var n = 0, r = e.specifiers; n < r.length; n += 1) {
|
|
2161
2161
|
var i = r[n];
|
|
@@ -2166,23 +2166,23 @@ F.parseExportAllDeclaration = function(e, t) {
|
|
|
2166
2166
|
this.semicolon();
|
|
2167
2167
|
}
|
|
2168
2168
|
return this.finishNode(e, "ExportNamedDeclaration");
|
|
2169
|
-
},
|
|
2169
|
+
}, P.parseExportDeclaration = function(e) {
|
|
2170
2170
|
return this.parseStatement(null);
|
|
2171
|
-
},
|
|
2171
|
+
}, P.parseExportDefaultDeclaration = function() {
|
|
2172
2172
|
var e;
|
|
2173
|
-
if (this.type ===
|
|
2173
|
+
if (this.type === O._function || (e = this.isAsyncFunction())) {
|
|
2174
2174
|
var t = this.startNode();
|
|
2175
|
-
return this.next(), e && this.next(), this.parseFunction(t,
|
|
2175
|
+
return this.next(), e && this.next(), this.parseFunction(t, Rt | Bt, !1, e);
|
|
2176
2176
|
}
|
|
2177
|
-
if (this.type ===
|
|
2177
|
+
if (this.type === O._class) {
|
|
2178
2178
|
var n = this.startNode();
|
|
2179
2179
|
return this.parseClass(n, "nullableID");
|
|
2180
2180
|
}
|
|
2181
2181
|
var r = this.parseMaybeAssign();
|
|
2182
2182
|
return this.semicolon(), r;
|
|
2183
|
-
},
|
|
2184
|
-
e && (typeof t != "string" && (t = t.type === "Identifier" ? t.name : t.value),
|
|
2185
|
-
},
|
|
2183
|
+
}, P.checkExport = function(e, t, n) {
|
|
2184
|
+
e && (typeof t != "string" && (t = t.type === "Identifier" ? t.name : t.value), tt(e, t) && this.raiseRecoverable(n, "Duplicate export '" + t + "'"), e[t] = !0);
|
|
2185
|
+
}, P.checkPatternExport = function(e, t) {
|
|
2186
2186
|
var n = t.type;
|
|
2187
2187
|
if (n === "Identifier") this.checkExport(e, t, t.start);
|
|
2188
2188
|
else if (n === "ObjectPattern") for (var r = 0, i = t.properties; r < i.length; r += 1) {
|
|
@@ -2194,72 +2194,72 @@ F.parseExportAllDeclaration = function(e, t) {
|
|
|
2194
2194
|
c && this.checkPatternExport(e, c);
|
|
2195
2195
|
}
|
|
2196
2196
|
else n === "Property" ? this.checkPatternExport(e, t.value) : n === "AssignmentPattern" ? this.checkPatternExport(e, t.left) : n === "RestElement" && this.checkPatternExport(e, t.argument);
|
|
2197
|
-
},
|
|
2197
|
+
}, P.checkVariableExport = function(e, t) {
|
|
2198
2198
|
if (e) for (var n = 0, r = t; n < r.length; n += 1) {
|
|
2199
2199
|
var i = r[n];
|
|
2200
2200
|
this.checkPatternExport(e, i.id);
|
|
2201
2201
|
}
|
|
2202
|
-
},
|
|
2202
|
+
}, P.shouldParseExportStatement = function() {
|
|
2203
2203
|
return this.type.keyword === "var" || this.type.keyword === "const" || this.type.keyword === "class" || this.type.keyword === "function" || this.isLet() || this.isAsyncFunction();
|
|
2204
|
-
},
|
|
2204
|
+
}, P.parseExportSpecifier = function(e) {
|
|
2205
2205
|
var t = this.startNode();
|
|
2206
2206
|
return t.local = this.parseModuleExportName(), t.exported = this.eatContextual("as") ? this.parseModuleExportName() : t.local, this.checkExport(e, t.exported, t.exported.start), this.finishNode(t, "ExportSpecifier");
|
|
2207
|
-
},
|
|
2207
|
+
}, P.parseExportSpecifiers = function(e) {
|
|
2208
2208
|
var t = [], n = !0;
|
|
2209
|
-
for (this.expect(
|
|
2209
|
+
for (this.expect(O.braceL); !this.eat(O.braceR);) {
|
|
2210
2210
|
if (n) n = !1;
|
|
2211
|
-
else if (this.expect(
|
|
2211
|
+
else if (this.expect(O.comma), this.afterTrailingComma(O.braceR)) break;
|
|
2212
2212
|
t.push(this.parseExportSpecifier(e));
|
|
2213
2213
|
}
|
|
2214
2214
|
return t;
|
|
2215
|
-
},
|
|
2216
|
-
return this.next(), this.type ===
|
|
2217
|
-
},
|
|
2215
|
+
}, P.parseImport = function(e) {
|
|
2216
|
+
return this.next(), this.type === O.string ? (e.specifiers = Lt, e.source = this.parseExprAtom()) : (e.specifiers = this.parseImportSpecifiers(), this.expectContextual("from"), e.source = this.type === O.string ? this.parseExprAtom() : this.unexpected()), this.options.ecmaVersion >= 16 && (e.attributes = this.parseWithClause()), this.semicolon(), this.finishNode(e, "ImportDeclaration");
|
|
2217
|
+
}, P.parseImportSpecifier = function() {
|
|
2218
2218
|
var e = this.startNode();
|
|
2219
|
-
return e.imported = this.parseModuleExportName(), this.eatContextual("as") ? e.local = this.parseIdent() : (this.checkUnreserved(e.imported), e.local = e.imported), this.checkLValSimple(e.local,
|
|
2220
|
-
},
|
|
2219
|
+
return e.imported = this.parseModuleExportName(), this.eatContextual("as") ? e.local = this.parseIdent() : (this.checkUnreserved(e.imported), e.local = e.imported), this.checkLValSimple(e.local, kt), this.finishNode(e, "ImportSpecifier");
|
|
2220
|
+
}, P.parseImportDefaultSpecifier = function() {
|
|
2221
2221
|
var e = this.startNode();
|
|
2222
|
-
return e.local = this.parseIdent(), this.checkLValSimple(e.local,
|
|
2223
|
-
},
|
|
2222
|
+
return e.local = this.parseIdent(), this.checkLValSimple(e.local, kt), this.finishNode(e, "ImportDefaultSpecifier");
|
|
2223
|
+
}, P.parseImportNamespaceSpecifier = function() {
|
|
2224
2224
|
var e = this.startNode();
|
|
2225
|
-
return this.next(), this.expectContextual("as"), e.local = this.parseIdent(), this.checkLValSimple(e.local,
|
|
2226
|
-
},
|
|
2225
|
+
return this.next(), this.expectContextual("as"), e.local = this.parseIdent(), this.checkLValSimple(e.local, kt), this.finishNode(e, "ImportNamespaceSpecifier");
|
|
2226
|
+
}, P.parseImportSpecifiers = function() {
|
|
2227
2227
|
var e = [], t = !0;
|
|
2228
|
-
if (this.type ===
|
|
2229
|
-
if (this.type ===
|
|
2230
|
-
for (this.expect(
|
|
2228
|
+
if (this.type === O.name && (e.push(this.parseImportDefaultSpecifier()), !this.eat(O.comma))) return e;
|
|
2229
|
+
if (this.type === O.star) return e.push(this.parseImportNamespaceSpecifier()), e;
|
|
2230
|
+
for (this.expect(O.braceL); !this.eat(O.braceR);) {
|
|
2231
2231
|
if (t) t = !1;
|
|
2232
|
-
else if (this.expect(
|
|
2232
|
+
else if (this.expect(O.comma), this.afterTrailingComma(O.braceR)) break;
|
|
2233
2233
|
e.push(this.parseImportSpecifier());
|
|
2234
2234
|
}
|
|
2235
2235
|
return e;
|
|
2236
|
-
},
|
|
2236
|
+
}, P.parseWithClause = function() {
|
|
2237
2237
|
var e = [];
|
|
2238
|
-
if (!this.eat(
|
|
2239
|
-
this.expect(
|
|
2240
|
-
for (var t = {}, n = !0; !this.eat(
|
|
2238
|
+
if (!this.eat(O._with)) return e;
|
|
2239
|
+
this.expect(O.braceL);
|
|
2240
|
+
for (var t = {}, n = !0; !this.eat(O.braceR);) {
|
|
2241
2241
|
if (n) n = !1;
|
|
2242
|
-
else if (this.expect(
|
|
2242
|
+
else if (this.expect(O.comma), this.afterTrailingComma(O.braceR)) break;
|
|
2243
2243
|
var r = this.parseImportAttribute(), i = r.key.type === "Identifier" ? r.key.name : r.key.value;
|
|
2244
|
-
|
|
2244
|
+
tt(t, i) && this.raiseRecoverable(r.key.start, "Duplicate attribute key '" + i + "'"), t[i] = !0, e.push(r);
|
|
2245
2245
|
}
|
|
2246
2246
|
return e;
|
|
2247
|
-
},
|
|
2247
|
+
}, P.parseImportAttribute = function() {
|
|
2248
2248
|
var e = this.startNode();
|
|
2249
|
-
return e.key = this.type ===
|
|
2250
|
-
},
|
|
2251
|
-
if (this.options.ecmaVersion >= 13 && this.type ===
|
|
2249
|
+
return e.key = this.type === O.string ? this.parseExprAtom() : this.parseIdent(this.options.allowReserved !== "never"), this.expect(O.colon), this.type !== O.string && this.unexpected(), e.value = this.parseExprAtom(), this.finishNode(e, "ImportAttribute");
|
|
2250
|
+
}, P.parseModuleExportName = function() {
|
|
2251
|
+
if (this.options.ecmaVersion >= 13 && this.type === O.string) {
|
|
2252
2252
|
var e = this.parseLiteral(this.value);
|
|
2253
|
-
return
|
|
2253
|
+
return ot.test(e.value) && this.raise(e.start, "An export name cannot include a lone surrogate."), e;
|
|
2254
2254
|
}
|
|
2255
2255
|
return this.parseIdent(!0);
|
|
2256
|
-
},
|
|
2256
|
+
}, P.adaptDirectivePrologue = function(e) {
|
|
2257
2257
|
for (var t = 0; t < e.length && this.isDirectiveCandidate(e[t]); ++t) e[t].directive = e[t].expression.raw.slice(1, -1);
|
|
2258
|
-
},
|
|
2258
|
+
}, P.isDirectiveCandidate = function(e) {
|
|
2259
2259
|
return this.options.ecmaVersion >= 5 && e.type === "ExpressionStatement" && e.expression.type === "Literal" && typeof e.expression.value == "string" && (this.input[e.start] === "\"" || this.input[e.start] === "'");
|
|
2260
2260
|
};
|
|
2261
|
-
var
|
|
2262
|
-
|
|
2261
|
+
var F = j.prototype;
|
|
2262
|
+
F.toAssignable = function(e, t, n) {
|
|
2263
2263
|
if (this.options.ecmaVersion >= 6 && e) switch (e.type) {
|
|
2264
2264
|
case "Identifier":
|
|
2265
2265
|
this.inAsync && e.name === "await" && this.raise(e.start, "Cannot use 'await' as identifier inside an async function");
|
|
@@ -2298,7 +2298,7 @@ I.toAssignable = function(e, t, n) {
|
|
|
2298
2298
|
}
|
|
2299
2299
|
else n && this.checkPatternErrors(n, !0);
|
|
2300
2300
|
return e;
|
|
2301
|
-
},
|
|
2301
|
+
}, F.toAssignableList = function(e, t) {
|
|
2302
2302
|
for (var n = e.length, r = 0; r < n; r++) {
|
|
2303
2303
|
var i = e[r];
|
|
2304
2304
|
i && this.toAssignable(i, t);
|
|
@@ -2308,44 +2308,44 @@ I.toAssignable = function(e, t, n) {
|
|
|
2308
2308
|
this.options.ecmaVersion === 6 && t && a && a.type === "RestElement" && a.argument.type !== "Identifier" && this.unexpected(a.argument.start);
|
|
2309
2309
|
}
|
|
2310
2310
|
return e;
|
|
2311
|
-
},
|
|
2311
|
+
}, F.parseSpread = function(e) {
|
|
2312
2312
|
var t = this.startNode();
|
|
2313
2313
|
return this.next(), t.argument = this.parseMaybeAssign(!1, e), this.finishNode(t, "SpreadElement");
|
|
2314
|
-
},
|
|
2314
|
+
}, F.parseRestBinding = function() {
|
|
2315
2315
|
var e = this.startNode();
|
|
2316
|
-
return this.next(), this.options.ecmaVersion === 6 && this.type !==
|
|
2317
|
-
},
|
|
2316
|
+
return this.next(), this.options.ecmaVersion === 6 && this.type !== O.name && this.unexpected(), e.argument = this.parseBindingAtom(), this.finishNode(e, "RestElement");
|
|
2317
|
+
}, F.parseBindingAtom = function() {
|
|
2318
2318
|
if (this.options.ecmaVersion >= 6) switch (this.type) {
|
|
2319
|
-
case
|
|
2319
|
+
case O.bracketL:
|
|
2320
2320
|
var e = this.startNode();
|
|
2321
|
-
return this.next(), e.elements = this.parseBindingList(
|
|
2322
|
-
case
|
|
2321
|
+
return this.next(), e.elements = this.parseBindingList(O.bracketR, !0, !0), this.finishNode(e, "ArrayPattern");
|
|
2322
|
+
case O.braceL: return this.parseObj(!0);
|
|
2323
2323
|
}
|
|
2324
2324
|
return this.parseIdent();
|
|
2325
|
-
},
|
|
2326
|
-
for (var i = [], a = !0; !this.eat(e);) if (a ? a = !1 : this.expect(
|
|
2325
|
+
}, F.parseBindingList = function(e, t, n, r) {
|
|
2326
|
+
for (var i = [], a = !0; !this.eat(e);) if (a ? a = !1 : this.expect(O.comma), t && this.type === O.comma) i.push(null);
|
|
2327
2327
|
else if (n && this.afterTrailingComma(e)) break;
|
|
2328
|
-
else if (this.type ===
|
|
2328
|
+
else if (this.type === O.ellipsis) {
|
|
2329
2329
|
var o = this.parseRestBinding();
|
|
2330
|
-
this.parseBindingListItem(o), i.push(o), this.type ===
|
|
2330
|
+
this.parseBindingListItem(o), i.push(o), this.type === O.comma && this.raiseRecoverable(this.start, "Comma is not permitted after the rest element"), this.expect(e);
|
|
2331
2331
|
break;
|
|
2332
2332
|
} else i.push(this.parseAssignableListItem(r));
|
|
2333
2333
|
return i;
|
|
2334
|
-
},
|
|
2334
|
+
}, F.parseAssignableListItem = function(e) {
|
|
2335
2335
|
var t = this.parseMaybeDefault(this.start, this.startLoc);
|
|
2336
2336
|
return this.parseBindingListItem(t), t;
|
|
2337
|
-
},
|
|
2337
|
+
}, F.parseBindingListItem = function(e) {
|
|
2338
2338
|
return e;
|
|
2339
|
-
},
|
|
2340
|
-
if (n ||= this.parseBindingAtom(), this.options.ecmaVersion < 6 || !this.eat(
|
|
2339
|
+
}, F.parseMaybeDefault = function(e, t, n) {
|
|
2340
|
+
if (n ||= this.parseBindingAtom(), this.options.ecmaVersion < 6 || !this.eat(O.eq)) return n;
|
|
2341
2341
|
var r = this.startNodeAt(e, t);
|
|
2342
2342
|
return r.left = n, r.right = this.parseMaybeAssign(), this.finishNode(r, "AssignmentPattern");
|
|
2343
|
-
},
|
|
2344
|
-
t === void 0 && (t =
|
|
2345
|
-
var r = t !==
|
|
2343
|
+
}, F.checkLValSimple = function(e, t, n) {
|
|
2344
|
+
t === void 0 && (t = Dt);
|
|
2345
|
+
var r = t !== Dt;
|
|
2346
2346
|
switch (e.type) {
|
|
2347
2347
|
case "Identifier":
|
|
2348
|
-
this.strict && this.reservedWordsStrictBind.test(e.name) && this.raiseRecoverable(e.start, (r ? "Binding " : "Assigning to ") + e.name + " in strict mode"), r && (t ===
|
|
2348
|
+
this.strict && this.reservedWordsStrictBind.test(e.name) && this.raiseRecoverable(e.start, (r ? "Binding " : "Assigning to ") + e.name + " in strict mode"), r && (t === kt && e.name === "let" && this.raiseRecoverable(e.start, "let is disallowed as a lexically bound name"), n && (tt(n, e.name) && this.raiseRecoverable(e.start, "Argument name clash"), n[e.name] = !0), t !== Mt && this.declareName(e.name, t, e.start));
|
|
2349
2349
|
break;
|
|
2350
2350
|
case "ChainExpression":
|
|
2351
2351
|
this.raiseRecoverable(e.start, "Optional chaining cannot appear in left-hand side");
|
|
@@ -2356,8 +2356,8 @@ I.toAssignable = function(e, t, n) {
|
|
|
2356
2356
|
case "ParenthesizedExpression": return r && this.raiseRecoverable(e.start, "Binding parenthesized expression"), this.checkLValSimple(e.expression, t, n);
|
|
2357
2357
|
default: this.raise(e.start, (r ? "Binding" : "Assigning to") + " rvalue");
|
|
2358
2358
|
}
|
|
2359
|
-
},
|
|
2360
|
-
switch (t === void 0 && (t =
|
|
2359
|
+
}, F.checkLValPattern = function(e, t, n) {
|
|
2360
|
+
switch (t === void 0 && (t = Dt), e.type) {
|
|
2361
2361
|
case "ObjectPattern":
|
|
2362
2362
|
for (var r = 0, i = e.properties; r < i.length; r += 1) {
|
|
2363
2363
|
var a = i[r];
|
|
@@ -2372,8 +2372,8 @@ I.toAssignable = function(e, t, n) {
|
|
|
2372
2372
|
break;
|
|
2373
2373
|
default: this.checkLValSimple(e, t, n);
|
|
2374
2374
|
}
|
|
2375
|
-
},
|
|
2376
|
-
switch (t === void 0 && (t =
|
|
2375
|
+
}, F.checkLValInnerPattern = function(e, t, n) {
|
|
2376
|
+
switch (t === void 0 && (t = Dt), e.type) {
|
|
2377
2377
|
case "Property":
|
|
2378
2378
|
this.checkLValInnerPattern(e.value, t, n);
|
|
2379
2379
|
break;
|
|
@@ -2386,72 +2386,72 @@ I.toAssignable = function(e, t, n) {
|
|
|
2386
2386
|
default: this.checkLValPattern(e, t, n);
|
|
2387
2387
|
}
|
|
2388
2388
|
};
|
|
2389
|
-
var
|
|
2389
|
+
var Ut = function(e, t, n, r, i) {
|
|
2390
2390
|
this.token = e, this.isExpr = !!t, this.preserveSpace = !!n, this.override = r, this.generator = !!i;
|
|
2391
|
-
},
|
|
2392
|
-
b_stat: new
|
|
2393
|
-
b_expr: new
|
|
2394
|
-
b_tmpl: new
|
|
2395
|
-
p_stat: new
|
|
2396
|
-
p_expr: new
|
|
2397
|
-
q_tmpl: new
|
|
2391
|
+
}, I = {
|
|
2392
|
+
b_stat: new Ut("{", !1),
|
|
2393
|
+
b_expr: new Ut("{", !0),
|
|
2394
|
+
b_tmpl: new Ut("${", !1),
|
|
2395
|
+
p_stat: new Ut("(", !1),
|
|
2396
|
+
p_expr: new Ut("(", !0),
|
|
2397
|
+
q_tmpl: new Ut("`", !0, !0, function(e) {
|
|
2398
2398
|
return e.tryReadTemplateToken();
|
|
2399
2399
|
}),
|
|
2400
|
-
f_stat: new
|
|
2401
|
-
f_expr: new
|
|
2402
|
-
f_expr_gen: new
|
|
2403
|
-
f_gen: new
|
|
2404
|
-
},
|
|
2405
|
-
|
|
2406
|
-
return [
|
|
2407
|
-
},
|
|
2400
|
+
f_stat: new Ut("function", !1),
|
|
2401
|
+
f_expr: new Ut("function", !0),
|
|
2402
|
+
f_expr_gen: new Ut("function", !0, !1, null, !0),
|
|
2403
|
+
f_gen: new Ut("function", !1, !1, null, !0)
|
|
2404
|
+
}, Wt = j.prototype;
|
|
2405
|
+
Wt.initialContext = function() {
|
|
2406
|
+
return [I.b_stat];
|
|
2407
|
+
}, Wt.curContext = function() {
|
|
2408
2408
|
return this.context[this.context.length - 1];
|
|
2409
|
-
},
|
|
2409
|
+
}, Wt.braceIsBlock = function(e) {
|
|
2410
2410
|
var t = this.curContext();
|
|
2411
|
-
return t ===
|
|
2412
|
-
},
|
|
2411
|
+
return t === I.f_expr || t === I.f_stat ? !0 : e === O.colon && (t === I.b_stat || t === I.b_expr) ? !t.isExpr : e === O._return || e === O.name && this.exprAllowed ? k.test(this.input.slice(this.lastTokEnd, this.start)) : e === O._else || e === O.semi || e === O.eof || e === O.parenR || e === O.arrow ? !0 : e === O.braceL ? t === I.b_stat : e === O._var || e === O._const || e === O.name ? !1 : !this.exprAllowed;
|
|
2412
|
+
}, Wt.inGeneratorContext = function() {
|
|
2413
2413
|
for (var e = this.context.length - 1; e >= 1; e--) {
|
|
2414
2414
|
var t = this.context[e];
|
|
2415
2415
|
if (t.token === "function") return t.generator;
|
|
2416
2416
|
}
|
|
2417
2417
|
return !1;
|
|
2418
|
-
},
|
|
2418
|
+
}, Wt.updateContext = function(e) {
|
|
2419
2419
|
var t, n = this.type;
|
|
2420
|
-
n.keyword && e ===
|
|
2421
|
-
},
|
|
2420
|
+
n.keyword && e === O.dot ? this.exprAllowed = !1 : (t = n.updateContext) ? t.call(this, e) : this.exprAllowed = n.beforeExpr;
|
|
2421
|
+
}, Wt.overrideContext = function(e) {
|
|
2422
2422
|
this.curContext() !== e && (this.context[this.context.length - 1] = e);
|
|
2423
|
-
},
|
|
2423
|
+
}, O.parenR.updateContext = O.braceR.updateContext = function() {
|
|
2424
2424
|
if (this.context.length === 1) {
|
|
2425
2425
|
this.exprAllowed = !0;
|
|
2426
2426
|
return;
|
|
2427
2427
|
}
|
|
2428
2428
|
var e = this.context.pop();
|
|
2429
|
-
e ===
|
|
2430
|
-
},
|
|
2431
|
-
this.context.push(this.braceIsBlock(e) ?
|
|
2432
|
-
},
|
|
2433
|
-
this.context.push(
|
|
2434
|
-
},
|
|
2435
|
-
var t = e ===
|
|
2436
|
-
this.context.push(t ?
|
|
2437
|
-
},
|
|
2438
|
-
e.beforeExpr && e !==
|
|
2439
|
-
},
|
|
2429
|
+
e === I.b_stat && this.curContext().token === "function" && (e = this.context.pop()), this.exprAllowed = !e.isExpr;
|
|
2430
|
+
}, O.braceL.updateContext = function(e) {
|
|
2431
|
+
this.context.push(this.braceIsBlock(e) ? I.b_stat : I.b_expr), this.exprAllowed = !0;
|
|
2432
|
+
}, O.dollarBraceL.updateContext = function() {
|
|
2433
|
+
this.context.push(I.b_tmpl), this.exprAllowed = !0;
|
|
2434
|
+
}, O.parenL.updateContext = function(e) {
|
|
2435
|
+
var t = e === O._if || e === O._for || e === O._with || e === O._while;
|
|
2436
|
+
this.context.push(t ? I.p_stat : I.p_expr), this.exprAllowed = !0;
|
|
2437
|
+
}, O.incDec.updateContext = function() {}, O._function.updateContext = O._class.updateContext = function(e) {
|
|
2438
|
+
e.beforeExpr && e !== O._else && (e !== O.semi || this.curContext() === I.p_stat) && !(e === O._return && k.test(this.input.slice(this.lastTokEnd, this.start))) && (e !== O.colon && e !== O.braceL || this.curContext() !== I.b_stat) ? this.context.push(I.f_expr) : this.context.push(I.f_stat), this.exprAllowed = !1;
|
|
2439
|
+
}, O.colon.updateContext = function() {
|
|
2440
2440
|
this.curContext().token === "function" && this.context.pop(), this.exprAllowed = !0;
|
|
2441
|
-
},
|
|
2442
|
-
this.curContext() ===
|
|
2443
|
-
},
|
|
2444
|
-
if (e ===
|
|
2441
|
+
}, O.backQuote.updateContext = function() {
|
|
2442
|
+
this.curContext() === I.q_tmpl ? this.context.pop() : this.context.push(I.q_tmpl), this.exprAllowed = !1;
|
|
2443
|
+
}, O.star.updateContext = function(e) {
|
|
2444
|
+
if (e === O._function) {
|
|
2445
2445
|
var t = this.context.length - 1;
|
|
2446
|
-
this.context[t] ===
|
|
2446
|
+
this.context[t] === I.f_expr ? this.context[t] = I.f_expr_gen : this.context[t] = I.f_gen;
|
|
2447
2447
|
}
|
|
2448
2448
|
this.exprAllowed = !0;
|
|
2449
|
-
},
|
|
2449
|
+
}, O.name.updateContext = function(e) {
|
|
2450
2450
|
var t = !1;
|
|
2451
|
-
this.options.ecmaVersion >= 6 && e !==
|
|
2451
|
+
this.options.ecmaVersion >= 6 && e !== O.dot && (this.value === "of" && !this.exprAllowed || this.value === "yield" && this.inGeneratorContext()) && (t = !0), this.exprAllowed = t;
|
|
2452
2452
|
};
|
|
2453
|
-
var
|
|
2454
|
-
|
|
2453
|
+
var L = j.prototype;
|
|
2454
|
+
L.checkPropClash = function(e, t, n) {
|
|
2455
2455
|
if (!(this.options.ecmaVersion >= 9 && e.type === "SpreadElement") && !(this.options.ecmaVersion >= 6 && (e.computed || e.method || e.shorthand))) {
|
|
2456
2456
|
var r = e.key, i;
|
|
2457
2457
|
switch (r.type) {
|
|
@@ -2476,65 +2476,65 @@ R.checkPropClash = function(e, t, n) {
|
|
|
2476
2476
|
set: !1
|
|
2477
2477
|
}, o[a] = !0;
|
|
2478
2478
|
}
|
|
2479
|
-
},
|
|
2479
|
+
}, L.parseExpression = function(e, t) {
|
|
2480
2480
|
var n = this;
|
|
2481
2481
|
return this.catchStackOverflow(function() {
|
|
2482
2482
|
var r = n.start, i = n.startLoc, a = n.parseMaybeAssign(e, t);
|
|
2483
|
-
if (n.type ===
|
|
2483
|
+
if (n.type === O.comma) {
|
|
2484
2484
|
var o = n.startNodeAt(r, i);
|
|
2485
|
-
for (o.expressions = [a]; n.eat(
|
|
2485
|
+
for (o.expressions = [a]; n.eat(O.comma);) o.expressions.push(n.parseMaybeAssign(e, t));
|
|
2486
2486
|
return n.finishNode(o, "SequenceExpression");
|
|
2487
2487
|
}
|
|
2488
2488
|
return a;
|
|
2489
2489
|
});
|
|
2490
|
-
},
|
|
2490
|
+
}, L.parseMaybeAssign = function(e, t, n) {
|
|
2491
2491
|
if (this.isContextual("yield")) {
|
|
2492
2492
|
if (this.inGenerator) return this.parseYield(e);
|
|
2493
2493
|
this.exprAllowed = !1;
|
|
2494
2494
|
}
|
|
2495
2495
|
var r = !1, i = -1, a = -1, o = -1;
|
|
2496
|
-
t ? (i = t.parenthesizedAssign, a = t.trailingComma, o = t.doubleProto, t.parenthesizedAssign = t.trailingComma = -1) : (t = new
|
|
2496
|
+
t ? (i = t.parenthesizedAssign, a = t.trailingComma, o = t.doubleProto, t.parenthesizedAssign = t.trailingComma = -1) : (t = new Pt(), r = !0);
|
|
2497
2497
|
var s = this.start, c = this.startLoc;
|
|
2498
|
-
(this.type ===
|
|
2498
|
+
(this.type === O.parenL || this.type === O.name) && (this.potentialArrowAt = this.start, this.potentialArrowInForAwait = e === "await");
|
|
2499
2499
|
var l = this.parseMaybeConditional(e, t);
|
|
2500
2500
|
if (n && (l = n.call(this, l, s, c)), this.type.isAssign) {
|
|
2501
2501
|
var u = this.startNodeAt(s, c);
|
|
2502
|
-
return u.operator = this.value, this.type ===
|
|
2502
|
+
return u.operator = this.value, this.type === O.eq && (l = this.toAssignable(l, !1, t)), r || (t.parenthesizedAssign = t.trailingComma = t.doubleProto = -1), t.shorthandAssign >= l.start && (t.shorthandAssign = -1), this.type === O.eq ? this.checkLValPattern(l) : this.checkLValSimple(l), u.left = l, this.next(), u.right = this.parseMaybeAssign(e), o > -1 && (t.doubleProto = o), this.finishNode(u, "AssignmentExpression");
|
|
2503
2503
|
}
|
|
2504
2504
|
return r && this.checkExpressionErrors(t, !0), i > -1 && (t.parenthesizedAssign = i), a > -1 && (t.trailingComma = a), l;
|
|
2505
|
-
},
|
|
2505
|
+
}, L.parseMaybeConditional = function(e, t) {
|
|
2506
2506
|
var n = this.start, r = this.startLoc, i = this.parseExprOps(e, t);
|
|
2507
2507
|
if (this.checkExpressionErrors(t)) return i;
|
|
2508
|
-
if ((i.type !== "ArrowFunctionExpression" || i.start !== n) && this.eat(
|
|
2508
|
+
if ((i.type !== "ArrowFunctionExpression" || i.start !== n) && this.eat(O.question)) {
|
|
2509
2509
|
var a = this.startNodeAt(n, r);
|
|
2510
|
-
return a.test = i, a.consequent = this.parseMaybeAssign(), this.expect(
|
|
2510
|
+
return a.test = i, a.consequent = this.parseMaybeAssign(), this.expect(O.colon), a.alternate = this.parseMaybeAssign(e), this.finishNode(a, "ConditionalExpression");
|
|
2511
2511
|
}
|
|
2512
2512
|
return i;
|
|
2513
|
-
},
|
|
2513
|
+
}, L.parseExprOps = function(e, t) {
|
|
2514
2514
|
var n = this.start, r = this.startLoc, i = this.parseMaybeUnary(t, !1, !1, e);
|
|
2515
2515
|
return this.checkExpressionErrors(t) || i.start === n && i.type === "ArrowFunctionExpression" ? i : this.parseExprOp(i, n, r, -1, e);
|
|
2516
|
-
},
|
|
2516
|
+
}, L.parseExprOp = function(e, t, n, r, i) {
|
|
2517
2517
|
var a = this.type.binop;
|
|
2518
|
-
if (a != null && (!i || this.type !==
|
|
2519
|
-
var o = this.type ===
|
|
2520
|
-
s && (a =
|
|
2518
|
+
if (a != null && (!i || this.type !== O._in) && a > r) {
|
|
2519
|
+
var o = this.type === O.logicalOR || this.type === O.logicalAND, s = this.type === O.coalesce;
|
|
2520
|
+
s && (a = O.logicalAND.binop);
|
|
2521
2521
|
var c = this.value;
|
|
2522
2522
|
this.next();
|
|
2523
2523
|
var l = this.start, u = this.startLoc, d = this.parseExprOp(this.parseMaybeUnary(null, !1, !1, i), l, u, a, i), f = this.buildBinary(t, n, e, d, c, o || s);
|
|
2524
|
-
return (o && this.type ===
|
|
2524
|
+
return (o && this.type === O.coalesce || s && (this.type === O.logicalOR || this.type === O.logicalAND)) && this.raiseRecoverable(this.start, "Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses"), this.parseExprOp(f, t, n, r, i);
|
|
2525
2525
|
}
|
|
2526
2526
|
return e;
|
|
2527
|
-
},
|
|
2527
|
+
}, L.buildBinary = function(e, t, n, r, i, a) {
|
|
2528
2528
|
r.type === "PrivateIdentifier" && this.raise(r.start, "Private identifier can only be left side of binary expression");
|
|
2529
2529
|
var o = this.startNodeAt(e, t);
|
|
2530
2530
|
return o.left = n, o.operator = i, o.right = r, this.finishNode(o, a ? "LogicalExpression" : "BinaryExpression");
|
|
2531
|
-
},
|
|
2531
|
+
}, L.parseMaybeUnary = function(e, t, n, r) {
|
|
2532
2532
|
var i = this.start, a = this.startLoc, o;
|
|
2533
2533
|
if (this.isContextual("await") && this.canAwait) o = this.parseAwait(r), t = !0;
|
|
2534
2534
|
else if (this.type.prefix) {
|
|
2535
|
-
var s = this.startNode(), c = this.type ===
|
|
2536
|
-
s.operator = this.value, s.prefix = !0, this.next(), s.argument = this.parseMaybeUnary(null, !0, c, r), this.checkExpressionErrors(e, !0), c ? this.checkLValSimple(s.argument) : this.strict && s.operator === "delete" &&
|
|
2537
|
-
} else if (!t && this.type ===
|
|
2535
|
+
var s = this.startNode(), c = this.type === O.incDec;
|
|
2536
|
+
s.operator = this.value, s.prefix = !0, this.next(), s.argument = this.parseMaybeUnary(null, !0, c, r), this.checkExpressionErrors(e, !0), c ? this.checkLValSimple(s.argument) : this.strict && s.operator === "delete" && Gt(s.argument) ? this.raiseRecoverable(s.start, "Deleting local variable in strict mode") : s.operator === "delete" && Kt(s.argument) ? this.raiseRecoverable(s.start, "Private fields can not be deleted") : t = !0, o = this.finishNode(s, c ? "UpdateExpression" : "UnaryExpression");
|
|
2537
|
+
} else if (!t && this.type === O.privateId) (r || this.privateNameStack.length === 0) && this.options.checkPrivateFields && this.unexpected(), o = this.parsePrivateIdent(), this.type !== O._in && this.unexpected();
|
|
2538
2538
|
else {
|
|
2539
2539
|
if (o = this.parseExprSubscripts(e, r), this.checkExpressionErrors(e)) return o;
|
|
2540
2540
|
for (; this.type.postfix && !this.canInsertSemicolon();) {
|
|
@@ -2542,23 +2542,23 @@ R.checkPropClash = function(e, t, n) {
|
|
|
2542
2542
|
l.operator = this.value, l.prefix = !1, l.argument = o, this.checkLValSimple(o), this.next(), o = this.finishNode(l, "UpdateExpression");
|
|
2543
2543
|
}
|
|
2544
2544
|
}
|
|
2545
|
-
if (!n && (o.type !== "ArrowFunctionExpression" || o.start !== i) && this.eat(
|
|
2545
|
+
if (!n && (o.type !== "ArrowFunctionExpression" || o.start !== i) && this.eat(O.starstar)) {
|
|
2546
2546
|
if (t) this.unexpected(this.lastTokStart);
|
|
2547
2547
|
else return this.buildBinary(i, a, o, this.parseMaybeUnary(null, !1, !1, r), "**", !1);
|
|
2548
2548
|
} else return o;
|
|
2549
2549
|
};
|
|
2550
|
-
function Wt(e) {
|
|
2551
|
-
return e.type === "Identifier" || e.type === "ParenthesizedExpression" && Wt(e.expression);
|
|
2552
|
-
}
|
|
2553
2550
|
function Gt(e) {
|
|
2554
|
-
return e.type === "
|
|
2551
|
+
return e.type === "Identifier" || e.type === "ParenthesizedExpression" && Gt(e.expression);
|
|
2555
2552
|
}
|
|
2556
|
-
|
|
2553
|
+
function Kt(e) {
|
|
2554
|
+
return e.type === "MemberExpression" && e.property.type === "PrivateIdentifier" || e.type === "ChainExpression" && Kt(e.expression) || e.type === "ParenthesizedExpression" && Kt(e.expression);
|
|
2555
|
+
}
|
|
2556
|
+
L.parseExprSubscripts = function(e, t) {
|
|
2557
2557
|
var n = this.start, r = this.startLoc, i = this.parseExprAtom(e, t);
|
|
2558
2558
|
if (i.type === "ArrowFunctionExpression" && this.input.slice(this.lastTokStart, this.lastTokEnd) !== ")") return i;
|
|
2559
2559
|
var a = this.parseSubscripts(i, n, r, !1, t);
|
|
2560
2560
|
return e && a.type === "MemberExpression" && (e.parenthesizedAssign >= a.start && (e.parenthesizedAssign = -1), e.parenthesizedBind >= a.start && (e.parenthesizedBind = -1), e.trailingComma >= a.start && (e.trailingComma = -1)), a;
|
|
2561
|
-
},
|
|
2561
|
+
}, L.parseSubscripts = function(e, t, n, r, i) {
|
|
2562
2562
|
for (var a = this.options.ecmaVersion >= 8 && e.type === "Identifier" && e.name === "async" && this.lastTokEnd === e.end && !this.canInsertSemicolon() && e.end - e.start === 5 && this.potentialArrowAt === e.start, o = !1;;) {
|
|
2563
2563
|
var s = this.parseSubscript(e, t, n, r, a, o, i);
|
|
2564
2564
|
if (s.optional && (o = !0), s === e || s.type === "ArrowFunctionExpression") {
|
|
@@ -2570,116 +2570,116 @@ R.parseExprSubscripts = function(e, t) {
|
|
|
2570
2570
|
}
|
|
2571
2571
|
e = s;
|
|
2572
2572
|
}
|
|
2573
|
-
},
|
|
2574
|
-
return !this.canInsertSemicolon() && this.eat(
|
|
2575
|
-
},
|
|
2573
|
+
}, L.shouldParseAsyncArrow = function() {
|
|
2574
|
+
return !this.canInsertSemicolon() && this.eat(O.arrow);
|
|
2575
|
+
}, L.parseSubscriptAsyncArrow = function(e, t, n, r) {
|
|
2576
2576
|
return this.parseArrowExpression(this.startNodeAt(e, t), n, !0, r);
|
|
2577
|
-
},
|
|
2578
|
-
var s = this.options.ecmaVersion >= 11, c = s && this.eat(
|
|
2577
|
+
}, L.parseSubscript = function(e, t, n, r, i, a, o) {
|
|
2578
|
+
var s = this.options.ecmaVersion >= 11, c = s && this.eat(O.questionDot);
|
|
2579
2579
|
r && c && this.raise(this.lastTokStart, "Optional chaining cannot appear in the callee of new expressions");
|
|
2580
|
-
var l = this.eat(
|
|
2581
|
-
if (l || c && this.type !==
|
|
2580
|
+
var l = this.eat(O.bracketL);
|
|
2581
|
+
if (l || c && this.type !== O.parenL && this.type !== O.backQuote || this.eat(O.dot)) {
|
|
2582
2582
|
var u = this.startNodeAt(t, n);
|
|
2583
|
-
u.object = e, l ? (u.property = this.parseExpression(), this.expect(
|
|
2584
|
-
} else if (!r && this.eat(
|
|
2585
|
-
var d = new
|
|
2583
|
+
u.object = e, l ? (u.property = this.parseExpression(), this.expect(O.bracketR)) : u.property = this.type === O.privateId && e.type !== "Super" ? this.parsePrivateIdent() : this.parseIdent(this.options.allowReserved !== "never"), u.computed = !!l, s && (u.optional = c), e = this.finishNode(u, "MemberExpression");
|
|
2584
|
+
} else if (!r && this.eat(O.parenL)) {
|
|
2585
|
+
var d = new Pt(), f = this.yieldPos, p = this.awaitPos, m = this.awaitIdentPos;
|
|
2586
2586
|
this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0;
|
|
2587
|
-
var h = this.parseExprList(
|
|
2587
|
+
var h = this.parseExprList(O.parenR, this.options.ecmaVersion >= 8, !1, d);
|
|
2588
2588
|
if (i && !c && this.shouldParseAsyncArrow()) return this.checkPatternErrors(d, !1), this.checkYieldAwaitInDefaultParams(), this.awaitIdentPos > 0 && this.raise(this.awaitIdentPos, "Cannot use 'await' as identifier inside an async function"), this.yieldPos = f, this.awaitPos = p, this.awaitIdentPos = m, this.parseSubscriptAsyncArrow(t, n, h, o);
|
|
2589
2589
|
this.checkExpressionErrors(d, !0), this.yieldPos = f || this.yieldPos, this.awaitPos = p || this.awaitPos, this.awaitIdentPos = m || this.awaitIdentPos;
|
|
2590
2590
|
var g = this.startNodeAt(t, n);
|
|
2591
2591
|
g.callee = e, g.arguments = h, s && (g.optional = c), e = this.finishNode(g, "CallExpression");
|
|
2592
|
-
} else if (this.type ===
|
|
2592
|
+
} else if (this.type === O.backQuote) {
|
|
2593
2593
|
(c || a) && this.raise(this.start, "Optional chaining cannot appear in the tag of tagged template expressions");
|
|
2594
2594
|
var _ = this.startNodeAt(t, n);
|
|
2595
2595
|
_.tag = e, _.quasi = this.parseTemplate({ isTagged: !0 }), e = this.finishNode(_, "TaggedTemplateExpression");
|
|
2596
2596
|
}
|
|
2597
2597
|
return e;
|
|
2598
|
-
},
|
|
2599
|
-
this.type ===
|
|
2598
|
+
}, L.parseExprAtom = function(e, t, n) {
|
|
2599
|
+
this.type === O.slash && this.readRegexp();
|
|
2600
2600
|
var r, i = this.potentialArrowAt === this.start;
|
|
2601
2601
|
switch (this.type) {
|
|
2602
|
-
case
|
|
2603
|
-
case
|
|
2604
|
-
case
|
|
2602
|
+
case O._super: return this.allowSuper || this.raise(this.start, "'super' keyword outside a method"), r = this.startNode(), this.next(), this.type === O.parenL && !this.allowDirectSuper && this.raise(r.start, "super() call outside constructor of a subclass"), this.type !== O.dot && this.type !== O.bracketL && this.type !== O.parenL && this.unexpected(), this.finishNode(r, "Super");
|
|
2603
|
+
case O._this: return r = this.startNode(), this.next(), this.finishNode(r, "ThisExpression");
|
|
2604
|
+
case O.name:
|
|
2605
2605
|
var a = this.start, o = this.startLoc, s = this.containsEsc, c = this.parseIdent(!1);
|
|
2606
|
-
if (this.options.ecmaVersion >= 8 && !s && c.name === "async" && !this.canInsertSemicolon() && this.eat(
|
|
2606
|
+
if (this.options.ecmaVersion >= 8 && !s && c.name === "async" && !this.canInsertSemicolon() && this.eat(O._function)) return this.overrideContext(I.f_expr), this.parseFunction(this.startNodeAt(a, o), 0, !1, !0, t);
|
|
2607
2607
|
if (i && !this.canInsertSemicolon()) {
|
|
2608
|
-
if (this.eat(
|
|
2609
|
-
if (this.options.ecmaVersion >= 8 && c.name === "async" && this.type ===
|
|
2608
|
+
if (this.eat(O.arrow)) return this.parseArrowExpression(this.startNodeAt(a, o), [c], !1, t);
|
|
2609
|
+
if (this.options.ecmaVersion >= 8 && c.name === "async" && this.type === O.name && !s && (!this.potentialArrowInForAwait || this.value !== "of" || this.containsEsc)) return c = this.parseIdent(!1), (this.canInsertSemicolon() || !this.eat(O.arrow)) && this.unexpected(), this.parseArrowExpression(this.startNodeAt(a, o), [c], !0, t);
|
|
2610
2610
|
}
|
|
2611
2611
|
return c;
|
|
2612
|
-
case
|
|
2612
|
+
case O.regexp:
|
|
2613
2613
|
var l = this.value;
|
|
2614
2614
|
return r = this.parseLiteral(l.value), r.regex = {
|
|
2615
2615
|
pattern: l.pattern,
|
|
2616
2616
|
flags: l.flags
|
|
2617
2617
|
}, r;
|
|
2618
|
-
case
|
|
2619
|
-
case
|
|
2620
|
-
case
|
|
2621
|
-
case
|
|
2622
|
-
case
|
|
2623
|
-
case
|
|
2618
|
+
case O.num:
|
|
2619
|
+
case O.string: return this.parseLiteral(this.value);
|
|
2620
|
+
case O._null:
|
|
2621
|
+
case O._true:
|
|
2622
|
+
case O._false: return r = this.startNode(), r.value = this.type === O._null ? null : this.type === O._true, r.raw = this.type.keyword, this.next(), this.finishNode(r, "Literal");
|
|
2623
|
+
case O.parenL:
|
|
2624
2624
|
var u = this.start, d = this.parseParenAndDistinguishExpression(i, t);
|
|
2625
2625
|
return e && (e.parenthesizedAssign < 0 && !this.isSimpleAssignTarget(d) && (e.parenthesizedAssign = u), e.parenthesizedBind < 0 && (e.parenthesizedBind = u)), d;
|
|
2626
|
-
case
|
|
2627
|
-
case
|
|
2628
|
-
case
|
|
2629
|
-
case
|
|
2630
|
-
case
|
|
2631
|
-
case
|
|
2632
|
-
case
|
|
2626
|
+
case O.bracketL: return r = this.startNode(), this.next(), r.elements = this.parseExprList(O.bracketR, !0, !0, e), this.finishNode(r, "ArrayExpression");
|
|
2627
|
+
case O.braceL: return this.overrideContext(I.b_expr), this.parseObj(!1, e);
|
|
2628
|
+
case O._function: return r = this.startNode(), this.next(), this.parseFunction(r, 0);
|
|
2629
|
+
case O._class: return this.parseClass(this.startNode(), !1);
|
|
2630
|
+
case O._new: return this.parseNew();
|
|
2631
|
+
case O.backQuote: return this.parseTemplate();
|
|
2632
|
+
case O._import: return this.options.ecmaVersion >= 11 ? this.parseExprImport(n) : this.unexpected();
|
|
2633
2633
|
default: return this.parseExprAtomDefault();
|
|
2634
2634
|
}
|
|
2635
|
-
},
|
|
2635
|
+
}, L.parseExprAtomDefault = function() {
|
|
2636
2636
|
this.unexpected();
|
|
2637
|
-
},
|
|
2637
|
+
}, L.parseExprImport = function(e) {
|
|
2638
2638
|
var t = this.startNode();
|
|
2639
|
-
if (this.containsEsc && this.raiseRecoverable(this.start, "Escape sequence in keyword import"), this.next(), this.type ===
|
|
2640
|
-
if (this.type ===
|
|
2639
|
+
if (this.containsEsc && this.raiseRecoverable(this.start, "Escape sequence in keyword import"), this.next(), this.type === O.parenL && !e) return this.parseDynamicImport(t);
|
|
2640
|
+
if (this.type === O.dot) {
|
|
2641
2641
|
var n = this.startNodeAt(t.start, t.loc && t.loc.start);
|
|
2642
2642
|
return n.name = "import", t.meta = this.finishNode(n, "Identifier"), this.parseImportMeta(t);
|
|
2643
2643
|
}
|
|
2644
2644
|
this.unexpected();
|
|
2645
|
-
},
|
|
2646
|
-
if (this.next(), e.source = this.parseMaybeAssign(), this.options.ecmaVersion >= 16) this.eat(
|
|
2647
|
-
else if (!this.eat(
|
|
2645
|
+
}, L.parseDynamicImport = function(e) {
|
|
2646
|
+
if (this.next(), e.source = this.parseMaybeAssign(), this.options.ecmaVersion >= 16) this.eat(O.parenR) ? e.options = null : (this.expect(O.comma), this.afterTrailingComma(O.parenR) ? e.options = null : (e.options = this.parseMaybeAssign(), this.eat(O.parenR) || (this.expect(O.comma), this.afterTrailingComma(O.parenR) || this.unexpected())));
|
|
2647
|
+
else if (!this.eat(O.parenR)) {
|
|
2648
2648
|
var t = this.start;
|
|
2649
|
-
this.eat(
|
|
2649
|
+
this.eat(O.comma) && this.eat(O.parenR) ? this.raiseRecoverable(t, "Trailing comma is not allowed in import()") : this.unexpected(t);
|
|
2650
2650
|
}
|
|
2651
2651
|
return this.finishNode(e, "ImportExpression");
|
|
2652
|
-
},
|
|
2652
|
+
}, L.parseImportMeta = function(e) {
|
|
2653
2653
|
this.next();
|
|
2654
2654
|
var t = this.containsEsc;
|
|
2655
2655
|
return e.property = this.parseIdent(!0), e.property.name !== "meta" && this.raiseRecoverable(e.property.start, "The only valid meta property for import is 'import.meta'"), t && this.raiseRecoverable(e.start, "'import.meta' must not contain escaped characters"), this.options.sourceType !== "module" && !this.options.allowImportExportEverywhere && this.raiseRecoverable(e.start, "Cannot use 'import.meta' outside a module"), this.finishNode(e, "MetaProperty");
|
|
2656
|
-
},
|
|
2656
|
+
}, L.parseLiteral = function(e) {
|
|
2657
2657
|
var t = this.startNode();
|
|
2658
2658
|
return t.value = e, t.raw = this.input.slice(this.start, this.end), t.raw.charCodeAt(t.raw.length - 1) === 110 && (t.bigint = t.value == null ? t.raw.slice(0, -1).replace(/_/g, "") : t.value.toString()), this.next(), this.finishNode(t, "Literal");
|
|
2659
|
-
},
|
|
2660
|
-
this.expect(
|
|
2659
|
+
}, L.parseParenExpression = function() {
|
|
2660
|
+
this.expect(O.parenL);
|
|
2661
2661
|
var e = this.parseExpression();
|
|
2662
|
-
return this.expect(
|
|
2663
|
-
},
|
|
2662
|
+
return this.expect(O.parenR), e;
|
|
2663
|
+
}, L.shouldParseArrow = function(e) {
|
|
2664
2664
|
return !this.canInsertSemicolon();
|
|
2665
|
-
},
|
|
2665
|
+
}, L.parseParenAndDistinguishExpression = function(e, t) {
|
|
2666
2666
|
var n = this.start, r = this.startLoc, i, a = this.options.ecmaVersion >= 8;
|
|
2667
2667
|
if (this.options.ecmaVersion >= 6) {
|
|
2668
2668
|
this.next();
|
|
2669
|
-
var o = this.start, s = this.startLoc, c = [], l = !0, u = !1, d = new
|
|
2670
|
-
for (this.yieldPos = 0, this.awaitPos = 0; this.type !==
|
|
2671
|
-
if (l ? l = !1 : this.expect(
|
|
2669
|
+
var o = this.start, s = this.startLoc, c = [], l = !0, u = !1, d = new Pt(), f = this.yieldPos, p = this.awaitPos, m;
|
|
2670
|
+
for (this.yieldPos = 0, this.awaitPos = 0; this.type !== O.parenR;) {
|
|
2671
|
+
if (l ? l = !1 : this.expect(O.comma), a && this.afterTrailingComma(O.parenR, !0)) {
|
|
2672
2672
|
u = !0;
|
|
2673
2673
|
break;
|
|
2674
2674
|
}
|
|
2675
|
-
if (this.type ===
|
|
2676
|
-
m = this.start, c.push(this.parseParenItem(this.parseRestBinding())), this.type ===
|
|
2675
|
+
if (this.type === O.ellipsis) {
|
|
2676
|
+
m = this.start, c.push(this.parseParenItem(this.parseRestBinding())), this.type === O.comma && this.raiseRecoverable(this.start, "Comma is not permitted after the rest element");
|
|
2677
2677
|
break;
|
|
2678
2678
|
}
|
|
2679
2679
|
c.push(this.parseMaybeAssign(!1, d, this.parseParenItem));
|
|
2680
2680
|
}
|
|
2681
2681
|
var h = this.lastTokEnd, g = this.lastTokEndLoc;
|
|
2682
|
-
if (this.expect(
|
|
2682
|
+
if (this.expect(O.parenR), e && this.shouldParseArrow(c) && this.eat(O.arrow)) return this.checkPatternErrors(d, !1), this.checkYieldAwaitInDefaultParams(), this.yieldPos = f, this.awaitPos = p, this.parseParenArrowList(n, r, c, t);
|
|
2683
2683
|
(!c.length || u) && this.unexpected(this.lastTokStart), m && this.unexpected(m), this.checkExpressionErrors(d, !0), this.yieldPos = f || this.yieldPos, this.awaitPos = p || this.awaitPos, c.length > 1 ? (i = this.startNodeAt(o, s), i.expressions = c, this.finishNodeAt(i, "SequenceExpression", h, g)) : i = c[0];
|
|
2684
2684
|
} else i = this.parseParenExpression();
|
|
2685
2685
|
if (this.options.preserveParens) {
|
|
@@ -2687,59 +2687,59 @@ R.parseExprSubscripts = function(e, t) {
|
|
|
2687
2687
|
return _.expression = i, this.finishNode(_, "ParenthesizedExpression");
|
|
2688
2688
|
}
|
|
2689
2689
|
return i;
|
|
2690
|
-
},
|
|
2690
|
+
}, L.parseParenItem = function(e) {
|
|
2691
2691
|
return e;
|
|
2692
|
-
},
|
|
2692
|
+
}, L.parseParenArrowList = function(e, t, n, r) {
|
|
2693
2693
|
return this.parseArrowExpression(this.startNodeAt(e, t), n, !1, r);
|
|
2694
2694
|
};
|
|
2695
|
-
var
|
|
2696
|
-
|
|
2695
|
+
var qt = [];
|
|
2696
|
+
L.parseNew = function() {
|
|
2697
2697
|
this.containsEsc && this.raiseRecoverable(this.start, "Escape sequence in keyword new");
|
|
2698
2698
|
var e = this.startNode();
|
|
2699
|
-
if (this.next(), this.options.ecmaVersion >= 6 && this.type ===
|
|
2699
|
+
if (this.next(), this.options.ecmaVersion >= 6 && this.type === O.dot) {
|
|
2700
2700
|
var t = this.startNodeAt(e.start, e.loc && e.loc.start);
|
|
2701
2701
|
t.name = "new", e.meta = this.finishNode(t, "Identifier"), this.next();
|
|
2702
2702
|
var n = this.containsEsc;
|
|
2703
2703
|
return e.property = this.parseIdent(!0), e.property.name !== "target" && this.raiseRecoverable(e.property.start, "The only valid meta property for new is 'new.target'"), n && this.raiseRecoverable(e.start, "'new.target' must not contain escaped characters"), this.allowNewDotTarget || this.raiseRecoverable(e.start, "'new.target' can only be used in functions and class static block"), this.finishNode(e, "MetaProperty");
|
|
2704
2704
|
}
|
|
2705
2705
|
var r = this.start, i = this.startLoc;
|
|
2706
|
-
return e.callee = this.parseSubscripts(this.parseExprAtom(null, !1, !0), r, i, !0, !1), e.callee.type === "Super" && this.raiseRecoverable(r, "Invalid use of 'super'"), e.arguments = this.eat(
|
|
2707
|
-
},
|
|
2706
|
+
return e.callee = this.parseSubscripts(this.parseExprAtom(null, !1, !0), r, i, !0, !1), e.callee.type === "Super" && this.raiseRecoverable(r, "Invalid use of 'super'"), e.arguments = this.eat(O.parenL) ? this.parseExprList(O.parenR, this.options.ecmaVersion >= 8, !1) : qt, this.finishNode(e, "NewExpression");
|
|
2707
|
+
}, L.parseTemplateElement = function(e) {
|
|
2708
2708
|
var t = e.isTagged, n = this.startNode();
|
|
2709
|
-
return this.type ===
|
|
2709
|
+
return this.type === O.invalidTemplate ? (t || this.raiseRecoverable(this.start, "Bad escape sequence in untagged template literal"), n.value = {
|
|
2710
2710
|
raw: this.value.replace(/\r\n?/g, "\n"),
|
|
2711
2711
|
cooked: null
|
|
2712
2712
|
}) : n.value = {
|
|
2713
2713
|
raw: this.input.slice(this.start, this.end).replace(/\r\n?/g, "\n"),
|
|
2714
2714
|
cooked: this.value
|
|
2715
|
-
}, this.next(), n.tail = this.type ===
|
|
2716
|
-
},
|
|
2715
|
+
}, this.next(), n.tail = this.type === O.backQuote, this.finishNode(n, "TemplateElement");
|
|
2716
|
+
}, L.parseTemplate = function(e) {
|
|
2717
2717
|
e === void 0 && (e = {});
|
|
2718
2718
|
var t = e.isTagged;
|
|
2719
2719
|
t === void 0 && (t = !1);
|
|
2720
2720
|
var n = this.startNode();
|
|
2721
2721
|
this.next(), n.expressions = [];
|
|
2722
2722
|
var r = this.parseTemplateElement({ isTagged: t });
|
|
2723
|
-
for (n.quasis = [r]; !r.tail;) this.type ===
|
|
2723
|
+
for (n.quasis = [r]; !r.tail;) this.type === O.eof && this.raise(this.pos, "Unterminated template literal"), this.expect(O.dollarBraceL), n.expressions.push(this.parseExpression()), this.expect(O.braceR), n.quasis.push(r = this.parseTemplateElement({ isTagged: t }));
|
|
2724
2724
|
return this.next(), this.finishNode(n, "TemplateLiteral");
|
|
2725
|
-
},
|
|
2726
|
-
return !e.computed && e.key.type === "Identifier" && e.key.name === "async" && (this.type ===
|
|
2727
|
-
},
|
|
2725
|
+
}, L.isAsyncProp = function(e) {
|
|
2726
|
+
return !e.computed && e.key.type === "Identifier" && e.key.name === "async" && (this.type === O.name || this.type === O.num || this.type === O.string || this.type === O.bracketL || this.type.keyword || this.options.ecmaVersion >= 9 && this.type === O.star) && !k.test(this.input.slice(this.lastTokEnd, this.start));
|
|
2727
|
+
}, L.parseObj = function(e, t) {
|
|
2728
2728
|
var n = this.startNode(), r = !0, i = {};
|
|
2729
|
-
for (n.properties = [], this.next(); !this.eat(
|
|
2729
|
+
for (n.properties = [], this.next(); !this.eat(O.braceR);) {
|
|
2730
2730
|
if (r) r = !1;
|
|
2731
|
-
else if (this.expect(
|
|
2731
|
+
else if (this.expect(O.comma), this.options.ecmaVersion >= 5 && this.afterTrailingComma(O.braceR)) break;
|
|
2732
2732
|
var a = this.parseProperty(e, t);
|
|
2733
2733
|
e || this.checkPropClash(a, i, t), n.properties.push(a);
|
|
2734
2734
|
}
|
|
2735
2735
|
return this.finishNode(n, e ? "ObjectPattern" : "ObjectExpression");
|
|
2736
|
-
},
|
|
2736
|
+
}, L.parseProperty = function(e, t) {
|
|
2737
2737
|
var n = this.startNode(), r, i, a, o;
|
|
2738
|
-
if (this.options.ecmaVersion >= 9 && this.eat(
|
|
2739
|
-
this.options.ecmaVersion >= 6 && (n.method = !1, n.shorthand = !1, (e || t) && (a = this.start, o = this.startLoc), e || (r = this.eat(
|
|
2738
|
+
if (this.options.ecmaVersion >= 9 && this.eat(O.ellipsis)) return e ? (n.argument = this.parseIdent(!1), this.type === O.comma && this.raiseRecoverable(this.start, "Comma is not permitted after the rest element"), this.finishNode(n, "RestElement")) : (n.argument = this.parseMaybeAssign(!1, t), this.type === O.comma && t && t.trailingComma < 0 && (t.trailingComma = this.start), this.finishNode(n, "SpreadElement"));
|
|
2739
|
+
this.options.ecmaVersion >= 6 && (n.method = !1, n.shorthand = !1, (e || t) && (a = this.start, o = this.startLoc), e || (r = this.eat(O.star)));
|
|
2740
2740
|
var s = this.containsEsc;
|
|
2741
|
-
return this.parsePropertyName(n), !e && !s && this.options.ecmaVersion >= 8 && !r && this.isAsyncProp(n) ? (i = !0, r = this.options.ecmaVersion >= 9 && this.eat(
|
|
2742
|
-
},
|
|
2741
|
+
return this.parsePropertyName(n), !e && !s && this.options.ecmaVersion >= 8 && !r && this.isAsyncProp(n) ? (i = !0, r = this.options.ecmaVersion >= 9 && this.eat(O.star), this.parsePropertyName(n)) : i = !1, this.parsePropertyValue(n, e, r, i, a, o, t, s), this.finishNode(n, "Property");
|
|
2742
|
+
}, L.parseGetterSetter = function(e) {
|
|
2743
2743
|
var t = e.key.name;
|
|
2744
2744
|
this.parsePropertyName(e), e.value = this.parseMethod(!1), e.kind = t;
|
|
2745
2745
|
var n = e.kind === "get" ? 0 : 1;
|
|
@@ -2747,202 +2747,202 @@ R.parseNew = function() {
|
|
|
2747
2747
|
var r = e.value.start;
|
|
2748
2748
|
e.kind === "get" ? this.raiseRecoverable(r, "getter should have no params") : this.raiseRecoverable(r, "setter should have exactly one param");
|
|
2749
2749
|
} else e.kind === "set" && e.value.params[0].type === "RestElement" && this.raiseRecoverable(e.value.params[0].start, "Setter cannot use rest params");
|
|
2750
|
-
},
|
|
2751
|
-
(n || r) && this.type ===
|
|
2752
|
-
},
|
|
2750
|
+
}, L.parsePropertyValue = function(e, t, n, r, i, a, o, s) {
|
|
2751
|
+
(n || r) && this.type === O.colon && this.unexpected(), this.eat(O.colon) ? (e.value = t ? this.parseMaybeDefault(this.start, this.startLoc) : this.parseMaybeAssign(!1, o), e.kind = "init") : this.options.ecmaVersion >= 6 && this.type === O.parenL ? (t && this.unexpected(), e.method = !0, e.value = this.parseMethod(n, r), e.kind = "init") : !t && !s && this.options.ecmaVersion >= 5 && !e.computed && e.key.type === "Identifier" && (e.key.name === "get" || e.key.name === "set") && this.type !== O.comma && this.type !== O.braceR && this.type !== O.eq ? ((n || r) && this.unexpected(), this.parseGetterSetter(e)) : this.options.ecmaVersion >= 6 && !e.computed && e.key.type === "Identifier" ? ((n || r) && this.unexpected(), this.checkUnreserved(e.key), e.key.name === "await" && !this.awaitIdentPos && (this.awaitIdentPos = i), t ? e.value = this.parseMaybeDefault(i, a, this.copyNode(e.key)) : this.type === O.eq && o ? (o.shorthandAssign < 0 && (o.shorthandAssign = this.start), e.value = this.parseMaybeDefault(i, a, this.copyNode(e.key))) : e.value = this.copyNode(e.key), e.kind = "init", e.shorthand = !0) : this.unexpected();
|
|
2752
|
+
}, L.parsePropertyName = function(e) {
|
|
2753
2753
|
if (this.options.ecmaVersion >= 6) {
|
|
2754
|
-
if (this.eat(
|
|
2754
|
+
if (this.eat(O.bracketL)) return e.computed = !0, e.key = this.parseMaybeAssign(), this.expect(O.bracketR), e.key;
|
|
2755
2755
|
e.computed = !1;
|
|
2756
2756
|
}
|
|
2757
|
-
return e.key = this.type ===
|
|
2758
|
-
},
|
|
2757
|
+
return e.key = this.type === O.num || this.type === O.string ? this.parseExprAtom() : this.parseIdent(this.options.allowReserved !== "never");
|
|
2758
|
+
}, L.initFunction = function(e) {
|
|
2759
2759
|
e.id = null, this.options.ecmaVersion >= 6 && (e.generator = e.expression = !1), this.options.ecmaVersion >= 8 && (e.async = !1);
|
|
2760
|
-
},
|
|
2760
|
+
}, L.parseMethod = function(e, t, n) {
|
|
2761
2761
|
var r = this.startNode(), i = this.yieldPos, a = this.awaitPos, o = this.awaitIdentPos;
|
|
2762
|
-
return this.initFunction(r), this.options.ecmaVersion >= 6 && (r.generator = e), this.options.ecmaVersion >= 8 && (r.async = !!t), this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0, this.enterScope(
|
|
2763
|
-
},
|
|
2762
|
+
return this.initFunction(r), this.options.ecmaVersion >= 6 && (r.generator = e), this.options.ecmaVersion >= 8 && (r.async = !!t), this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0, this.enterScope(Et(t, r.generator) | bt | (n ? xt : 0)), this.expect(O.parenL), r.params = this.parseBindingList(O.parenR, !1, this.options.ecmaVersion >= 8), this.checkYieldAwaitInDefaultParams(), this.parseFunctionBody(r, !1, !0, !1), this.yieldPos = i, this.awaitPos = a, this.awaitIdentPos = o, this.finishNode(r, "FunctionExpression");
|
|
2763
|
+
}, L.parseArrowExpression = function(e, t, n, r) {
|
|
2764
2764
|
var i = this.yieldPos, a = this.awaitPos, o = this.awaitIdentPos;
|
|
2765
|
-
return this.enterScope(
|
|
2766
|
-
},
|
|
2767
|
-
var i = t && this.type !==
|
|
2765
|
+
return this.enterScope(Et(n, !1) | vt), this.initFunction(e), this.options.ecmaVersion >= 8 && (e.async = !!n), this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0, e.params = this.toAssignableList(t, !0), this.parseFunctionBody(e, !0, !1, r), this.yieldPos = i, this.awaitPos = a, this.awaitIdentPos = o, this.finishNode(e, "ArrowFunctionExpression");
|
|
2766
|
+
}, L.parseFunctionBody = function(e, t, n, r) {
|
|
2767
|
+
var i = t && this.type !== O.braceL, a = this.strict, o = !1;
|
|
2768
2768
|
if (i) e.body = this.parseMaybeAssign(r), e.expression = !0, this.checkParams(e, !1);
|
|
2769
2769
|
else {
|
|
2770
2770
|
var s = this.options.ecmaVersion >= 7 && !this.isSimpleParamList(e.params);
|
|
2771
2771
|
(!a || s) && (o = this.strictDirective(this.end), o && s && this.raiseRecoverable(e.start, "Illegal 'use strict' directive in function with non-simple parameter list"));
|
|
2772
2772
|
var c = this.labels;
|
|
2773
|
-
this.labels = [], o && (this.strict = !0), this.checkParams(e, !a && !o && !t && !n && this.isSimpleParamList(e.params)), this.strict && e.id && this.checkLValSimple(e.id,
|
|
2773
|
+
this.labels = [], o && (this.strict = !0), this.checkParams(e, !a && !o && !t && !n && this.isSimpleParamList(e.params)), this.strict && e.id && this.checkLValSimple(e.id, Mt), e.body = this.parseBlock(!1, void 0, o && !a), e.expression = !1, this.adaptDirectivePrologue(e.body.body), this.labels = c;
|
|
2774
2774
|
}
|
|
2775
2775
|
this.exitScope();
|
|
2776
|
-
},
|
|
2776
|
+
}, L.isSimpleParamList = function(e) {
|
|
2777
2777
|
for (var t = 0, n = e; t < n.length; t += 1) if (n[t].type !== "Identifier") return !1;
|
|
2778
2778
|
return !0;
|
|
2779
|
-
},
|
|
2779
|
+
}, L.checkParams = function(e, t) {
|
|
2780
2780
|
for (var n = Object.create(null), r = 0, i = e.params; r < i.length; r += 1) {
|
|
2781
2781
|
var a = i[r];
|
|
2782
|
-
this.checkLValInnerPattern(a,
|
|
2782
|
+
this.checkLValInnerPattern(a, Ot, t ? null : n);
|
|
2783
2783
|
}
|
|
2784
|
-
},
|
|
2784
|
+
}, L.parseExprList = function(e, t, n, r) {
|
|
2785
2785
|
for (var i = [], a = !0; !this.eat(e);) {
|
|
2786
2786
|
if (a) a = !1;
|
|
2787
|
-
else if (this.expect(
|
|
2787
|
+
else if (this.expect(O.comma), t && this.afterTrailingComma(e)) break;
|
|
2788
2788
|
var o = void 0;
|
|
2789
|
-
n && this.type ===
|
|
2789
|
+
n && this.type === O.comma ? o = null : this.type === O.ellipsis ? (o = this.parseSpread(r), r && this.type === O.comma && r.trailingComma < 0 && (r.trailingComma = this.start)) : o = this.parseMaybeAssign(!1, r), i.push(o);
|
|
2790
2790
|
}
|
|
2791
2791
|
return i;
|
|
2792
|
-
},
|
|
2792
|
+
}, L.checkUnreserved = function(e) {
|
|
2793
2793
|
var t = e.start, n = e.end, r = e.name;
|
|
2794
|
-
this.inGenerator && r === "yield" && this.raiseRecoverable(t, "Cannot use 'yield' as identifier inside a generator"), this.inAsync && r === "await" && this.raiseRecoverable(t, "Cannot use 'await' as identifier inside an async function"), !(this.currentThisScope().flags &
|
|
2795
|
-
},
|
|
2794
|
+
this.inGenerator && r === "yield" && this.raiseRecoverable(t, "Cannot use 'yield' as identifier inside a generator"), this.inAsync && r === "await" && this.raiseRecoverable(t, "Cannot use 'await' as identifier inside an async function"), !(this.currentThisScope().flags & Tt) && r === "arguments" && this.raiseRecoverable(t, "Cannot use 'arguments' in class field initializer"), this.inClassStaticBlock && (r === "arguments" || r === "await") && this.raise(t, "Cannot use " + r + " in class static initialization block"), this.keywords.test(r) && this.raise(t, "Unexpected keyword '" + r + "'"), !(this.options.ecmaVersion < 6 && this.input.slice(t, n).indexOf("\\") !== -1) && (this.strict ? this.reservedWordsStrict : this.reservedWords).test(r) && (!this.inAsync && r === "await" && this.raiseRecoverable(t, "Cannot use keyword 'await' outside an async function"), this.raiseRecoverable(t, "The keyword '" + r + "' is reserved"));
|
|
2795
|
+
}, L.parseIdent = function(e) {
|
|
2796
2796
|
var t = this.parseIdentNode();
|
|
2797
2797
|
return this.next(!!e), this.finishNode(t, "Identifier"), e || (this.checkUnreserved(t), t.name === "await" && !this.awaitIdentPos && (this.awaitIdentPos = t.start)), t;
|
|
2798
|
-
},
|
|
2798
|
+
}, L.parseIdentNode = function() {
|
|
2799
2799
|
var e = this.startNode();
|
|
2800
|
-
return this.type ===
|
|
2801
|
-
},
|
|
2800
|
+
return this.type === O.name ? e.name = this.value : this.type.keyword ? (e.name = this.type.keyword, (e.name === "class" || e.name === "function") && (this.lastTokEnd !== this.lastTokStart + 1 || this.input.charCodeAt(this.lastTokStart) !== 46) && this.context.pop(), this.type = O.name) : this.unexpected(), e;
|
|
2801
|
+
}, L.parsePrivateIdent = function() {
|
|
2802
2802
|
var e = this.startNode();
|
|
2803
|
-
return this.type ===
|
|
2804
|
-
},
|
|
2803
|
+
return this.type === O.privateId ? e.name = this.value : this.unexpected(), this.next(), this.finishNode(e, "PrivateIdentifier"), this.options.checkPrivateFields && (this.privateNameStack.length === 0 ? this.raise(e.start, "Private field '#" + e.name + "' must be declared in an enclosing class") : this.privateNameStack[this.privateNameStack.length - 1].used.push(e)), e;
|
|
2804
|
+
}, L.parseYield = function(e) {
|
|
2805
2805
|
this.yieldPos ||= this.start;
|
|
2806
2806
|
var t = this.startNode();
|
|
2807
|
-
return this.next(), this.type ===
|
|
2808
|
-
},
|
|
2807
|
+
return this.next(), this.type === O.semi || this.canInsertSemicolon() || this.type !== O.star && !this.type.startsExpr ? (t.delegate = !1, t.argument = null) : (t.delegate = this.eat(O.star), t.argument = this.parseMaybeAssign(e)), this.finishNode(t, "YieldExpression");
|
|
2808
|
+
}, L.parseAwait = function(e) {
|
|
2809
2809
|
this.awaitPos ||= this.start;
|
|
2810
2810
|
var t = this.startNode();
|
|
2811
2811
|
return this.next(), t.argument = this.parseMaybeUnary(null, !0, !1, e), this.finishNode(t, "AwaitExpression");
|
|
2812
2812
|
};
|
|
2813
|
-
var
|
|
2814
|
-
|
|
2815
|
-
var n =
|
|
2813
|
+
var Jt = j.prototype;
|
|
2814
|
+
Jt.raise = function(e, t) {
|
|
2815
|
+
var n = lt(this.input, e);
|
|
2816
2816
|
t += " (" + n.line + ":" + n.column + ")", this.sourceFile && (t += " in " + this.sourceFile);
|
|
2817
2817
|
var r = SyntaxError(t);
|
|
2818
2818
|
throw r.pos = e, r.loc = n, r.raisedAt = this.pos, r;
|
|
2819
|
-
},
|
|
2820
|
-
if (this.options.locations) return new
|
|
2819
|
+
}, Jt.raiseRecoverable = Jt.raise, Jt.curPosition = function() {
|
|
2820
|
+
if (this.options.locations) return new st(this.curLine, this.pos - this.lineStart);
|
|
2821
2821
|
};
|
|
2822
|
-
var
|
|
2822
|
+
var Yt = j.prototype, Xt = function(e) {
|
|
2823
2823
|
this.flags = e, this.var = [], this.lexical = [], this.functions = [];
|
|
2824
2824
|
};
|
|
2825
|
-
|
|
2826
|
-
this.scopeStack.push(new
|
|
2827
|
-
},
|
|
2825
|
+
Yt.enterScope = function(e) {
|
|
2826
|
+
this.scopeStack.push(new Xt(e));
|
|
2827
|
+
}, Yt.exitScope = function() {
|
|
2828
2828
|
this.scopeStack.pop();
|
|
2829
|
-
},
|
|
2830
|
-
return e.flags &
|
|
2831
|
-
},
|
|
2829
|
+
}, Yt.treatFunctionsAsVarInScope = function(e) {
|
|
2830
|
+
return e.flags & ht || !this.inModule && e.flags & mt;
|
|
2831
|
+
}, Yt.declareName = function(e, t, n) {
|
|
2832
2832
|
var r = !1;
|
|
2833
|
-
if (t ===
|
|
2833
|
+
if (t === kt) {
|
|
2834
2834
|
var i = this.currentScope();
|
|
2835
|
-
r = i.lexical.indexOf(e) > -1 || i.functions.indexOf(e) > -1 || i.var.indexOf(e) > -1, i.lexical.push(e), this.inModule && i.flags &
|
|
2836
|
-
} else if (t ===
|
|
2837
|
-
else if (t ===
|
|
2835
|
+
r = i.lexical.indexOf(e) > -1 || i.functions.indexOf(e) > -1 || i.var.indexOf(e) > -1, i.lexical.push(e), this.inModule && i.flags & mt && delete this.undefinedExports[e];
|
|
2836
|
+
} else if (t === jt) this.currentScope().lexical.push(e);
|
|
2837
|
+
else if (t === At) {
|
|
2838
2838
|
var a = this.currentScope();
|
|
2839
2839
|
r = this.treatFunctionsAsVar ? a.lexical.indexOf(e) > -1 : a.lexical.indexOf(e) > -1 || a.var.indexOf(e) > -1, a.functions.push(e);
|
|
2840
2840
|
} else for (var o = this.scopeStack.length - 1; o >= 0; --o) {
|
|
2841
2841
|
var s = this.scopeStack[o];
|
|
2842
|
-
if (s.lexical.indexOf(e) > -1 && !(s.flags &
|
|
2842
|
+
if (s.lexical.indexOf(e) > -1 && !(s.flags & yt && s.lexical[0] === e) || !this.treatFunctionsAsVarInScope(s) && s.functions.indexOf(e) > -1) {
|
|
2843
2843
|
r = !0;
|
|
2844
2844
|
break;
|
|
2845
2845
|
}
|
|
2846
|
-
if (s.var.push(e), this.inModule && s.flags &
|
|
2846
|
+
if (s.var.push(e), this.inModule && s.flags & mt && delete this.undefinedExports[e], s.flags & Tt) break;
|
|
2847
2847
|
}
|
|
2848
2848
|
r && this.raiseRecoverable(n, "Identifier '" + e + "' has already been declared");
|
|
2849
|
-
},
|
|
2849
|
+
}, Yt.checkLocalExport = function(e) {
|
|
2850
2850
|
this.scopeStack[0].lexical.indexOf(e.name) === -1 && this.scopeStack[0].var.indexOf(e.name) === -1 && (this.undefinedExports[e.name] = e);
|
|
2851
|
-
},
|
|
2851
|
+
}, Yt.currentScope = function() {
|
|
2852
2852
|
return this.scopeStack[this.scopeStack.length - 1];
|
|
2853
|
-
},
|
|
2853
|
+
}, Yt.currentVarScope = function() {
|
|
2854
2854
|
for (var e = this.scopeStack.length - 1;; e--) {
|
|
2855
2855
|
var t = this.scopeStack[e];
|
|
2856
|
-
if (t.flags & (
|
|
2856
|
+
if (t.flags & (Tt | Ct | St)) return t;
|
|
2857
2857
|
}
|
|
2858
|
-
},
|
|
2858
|
+
}, Yt.currentThisScope = function() {
|
|
2859
2859
|
for (var e = this.scopeStack.length - 1;; e--) {
|
|
2860
2860
|
var t = this.scopeStack[e];
|
|
2861
|
-
if (t.flags & (
|
|
2861
|
+
if (t.flags & (Tt | Ct | St) && !(t.flags & vt)) return t;
|
|
2862
2862
|
}
|
|
2863
2863
|
};
|
|
2864
|
-
var
|
|
2865
|
-
this.type = "", this.start = t, this.end = 0, e.options.locations && (this.loc = new
|
|
2866
|
-
},
|
|
2867
|
-
|
|
2868
|
-
return new
|
|
2869
|
-
},
|
|
2870
|
-
return new
|
|
2864
|
+
var Zt = function(e, t, n) {
|
|
2865
|
+
this.type = "", this.start = t, this.end = 0, e.options.locations && (this.loc = new ct(e, n)), e.options.directSourceFile && (this.sourceFile = e.options.directSourceFile), e.options.ranges && (this.range = [t, 0]);
|
|
2866
|
+
}, Qt = j.prototype;
|
|
2867
|
+
Qt.startNode = function() {
|
|
2868
|
+
return new Zt(this, this.start, this.startLoc);
|
|
2869
|
+
}, Qt.startNodeAt = function(e, t) {
|
|
2870
|
+
return new Zt(this, e, t);
|
|
2871
2871
|
};
|
|
2872
|
-
function
|
|
2872
|
+
function $t(e, t, n, r) {
|
|
2873
2873
|
return e.type = t, e.end = n, this.options.locations && (e.loc.end = r), this.options.ranges && (e.range[1] = n), e;
|
|
2874
2874
|
}
|
|
2875
|
-
|
|
2876
|
-
return
|
|
2877
|
-
},
|
|
2878
|
-
return
|
|
2879
|
-
},
|
|
2880
|
-
var t = new
|
|
2875
|
+
Qt.finishNode = function(e, t) {
|
|
2876
|
+
return $t.call(this, e, t, this.lastTokEnd, this.lastTokEndLoc);
|
|
2877
|
+
}, Qt.finishNodeAt = function(e, t, n, r) {
|
|
2878
|
+
return $t.call(this, e, t, n, r);
|
|
2879
|
+
}, Qt.copyNode = function(e) {
|
|
2880
|
+
var t = new Zt(this, e.start, this.startLoc);
|
|
2881
2881
|
for (var n in e) t[n] = e[n];
|
|
2882
2882
|
return t;
|
|
2883
2883
|
};
|
|
2884
|
-
var
|
|
2885
|
-
9:
|
|
2886
|
-
10:
|
|
2887
|
-
11:
|
|
2888
|
-
12:
|
|
2889
|
-
13:
|
|
2890
|
-
14:
|
|
2891
|
-
},
|
|
2884
|
+
var en = "Berf Beria_Erfe Gara Garay Gukh Gurung_Khema Hrkt Katakana_Or_Hiragana Kawi Kirat_Rai Krai Nag_Mundari Nagm Ol_Onal Onao Sidetic Sidt Sunu Sunuwar Tai_Yo Tayo Todhri Todr Tolong_Siki Tols Tulu_Tigalari Tutg Unknown Zzzz", tn = "ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS", nn = tn + " Extended_Pictographic", rn = nn, an = rn + " EBase EComp EMod EPres ExtPict", on = an, sn = {
|
|
2885
|
+
9: tn,
|
|
2886
|
+
10: nn,
|
|
2887
|
+
11: rn,
|
|
2888
|
+
12: an,
|
|
2889
|
+
13: on,
|
|
2890
|
+
14: on
|
|
2891
|
+
}, cn = {
|
|
2892
2892
|
9: "",
|
|
2893
2893
|
10: "",
|
|
2894
2894
|
11: "",
|
|
2895
2895
|
12: "",
|
|
2896
2896
|
13: "",
|
|
2897
2897
|
14: "Basic_Emoji Emoji_Keycap_Sequence RGI_Emoji_Modifier_Sequence RGI_Emoji_Flag_Sequence RGI_Emoji_Tag_Sequence RGI_Emoji_ZWJ_Sequence RGI_Emoji"
|
|
2898
|
-
},
|
|
2899
|
-
9:
|
|
2900
|
-
10:
|
|
2901
|
-
11:
|
|
2902
|
-
12:
|
|
2903
|
-
13:
|
|
2904
|
-
14:
|
|
2905
|
-
},
|
|
2906
|
-
function
|
|
2907
|
-
var t =
|
|
2908
|
-
binary:
|
|
2909
|
-
binaryOfStrings:
|
|
2898
|
+
}, ln = "Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu", un = "Adlam Adlm Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb", dn = un + " Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd", fn = dn + " Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho", pn = fn + " Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi", mn = pn + " Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith", hn = {
|
|
2899
|
+
9: un,
|
|
2900
|
+
10: dn,
|
|
2901
|
+
11: fn,
|
|
2902
|
+
12: pn,
|
|
2903
|
+
13: mn,
|
|
2904
|
+
14: mn + " " + en
|
|
2905
|
+
}, gn = {};
|
|
2906
|
+
function _n(e) {
|
|
2907
|
+
var t = gn[e] = {
|
|
2908
|
+
binary: it(sn[e] + " " + ln),
|
|
2909
|
+
binaryOfStrings: it(cn[e]),
|
|
2910
2910
|
nonBinary: {
|
|
2911
|
-
General_Category:
|
|
2912
|
-
Script:
|
|
2911
|
+
General_Category: it(ln),
|
|
2912
|
+
Script: it(hn[e])
|
|
2913
2913
|
}
|
|
2914
2914
|
};
|
|
2915
2915
|
t.nonBinary.Script_Extensions = t.nonBinary.Script, t.nonBinary.gc = t.nonBinary.General_Category, t.nonBinary.sc = t.nonBinary.Script, t.nonBinary.scx = t.nonBinary.Script_Extensions;
|
|
2916
2916
|
}
|
|
2917
|
-
for (var
|
|
2917
|
+
for (var vn = 0, yn = [
|
|
2918
2918
|
9,
|
|
2919
2919
|
10,
|
|
2920
2920
|
11,
|
|
2921
2921
|
12,
|
|
2922
2922
|
13,
|
|
2923
2923
|
14
|
|
2924
|
-
];
|
|
2925
|
-
var
|
|
2926
|
-
|
|
2924
|
+
]; vn < yn.length; vn += 1) {
|
|
2925
|
+
var bn = yn[vn];
|
|
2926
|
+
_n(bn);
|
|
2927
2927
|
}
|
|
2928
|
-
var
|
|
2928
|
+
var R = j.prototype, xn = function(e, t) {
|
|
2929
2929
|
this.parent = e, this.base = t || this;
|
|
2930
2930
|
};
|
|
2931
|
-
|
|
2931
|
+
xn.prototype.separatedFrom = function(e) {
|
|
2932
2932
|
for (var t = this; t; t = t.parent) for (var n = e; n; n = n.parent) if (t.base === n.base && t !== n) return !0;
|
|
2933
2933
|
return !1;
|
|
2934
|
-
},
|
|
2935
|
-
return new
|
|
2934
|
+
}, xn.prototype.sibling = function() {
|
|
2935
|
+
return new xn(this.parent, this.base);
|
|
2936
2936
|
};
|
|
2937
|
-
var
|
|
2938
|
-
this.parser = e, this.validFlags = "gim" + (e.options.ecmaVersion >= 6 ? "uy" : "") + (e.options.ecmaVersion >= 9 ? "s" : "") + (e.options.ecmaVersion >= 13 ? "d" : "") + (e.options.ecmaVersion >= 15 ? "v" : ""), this.unicodeProperties =
|
|
2937
|
+
var Sn = function(e) {
|
|
2938
|
+
this.parser = e, this.validFlags = "gim" + (e.options.ecmaVersion >= 6 ? "uy" : "") + (e.options.ecmaVersion >= 9 ? "s" : "") + (e.options.ecmaVersion >= 13 ? "d" : "") + (e.options.ecmaVersion >= 15 ? "v" : ""), this.unicodeProperties = gn[e.options.ecmaVersion >= 14 ? 14 : e.options.ecmaVersion], this.source = "", this.flags = "", this.start = 0, this.switchU = !1, this.switchV = !1, this.switchN = !1, this.pos = 0, this.lastIntValue = 0, this.lastStringValue = "", this.lastAssertionIsQuantifiable = !1, this.numCapturingParens = 0, this.maxBackReference = 0, this.groupNames = Object.create(null), this.backReferenceNames = [], this.branchID = null;
|
|
2939
2939
|
};
|
|
2940
|
-
|
|
2940
|
+
Sn.prototype.reset = function(e, t, n) {
|
|
2941
2941
|
var r = n.indexOf("v") !== -1, i = n.indexOf("u") !== -1;
|
|
2942
2942
|
this.start = e | 0, this.source = t + "", this.flags = n, r && this.parser.options.ecmaVersion >= 15 ? (this.switchU = !0, this.switchV = !0, this.switchN = !0) : (this.switchU = i && this.parser.options.ecmaVersion >= 6, this.switchV = !1, this.switchN = i && this.parser.options.ecmaVersion >= 9);
|
|
2943
|
-
},
|
|
2943
|
+
}, Sn.prototype.raise = function(e) {
|
|
2944
2944
|
this.parser.raiseRecoverable(this.start, "Invalid regular expression: /" + this.source + "/: " + e);
|
|
2945
|
-
},
|
|
2945
|
+
}, Sn.prototype.at = function(e, t) {
|
|
2946
2946
|
t === void 0 && (t = !1);
|
|
2947
2947
|
var n = this.source, r = n.length;
|
|
2948
2948
|
if (e >= r) return -1;
|
|
@@ -2950,21 +2950,21 @@ xn.prototype.reset = function(e, t, n) {
|
|
|
2950
2950
|
if (!(t || this.switchU) || i <= 55295 || i >= 57344 || e + 1 >= r) return i;
|
|
2951
2951
|
var a = n.charCodeAt(e + 1);
|
|
2952
2952
|
return a >= 56320 && a <= 57343 ? (i << 10) + a - 56613888 : i;
|
|
2953
|
-
},
|
|
2953
|
+
}, Sn.prototype.nextIndex = function(e, t) {
|
|
2954
2954
|
t === void 0 && (t = !1);
|
|
2955
2955
|
var n = this.source, r = n.length;
|
|
2956
2956
|
if (e >= r) return r;
|
|
2957
2957
|
var i = n.charCodeAt(e), a;
|
|
2958
2958
|
return !(t || this.switchU) || i <= 55295 || i >= 57344 || e + 1 >= r || (a = n.charCodeAt(e + 1)) < 56320 || a > 57343 ? e + 1 : e + 2;
|
|
2959
|
-
},
|
|
2959
|
+
}, Sn.prototype.current = function(e) {
|
|
2960
2960
|
return e === void 0 && (e = !1), this.at(this.pos, e);
|
|
2961
|
-
},
|
|
2961
|
+
}, Sn.prototype.lookahead = function(e) {
|
|
2962
2962
|
return e === void 0 && (e = !1), this.at(this.nextIndex(this.pos, e), e);
|
|
2963
|
-
},
|
|
2963
|
+
}, Sn.prototype.advance = function(e) {
|
|
2964
2964
|
e === void 0 && (e = !1), this.pos = this.nextIndex(this.pos, e);
|
|
2965
|
-
},
|
|
2965
|
+
}, Sn.prototype.eat = function(e, t) {
|
|
2966
2966
|
return t === void 0 && (t = !1), this.current(t) === e && (this.advance(t), !0);
|
|
2967
|
-
},
|
|
2967
|
+
}, Sn.prototype.eatChars = function(e, t) {
|
|
2968
2968
|
t === void 0 && (t = !1);
|
|
2969
2969
|
for (var n = this.pos, r = 0, i = e; r < i.length; r += 1) {
|
|
2970
2970
|
var a = i[r], o = this.at(n, t);
|
|
@@ -2972,34 +2972,34 @@ xn.prototype.reset = function(e, t, n) {
|
|
|
2972
2972
|
n = this.nextIndex(n, t);
|
|
2973
2973
|
}
|
|
2974
2974
|
return this.pos = n, !0;
|
|
2975
|
-
},
|
|
2975
|
+
}, R.validateRegExpFlags = function(e) {
|
|
2976
2976
|
for (var t = e.validFlags, n = e.flags, r = !1, i = !1, a = 0; a < n.length; a++) {
|
|
2977
2977
|
var o = n.charAt(a);
|
|
2978
2978
|
t.indexOf(o) === -1 && this.raise(e.start, "Invalid regular expression flag"), n.indexOf(o, a + 1) > -1 && this.raise(e.start, "Duplicate regular expression flag"), o === "u" && (r = !0), o === "v" && (i = !0);
|
|
2979
2979
|
}
|
|
2980
2980
|
this.options.ecmaVersion >= 15 && r && i && this.raise(e.start, "Invalid regular expression flag");
|
|
2981
2981
|
};
|
|
2982
|
-
function
|
|
2982
|
+
function Cn(e) {
|
|
2983
2983
|
for (var t in e) return !0;
|
|
2984
2984
|
return !1;
|
|
2985
2985
|
}
|
|
2986
|
-
|
|
2987
|
-
this.regexp_pattern(e), !e.switchN && this.options.ecmaVersion >= 9 &&
|
|
2988
|
-
},
|
|
2986
|
+
R.validateRegExpPattern = function(e) {
|
|
2987
|
+
this.regexp_pattern(e), !e.switchN && this.options.ecmaVersion >= 9 && Cn(e.groupNames) && (e.switchN = !0, this.regexp_pattern(e));
|
|
2988
|
+
}, R.regexp_pattern = function(e) {
|
|
2989
2989
|
e.pos = 0, e.lastIntValue = 0, e.lastStringValue = "", e.lastAssertionIsQuantifiable = !1, e.numCapturingParens = 0, e.maxBackReference = 0, e.groupNames = Object.create(null), e.backReferenceNames.length = 0, e.branchID = null, this.regexp_disjunction(e), e.pos !== e.source.length && (e.eat(41) && e.raise("Unmatched ')'"), (e.eat(93) || e.eat(125)) && e.raise("Lone quantifier brackets")), e.maxBackReference > e.numCapturingParens && e.raise("Invalid escape");
|
|
2990
2990
|
for (var t = 0, n = e.backReferenceNames; t < n.length; t += 1) {
|
|
2991
2991
|
var r = n[t];
|
|
2992
2992
|
e.groupNames[r] || e.raise("Invalid named capture referenced");
|
|
2993
2993
|
}
|
|
2994
|
-
},
|
|
2994
|
+
}, R.regexp_disjunction = function(e) {
|
|
2995
2995
|
var t = this.options.ecmaVersion >= 16;
|
|
2996
|
-
for (t && (e.branchID = new
|
|
2996
|
+
for (t && (e.branchID = new xn(e.branchID, null)), this.regexp_alternative(e); e.eat(124);) t && (e.branchID = e.branchID.sibling()), this.regexp_alternative(e);
|
|
2997
2997
|
t && (e.branchID = e.branchID.parent), this.regexp_eatQuantifier(e, !0) && e.raise("Nothing to repeat"), e.eat(123) && e.raise("Lone quantifier brackets");
|
|
2998
|
-
},
|
|
2998
|
+
}, R.regexp_alternative = function(e) {
|
|
2999
2999
|
for (; e.pos < e.source.length && this.regexp_eatTerm(e););
|
|
3000
|
-
},
|
|
3000
|
+
}, R.regexp_eatTerm = function(e) {
|
|
3001
3001
|
return this.regexp_eatAssertion(e) ? (e.lastAssertionIsQuantifiable && this.regexp_eatQuantifier(e) && e.switchU && e.raise("Invalid quantifier"), !0) : (e.switchU ? this.regexp_eatAtom(e) : this.regexp_eatExtendedAtom(e)) ? (this.regexp_eatQuantifier(e), !0) : !1;
|
|
3002
|
-
},
|
|
3002
|
+
}, R.regexp_eatAssertion = function(e) {
|
|
3003
3003
|
var t = e.pos;
|
|
3004
3004
|
if (e.lastAssertionIsQuantifiable = !1, e.eat(94) || e.eat(36)) return !0;
|
|
3005
3005
|
if (e.eat(92)) {
|
|
@@ -3011,11 +3011,11 @@ z.validateRegExpPattern = function(e) {
|
|
|
3011
3011
|
if (this.options.ecmaVersion >= 9 && (n = e.eat(60)), e.eat(61) || e.eat(33)) return this.regexp_disjunction(e), e.eat(41) || e.raise("Unterminated group"), e.lastAssertionIsQuantifiable = !n, !0;
|
|
3012
3012
|
}
|
|
3013
3013
|
return e.pos = t, !1;
|
|
3014
|
-
},
|
|
3014
|
+
}, R.regexp_eatQuantifier = function(e, t) {
|
|
3015
3015
|
return t === void 0 && (t = !1), this.regexp_eatQuantifierPrefix(e, t) ? (e.eat(63), !0) : !1;
|
|
3016
|
-
},
|
|
3016
|
+
}, R.regexp_eatQuantifierPrefix = function(e, t) {
|
|
3017
3017
|
return e.eat(42) || e.eat(43) || e.eat(63) || this.regexp_eatBracedQuantifier(e, t);
|
|
3018
|
-
},
|
|
3018
|
+
}, R.regexp_eatBracedQuantifier = function(e, t) {
|
|
3019
3019
|
var n = e.pos;
|
|
3020
3020
|
if (e.eat(123)) {
|
|
3021
3021
|
var r = 0, i = -1;
|
|
@@ -3023,16 +3023,16 @@ z.validateRegExpPattern = function(e) {
|
|
|
3023
3023
|
e.switchU && !t && e.raise("Incomplete quantifier"), e.pos = n;
|
|
3024
3024
|
}
|
|
3025
3025
|
return !1;
|
|
3026
|
-
},
|
|
3026
|
+
}, R.regexp_eatAtom = function(e) {
|
|
3027
3027
|
return this.regexp_eatPatternCharacters(e) || e.eat(46) || this.regexp_eatReverseSolidusAtomEscape(e) || this.regexp_eatCharacterClass(e) || this.regexp_eatUncapturingGroup(e) || this.regexp_eatCapturingGroup(e);
|
|
3028
|
-
},
|
|
3028
|
+
}, R.regexp_eatReverseSolidusAtomEscape = function(e) {
|
|
3029
3029
|
var t = e.pos;
|
|
3030
3030
|
if (e.eat(92)) {
|
|
3031
3031
|
if (this.regexp_eatAtomEscape(e)) return !0;
|
|
3032
3032
|
e.pos = t;
|
|
3033
3033
|
}
|
|
3034
3034
|
return !1;
|
|
3035
|
-
},
|
|
3035
|
+
}, R.regexp_eatUncapturingGroup = function(e) {
|
|
3036
3036
|
var t = e.pos;
|
|
3037
3037
|
if (e.eat(40)) {
|
|
3038
3038
|
if (e.eat(63)) {
|
|
@@ -3061,37 +3061,37 @@ z.validateRegExpPattern = function(e) {
|
|
|
3061
3061
|
e.pos = t;
|
|
3062
3062
|
}
|
|
3063
3063
|
return !1;
|
|
3064
|
-
},
|
|
3064
|
+
}, R.regexp_eatCapturingGroup = function(e) {
|
|
3065
3065
|
if (e.eat(40)) {
|
|
3066
3066
|
if (this.options.ecmaVersion >= 9 ? this.regexp_groupSpecifier(e) : e.current() === 63 && e.raise("Invalid group"), this.regexp_disjunction(e), e.eat(41)) return e.numCapturingParens += 1, !0;
|
|
3067
3067
|
e.raise("Unterminated group");
|
|
3068
3068
|
}
|
|
3069
3069
|
return !1;
|
|
3070
|
-
},
|
|
3071
|
-
for (var t = "", n = 0; (n = e.current()) !== -1 &&
|
|
3070
|
+
}, R.regexp_eatModifiers = function(e) {
|
|
3071
|
+
for (var t = "", n = 0; (n = e.current()) !== -1 && wn(n);) t += at(n), e.advance();
|
|
3072
3072
|
return t;
|
|
3073
3073
|
};
|
|
3074
|
-
function
|
|
3074
|
+
function wn(e) {
|
|
3075
3075
|
return e === 105 || e === 109 || e === 115;
|
|
3076
3076
|
}
|
|
3077
|
-
|
|
3077
|
+
R.regexp_eatExtendedAtom = function(e) {
|
|
3078
3078
|
return e.eat(46) || this.regexp_eatReverseSolidusAtomEscape(e) || this.regexp_eatCharacterClass(e) || this.regexp_eatUncapturingGroup(e) || this.regexp_eatCapturingGroup(e) || this.regexp_eatInvalidBracedQuantifier(e) || this.regexp_eatExtendedPatternCharacter(e);
|
|
3079
|
-
},
|
|
3079
|
+
}, R.regexp_eatInvalidBracedQuantifier = function(e) {
|
|
3080
3080
|
return this.regexp_eatBracedQuantifier(e, !0) && e.raise("Nothing to repeat"), !1;
|
|
3081
|
-
},
|
|
3081
|
+
}, R.regexp_eatSyntaxCharacter = function(e) {
|
|
3082
3082
|
var t = e.current();
|
|
3083
|
-
return
|
|
3083
|
+
return Tn(t) ? (e.lastIntValue = t, e.advance(), !0) : !1;
|
|
3084
3084
|
};
|
|
3085
|
-
function
|
|
3085
|
+
function Tn(e) {
|
|
3086
3086
|
return e === 36 || e >= 40 && e <= 43 || e === 46 || e === 63 || e >= 91 && e <= 94 || e >= 123 && e <= 125;
|
|
3087
3087
|
}
|
|
3088
|
-
|
|
3089
|
-
for (var t = e.pos, n = 0; (n = e.current()) !== -1 && !
|
|
3088
|
+
R.regexp_eatPatternCharacters = function(e) {
|
|
3089
|
+
for (var t = e.pos, n = 0; (n = e.current()) !== -1 && !Tn(n);) e.advance();
|
|
3090
3090
|
return e.pos !== t;
|
|
3091
|
-
},
|
|
3091
|
+
}, R.regexp_eatExtendedPatternCharacter = function(e) {
|
|
3092
3092
|
var t = e.current();
|
|
3093
3093
|
return t !== -1 && t !== 36 && !(t >= 40 && t <= 43) && t !== 46 && t !== 63 && t !== 91 && t !== 94 && t !== 124 && (e.advance(), !0);
|
|
3094
|
-
},
|
|
3094
|
+
}, R.regexp_groupSpecifier = function(e) {
|
|
3095
3095
|
if (e.eat(63)) {
|
|
3096
3096
|
this.regexp_eatGroupName(e) || e.raise("Invalid group");
|
|
3097
3097
|
var t = this.options.ecmaVersion >= 16, n = e.groupNames[e.lastStringValue];
|
|
@@ -3101,35 +3101,35 @@ z.regexp_eatPatternCharacters = function(e) {
|
|
|
3101
3101
|
}
|
|
3102
3102
|
t ? (n || (e.groupNames[e.lastStringValue] = [])).push(e.branchID) : e.groupNames[e.lastStringValue] = !0;
|
|
3103
3103
|
}
|
|
3104
|
-
},
|
|
3104
|
+
}, R.regexp_eatGroupName = function(e) {
|
|
3105
3105
|
if (e.lastStringValue = "", e.eat(60)) {
|
|
3106
3106
|
if (this.regexp_eatRegExpIdentifierName(e) && e.eat(62)) return !0;
|
|
3107
3107
|
e.raise("Invalid capture group name");
|
|
3108
3108
|
}
|
|
3109
3109
|
return !1;
|
|
3110
|
-
},
|
|
3110
|
+
}, R.regexp_eatRegExpIdentifierName = function(e) {
|
|
3111
3111
|
if (e.lastStringValue = "", this.regexp_eatRegExpIdentifierStart(e)) {
|
|
3112
|
-
for (e.lastStringValue +=
|
|
3112
|
+
for (e.lastStringValue += at(e.lastIntValue); this.regexp_eatRegExpIdentifierPart(e);) e.lastStringValue += at(e.lastIntValue);
|
|
3113
3113
|
return !0;
|
|
3114
3114
|
}
|
|
3115
3115
|
return !1;
|
|
3116
|
-
},
|
|
3116
|
+
}, R.regexp_eatRegExpIdentifierStart = function(e) {
|
|
3117
3117
|
var t = e.pos, n = this.options.ecmaVersion >= 11, r = e.current(n);
|
|
3118
|
-
return e.advance(n), r === 92 && this.regexp_eatRegExpUnicodeEscapeSequence(e, n) && (r = e.lastIntValue),
|
|
3118
|
+
return e.advance(n), r === 92 && this.regexp_eatRegExpUnicodeEscapeSequence(e, n) && (r = e.lastIntValue), En(r) ? (e.lastIntValue = r, !0) : (e.pos = t, !1);
|
|
3119
3119
|
};
|
|
3120
|
-
function
|
|
3120
|
+
function En(e) {
|
|
3121
3121
|
return We(e, !0) || e === 36 || e === 95;
|
|
3122
3122
|
}
|
|
3123
|
-
|
|
3123
|
+
R.regexp_eatRegExpIdentifierPart = function(e) {
|
|
3124
3124
|
var t = e.pos, n = this.options.ecmaVersion >= 11, r = e.current(n);
|
|
3125
|
-
return e.advance(n), r === 92 && this.regexp_eatRegExpUnicodeEscapeSequence(e, n) && (r = e.lastIntValue),
|
|
3125
|
+
return e.advance(n), r === 92 && this.regexp_eatRegExpUnicodeEscapeSequence(e, n) && (r = e.lastIntValue), Dn(r) ? (e.lastIntValue = r, !0) : (e.pos = t, !1);
|
|
3126
3126
|
};
|
|
3127
|
-
function
|
|
3127
|
+
function Dn(e) {
|
|
3128
3128
|
return Ge(e, !0) || e === 36 || e === 95 || e === 8204 || e === 8205;
|
|
3129
3129
|
}
|
|
3130
|
-
|
|
3130
|
+
R.regexp_eatAtomEscape = function(e) {
|
|
3131
3131
|
return this.regexp_eatBackReference(e) || this.regexp_eatCharacterClassEscape(e) || this.regexp_eatCharacterEscape(e) || e.switchN && this.regexp_eatKGroupName(e) ? !0 : (e.switchU && (e.current() === 99 && e.raise("Invalid unicode escape"), e.raise("Invalid escape")), !1);
|
|
3132
|
-
},
|
|
3132
|
+
}, R.regexp_eatBackReference = function(e) {
|
|
3133
3133
|
var t = e.pos;
|
|
3134
3134
|
if (this.regexp_eatDecimalEscape(e)) {
|
|
3135
3135
|
var n = e.lastIntValue;
|
|
@@ -3138,34 +3138,34 @@ z.regexp_eatAtomEscape = function(e) {
|
|
|
3138
3138
|
e.pos = t;
|
|
3139
3139
|
}
|
|
3140
3140
|
return !1;
|
|
3141
|
-
},
|
|
3141
|
+
}, R.regexp_eatKGroupName = function(e) {
|
|
3142
3142
|
if (e.eat(107)) {
|
|
3143
3143
|
if (this.regexp_eatGroupName(e)) return e.backReferenceNames.push(e.lastStringValue), !0;
|
|
3144
3144
|
e.raise("Invalid named reference");
|
|
3145
3145
|
}
|
|
3146
3146
|
return !1;
|
|
3147
|
-
},
|
|
3147
|
+
}, R.regexp_eatCharacterEscape = function(e) {
|
|
3148
3148
|
return this.regexp_eatControlEscape(e) || this.regexp_eatCControlLetter(e) || this.regexp_eatZero(e) || this.regexp_eatHexEscapeSequence(e) || this.regexp_eatRegExpUnicodeEscapeSequence(e, !1) || !e.switchU && this.regexp_eatLegacyOctalEscapeSequence(e) || this.regexp_eatIdentityEscape(e);
|
|
3149
|
-
},
|
|
3149
|
+
}, R.regexp_eatCControlLetter = function(e) {
|
|
3150
3150
|
var t = e.pos;
|
|
3151
3151
|
if (e.eat(99)) {
|
|
3152
3152
|
if (this.regexp_eatControlLetter(e)) return !0;
|
|
3153
3153
|
e.pos = t;
|
|
3154
3154
|
}
|
|
3155
3155
|
return !1;
|
|
3156
|
-
},
|
|
3157
|
-
return e.current() === 48 && !
|
|
3158
|
-
},
|
|
3156
|
+
}, R.regexp_eatZero = function(e) {
|
|
3157
|
+
return e.current() === 48 && !Rn(e.lookahead()) && (e.lastIntValue = 0, e.advance(), !0);
|
|
3158
|
+
}, R.regexp_eatControlEscape = function(e) {
|
|
3159
3159
|
var t = e.current();
|
|
3160
3160
|
return t === 116 ? (e.lastIntValue = 9, e.advance(), !0) : t === 110 ? (e.lastIntValue = 10, e.advance(), !0) : t === 118 ? (e.lastIntValue = 11, e.advance(), !0) : t === 102 ? (e.lastIntValue = 12, e.advance(), !0) : t === 114 && (e.lastIntValue = 13, e.advance(), !0);
|
|
3161
|
-
},
|
|
3161
|
+
}, R.regexp_eatControlLetter = function(e) {
|
|
3162
3162
|
var t = e.current();
|
|
3163
|
-
return
|
|
3163
|
+
return On(t) ? (e.lastIntValue = t % 32, e.advance(), !0) : !1;
|
|
3164
3164
|
};
|
|
3165
|
-
function
|
|
3165
|
+
function On(e) {
|
|
3166
3166
|
return e >= 65 && e <= 90 || e >= 97 && e <= 122;
|
|
3167
3167
|
}
|
|
3168
|
-
|
|
3168
|
+
R.regexp_eatRegExpUnicodeEscapeSequence = function(e, t) {
|
|
3169
3169
|
t === void 0 && (t = !1);
|
|
3170
3170
|
var n = e.pos, r = t || e.switchU;
|
|
3171
3171
|
if (e.eat(117)) {
|
|
@@ -3181,19 +3181,19 @@ z.regexp_eatRegExpUnicodeEscapeSequence = function(e, t) {
|
|
|
3181
3181
|
}
|
|
3182
3182
|
return !0;
|
|
3183
3183
|
}
|
|
3184
|
-
if (r && e.eat(123) && this.regexp_eatHexDigits(e) && e.eat(125) &&
|
|
3184
|
+
if (r && e.eat(123) && this.regexp_eatHexDigits(e) && e.eat(125) && kn(e.lastIntValue)) return !0;
|
|
3185
3185
|
r && e.raise("Invalid unicode escape"), e.pos = n;
|
|
3186
3186
|
}
|
|
3187
3187
|
return !1;
|
|
3188
3188
|
};
|
|
3189
|
-
function
|
|
3189
|
+
function kn(e) {
|
|
3190
3190
|
return e >= 0 && e <= 1114111;
|
|
3191
3191
|
}
|
|
3192
|
-
|
|
3192
|
+
R.regexp_eatIdentityEscape = function(e) {
|
|
3193
3193
|
if (e.switchU) return this.regexp_eatSyntaxCharacter(e) ? !0 : e.eat(47) ? (e.lastIntValue = 47, !0) : !1;
|
|
3194
3194
|
var t = e.current();
|
|
3195
3195
|
return t !== 99 && (!e.switchN || t !== 107) && (e.lastIntValue = t, e.advance(), !0);
|
|
3196
|
-
},
|
|
3196
|
+
}, R.regexp_eatDecimalEscape = function(e) {
|
|
3197
3197
|
e.lastIntValue = 0;
|
|
3198
3198
|
var t = e.current();
|
|
3199
3199
|
if (t >= 49 && t <= 57) {
|
|
@@ -3204,69 +3204,69 @@ z.regexp_eatIdentityEscape = function(e) {
|
|
|
3204
3204
|
}
|
|
3205
3205
|
return !1;
|
|
3206
3206
|
};
|
|
3207
|
-
var
|
|
3208
|
-
|
|
3207
|
+
var An = 0, jn = 1, z = 2;
|
|
3208
|
+
R.regexp_eatCharacterClassEscape = function(e) {
|
|
3209
3209
|
var t = e.current();
|
|
3210
|
-
if (
|
|
3210
|
+
if (Mn(t)) return e.lastIntValue = -1, e.advance(), jn;
|
|
3211
3211
|
var n = !1;
|
|
3212
3212
|
if (e.switchU && this.options.ecmaVersion >= 9 && ((n = t === 80) || t === 112)) {
|
|
3213
3213
|
e.lastIntValue = -1, e.advance();
|
|
3214
3214
|
var r;
|
|
3215
|
-
if (e.eat(123) && (r = this.regexp_eatUnicodePropertyValueExpression(e)) && e.eat(125)) return n && r ===
|
|
3215
|
+
if (e.eat(123) && (r = this.regexp_eatUnicodePropertyValueExpression(e)) && e.eat(125)) return n && r === z && e.raise("Invalid property name"), r;
|
|
3216
3216
|
e.raise("Invalid property name");
|
|
3217
3217
|
}
|
|
3218
|
-
return
|
|
3218
|
+
return An;
|
|
3219
3219
|
};
|
|
3220
|
-
function
|
|
3220
|
+
function Mn(e) {
|
|
3221
3221
|
return e === 100 || e === 68 || e === 115 || e === 83 || e === 119 || e === 87;
|
|
3222
3222
|
}
|
|
3223
|
-
|
|
3223
|
+
R.regexp_eatUnicodePropertyValueExpression = function(e) {
|
|
3224
3224
|
var t = e.pos;
|
|
3225
3225
|
if (this.regexp_eatUnicodePropertyName(e) && e.eat(61)) {
|
|
3226
3226
|
var n = e.lastStringValue;
|
|
3227
3227
|
if (this.regexp_eatUnicodePropertyValue(e)) {
|
|
3228
3228
|
var r = e.lastStringValue;
|
|
3229
|
-
return this.regexp_validateUnicodePropertyNameAndValue(e, n, r),
|
|
3229
|
+
return this.regexp_validateUnicodePropertyNameAndValue(e, n, r), jn;
|
|
3230
3230
|
}
|
|
3231
3231
|
}
|
|
3232
3232
|
if (e.pos = t, this.regexp_eatLoneUnicodePropertyNameOrValue(e)) {
|
|
3233
3233
|
var i = e.lastStringValue;
|
|
3234
3234
|
return this.regexp_validateUnicodePropertyNameOrValue(e, i);
|
|
3235
3235
|
}
|
|
3236
|
-
return
|
|
3237
|
-
},
|
|
3238
|
-
|
|
3239
|
-
},
|
|
3240
|
-
if (e.unicodeProperties.binary.test(t)) return
|
|
3241
|
-
if (e.switchV && e.unicodeProperties.binaryOfStrings.test(t)) return
|
|
3236
|
+
return An;
|
|
3237
|
+
}, R.regexp_validateUnicodePropertyNameAndValue = function(e, t, n) {
|
|
3238
|
+
tt(e.unicodeProperties.nonBinary, t) || e.raise("Invalid property name"), e.unicodeProperties.nonBinary[t].test(n) || e.raise("Invalid property value");
|
|
3239
|
+
}, R.regexp_validateUnicodePropertyNameOrValue = function(e, t) {
|
|
3240
|
+
if (e.unicodeProperties.binary.test(t)) return jn;
|
|
3241
|
+
if (e.switchV && e.unicodeProperties.binaryOfStrings.test(t)) return z;
|
|
3242
3242
|
e.raise("Invalid property name");
|
|
3243
|
-
},
|
|
3243
|
+
}, R.regexp_eatUnicodePropertyName = function(e) {
|
|
3244
3244
|
var t = 0;
|
|
3245
|
-
for (e.lastStringValue = "";
|
|
3245
|
+
for (e.lastStringValue = ""; Nn(t = e.current());) e.lastStringValue += at(t), e.advance();
|
|
3246
3246
|
return e.lastStringValue !== "";
|
|
3247
3247
|
};
|
|
3248
|
-
function
|
|
3249
|
-
return
|
|
3248
|
+
function Nn(e) {
|
|
3249
|
+
return On(e) || e === 95;
|
|
3250
3250
|
}
|
|
3251
|
-
|
|
3251
|
+
R.regexp_eatUnicodePropertyValue = function(e) {
|
|
3252
3252
|
var t = 0;
|
|
3253
|
-
for (e.lastStringValue = "";
|
|
3253
|
+
for (e.lastStringValue = ""; Pn(t = e.current());) e.lastStringValue += at(t), e.advance();
|
|
3254
3254
|
return e.lastStringValue !== "";
|
|
3255
3255
|
};
|
|
3256
|
-
function
|
|
3257
|
-
return
|
|
3256
|
+
function Pn(e) {
|
|
3257
|
+
return Nn(e) || Rn(e);
|
|
3258
3258
|
}
|
|
3259
|
-
|
|
3259
|
+
R.regexp_eatLoneUnicodePropertyNameOrValue = function(e) {
|
|
3260
3260
|
return this.regexp_eatUnicodePropertyValue(e);
|
|
3261
|
-
},
|
|
3261
|
+
}, R.regexp_eatCharacterClass = function(e) {
|
|
3262
3262
|
if (e.eat(91)) {
|
|
3263
3263
|
var t = e.eat(94), n = this.regexp_classContents(e);
|
|
3264
|
-
return e.eat(93) || e.raise("Unterminated character class"), t && n ===
|
|
3264
|
+
return e.eat(93) || e.raise("Unterminated character class"), t && n === z && e.raise("Negated character class may contain strings"), !0;
|
|
3265
3265
|
}
|
|
3266
3266
|
return !1;
|
|
3267
|
-
},
|
|
3268
|
-
return e.current() === 93 ?
|
|
3269
|
-
},
|
|
3267
|
+
}, R.regexp_classContents = function(e) {
|
|
3268
|
+
return e.current() === 93 ? jn : e.switchV ? this.regexp_classSetExpression(e) : (this.regexp_nonEmptyClassRanges(e), jn);
|
|
3269
|
+
}, R.regexp_nonEmptyClassRanges = function(e) {
|
|
3270
3270
|
for (; this.regexp_eatClassAtom(e);) {
|
|
3271
3271
|
var t = e.lastIntValue;
|
|
3272
3272
|
if (e.eat(45) && this.regexp_eatClassAtom(e)) {
|
|
@@ -3274,19 +3274,19 @@ z.regexp_eatLoneUnicodePropertyNameOrValue = function(e) {
|
|
|
3274
3274
|
e.switchU && (t === -1 || n === -1) && e.raise("Invalid character class"), t !== -1 && n !== -1 && t > n && e.raise("Range out of order in character class");
|
|
3275
3275
|
}
|
|
3276
3276
|
}
|
|
3277
|
-
},
|
|
3277
|
+
}, R.regexp_eatClassAtom = function(e) {
|
|
3278
3278
|
var t = e.pos;
|
|
3279
3279
|
if (e.eat(92)) {
|
|
3280
3280
|
if (this.regexp_eatClassEscape(e)) return !0;
|
|
3281
3281
|
if (e.switchU) {
|
|
3282
3282
|
var n = e.current();
|
|
3283
|
-
(n === 99 ||
|
|
3283
|
+
(n === 99 || Vn(n)) && e.raise("Invalid class escape"), e.raise("Invalid escape");
|
|
3284
3284
|
}
|
|
3285
3285
|
e.pos = t;
|
|
3286
3286
|
}
|
|
3287
3287
|
var r = e.current();
|
|
3288
3288
|
return r !== 93 && (e.lastIntValue = r, e.advance(), !0);
|
|
3289
|
-
},
|
|
3289
|
+
}, R.regexp_eatClassEscape = function(e) {
|
|
3290
3290
|
var t = e.pos;
|
|
3291
3291
|
if (e.eat(98)) return e.lastIntValue = 8, !0;
|
|
3292
3292
|
if (e.switchU && e.eat(45)) return e.lastIntValue = 45, !0;
|
|
@@ -3295,14 +3295,14 @@ z.regexp_eatLoneUnicodePropertyNameOrValue = function(e) {
|
|
|
3295
3295
|
e.pos = t;
|
|
3296
3296
|
}
|
|
3297
3297
|
return this.regexp_eatCharacterClassEscape(e) || this.regexp_eatCharacterEscape(e);
|
|
3298
|
-
},
|
|
3299
|
-
var t =
|
|
3298
|
+
}, R.regexp_classSetExpression = function(e) {
|
|
3299
|
+
var t = jn, n;
|
|
3300
3300
|
if (!this.regexp_eatClassSetRange(e)) {
|
|
3301
3301
|
if (n = this.regexp_eatClassSetOperand(e)) {
|
|
3302
|
-
n ===
|
|
3302
|
+
n === z && (t = z);
|
|
3303
3303
|
for (var r = e.pos; e.eatChars([38, 38]);) {
|
|
3304
3304
|
if (e.current() !== 38 && (n = this.regexp_eatClassSetOperand(e))) {
|
|
3305
|
-
n !==
|
|
3305
|
+
n !== z && (t = jn);
|
|
3306
3306
|
continue;
|
|
3307
3307
|
}
|
|
3308
3308
|
e.raise("Invalid character in character class");
|
|
@@ -3314,9 +3314,9 @@ z.regexp_eatLoneUnicodePropertyNameOrValue = function(e) {
|
|
|
3314
3314
|
}
|
|
3315
3315
|
for (;;) if (!this.regexp_eatClassSetRange(e)) {
|
|
3316
3316
|
if (n = this.regexp_eatClassSetOperand(e), !n) return t;
|
|
3317
|
-
n ===
|
|
3317
|
+
n === z && (t = z);
|
|
3318
3318
|
}
|
|
3319
|
-
},
|
|
3319
|
+
}, R.regexp_eatClassSetRange = function(e) {
|
|
3320
3320
|
var t = e.pos;
|
|
3321
3321
|
if (this.regexp_eatClassSetCharacter(e)) {
|
|
3322
3322
|
var n = e.lastIntValue;
|
|
@@ -3327,13 +3327,13 @@ z.regexp_eatLoneUnicodePropertyNameOrValue = function(e) {
|
|
|
3327
3327
|
e.pos = t;
|
|
3328
3328
|
}
|
|
3329
3329
|
return !1;
|
|
3330
|
-
},
|
|
3331
|
-
return this.regexp_eatClassSetCharacter(e) ?
|
|
3332
|
-
},
|
|
3330
|
+
}, R.regexp_eatClassSetOperand = function(e) {
|
|
3331
|
+
return this.regexp_eatClassSetCharacter(e) ? jn : this.regexp_eatClassStringDisjunction(e) || this.regexp_eatNestedClass(e);
|
|
3332
|
+
}, R.regexp_eatNestedClass = function(e) {
|
|
3333
3333
|
var t = e.pos;
|
|
3334
3334
|
if (e.eat(91)) {
|
|
3335
3335
|
var n = e.eat(94), r = this.regexp_classContents(e);
|
|
3336
|
-
if (e.eat(93)) return n && r ===
|
|
3336
|
+
if (e.eat(93)) return n && r === z && e.raise("Negated character class may contain strings"), r;
|
|
3337
3337
|
e.pos = t;
|
|
3338
3338
|
}
|
|
3339
3339
|
if (e.eat(92)) {
|
|
@@ -3342,7 +3342,7 @@ z.regexp_eatLoneUnicodePropertyNameOrValue = function(e) {
|
|
|
3342
3342
|
e.pos = t;
|
|
3343
3343
|
}
|
|
3344
3344
|
return null;
|
|
3345
|
-
},
|
|
3345
|
+
}, R.regexp_eatClassStringDisjunction = function(e) {
|
|
3346
3346
|
var t = e.pos;
|
|
3347
3347
|
if (e.eatChars([92, 113])) {
|
|
3348
3348
|
if (e.eat(123)) {
|
|
@@ -3352,61 +3352,61 @@ z.regexp_eatLoneUnicodePropertyNameOrValue = function(e) {
|
|
|
3352
3352
|
e.pos = t;
|
|
3353
3353
|
}
|
|
3354
3354
|
return null;
|
|
3355
|
-
},
|
|
3356
|
-
for (var t = this.regexp_classString(e); e.eat(124);) this.regexp_classString(e) ===
|
|
3355
|
+
}, R.regexp_classStringDisjunctionContents = function(e) {
|
|
3356
|
+
for (var t = this.regexp_classString(e); e.eat(124);) this.regexp_classString(e) === z && (t = z);
|
|
3357
3357
|
return t;
|
|
3358
|
-
},
|
|
3358
|
+
}, R.regexp_classString = function(e) {
|
|
3359
3359
|
for (var t = 0; this.regexp_eatClassSetCharacter(e);) t++;
|
|
3360
|
-
return t === 1 ?
|
|
3361
|
-
},
|
|
3360
|
+
return t === 1 ? jn : z;
|
|
3361
|
+
}, R.regexp_eatClassSetCharacter = function(e) {
|
|
3362
3362
|
var t = e.pos;
|
|
3363
3363
|
if (e.eat(92)) return this.regexp_eatCharacterEscape(e) || this.regexp_eatClassSetReservedPunctuator(e) ? !0 : e.eat(98) ? (e.lastIntValue = 8, !0) : (e.pos = t, !1);
|
|
3364
3364
|
var n = e.current();
|
|
3365
|
-
return n < 0 || n === e.lookahead() &&
|
|
3365
|
+
return n < 0 || n === e.lookahead() && Fn(n) || In(n) ? !1 : (e.advance(), e.lastIntValue = n, !0);
|
|
3366
3366
|
};
|
|
3367
|
-
function
|
|
3367
|
+
function Fn(e) {
|
|
3368
3368
|
return e === 33 || e >= 35 && e <= 38 || e >= 42 && e <= 44 || e === 46 || e >= 58 && e <= 64 || e === 94 || e === 96 || e === 126;
|
|
3369
3369
|
}
|
|
3370
|
-
function
|
|
3370
|
+
function In(e) {
|
|
3371
3371
|
return e === 40 || e === 41 || e === 45 || e === 47 || e >= 91 && e <= 93 || e >= 123 && e <= 125;
|
|
3372
3372
|
}
|
|
3373
|
-
|
|
3373
|
+
R.regexp_eatClassSetReservedPunctuator = function(e) {
|
|
3374
3374
|
var t = e.current();
|
|
3375
|
-
return
|
|
3375
|
+
return Ln(t) ? (e.lastIntValue = t, e.advance(), !0) : !1;
|
|
3376
3376
|
};
|
|
3377
|
-
function
|
|
3377
|
+
function Ln(e) {
|
|
3378
3378
|
return e === 33 || e === 35 || e === 37 || e === 38 || e === 44 || e === 45 || e >= 58 && e <= 62 || e === 64 || e === 96 || e === 126;
|
|
3379
3379
|
}
|
|
3380
|
-
|
|
3380
|
+
R.regexp_eatClassControlLetter = function(e) {
|
|
3381
3381
|
var t = e.current();
|
|
3382
|
-
return
|
|
3383
|
-
},
|
|
3382
|
+
return Rn(t) || t === 95 ? (e.lastIntValue = t % 32, e.advance(), !0) : !1;
|
|
3383
|
+
}, R.regexp_eatHexEscapeSequence = function(e) {
|
|
3384
3384
|
var t = e.pos;
|
|
3385
3385
|
if (e.eat(120)) {
|
|
3386
3386
|
if (this.regexp_eatFixedHexDigits(e, 2)) return !0;
|
|
3387
3387
|
e.switchU && e.raise("Invalid escape"), e.pos = t;
|
|
3388
3388
|
}
|
|
3389
3389
|
return !1;
|
|
3390
|
-
},
|
|
3390
|
+
}, R.regexp_eatDecimalDigits = function(e) {
|
|
3391
3391
|
var t = e.pos, n = 0;
|
|
3392
|
-
for (e.lastIntValue = 0;
|
|
3392
|
+
for (e.lastIntValue = 0; Rn(n = e.current());) e.lastIntValue = 10 * e.lastIntValue + (n - 48), e.advance();
|
|
3393
3393
|
return e.pos !== t;
|
|
3394
3394
|
};
|
|
3395
|
-
function
|
|
3395
|
+
function Rn(e) {
|
|
3396
3396
|
return e >= 48 && e <= 57;
|
|
3397
3397
|
}
|
|
3398
|
-
|
|
3398
|
+
R.regexp_eatHexDigits = function(e) {
|
|
3399
3399
|
var t = e.pos, n = 0;
|
|
3400
|
-
for (e.lastIntValue = 0;
|
|
3400
|
+
for (e.lastIntValue = 0; zn(n = e.current());) e.lastIntValue = 16 * e.lastIntValue + Bn(n), e.advance();
|
|
3401
3401
|
return e.pos !== t;
|
|
3402
3402
|
};
|
|
3403
|
-
function
|
|
3403
|
+
function zn(e) {
|
|
3404
3404
|
return e >= 48 && e <= 57 || e >= 65 && e <= 70 || e >= 97 && e <= 102;
|
|
3405
3405
|
}
|
|
3406
|
-
function
|
|
3406
|
+
function Bn(e) {
|
|
3407
3407
|
return e >= 65 && e <= 70 ? 10 + (e - 65) : e >= 97 && e <= 102 ? 10 + (e - 97) : e - 48;
|
|
3408
3408
|
}
|
|
3409
|
-
|
|
3409
|
+
R.regexp_eatLegacyOctalEscapeSequence = function(e) {
|
|
3410
3410
|
if (this.regexp_eatOctalDigit(e)) {
|
|
3411
3411
|
var t = e.lastIntValue;
|
|
3412
3412
|
if (this.regexp_eatOctalDigit(e)) {
|
|
@@ -3416,61 +3416,61 @@ z.regexp_eatLegacyOctalEscapeSequence = function(e) {
|
|
|
3416
3416
|
return !0;
|
|
3417
3417
|
}
|
|
3418
3418
|
return !1;
|
|
3419
|
-
},
|
|
3419
|
+
}, R.regexp_eatOctalDigit = function(e) {
|
|
3420
3420
|
var t = e.current();
|
|
3421
|
-
return
|
|
3421
|
+
return Vn(t) ? (e.lastIntValue = t - 48, e.advance(), !0) : (e.lastIntValue = 0, !1);
|
|
3422
3422
|
};
|
|
3423
|
-
function
|
|
3423
|
+
function Vn(e) {
|
|
3424
3424
|
return e >= 48 && e <= 55;
|
|
3425
3425
|
}
|
|
3426
|
-
|
|
3426
|
+
R.regexp_eatFixedHexDigits = function(e, t) {
|
|
3427
3427
|
var n = e.pos;
|
|
3428
3428
|
e.lastIntValue = 0;
|
|
3429
3429
|
for (var r = 0; r < t; ++r) {
|
|
3430
3430
|
var i = e.current();
|
|
3431
|
-
if (!
|
|
3432
|
-
e.lastIntValue = 16 * e.lastIntValue +
|
|
3431
|
+
if (!zn(i)) return e.pos = n, !1;
|
|
3432
|
+
e.lastIntValue = 16 * e.lastIntValue + Bn(i), e.advance();
|
|
3433
3433
|
}
|
|
3434
3434
|
return !0;
|
|
3435
3435
|
};
|
|
3436
|
-
var
|
|
3437
|
-
this.type = e.type, this.value = e.value, this.start = e.start, this.end = e.end, e.options.locations && (this.loc = new
|
|
3438
|
-
},
|
|
3439
|
-
|
|
3440
|
-
!e && this.type.keyword && this.containsEsc && this.raiseRecoverable(this.start, "Escape sequence in keyword " + this.type.keyword), this.options.onToken && this.options.onToken(new
|
|
3441
|
-
},
|
|
3442
|
-
return this.next(), new
|
|
3443
|
-
}, typeof Symbol < "u" && (
|
|
3436
|
+
var Hn = function(e) {
|
|
3437
|
+
this.type = e.type, this.value = e.value, this.start = e.start, this.end = e.end, e.options.locations && (this.loc = new ct(e, e.startLoc, e.endLoc)), e.options.ranges && (this.range = [e.start, e.end]);
|
|
3438
|
+
}, B = j.prototype;
|
|
3439
|
+
B.next = function(e) {
|
|
3440
|
+
!e && this.type.keyword && this.containsEsc && this.raiseRecoverable(this.start, "Escape sequence in keyword " + this.type.keyword), this.options.onToken && this.options.onToken(new Hn(this)), this.lastTokEnd = this.end, this.lastTokStart = this.start, this.lastTokEndLoc = this.endLoc, this.lastTokStartLoc = this.startLoc, this.nextToken();
|
|
3441
|
+
}, B.getToken = function() {
|
|
3442
|
+
return this.next(), new Hn(this);
|
|
3443
|
+
}, typeof Symbol < "u" && (B[Symbol.iterator] = function() {
|
|
3444
3444
|
var e = this;
|
|
3445
3445
|
return { next: function() {
|
|
3446
3446
|
var t = e.getToken();
|
|
3447
3447
|
return {
|
|
3448
|
-
done: t.type ===
|
|
3448
|
+
done: t.type === O.eof,
|
|
3449
3449
|
value: t
|
|
3450
3450
|
};
|
|
3451
3451
|
} };
|
|
3452
|
-
}),
|
|
3452
|
+
}), B.nextToken = function() {
|
|
3453
3453
|
var e = this.curContext();
|
|
3454
|
-
if ((!e || !e.preserveSpace) && this.skipSpace(), this.start = this.pos, this.options.locations && (this.startLoc = this.curPosition()), this.pos >= this.input.length) return this.finishToken(
|
|
3454
|
+
if ((!e || !e.preserveSpace) && this.skipSpace(), this.start = this.pos, this.options.locations && (this.startLoc = this.curPosition()), this.pos >= this.input.length) return this.finishToken(O.eof);
|
|
3455
3455
|
if (e.override) return e.override(this);
|
|
3456
3456
|
this.readToken(this.fullCharCodeAtPos());
|
|
3457
|
-
},
|
|
3457
|
+
}, B.readToken = function(e) {
|
|
3458
3458
|
return We(e, this.options.ecmaVersion >= 6) || e === 92 ? this.readWord() : this.getTokenFromCode(e);
|
|
3459
|
-
},
|
|
3459
|
+
}, B.fullCharCodeAt = function(e) {
|
|
3460
3460
|
var t = this.input.charCodeAt(e);
|
|
3461
3461
|
if (t <= 55295 || t >= 56320) return t;
|
|
3462
3462
|
var n = this.input.charCodeAt(e + 1);
|
|
3463
3463
|
return n <= 56319 || n >= 57344 ? t : (t << 10) + n - 56613888;
|
|
3464
|
-
},
|
|
3464
|
+
}, B.fullCharCodeAtPos = function() {
|
|
3465
3465
|
return this.fullCharCodeAt(this.pos);
|
|
3466
|
-
},
|
|
3466
|
+
}, B.skipBlockComment = function() {
|
|
3467
3467
|
var e = this.options.onComment && this.curPosition(), t = this.pos, n = this.input.indexOf("*/", this.pos += 2);
|
|
3468
|
-
if (n === -1 && this.raise(this.pos - 2, "Unterminated comment"), this.pos = n + 2, this.options.locations) for (var r = void 0, i = t; (r =
|
|
3468
|
+
if (n === -1 && this.raise(this.pos - 2, "Unterminated comment"), this.pos = n + 2, this.options.locations) for (var r = void 0, i = t; (r = Xe(this.input, i, this.pos)) > -1;) ++this.curLine, i = this.lineStart = r;
|
|
3469
3469
|
this.options.onComment && this.options.onComment(!0, this.input.slice(t + 2, n), t, this.pos, e, this.curPosition());
|
|
3470
|
-
},
|
|
3471
|
-
for (var t = this.pos, n = this.options.onComment && this.curPosition(), r = this.input.charCodeAt(this.pos += e); this.pos < this.input.length && !
|
|
3470
|
+
}, B.skipLineComment = function(e) {
|
|
3471
|
+
for (var t = this.pos, n = this.options.onComment && this.curPosition(), r = this.input.charCodeAt(this.pos += e); this.pos < this.input.length && !Ye(r);) r = this.input.charCodeAt(++this.pos);
|
|
3472
3472
|
this.options.onComment && this.options.onComment(!1, this.input.slice(t + e, this.pos), t, this.pos, n, this.curPosition());
|
|
3473
|
-
},
|
|
3473
|
+
}, B.skipSpace = function() {
|
|
3474
3474
|
loop: for (; this.pos < this.input.length;) {
|
|
3475
3475
|
var e = this.input.charCodeAt(this.pos);
|
|
3476
3476
|
switch (e) {
|
|
@@ -3495,69 +3495,69 @@ V.next = function(e) {
|
|
|
3495
3495
|
default: break loop;
|
|
3496
3496
|
}
|
|
3497
3497
|
break;
|
|
3498
|
-
default: if (e > 8 && e < 14 || e >= 5760 &&
|
|
3498
|
+
default: if (e > 8 && e < 14 || e >= 5760 && Ze.test(String.fromCharCode(e))) ++this.pos;
|
|
3499
3499
|
else break loop;
|
|
3500
3500
|
}
|
|
3501
3501
|
}
|
|
3502
|
-
},
|
|
3502
|
+
}, B.finishToken = function(e, t) {
|
|
3503
3503
|
this.end = this.pos, this.options.locations && (this.endLoc = this.curPosition());
|
|
3504
3504
|
var n = this.type;
|
|
3505
3505
|
this.type = e, this.value = t, this.updateContext(n);
|
|
3506
|
-
},
|
|
3506
|
+
}, B.readToken_dot = function() {
|
|
3507
3507
|
var e = this.input.charCodeAt(this.pos + 1);
|
|
3508
3508
|
if (e >= 48 && e <= 57) return this.readNumber(!0);
|
|
3509
3509
|
var t = this.input.charCodeAt(this.pos + 2);
|
|
3510
|
-
return this.options.ecmaVersion >= 6 && e === 46 && t === 46 ? (this.pos += 3, this.finishToken(
|
|
3511
|
-
},
|
|
3510
|
+
return this.options.ecmaVersion >= 6 && e === 46 && t === 46 ? (this.pos += 3, this.finishToken(O.ellipsis)) : (++this.pos, this.finishToken(O.dot));
|
|
3511
|
+
}, B.readToken_slash = function() {
|
|
3512
3512
|
var e = this.input.charCodeAt(this.pos + 1);
|
|
3513
|
-
return this.exprAllowed ? (++this.pos, this.readRegexp()) : e === 61 ? this.finishOp(
|
|
3514
|
-
},
|
|
3515
|
-
var t = this.input.charCodeAt(this.pos + 1), n = 1, r = e === 42 ?
|
|
3516
|
-
return this.options.ecmaVersion >= 7 && e === 42 && t === 42 && (++n, r =
|
|
3517
|
-
},
|
|
3513
|
+
return this.exprAllowed ? (++this.pos, this.readRegexp()) : e === 61 ? this.finishOp(O.assign, 2) : this.finishOp(O.slash, 1);
|
|
3514
|
+
}, B.readToken_mult_modulo_exp = function(e) {
|
|
3515
|
+
var t = this.input.charCodeAt(this.pos + 1), n = 1, r = e === 42 ? O.star : O.modulo;
|
|
3516
|
+
return this.options.ecmaVersion >= 7 && e === 42 && t === 42 && (++n, r = O.starstar, t = this.input.charCodeAt(this.pos + 2)), t === 61 ? this.finishOp(O.assign, n + 1) : this.finishOp(r, n);
|
|
3517
|
+
}, B.readToken_pipe_amp = function(e) {
|
|
3518
3518
|
var t = this.input.charCodeAt(this.pos + 1);
|
|
3519
|
-
return t === e ? this.options.ecmaVersion >= 12 && this.input.charCodeAt(this.pos + 2) === 61 ? this.finishOp(
|
|
3520
|
-
},
|
|
3521
|
-
return this.input.charCodeAt(this.pos + 1) === 61 ? this.finishOp(
|
|
3522
|
-
},
|
|
3519
|
+
return t === e ? this.options.ecmaVersion >= 12 && this.input.charCodeAt(this.pos + 2) === 61 ? this.finishOp(O.assign, 3) : this.finishOp(e === 124 ? O.logicalOR : O.logicalAND, 2) : t === 61 ? this.finishOp(O.assign, 2) : this.finishOp(e === 124 ? O.bitwiseOR : O.bitwiseAND, 1);
|
|
3520
|
+
}, B.readToken_caret = function() {
|
|
3521
|
+
return this.input.charCodeAt(this.pos + 1) === 61 ? this.finishOp(O.assign, 2) : this.finishOp(O.bitwiseXOR, 1);
|
|
3522
|
+
}, B.readToken_plus_min = function(e) {
|
|
3523
3523
|
var t = this.input.charCodeAt(this.pos + 1);
|
|
3524
|
-
return t === e ? t === 45 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 62 && (this.lastTokEnd === 0 ||
|
|
3525
|
-
},
|
|
3524
|
+
return t === e ? t === 45 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 62 && (this.lastTokEnd === 0 || k.test(this.input.slice(this.lastTokEnd, this.pos))) ? (this.skipLineComment(3), this.skipSpace(), this.nextToken()) : this.finishOp(O.incDec, 2) : t === 61 ? this.finishOp(O.assign, 2) : this.finishOp(O.plusMin, 1);
|
|
3525
|
+
}, B.readToken_lt_gt = function(e) {
|
|
3526
3526
|
var t = this.input.charCodeAt(this.pos + 1), n = 1;
|
|
3527
|
-
return t === e ? (n = e === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2, this.input.charCodeAt(this.pos + n) === 61 ? this.finishOp(
|
|
3528
|
-
},
|
|
3527
|
+
return t === e ? (n = e === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2, this.input.charCodeAt(this.pos + n) === 61 ? this.finishOp(O.assign, n + 1) : this.finishOp(O.bitShift, n)) : t === 33 && e === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 && this.input.charCodeAt(this.pos + 3) === 45 ? (this.skipLineComment(4), this.skipSpace(), this.nextToken()) : (t === 61 && (n = 2), this.finishOp(O.relational, n));
|
|
3528
|
+
}, B.readToken_eq_excl = function(e) {
|
|
3529
3529
|
var t = this.input.charCodeAt(this.pos + 1);
|
|
3530
|
-
return t === 61 ? this.finishOp(
|
|
3531
|
-
},
|
|
3530
|
+
return t === 61 ? this.finishOp(O.equality, this.input.charCodeAt(this.pos + 2) === 61 ? 3 : 2) : e === 61 && t === 62 && this.options.ecmaVersion >= 6 ? (this.pos += 2, this.finishToken(O.arrow)) : this.finishOp(e === 61 ? O.eq : O.prefix, 1);
|
|
3531
|
+
}, B.readToken_question = function() {
|
|
3532
3532
|
var e = this.options.ecmaVersion;
|
|
3533
3533
|
if (e >= 11) {
|
|
3534
3534
|
var t = this.input.charCodeAt(this.pos + 1);
|
|
3535
3535
|
if (t === 46) {
|
|
3536
3536
|
var n = this.input.charCodeAt(this.pos + 2);
|
|
3537
|
-
if (n < 48 || n > 57) return this.finishOp(
|
|
3537
|
+
if (n < 48 || n > 57) return this.finishOp(O.questionDot, 2);
|
|
3538
3538
|
}
|
|
3539
|
-
if (t === 63) return e >= 12 && this.input.charCodeAt(this.pos + 2) === 61 ? this.finishOp(
|
|
3539
|
+
if (t === 63) return e >= 12 && this.input.charCodeAt(this.pos + 2) === 61 ? this.finishOp(O.assign, 3) : this.finishOp(O.coalesce, 2);
|
|
3540
3540
|
}
|
|
3541
|
-
return this.finishOp(
|
|
3542
|
-
},
|
|
3541
|
+
return this.finishOp(O.question, 1);
|
|
3542
|
+
}, B.readToken_numberSign = function() {
|
|
3543
3543
|
var e = this.options.ecmaVersion, t = 35;
|
|
3544
|
-
if (e >= 13 && (++this.pos, t = this.fullCharCodeAtPos(), We(t, !0) || t === 92)) return this.finishToken(
|
|
3545
|
-
this.raise(this.pos, "Unexpected character '" +
|
|
3546
|
-
},
|
|
3544
|
+
if (e >= 13 && (++this.pos, t = this.fullCharCodeAtPos(), We(t, !0) || t === 92)) return this.finishToken(O.privateId, this.readWord1());
|
|
3545
|
+
this.raise(this.pos, "Unexpected character '" + at(t) + "'");
|
|
3546
|
+
}, B.getTokenFromCode = function(e) {
|
|
3547
3547
|
switch (e) {
|
|
3548
3548
|
case 46: return this.readToken_dot();
|
|
3549
|
-
case 40: return ++this.pos, this.finishToken(
|
|
3550
|
-
case 41: return ++this.pos, this.finishToken(
|
|
3551
|
-
case 59: return ++this.pos, this.finishToken(
|
|
3552
|
-
case 44: return ++this.pos, this.finishToken(
|
|
3553
|
-
case 91: return ++this.pos, this.finishToken(
|
|
3554
|
-
case 93: return ++this.pos, this.finishToken(
|
|
3555
|
-
case 123: return ++this.pos, this.finishToken(
|
|
3556
|
-
case 125: return ++this.pos, this.finishToken(
|
|
3557
|
-
case 58: return ++this.pos, this.finishToken(
|
|
3549
|
+
case 40: return ++this.pos, this.finishToken(O.parenL);
|
|
3550
|
+
case 41: return ++this.pos, this.finishToken(O.parenR);
|
|
3551
|
+
case 59: return ++this.pos, this.finishToken(O.semi);
|
|
3552
|
+
case 44: return ++this.pos, this.finishToken(O.comma);
|
|
3553
|
+
case 91: return ++this.pos, this.finishToken(O.bracketL);
|
|
3554
|
+
case 93: return ++this.pos, this.finishToken(O.bracketR);
|
|
3555
|
+
case 123: return ++this.pos, this.finishToken(O.braceL);
|
|
3556
|
+
case 125: return ++this.pos, this.finishToken(O.braceR);
|
|
3557
|
+
case 58: return ++this.pos, this.finishToken(O.colon);
|
|
3558
3558
|
case 96:
|
|
3559
3559
|
if (this.options.ecmaVersion < 6) break;
|
|
3560
|
-
return ++this.pos, this.finishToken(
|
|
3560
|
+
return ++this.pos, this.finishToken(O.backQuote);
|
|
3561
3561
|
case 48:
|
|
3562
3562
|
var t = this.input.charCodeAt(this.pos + 1);
|
|
3563
3563
|
if (t === 120 || t === 88) return this.readRadixNumber(16);
|
|
@@ -3589,18 +3589,18 @@ V.next = function(e) {
|
|
|
3589
3589
|
case 61:
|
|
3590
3590
|
case 33: return this.readToken_eq_excl(e);
|
|
3591
3591
|
case 63: return this.readToken_question();
|
|
3592
|
-
case 126: return this.finishOp(
|
|
3592
|
+
case 126: return this.finishOp(O.prefix, 1);
|
|
3593
3593
|
case 35: return this.readToken_numberSign();
|
|
3594
3594
|
}
|
|
3595
|
-
this.raise(this.pos, "Unexpected character '" +
|
|
3596
|
-
},
|
|
3595
|
+
this.raise(this.pos, "Unexpected character '" + at(e) + "'");
|
|
3596
|
+
}, B.finishOp = function(e, t) {
|
|
3597
3597
|
var n = this.input.slice(this.pos, this.pos + t);
|
|
3598
3598
|
return this.pos += t, this.finishToken(e, n);
|
|
3599
|
-
},
|
|
3599
|
+
}, B.readRegexp = function() {
|
|
3600
3600
|
for (var e, t, n = this.pos;;) {
|
|
3601
3601
|
this.pos >= this.input.length && this.raise(n, "Unterminated regular expression");
|
|
3602
3602
|
var r = this.input.charAt(this.pos);
|
|
3603
|
-
if (
|
|
3603
|
+
if (k.test(r) && this.raise(n, "Unterminated regular expression"), e) e = !1;
|
|
3604
3604
|
else {
|
|
3605
3605
|
if (r === "[") t = !0;
|
|
3606
3606
|
else if (r === "]" && t) t = !1;
|
|
@@ -3613,18 +3613,18 @@ V.next = function(e) {
|
|
|
3613
3613
|
++this.pos;
|
|
3614
3614
|
var a = this.pos, o = this.readWord1();
|
|
3615
3615
|
this.containsEsc && this.unexpected(a);
|
|
3616
|
-
var s = this.regexpState ||= new
|
|
3616
|
+
var s = this.regexpState ||= new Sn(this);
|
|
3617
3617
|
s.reset(n, i, o), this.validateRegExpFlags(s), this.validateRegExpPattern(s);
|
|
3618
3618
|
var c = null;
|
|
3619
3619
|
try {
|
|
3620
3620
|
c = new RegExp(i, o);
|
|
3621
3621
|
} catch {}
|
|
3622
|
-
return this.finishToken(
|
|
3622
|
+
return this.finishToken(O.regexp, {
|
|
3623
3623
|
pattern: i,
|
|
3624
3624
|
flags: o,
|
|
3625
3625
|
value: c
|
|
3626
3626
|
});
|
|
3627
|
-
},
|
|
3627
|
+
}, B.readInt = function(e, t, n) {
|
|
3628
3628
|
for (var r = this.options.ecmaVersion >= 12 && t === void 0, i = n && this.input.charCodeAt(this.pos) === 48, a = this.pos, o = 0, s = 0, c = 0, l = t ?? Infinity; c < l; ++c, ++this.pos) {
|
|
3629
3629
|
var u = this.input.charCodeAt(this.pos), d = void 0;
|
|
3630
3630
|
if (r && u === 95) {
|
|
@@ -3636,31 +3636,31 @@ V.next = function(e) {
|
|
|
3636
3636
|
}
|
|
3637
3637
|
return r && s === 95 && this.raiseRecoverable(this.pos - 1, "Numeric separator is not allowed at the last of digits"), this.pos === a || t != null && this.pos - a !== t ? null : o;
|
|
3638
3638
|
};
|
|
3639
|
-
function
|
|
3639
|
+
function Un(e, t) {
|
|
3640
3640
|
return t ? parseInt(e, 8) : parseFloat(e.replace(/_/g, ""));
|
|
3641
3641
|
}
|
|
3642
|
-
function
|
|
3642
|
+
function Wn(e) {
|
|
3643
3643
|
return typeof BigInt == "function" ? BigInt(e.replace(/_/g, "")) : null;
|
|
3644
3644
|
}
|
|
3645
|
-
|
|
3645
|
+
B.readRadixNumber = function(e) {
|
|
3646
3646
|
var t = this.pos;
|
|
3647
3647
|
this.pos += 2;
|
|
3648
3648
|
var n = this.readInt(e);
|
|
3649
|
-
return n ?? this.raise(this.start + 2, "Expected number in radix " + e), this.options.ecmaVersion >= 11 && this.input.charCodeAt(this.pos) === 110 ? (n =
|
|
3650
|
-
},
|
|
3649
|
+
return n ?? this.raise(this.start + 2, "Expected number in radix " + e), this.options.ecmaVersion >= 11 && this.input.charCodeAt(this.pos) === 110 ? (n = Wn(this.input.slice(t, this.pos)), ++this.pos) : We(this.fullCharCodeAtPos()) && this.raise(this.pos, "Identifier directly after number"), this.finishToken(O.num, n);
|
|
3650
|
+
}, B.readNumber = function(e) {
|
|
3651
3651
|
var t = this.pos;
|
|
3652
3652
|
!e && this.readInt(10, void 0, !0) === null && this.raise(t, "Invalid number");
|
|
3653
3653
|
var n = this.pos - t >= 2 && this.input.charCodeAt(t) === 48;
|
|
3654
3654
|
n && this.strict && this.raise(t, "Invalid number");
|
|
3655
3655
|
var r = this.input.charCodeAt(this.pos);
|
|
3656
3656
|
if (!n && !e && this.options.ecmaVersion >= 11 && r === 110) {
|
|
3657
|
-
var i =
|
|
3658
|
-
return ++this.pos, We(this.fullCharCodeAtPos()) && this.raise(this.pos, "Identifier directly after number"), this.finishToken(
|
|
3657
|
+
var i = Wn(this.input.slice(t, this.pos));
|
|
3658
|
+
return ++this.pos, We(this.fullCharCodeAtPos()) && this.raise(this.pos, "Identifier directly after number"), this.finishToken(O.num, i);
|
|
3659
3659
|
}
|
|
3660
3660
|
n && /[89]/.test(this.input.slice(t, this.pos)) && (n = !1), r === 46 && !n && (++this.pos, this.readInt(10), r = this.input.charCodeAt(this.pos)), (r === 69 || r === 101) && !n && (r = this.input.charCodeAt(++this.pos), (r === 43 || r === 45) && ++this.pos, this.readInt(10) === null && this.raise(t, "Invalid number")), We(this.fullCharCodeAtPos()) && this.raise(this.pos, "Identifier directly after number");
|
|
3661
|
-
var a =
|
|
3662
|
-
return this.finishToken(
|
|
3663
|
-
},
|
|
3661
|
+
var a = Un(this.input.slice(t, this.pos), n);
|
|
3662
|
+
return this.finishToken(O.num, a);
|
|
3663
|
+
}, B.readCodePoint = function() {
|
|
3664
3664
|
var e = this.input.charCodeAt(this.pos), t;
|
|
3665
3665
|
if (e === 123) {
|
|
3666
3666
|
this.options.ecmaVersion < 6 && this.unexpected();
|
|
@@ -3668,35 +3668,35 @@ V.readRadixNumber = function(e) {
|
|
|
3668
3668
|
t = this.readHexChar(this.input.indexOf("}", this.pos) - this.pos), ++this.pos, t > 1114111 && this.invalidStringToken(n, "Code point out of bounds");
|
|
3669
3669
|
} else t = this.readHexChar(4);
|
|
3670
3670
|
return t;
|
|
3671
|
-
},
|
|
3671
|
+
}, B.readString = function(e) {
|
|
3672
3672
|
for (var t = "", n = ++this.pos;;) {
|
|
3673
3673
|
this.pos >= this.input.length && this.raise(this.start, "Unterminated string constant");
|
|
3674
3674
|
var r = this.input.charCodeAt(this.pos);
|
|
3675
3675
|
if (r === e) break;
|
|
3676
|
-
r === 92 ? (t += this.input.slice(n, this.pos), t += this.readEscapedChar(!1), n = this.pos) : r === 8232 || r === 8233 ? (this.options.ecmaVersion < 10 && this.raise(this.start, "Unterminated string constant"), ++this.pos, this.options.locations && (this.curLine++, this.lineStart = this.pos)) : (
|
|
3676
|
+
r === 92 ? (t += this.input.slice(n, this.pos), t += this.readEscapedChar(!1), n = this.pos) : r === 8232 || r === 8233 ? (this.options.ecmaVersion < 10 && this.raise(this.start, "Unterminated string constant"), ++this.pos, this.options.locations && (this.curLine++, this.lineStart = this.pos)) : (Ye(r) && this.raise(this.start, "Unterminated string constant"), ++this.pos);
|
|
3677
3677
|
}
|
|
3678
|
-
return t += this.input.slice(n, this.pos++), this.finishToken(
|
|
3678
|
+
return t += this.input.slice(n, this.pos++), this.finishToken(O.string, t);
|
|
3679
3679
|
};
|
|
3680
|
-
var
|
|
3681
|
-
|
|
3680
|
+
var Gn = {};
|
|
3681
|
+
B.tryReadTemplateToken = function() {
|
|
3682
3682
|
this.inTemplateElement = !0;
|
|
3683
3683
|
try {
|
|
3684
3684
|
this.readTmplToken();
|
|
3685
3685
|
} catch (e) {
|
|
3686
|
-
if (e ===
|
|
3686
|
+
if (e === Gn) this.readInvalidTemplateToken();
|
|
3687
3687
|
else throw e;
|
|
3688
3688
|
}
|
|
3689
3689
|
this.inTemplateElement = !1;
|
|
3690
|
-
},
|
|
3691
|
-
if (this.inTemplateElement && this.options.ecmaVersion >= 9) throw
|
|
3690
|
+
}, B.invalidStringToken = function(e, t) {
|
|
3691
|
+
if (this.inTemplateElement && this.options.ecmaVersion >= 9) throw Gn;
|
|
3692
3692
|
this.raise(e, t);
|
|
3693
|
-
},
|
|
3693
|
+
}, B.readTmplToken = function() {
|
|
3694
3694
|
for (var e = "", t = this.pos;;) {
|
|
3695
3695
|
this.pos >= this.input.length && this.raise(this.start, "Unterminated template");
|
|
3696
3696
|
var n = this.input.charCodeAt(this.pos);
|
|
3697
|
-
if (n === 96 || n === 36 && this.input.charCodeAt(this.pos + 1) === 123) return this.pos === this.start && (this.type ===
|
|
3697
|
+
if (n === 96 || n === 36 && this.input.charCodeAt(this.pos + 1) === 123) return this.pos === this.start && (this.type === O.template || this.type === O.invalidTemplate) ? n === 36 ? (this.pos += 2, this.finishToken(O.dollarBraceL)) : (++this.pos, this.finishToken(O.backQuote)) : (e += this.input.slice(t, this.pos), this.finishToken(O.template, e));
|
|
3698
3698
|
if (n === 92) e += this.input.slice(t, this.pos), e += this.readEscapedChar(!0), t = this.pos;
|
|
3699
|
-
else if (
|
|
3699
|
+
else if (Ye(n)) {
|
|
3700
3700
|
switch (e += this.input.slice(t, this.pos), ++this.pos, n) {
|
|
3701
3701
|
case 13: this.input.charCodeAt(this.pos) === 10 && ++this.pos;
|
|
3702
3702
|
case 10:
|
|
@@ -3707,26 +3707,26 @@ V.tryReadTemplateToken = function() {
|
|
|
3707
3707
|
this.options.locations && (++this.curLine, this.lineStart = this.pos), t = this.pos;
|
|
3708
3708
|
} else ++this.pos;
|
|
3709
3709
|
}
|
|
3710
|
-
},
|
|
3710
|
+
}, B.readInvalidTemplateToken = function() {
|
|
3711
3711
|
for (; this.pos < this.input.length; this.pos++) switch (this.input[this.pos]) {
|
|
3712
3712
|
case "\\":
|
|
3713
3713
|
++this.pos;
|
|
3714
3714
|
break;
|
|
3715
3715
|
case "$": if (this.input[this.pos + 1] !== "{") break;
|
|
3716
|
-
case "`": return this.finishToken(
|
|
3716
|
+
case "`": return this.finishToken(O.invalidTemplate, this.input.slice(this.start, this.pos));
|
|
3717
3717
|
case "\r": this.input[this.pos + 1] === "\n" && ++this.pos;
|
|
3718
3718
|
case "\n":
|
|
3719
3719
|
case "\u2028":
|
|
3720
3720
|
case "\u2029": ++this.curLine, this.lineStart = this.pos + 1;
|
|
3721
3721
|
}
|
|
3722
3722
|
this.raise(this.start, "Unterminated template");
|
|
3723
|
-
},
|
|
3723
|
+
}, B.readEscapedChar = function(e) {
|
|
3724
3724
|
var t = this.input.charCodeAt(++this.pos);
|
|
3725
3725
|
switch (++this.pos, t) {
|
|
3726
3726
|
case 110: return "\n";
|
|
3727
3727
|
case 114: return "\r";
|
|
3728
3728
|
case 120: return String.fromCharCode(this.readHexChar(2));
|
|
3729
|
-
case 117: return
|
|
3729
|
+
case 117: return at(this.readCodePoint());
|
|
3730
3730
|
case 116: return " ";
|
|
3731
3731
|
case 98: return "\b";
|
|
3732
3732
|
case 118: return "\v";
|
|
@@ -3743,12 +3743,12 @@ V.tryReadTemplateToken = function() {
|
|
|
3743
3743
|
var r = this.input.substr(this.pos - 1, 3).match(/^[0-7]+/)[0], i = parseInt(r, 8);
|
|
3744
3744
|
return i > 255 && (r = r.slice(0, -1), i = parseInt(r, 8)), this.pos += r.length - 1, t = this.input.charCodeAt(this.pos), (r !== "0" || t === 56 || t === 57) && (this.strict || e) && this.invalidStringToken(this.pos - 1 - r.length, e ? "Octal literal in template string" : "Octal literal in strict mode"), String.fromCharCode(i);
|
|
3745
3745
|
}
|
|
3746
|
-
return
|
|
3746
|
+
return Ye(t) ? (this.options.locations && (this.lineStart = this.pos, ++this.curLine), "") : String.fromCharCode(t);
|
|
3747
3747
|
}
|
|
3748
|
-
},
|
|
3748
|
+
}, B.readHexChar = function(e) {
|
|
3749
3749
|
var t = this.pos, n = this.readInt(16, e);
|
|
3750
3750
|
return n === null && this.invalidStringToken(t, "Bad character escape sequence"), n;
|
|
3751
|
-
},
|
|
3751
|
+
}, B.readWord1 = function() {
|
|
3752
3752
|
this.containsEsc = !1;
|
|
3753
3753
|
for (var e = "", t = !0, n = this.pos, r = this.options.ecmaVersion >= 6; this.pos < this.input.length;) {
|
|
3754
3754
|
var i = this.fullCharCodeAtPos();
|
|
@@ -3758,47 +3758,47 @@ V.tryReadTemplateToken = function() {
|
|
|
3758
3758
|
var a = this.pos;
|
|
3759
3759
|
this.input.charCodeAt(++this.pos) !== 117 && this.invalidStringToken(this.pos, "Expecting Unicode escape sequence \\uXXXX"), ++this.pos;
|
|
3760
3760
|
var o = this.readCodePoint();
|
|
3761
|
-
(t ? We : Ge)(o, r) || this.invalidStringToken(a, "Invalid Unicode escape"), e +=
|
|
3761
|
+
(t ? We : Ge)(o, r) || this.invalidStringToken(a, "Invalid Unicode escape"), e += at(o), n = this.pos;
|
|
3762
3762
|
} else break;
|
|
3763
3763
|
t = !1;
|
|
3764
3764
|
}
|
|
3765
3765
|
return e + this.input.slice(n, this.pos);
|
|
3766
|
-
},
|
|
3767
|
-
var e = this.readWord1(), t =
|
|
3768
|
-
return this.keywords.test(e) && (t =
|
|
3769
|
-
},
|
|
3770
|
-
Parser:
|
|
3766
|
+
}, B.readWord = function() {
|
|
3767
|
+
var e = this.readWord1(), t = O.name;
|
|
3768
|
+
return this.keywords.test(e) && (t = qe[e]), this.finishToken(t, e);
|
|
3769
|
+
}, j.acorn = {
|
|
3770
|
+
Parser: j,
|
|
3771
3771
|
version: "8.18.0",
|
|
3772
|
-
defaultOptions:
|
|
3773
|
-
Position:
|
|
3774
|
-
SourceLocation:
|
|
3775
|
-
getLineInfo:
|
|
3776
|
-
Node:
|
|
3772
|
+
defaultOptions: ut,
|
|
3773
|
+
Position: st,
|
|
3774
|
+
SourceLocation: ct,
|
|
3775
|
+
getLineInfo: lt,
|
|
3776
|
+
Node: Zt,
|
|
3777
3777
|
TokenType: w,
|
|
3778
|
-
tokTypes:
|
|
3779
|
-
keywordTypes:
|
|
3780
|
-
TokContext:
|
|
3781
|
-
tokContexts:
|
|
3778
|
+
tokTypes: O,
|
|
3779
|
+
keywordTypes: qe,
|
|
3780
|
+
TokContext: Ut,
|
|
3781
|
+
tokContexts: I,
|
|
3782
3782
|
isIdentifierChar: Ge,
|
|
3783
3783
|
isIdentifierStart: We,
|
|
3784
|
-
Token:
|
|
3785
|
-
isNewLine:
|
|
3786
|
-
lineBreak:
|
|
3787
|
-
lineBreakG:
|
|
3788
|
-
nonASCIIwhitespace:
|
|
3784
|
+
Token: Hn,
|
|
3785
|
+
isNewLine: Ye,
|
|
3786
|
+
lineBreak: k,
|
|
3787
|
+
lineBreakG: Je,
|
|
3788
|
+
nonASCIIwhitespace: Ze
|
|
3789
3789
|
};
|
|
3790
|
-
function
|
|
3791
|
-
return
|
|
3790
|
+
function Kn(e, t, n) {
|
|
3791
|
+
return j.parseExpressionAt(e, t, n);
|
|
3792
3792
|
}
|
|
3793
3793
|
//#endregion
|
|
3794
3794
|
//#region src/debug.ts
|
|
3795
|
-
var
|
|
3796
|
-
function
|
|
3797
|
-
|
|
3795
|
+
var qn = !!process.env.DEBUG;
|
|
3796
|
+
function Jn(...e) {
|
|
3797
|
+
qn && console.log(...e);
|
|
3798
3798
|
}
|
|
3799
3799
|
//#endregion
|
|
3800
3800
|
//#region src/safe-eval.ts
|
|
3801
|
-
var
|
|
3801
|
+
var Yn = {
|
|
3802
3802
|
String: (e) => String(e ?? ""),
|
|
3803
3803
|
Number: (e) => Number(e),
|
|
3804
3804
|
Boolean: (e) => !!e,
|
|
@@ -3808,7 +3808,7 @@ var Jn = {
|
|
|
3808
3808
|
},
|
|
3809
3809
|
Object: { keys: (e) => Object.keys(e) }
|
|
3810
3810
|
};
|
|
3811
|
-
function
|
|
3811
|
+
function Xn(t) {
|
|
3812
3812
|
let n = i.resolve(t), r = (...e) => {
|
|
3813
3813
|
let t = i.resolve(n, ...e);
|
|
3814
3814
|
if (t !== n && !t.startsWith(`${n}${i.sep}`)) throw Error("Workspace file path escapes working directory");
|
|
@@ -3820,7 +3820,7 @@ function Yn(t) {
|
|
|
3820
3820
|
join: (...e) => r(...e)
|
|
3821
3821
|
};
|
|
3822
3822
|
}
|
|
3823
|
-
var
|
|
3823
|
+
var Zn = class {
|
|
3824
3824
|
static async evaluateValue(e, t = {}) {
|
|
3825
3825
|
if (typeof e != "string" || !e.includes("${")) return e;
|
|
3826
3826
|
let n = `\`${e}\``;
|
|
@@ -3830,7 +3830,7 @@ var Xn = class {
|
|
|
3830
3830
|
typeof e == "string" && (e = [e]);
|
|
3831
3831
|
for (let n of e) {
|
|
3832
3832
|
let e = await this.evaluateExpression(n, t);
|
|
3833
|
-
if (
|
|
3833
|
+
if (Jn("condition", e, n, t), e) return !0;
|
|
3834
3834
|
}
|
|
3835
3835
|
return !1;
|
|
3836
3836
|
}
|
|
@@ -3838,7 +3838,7 @@ var Xn = class {
|
|
|
3838
3838
|
if (!e || typeof e != "string") return e;
|
|
3839
3839
|
let n = e.trim(), r;
|
|
3840
3840
|
try {
|
|
3841
|
-
r =
|
|
3841
|
+
r = Kn(n, 0, {
|
|
3842
3842
|
ecmaVersion: 2020,
|
|
3843
3843
|
allowAwaitOutsideFunction: !1
|
|
3844
3844
|
});
|
|
@@ -3850,7 +3850,7 @@ var Xn = class {
|
|
|
3850
3850
|
static async evalNodeAsync(e, t) {
|
|
3851
3851
|
switch (e.type) {
|
|
3852
3852
|
case "Literal": return e.value;
|
|
3853
|
-
case "Identifier": return e.name in t ? t[e.name] : e.name in
|
|
3853
|
+
case "Identifier": return e.name in t ? t[e.name] : e.name in Yn ? Yn[e.name] : void 0;
|
|
3854
3854
|
case "MemberExpression": {
|
|
3855
3855
|
let n = await this.evalNodeAsync(e.object, t);
|
|
3856
3856
|
if (n == null) return;
|
|
@@ -3876,7 +3876,7 @@ var Xn = class {
|
|
|
3876
3876
|
else throw Error(`Property '${i}' is not a callable function on target object.`);
|
|
3877
3877
|
} else if (e.callee.type === "Identifier") {
|
|
3878
3878
|
let r = e.callee.name;
|
|
3879
|
-
if (n = t[r] ??
|
|
3879
|
+
if (n = t[r] ?? Yn[r], !n || typeof n != "function") throw Error(`Unknown function helper '${r}'.`);
|
|
3880
3880
|
}
|
|
3881
3881
|
if (!n) throw Error("Invalid function invocation target.");
|
|
3882
3882
|
let i = await Promise.all(e.arguments.map((e) => this.evalNodeAsync(e, t)));
|
|
@@ -3935,7 +3935,7 @@ var Xn = class {
|
|
|
3935
3935
|
};
|
|
3936
3936
|
//#endregion
|
|
3937
3937
|
//#region src/parser/matrix-expander.ts
|
|
3938
|
-
function
|
|
3938
|
+
function Qn(e) {
|
|
3939
3939
|
if (!e.matrix || Object.keys(e.matrix).length === 0) return [e];
|
|
3940
3940
|
let t = e.matrix;
|
|
3941
3941
|
return Object.keys(t).reduce((e, n) => {
|
|
@@ -3962,18 +3962,18 @@ function Zn(e) {
|
|
|
3962
3962
|
}
|
|
3963
3963
|
//#endregion
|
|
3964
3964
|
//#region src/secret-repository.ts
|
|
3965
|
-
function
|
|
3965
|
+
function $n() {
|
|
3966
3966
|
let e = process.env.CREDENTIALS_DIRECTORY ? `${process.env.CREDENTIALS_DIRECTORY}/on-master-key` : "", t = process.env.RUNNER_MASTER_KEY || (e ? n(e, "utf8").trim() : "");
|
|
3967
3967
|
if (!t) throw Error("RUNNER_MASTER_KEY or systemd credential on-master-key is required for secrets");
|
|
3968
3968
|
return u.createHash("sha256").update(t).digest();
|
|
3969
3969
|
}
|
|
3970
|
-
var
|
|
3970
|
+
var er = class {
|
|
3971
3971
|
key;
|
|
3972
3972
|
async init() {
|
|
3973
3973
|
await C.exec("CREATE TABLE IF NOT EXISTS secrets (\n name TEXT PRIMARY KEY, ciphertext TEXT NOT NULL,\n created_at DATETIME DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME DEFAULT CURRENT_TIMESTAMP\n )");
|
|
3974
3974
|
}
|
|
3975
3975
|
encryptionKey() {
|
|
3976
|
-
return this.key ||=
|
|
3976
|
+
return this.key ||= $n();
|
|
3977
3977
|
}
|
|
3978
3978
|
async set(e, t) {
|
|
3979
3979
|
if (!/^[A-Z][A-Z0-9_]*$/.test(e)) throw Error("Secret names must be uppercase letters, numbers, and underscores");
|
|
@@ -3999,7 +3999,7 @@ var $n = class {
|
|
|
3999
3999
|
let t = Buffer.from(e, "base64"), n = u.createDecipheriv("aes-256-gcm", this.encryptionKey(), t.subarray(0, 12));
|
|
4000
4000
|
return n.setAuthTag(t.subarray(12, 28)), Buffer.concat([n.update(t.subarray(28)), n.final()]).toString("utf8");
|
|
4001
4001
|
}
|
|
4002
|
-
},
|
|
4002
|
+
}, tr = class {
|
|
4003
4003
|
config;
|
|
4004
4004
|
constructor(e) {
|
|
4005
4005
|
this.config = e;
|
|
@@ -4045,8 +4045,8 @@ var $n = class {
|
|
|
4045
4045
|
}
|
|
4046
4046
|
};
|
|
4047
4047
|
//#endregion
|
|
4048
|
-
//#region node_modules/.pnpm/marked@18.0.
|
|
4049
|
-
function
|
|
4048
|
+
//#region node_modules/.pnpm/marked@18.0.12/node_modules/marked/lib/marked.esm.js
|
|
4049
|
+
function nr() {
|
|
4050
4050
|
return {
|
|
4051
4051
|
async: !1,
|
|
4052
4052
|
breaks: !1,
|
|
@@ -4060,35 +4060,35 @@ function tr() {
|
|
|
4060
4060
|
walkTokens: null
|
|
4061
4061
|
};
|
|
4062
4062
|
}
|
|
4063
|
-
var
|
|
4064
|
-
function
|
|
4065
|
-
|
|
4063
|
+
var rr = nr();
|
|
4064
|
+
function ir(e) {
|
|
4065
|
+
rr = e;
|
|
4066
4066
|
}
|
|
4067
|
-
var
|
|
4068
|
-
function
|
|
4067
|
+
var ar = { exec: () => null };
|
|
4068
|
+
function or(e) {
|
|
4069
4069
|
let t = [];
|
|
4070
4070
|
return (n) => {
|
|
4071
4071
|
let r = Math.max(0, Math.min(3, n - 1)), i = t[r];
|
|
4072
4072
|
return i || (i = e(r), t[r] = i), i;
|
|
4073
4073
|
};
|
|
4074
4074
|
}
|
|
4075
|
-
function
|
|
4075
|
+
function V(e, t = "") {
|
|
4076
4076
|
let n = typeof e == "string" ? e : e.source, r = {
|
|
4077
4077
|
replace: (e, t) => {
|
|
4078
4078
|
let i = typeof t == "string" ? t : t.source;
|
|
4079
|
-
return i = i.replace(
|
|
4079
|
+
return i = i.replace(H.caret, "$1"), n = n.replace(e, i), r;
|
|
4080
4080
|
},
|
|
4081
4081
|
getRegex: () => new RegExp(n, t)
|
|
4082
4082
|
};
|
|
4083
4083
|
return r;
|
|
4084
4084
|
}
|
|
4085
|
-
var
|
|
4085
|
+
var sr = ((e = "") => {
|
|
4086
4086
|
try {
|
|
4087
4087
|
return !!RegExp("(?<=1)(?<!1)" + e);
|
|
4088
4088
|
} catch {
|
|
4089
4089
|
return !1;
|
|
4090
4090
|
}
|
|
4091
|
-
})(),
|
|
4091
|
+
})(), H = {
|
|
4092
4092
|
codeRemoveIndent: /^(?: {1,4}| {0,3}\t)/gm,
|
|
4093
4093
|
outputLinkReplace: /\\([\[\]])/g,
|
|
4094
4094
|
indentCodeCompensation: /^(\s+)(?:```)/,
|
|
@@ -4096,6 +4096,7 @@ var or = ((e = "") => {
|
|
|
4096
4096
|
endingHash: /#$/,
|
|
4097
4097
|
startingSpaceChar: /^ /,
|
|
4098
4098
|
endingSpaceChar: / $/,
|
|
4099
|
+
endingSpaceTabChar: /[ \t]$/,
|
|
4099
4100
|
nonSpaceChar: /[^ ]/,
|
|
4100
4101
|
newLineCharGlobal: /\n/g,
|
|
4101
4102
|
tabCharGlobal: /\t/g,
|
|
@@ -4139,123 +4140,123 @@ var or = ((e = "") => {
|
|
|
4139
4140
|
notSpaceStart: /^\S*/,
|
|
4140
4141
|
endingNewline: /\n$/,
|
|
4141
4142
|
listItemRegex: (e) => RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),
|
|
4142
|
-
nextBulletRegex:
|
|
4143
|
-
hrRegex:
|
|
4144
|
-
fencesBeginRegex:
|
|
4145
|
-
headingBeginRegex:
|
|
4146
|
-
htmlBeginRegex:
|
|
4147
|
-
blockquoteBeginRegex:
|
|
4148
|
-
},
|
|
4149
|
-
blockquote:
|
|
4150
|
-
code:
|
|
4151
|
-
def:
|
|
4152
|
-
fences:
|
|
4153
|
-
heading:
|
|
4154
|
-
hr:
|
|
4155
|
-
html:
|
|
4156
|
-
lheading: mr,
|
|
4157
|
-
list: br,
|
|
4158
|
-
newline: sr,
|
|
4159
|
-
paragraph: Tr,
|
|
4160
|
-
table: ir,
|
|
4161
|
-
text: _r
|
|
4162
|
-
}, Or = H("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", ur).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3} )[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", xr).getRegex(), kr = {
|
|
4163
|
-
...Dr,
|
|
4143
|
+
nextBulletRegex: or((e) => RegExp(`^ {0,${e}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),
|
|
4144
|
+
hrRegex: or((e) => RegExp(`^ {0,${e}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),
|
|
4145
|
+
fencesBeginRegex: or((e) => RegExp(`^ {0,${e}}(?:\`\`\`|~~~)`)),
|
|
4146
|
+
headingBeginRegex: or((e) => RegExp(`^ {0,${e}}#`)),
|
|
4147
|
+
htmlBeginRegex: or((e) => RegExp(`^ {0,${e}}<(?:[a-z].*>|!--)`, "i")),
|
|
4148
|
+
blockquoteBeginRegex: or((e) => RegExp(`^ {0,${e}}>`))
|
|
4149
|
+
}, cr = /^(?:[ \t]*(?:\n|$))+/, lr = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/, ur = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/, dr = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/, fr = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/, pr = / {0,3}(?:[*+-]|\d{1,9}[.)])/, mr = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/, hr = V(mr).replace(/bull/g, pr).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}(?:\s|$)/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/\|table/g, "").getRegex(), gr = V(mr).replace(/bull/g, pr).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}(?:\s|$)/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/table/g, / {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(), _r = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table|[ \t]+\n)[^\n]+)*)/, vr = /^[^\n]+/, yr = /(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/, br = V(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label", yr).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(), xr = V(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g, pr).getRegex(), Sr = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul", Cr = /<!--(?:-?>|[\s\S]*?(?:-->|$))/, wr = V("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n*|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>[^\\n]*\\n*|$)|<![A-Z][\\s\\S]*?(?:>[^\\n]*\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>[^\\n]*\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][a-z0-9-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][a-z0-9-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))", "i").replace("comment", Cr).replace("tag", Sr).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(), Tr = (e) => V(_r).replace("hr", dr).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list", e).replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Sr).getRegex(), Er = Tr(/ {0,3}(?:[*+-]|1[.)])[ \t]+[^ \t\n]/), Dr = Tr(/ {0,3}(?:[*+-]|\d{1,9}[.)])(?:[ \t]|\n|$)/), Or = {
|
|
4150
|
+
blockquote: V(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", Dr).getRegex(),
|
|
4151
|
+
code: lr,
|
|
4152
|
+
def: br,
|
|
4153
|
+
fences: ur,
|
|
4154
|
+
heading: fr,
|
|
4155
|
+
hr: dr,
|
|
4156
|
+
html: wr,
|
|
4164
4157
|
lheading: hr,
|
|
4165
|
-
|
|
4166
|
-
|
|
4167
|
-
|
|
4168
|
-
|
|
4169
|
-
|
|
4158
|
+
list: xr,
|
|
4159
|
+
newline: cr,
|
|
4160
|
+
paragraph: Er,
|
|
4161
|
+
table: ar,
|
|
4162
|
+
text: vr
|
|
4163
|
+
}, kr = V("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", dr).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3} )[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Sr).getRegex(), Ar = {
|
|
4164
|
+
...Or,
|
|
4165
|
+
lheading: gr,
|
|
4166
|
+
table: kr,
|
|
4167
|
+
paragraph: V(_r).replace("hr", dr).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", kr).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Sr).getRegex()
|
|
4168
|
+
}, jr = {
|
|
4169
|
+
...Or,
|
|
4170
|
+
html: V("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment", Cr).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),
|
|
4170
4171
|
def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,
|
|
4171
4172
|
heading: /^(#{1,6})(.*)(?:\n+|$)/,
|
|
4172
|
-
fences:
|
|
4173
|
+
fences: ar,
|
|
4173
4174
|
lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,
|
|
4174
|
-
paragraph:
|
|
4175
|
-
},
|
|
4176
|
-
_backpedal:
|
|
4177
|
-
anyPunctuation:
|
|
4178
|
-
autolink:
|
|
4179
|
-
blockSkip:
|
|
4180
|
-
br:
|
|
4181
|
-
code:
|
|
4182
|
-
del:
|
|
4183
|
-
delLDelim:
|
|
4184
|
-
delRDelim:
|
|
4185
|
-
emStrongLDelim:
|
|
4186
|
-
emStrongRDelimAst:
|
|
4187
|
-
emStrongRDelimUnd: Qr,
|
|
4188
|
-
escape: jr,
|
|
4189
|
-
link: si,
|
|
4190
|
-
nolink: li,
|
|
4191
|
-
punctuation: Rr,
|
|
4192
|
-
reflink: ci,
|
|
4193
|
-
reflinkSearch: ui,
|
|
4194
|
-
tag: ai,
|
|
4195
|
-
text: Pr,
|
|
4196
|
-
url: ir
|
|
4197
|
-
}, pi = {
|
|
4198
|
-
...fi,
|
|
4199
|
-
emStrongLDelim: qr,
|
|
4200
|
-
emStrongRDelimAst: Zr,
|
|
4175
|
+
paragraph: V(_r).replace("hr", dr).replace("heading", " *#{1,6} *[^\n]").replace("lheading", hr).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex()
|
|
4176
|
+
}, Mr = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, Nr = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, Pr = /^( {2,}|\\)\n(?!\s*$)/, Fr = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/, Ir = /[\p{P}\p{S}]/u, Lr = /[\s\p{P}\p{S}]/u, Rr = /[^\s\p{P}\p{S}]/u, zr = V(/^((?![*_])punctSpace)/, "u").replace(/punctSpace/g, Lr).getRegex(), Br = /[\p{Pi}\p{Ps}"']/u, Vr = /(?!~)[\p{P}\p{S}]/u, Hr = /(?!~)[\s\p{P}\p{S}]/u, Ur = /(?:[^\s\p{P}\p{S}]|~)/u, Wr = V(/link|precode-code|html/, "g").replace("link", /\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-", sr ? "(?<!`)()" : "(^^|[^`])").replace("code", /(?<b>`+)[^`]+\k<b>(?!`)/).replace("html", /<(?! )[^<>]*?>/).getRegex(), Gr = /^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/, Kr = V(Gr, "u").replace(/punct/g, Ir).getRegex(), qr = V(Gr, "u").replace(/punct/g, Vr).getRegex(), Jr = V(/^(?:\*+(?:((?!\*)(?!openQuote)punct)|([^\s*]))?)|^_+(?:((?!_)(?!openQuote)punct)|([^\s_]))?/, "u").replace(/openQuote/g, Br).replace(/punct/g, Ir).getRegex(), Yr = "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)", Xr = V(Yr, "gu").replace(/notPunctSpace/g, Rr).replace(/punctSpace/g, Lr).replace(/punct/g, Ir).getRegex(), Zr = V(Yr, "gu").replace(/notPunctSpace/g, Ur).replace(/punctSpace/g, Hr).replace(/punct/g, Vr).getRegex(), Qr = V("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)[\\s](\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|(?:(?!\\*)punct|notPunctSpace)(\\*+)(?!\\*)(?=notPunctSpace)", "gu").replace(/notPunctSpace/g, Rr).replace(/punctSpace/g, Lr).replace(/punct/g, Ir).getRegex(), $r = V("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)", "gu").replace(/notPunctSpace/g, Rr).replace(/punctSpace/g, Lr).replace(/punct/g, Ir).getRegex(), ei = V("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)[\\s](_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)|(?:(?!_)punct|notPunctSpace)(_+)(?!_)(?=notPunctSpace)", "gu").replace(/notPunctSpace/g, Rr).replace(/punctSpace/g, Lr).replace(/punct/g, Ir).getRegex(), ti = V(/^~~?(?:((?!~)punct)|[^\s~])/, "u").replace(/punct/g, Ir).getRegex(), ni = V("^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)", "gu").replace(/notPunctSpace/g, Rr).replace(/punctSpace/g, Lr).replace(/punct/g, Ir).getRegex(), ri = V(/\\(punct)/, "gu").replace(/punct/g, Ir).getRegex(), ii = V(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(), ai = V(Cr).replace("(?:-->|$)", "-->").getRegex(), oi = V("^comment|^</[a-zA-Z][a-zA-Z0-9-]*\\s*>|^<[a-zA-Z][a-zA-Z0-9-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment", ai).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(), si = V(/(?:\[(?:brackets|\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/).replace("brackets", /\[(?:\\[\s\S]|[^\[\]\\])*\]/).getRegex(), ci = V(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label", si).replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]+|(?=\))/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(), li = V(/^!?\[(label)\]\[(ref)\]/).replace("label", si).replace("ref", yr).getRegex(), ui = V(/^!?\[(ref)\](?:\[\])?/).replace("ref", yr).getRegex(), di = V("reflink|nolink(?!\\()", "g").replace("reflink", li).replace("nolink", ui).getRegex(), fi = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/, pi = {
|
|
4177
|
+
_backpedal: ar,
|
|
4178
|
+
anyPunctuation: ri,
|
|
4179
|
+
autolink: ii,
|
|
4180
|
+
blockSkip: Wr,
|
|
4181
|
+
br: Pr,
|
|
4182
|
+
code: Nr,
|
|
4183
|
+
del: ar,
|
|
4184
|
+
delLDelim: ar,
|
|
4185
|
+
delRDelim: ar,
|
|
4186
|
+
emStrongLDelim: Kr,
|
|
4187
|
+
emStrongRDelimAst: Xr,
|
|
4201
4188
|
emStrongRDelimUnd: $r,
|
|
4202
|
-
|
|
4203
|
-
|
|
4189
|
+
escape: Mr,
|
|
4190
|
+
link: ci,
|
|
4191
|
+
nolink: ui,
|
|
4192
|
+
punctuation: zr,
|
|
4193
|
+
reflink: li,
|
|
4194
|
+
reflinkSearch: di,
|
|
4195
|
+
tag: oi,
|
|
4196
|
+
text: Fr,
|
|
4197
|
+
url: ar
|
|
4204
4198
|
}, mi = {
|
|
4205
|
-
...
|
|
4206
|
-
|
|
4207
|
-
|
|
4208
|
-
|
|
4209
|
-
|
|
4210
|
-
|
|
4199
|
+
...pi,
|
|
4200
|
+
emStrongLDelim: Jr,
|
|
4201
|
+
emStrongRDelimAst: Qr,
|
|
4202
|
+
emStrongRDelimUnd: ei,
|
|
4203
|
+
link: V(/^!?\[(label)\]\((.*?)\)/).replace("label", si).getRegex(),
|
|
4204
|
+
reflink: V(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", si).getRegex()
|
|
4205
|
+
}, hi = {
|
|
4206
|
+
...pi,
|
|
4207
|
+
emStrongRDelimAst: Zr,
|
|
4208
|
+
emStrongLDelim: qr,
|
|
4209
|
+
delLDelim: ti,
|
|
4210
|
+
delRDelim: ni,
|
|
4211
|
+
url: V(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol", fi).replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![\w-])/).getRegex(),
|
|
4211
4212
|
_backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,
|
|
4212
4213
|
del: /^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,
|
|
4213
|
-
text:
|
|
4214
|
-
}, hi = {
|
|
4215
|
-
...mi,
|
|
4216
|
-
br: H(Nr).replace("{2,}", "*").getRegex(),
|
|
4217
|
-
text: H(mi.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex()
|
|
4214
|
+
text: V(/^(`+|~+|[^`~])(?:(?=[`~])|(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol", fi).getRegex()
|
|
4218
4215
|
}, gi = {
|
|
4219
|
-
|
|
4220
|
-
|
|
4221
|
-
|
|
4216
|
+
...hi,
|
|
4217
|
+
br: V(Pr).replace("{2,}", "*").getRegex(),
|
|
4218
|
+
text: V(hi.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex()
|
|
4222
4219
|
}, _i = {
|
|
4223
|
-
normal:
|
|
4224
|
-
gfm:
|
|
4225
|
-
|
|
4226
|
-
pedantic: pi
|
|
4220
|
+
normal: Or,
|
|
4221
|
+
gfm: Ar,
|
|
4222
|
+
pedantic: jr
|
|
4227
4223
|
}, vi = {
|
|
4224
|
+
normal: pi,
|
|
4225
|
+
gfm: hi,
|
|
4226
|
+
breaks: gi,
|
|
4227
|
+
pedantic: mi
|
|
4228
|
+
}, yi = {
|
|
4228
4229
|
"&": "&",
|
|
4229
4230
|
"<": "<",
|
|
4230
4231
|
">": ">",
|
|
4231
4232
|
"\"": """,
|
|
4232
4233
|
"'": "'"
|
|
4233
|
-
},
|
|
4234
|
-
function
|
|
4234
|
+
}, bi = (e) => yi[e];
|
|
4235
|
+
function U(e, t) {
|
|
4235
4236
|
if (t) {
|
|
4236
|
-
if (
|
|
4237
|
-
} else if (
|
|
4237
|
+
if (H.escapeTest.test(e)) return e.replace(H.escapeReplace, bi);
|
|
4238
|
+
} else if (H.escapeTestNoEncode.test(e)) return e.replace(H.escapeReplaceNoEncode, bi);
|
|
4238
4239
|
return e;
|
|
4239
4240
|
}
|
|
4240
4241
|
function xi(e) {
|
|
4241
4242
|
try {
|
|
4242
|
-
e = encodeURI(e).replace(
|
|
4243
|
+
e = encodeURI(e).replace(H.percentDecode, "%");
|
|
4243
4244
|
} catch {
|
|
4244
4245
|
return null;
|
|
4245
4246
|
}
|
|
4246
4247
|
return e;
|
|
4247
4248
|
}
|
|
4248
4249
|
function Si(e, t) {
|
|
4249
|
-
let n = e.replace(
|
|
4250
|
+
let n = e.replace(H.findPipe, (e, t, n) => {
|
|
4250
4251
|
let r = !1, i = t;
|
|
4251
4252
|
for (; --i >= 0 && n[i] === "\\";) r = !r;
|
|
4252
4253
|
return r ? "|" : " |";
|
|
4253
|
-
}).split(
|
|
4254
|
+
}).split(H.splitPipe), r = 0;
|
|
4254
4255
|
if (n[0].trim() || n.shift(), n.length > 0 && !n.at(-1)?.trim() && n.pop(), t) {
|
|
4255
4256
|
if (n.length > t) n.splice(t);
|
|
4256
4257
|
else for (; n.length < t;) n.push("");
|
|
4257
4258
|
}
|
|
4258
|
-
for (; r < n.length; r++) n[r] = n[r].trim().replace(
|
|
4259
|
+
for (; r < n.length; r++) n[r] = n[r].trim().replace(H.slashPipe, "|");
|
|
4259
4260
|
return n;
|
|
4260
4261
|
}
|
|
4261
4262
|
function Ci(e, t, n) {
|
|
@@ -4272,7 +4273,7 @@ function Ci(e, t, n) {
|
|
|
4272
4273
|
}
|
|
4273
4274
|
function wi(e) {
|
|
4274
4275
|
let t = e.split("\n"), n = t.length - 1;
|
|
4275
|
-
for (; n >= 0 &&
|
|
4276
|
+
for (; n >= 0 && H.blankLine.test(t[n]);) n--;
|
|
4276
4277
|
return t.length - n <= 2 ? e : t.slice(0, n + 1).join("\n");
|
|
4277
4278
|
}
|
|
4278
4279
|
function Ti(e, t) {
|
|
@@ -4321,7 +4322,7 @@ function Oi(e, t, n) {
|
|
|
4321
4322
|
let t = e.match(n.other.beginningSpace);
|
|
4322
4323
|
if (t === null) return e;
|
|
4323
4324
|
let [r] = t;
|
|
4324
|
-
return r.length
|
|
4325
|
+
return e.slice(Math.min(r.length, i.length));
|
|
4325
4326
|
}).join("\n");
|
|
4326
4327
|
}
|
|
4327
4328
|
var ki = class {
|
|
@@ -4329,7 +4330,7 @@ var ki = class {
|
|
|
4329
4330
|
rules;
|
|
4330
4331
|
lexer;
|
|
4331
4332
|
constructor(e) {
|
|
4332
|
-
this.options = e ||
|
|
4333
|
+
this.options = e || rr;
|
|
4333
4334
|
}
|
|
4334
4335
|
space(e) {
|
|
4335
4336
|
let t = this.rules.block.newline.exec(e);
|
|
@@ -4368,7 +4369,7 @@ var ki = class {
|
|
|
4368
4369
|
let e = t[2].trim();
|
|
4369
4370
|
if (this.rules.other.endingHash.test(e)) {
|
|
4370
4371
|
let t = Ci(e, "#");
|
|
4371
|
-
(this.options.pedantic || !t || this.rules.other.
|
|
4372
|
+
(this.options.pedantic || !t || this.rules.other.endingSpaceTabChar.test(t)) && (e = t.trim());
|
|
4372
4373
|
}
|
|
4373
4374
|
return {
|
|
4374
4375
|
type: "heading",
|
|
@@ -4391,8 +4392,8 @@ var ki = class {
|
|
|
4391
4392
|
if (t) {
|
|
4392
4393
|
let e = Ci(t[0], "\n").split("\n"), n = "", r = "", i = [];
|
|
4393
4394
|
for (; e.length > 0;) {
|
|
4394
|
-
let t = !1, a = [], o;
|
|
4395
|
-
for (
|
|
4395
|
+
let t = !1, a = [], o = 0;
|
|
4396
|
+
for (; o < e.length; o++) if (this.rules.other.blockquoteStart.test(e[o])) a.push(e[o]), t = !0;
|
|
4396
4397
|
else if (!t) a.push(e[o]);
|
|
4397
4398
|
else break;
|
|
4398
4399
|
e = e.slice(o);
|
|
@@ -4739,6 +4740,7 @@ ${a}`, r = r.substring(0, r.length - t.text.length) + s.text;
|
|
|
4739
4740
|
raw: t[0],
|
|
4740
4741
|
text: e,
|
|
4741
4742
|
href: n,
|
|
4743
|
+
autolink: !0,
|
|
4742
4744
|
tokens: [{
|
|
4743
4745
|
type: "text",
|
|
4744
4746
|
raw: e,
|
|
@@ -4764,6 +4766,7 @@ ${a}`, r = r.substring(0, r.length - t.text.length) + s.text;
|
|
|
4764
4766
|
raw: t[0],
|
|
4765
4767
|
text: e,
|
|
4766
4768
|
href: n,
|
|
4769
|
+
autolink: !0,
|
|
4767
4770
|
tokens: [{
|
|
4768
4771
|
type: "text",
|
|
4769
4772
|
raw: e,
|
|
@@ -4791,23 +4794,23 @@ ${a}`, r = r.substring(0, r.length - t.text.length) + s.text;
|
|
|
4791
4794
|
inlineQueue;
|
|
4792
4795
|
tokenizer;
|
|
4793
4796
|
constructor(e) {
|
|
4794
|
-
this.tokens = [], this.tokens.links = Object.create(null), this.options = e ||
|
|
4797
|
+
this.tokens = [], this.tokens.links = Object.create(null), this.options = e || rr, this.options.tokenizer = this.options.tokenizer || new ki(), this.tokenizer = this.options.tokenizer, this.tokenizer.options = this.options, this.tokenizer.lexer = this, this.inlineQueue = [], this.state = {
|
|
4795
4798
|
inLink: !1,
|
|
4796
4799
|
inRawBlock: !1,
|
|
4797
4800
|
linkEmitted: !1,
|
|
4798
4801
|
top: !0
|
|
4799
4802
|
};
|
|
4800
4803
|
let t = {
|
|
4801
|
-
other:
|
|
4802
|
-
block:
|
|
4803
|
-
inline:
|
|
4804
|
+
other: H,
|
|
4805
|
+
block: _i.normal,
|
|
4806
|
+
inline: vi.normal
|
|
4804
4807
|
};
|
|
4805
|
-
this.options.pedantic ? (t.block =
|
|
4808
|
+
this.options.pedantic ? (t.block = _i.pedantic, t.inline = vi.pedantic) : this.options.gfm && (t.block = _i.gfm, t.inline = this.options.breaks ? vi.breaks : vi.gfm), this.tokenizer.rules = t;
|
|
4806
4809
|
}
|
|
4807
4810
|
static get rules() {
|
|
4808
4811
|
return {
|
|
4809
|
-
block:
|
|
4810
|
-
inline:
|
|
4812
|
+
block: _i,
|
|
4813
|
+
inline: vi
|
|
4811
4814
|
};
|
|
4812
4815
|
}
|
|
4813
4816
|
static lex(t, n) {
|
|
@@ -4817,7 +4820,7 @@ ${a}`, r = r.substring(0, r.length - t.text.length) + s.text;
|
|
|
4817
4820
|
return new e(n).inlineTokens(t);
|
|
4818
4821
|
}
|
|
4819
4822
|
lex(e) {
|
|
4820
|
-
e = e.replace(
|
|
4823
|
+
e = e.replace(H.carriageReturn, "\n"), this.blockTokens(e, this.tokens);
|
|
4821
4824
|
for (let e = 0; e < this.inlineQueue.length; e++) {
|
|
4822
4825
|
let t = this.inlineQueue[e];
|
|
4823
4826
|
this.inlineTokens(t.src, t.tokens);
|
|
@@ -4825,7 +4828,7 @@ ${a}`, r = r.substring(0, r.length - t.text.length) + s.text;
|
|
|
4825
4828
|
return this.inlineQueue = [], this.tokens;
|
|
4826
4829
|
}
|
|
4827
4830
|
blockTokens(e, t = [], n = !1) {
|
|
4828
|
-
this.tokenizer.lexer = this, this.options.pedantic && (e = e.replace(
|
|
4831
|
+
this.tokenizer.lexer = this, this.options.pedantic && (e = e.replace(H.tabCharGlobal, " ").replace(H.spaceLine, ""));
|
|
4829
4832
|
let r = 1 / 0;
|
|
4830
4833
|
for (; e;) {
|
|
4831
4834
|
if (e.length < r) r = e.length;
|
|
@@ -4925,7 +4928,7 @@ ${a}`, r = r.substring(0, r.length - t.text.length) + s.text;
|
|
|
4925
4928
|
for (let n of e.matchAll(this.tokenizer.rules.inline.blockSkip)) if (t.test(n[0]) && e.charAt(n.index - 1) !== "!") return !0;
|
|
4926
4929
|
for (let t of e.matchAll(this.tokenizer.rules.inline.reflinkSearch)) {
|
|
4927
4930
|
let e = t[0], n = e.lastIndexOf("[");
|
|
4928
|
-
if (
|
|
4931
|
+
if (e.charAt(0) !== "!" && Object.hasOwn(this.tokens.links, e.slice(n + 1, -1)) && !(n > 1 && this.linkInText(e.slice(1, n - 1)))) return !0;
|
|
4929
4932
|
}
|
|
4930
4933
|
return !1;
|
|
4931
4934
|
}
|
|
@@ -5029,14 +5032,14 @@ ${a}`, r = r.substring(0, r.length - t.text.length) + s.text;
|
|
|
5029
5032
|
options;
|
|
5030
5033
|
parser;
|
|
5031
5034
|
constructor(e) {
|
|
5032
|
-
this.options = e ||
|
|
5035
|
+
this.options = e || rr;
|
|
5033
5036
|
}
|
|
5034
5037
|
space(e) {
|
|
5035
5038
|
return "";
|
|
5036
5039
|
}
|
|
5037
5040
|
code({ text: e, lang: t, escaped: n }) {
|
|
5038
|
-
let r = (t || "").match(
|
|
5039
|
-
return r ? "<pre><code class=\"language-" +
|
|
5041
|
+
let r = (t || "").match(H.notSpaceStart)?.[0], i = e ? e.replace(H.endingNewline, "") + "\n" : "";
|
|
5042
|
+
return r ? "<pre><code class=\"language-" + U(r) + "\">" + (n ? i : U(i, !0)) + "</code></pre>\n" : "<pre><code>" + (n ? i : U(i, !0)) + "</code></pre>\n";
|
|
5040
5043
|
}
|
|
5041
5044
|
blockquote({ tokens: e }) {
|
|
5042
5045
|
return `<blockquote>
|
|
@@ -5106,7 +5109,7 @@ ${e}</tr>
|
|
|
5106
5109
|
return `<em>${this.parser.parseInline(e)}</em>`;
|
|
5107
5110
|
}
|
|
5108
5111
|
codespan({ text: e }) {
|
|
5109
|
-
return `<code>${
|
|
5112
|
+
return `<code>${U(e, !0)}</code>`;
|
|
5110
5113
|
}
|
|
5111
5114
|
br(e) {
|
|
5112
5115
|
return "<br>";
|
|
@@ -5114,23 +5117,23 @@ ${e}</tr>
|
|
|
5114
5117
|
del({ tokens: e }) {
|
|
5115
5118
|
return `<del>${this.parser.parseInline(e)}</del>`;
|
|
5116
5119
|
}
|
|
5117
|
-
link({ href: e, title: t,
|
|
5118
|
-
let
|
|
5119
|
-
if (
|
|
5120
|
-
e = i;
|
|
5121
|
-
let
|
|
5122
|
-
return t && (
|
|
5120
|
+
link({ href: e, title: t, text: n, tokens: r, autolink: i }) {
|
|
5121
|
+
let a = i ? U(n, !0) : this.parser.parseInline(r), o = xi(e);
|
|
5122
|
+
if (o === null) return a;
|
|
5123
|
+
e = U(o, i);
|
|
5124
|
+
let s = "<a href=\"" + e + "\"";
|
|
5125
|
+
return t && (s += " title=\"" + U(t) + "\""), s += ">" + a + "</a>", s;
|
|
5123
5126
|
}
|
|
5124
5127
|
image({ href: e, title: t, text: n, tokens: r }) {
|
|
5125
5128
|
r && (n = this.parser.parseInline(r, this.parser.textRenderer));
|
|
5126
5129
|
let i = xi(e);
|
|
5127
|
-
if (i === null) return
|
|
5130
|
+
if (i === null) return U(n);
|
|
5128
5131
|
e = i;
|
|
5129
|
-
let a = `<img src="${e}" alt="${
|
|
5130
|
-
return t && (a += ` title="${
|
|
5132
|
+
let a = `<img src="${U(e)}" alt="${U(n)}"`;
|
|
5133
|
+
return t && (a += ` title="${U(t)}"`), a += ">", a;
|
|
5131
5134
|
}
|
|
5132
5135
|
text(e) {
|
|
5133
|
-
return "tokens" in e && e.tokens ? this.parser.parseInline(e.tokens) : "escaped" in e && e.escaped ? e.text :
|
|
5136
|
+
return "tokens" in e && e.tokens ? this.parser.parseInline(e.tokens) : "escaped" in e && e.escaped ? e.text : U(e.text);
|
|
5134
5137
|
}
|
|
5135
5138
|
}, Mi = class {
|
|
5136
5139
|
strong({ text: e }) {
|
|
@@ -5168,7 +5171,7 @@ ${e}</tr>
|
|
|
5168
5171
|
renderer;
|
|
5169
5172
|
textRenderer;
|
|
5170
5173
|
constructor(e) {
|
|
5171
|
-
this.options = e ||
|
|
5174
|
+
this.options = e || rr, this.options.renderer = this.options.renderer || new ji(), this.renderer = this.options.renderer, this.renderer.options = this.options, this.renderer.parser = this, this.textRenderer = new Mi();
|
|
5172
5175
|
}
|
|
5173
5176
|
static parse(t, n) {
|
|
5174
5177
|
return new e(n).parse(t);
|
|
@@ -5320,7 +5323,7 @@ ${e}</tr>
|
|
|
5320
5323
|
options;
|
|
5321
5324
|
block;
|
|
5322
5325
|
constructor(e) {
|
|
5323
|
-
this.options = e ||
|
|
5326
|
+
this.options = e || rr;
|
|
5324
5327
|
}
|
|
5325
5328
|
static passThroughHooks = /* @__PURE__ */ new Set([
|
|
5326
5329
|
"preprocess",
|
|
@@ -5352,7 +5355,7 @@ ${e}</tr>
|
|
|
5352
5355
|
return e ? Ni.parse : Ni.parseInline;
|
|
5353
5356
|
}
|
|
5354
5357
|
}, Fi = new class {
|
|
5355
|
-
defaults =
|
|
5358
|
+
defaults = nr();
|
|
5356
5359
|
options = this.setOptions;
|
|
5357
5360
|
parse = this.parseMarkdown(!0);
|
|
5358
5361
|
parseInline = this.parseMarkdown(!1);
|
|
@@ -5519,7 +5522,7 @@ ${e}</tr>
|
|
|
5519
5522
|
onError(e, t) {
|
|
5520
5523
|
return (n) => {
|
|
5521
5524
|
if (n.message += "\nPlease report this to https://github.com/markedjs/marked.", e) {
|
|
5522
|
-
let e = "<p>An error occurred:</p><pre>" +
|
|
5525
|
+
let e = "<p>An error occurred:</p><pre>" + U(n.message + "", !0) + "</pre>";
|
|
5523
5526
|
return t ? Promise.resolve(e) : e;
|
|
5524
5527
|
}
|
|
5525
5528
|
if (t) return Promise.reject(n);
|
|
@@ -5531,17 +5534,17 @@ function W(e, t) {
|
|
|
5531
5534
|
return Fi.parse(e, t);
|
|
5532
5535
|
}
|
|
5533
5536
|
W.options = W.setOptions = function(e) {
|
|
5534
|
-
return Fi.setOptions(e), W.defaults = Fi.defaults,
|
|
5535
|
-
}, W.getDefaults =
|
|
5537
|
+
return Fi.setOptions(e), W.defaults = Fi.defaults, ir(W.defaults), W;
|
|
5538
|
+
}, W.getDefaults = nr, W.defaults = rr;
|
|
5536
5539
|
function Ii(...e) {
|
|
5537
|
-
return Fi.use(...e), W.defaults = Fi.defaults,
|
|
5540
|
+
return Fi.use(...e), W.defaults = Fi.defaults, ir(W.defaults), W;
|
|
5538
5541
|
}
|
|
5539
5542
|
W.use = Ii, W.walkTokens = function(e, t) {
|
|
5540
5543
|
return Fi.walkTokens(e, t);
|
|
5541
5544
|
}, W.parseInline = Fi.parseInline, W.Parser = Ni, W.parser = Ni.parse, W.Renderer = ji, W.TextRenderer = Mi, W.Lexer = Ai, W.lexer = Ai.lex, W.Tokenizer = ki, W.Hooks = Pi, W.parse = W, W.options, W.setOptions, W.walkTokens, W.parseInline, Ni.parse, Ai.lex;
|
|
5542
5545
|
//#endregion
|
|
5543
5546
|
//#region docs/workflow-syntax.md?raw
|
|
5544
|
-
var Li = "# Workflow Documentation\n\nThis is the living documentation for workflow authors. It is organized using the four Diataxis modes:\n\n- **Tutorials** teach the shortest path to a working workflow.\n- **How-to guides** solve focused tasks.\n- **Reference** documents the accepted syntax.\n- **Explanation** describes execution and security decisions.\n\n## Tutorials\n\n### Your First Workflow\n\nCreate a draft in the authenticated workflow editor, or send the YAML to the API:\n\n```yaml\nname: Hello\n\non:\n generic: {}\n\nsteps:\n - id: greet\n name: Greet\n run: echo \"Hello ${inputs.name}\"\n```\n\nSave it, validate it, and publish it. Only published and enabled workflows receive webhook or scheduled events.\n\nThe `generic` provider accepts a JSON request body as `inputs`. For example:\n\n```bash\ncurl -X POST http://localhost:11235/webhooks/generic \\\n -H 'content-type: application/json' \\\n --data '{\"name\":\"Ada\"}'\n```\n\n### Build a GitHub Workflow\n\n```yaml\nname: Build\n\non:\n github:\n events: [push]\n owner: cloud-cli\n repo: on\n branches: [main]\n\nsteps:\n - id: checkout\n name: Checkout\n env:\n clone_url: ${inputs.clone_url}\n commit_sha: ${inputs.commit_sha}\n run: |\n git clone --depth 1 \"$clone_url\" .\n git checkout \"$commit_sha\"\n\n - id: test\n name: Test\n run: pnpm install && pnpm test\n```\n\nGitHub webhooks must be signed with the configured `GITHUB_WEBHOOK_SECRET`. The preprocessor exposes normalized inputs including `event`, `owner`, `repo`, `branch`, `tag`, `ref`, `full_name`, `clone_url`, `commit_sha`, `author`, `action`, `changes`, and the original `raw` body.\n\n## How-To Guides\n\n### Reference Another Environment Value\n\nEnvironment entries are evaluated from top to bottom. Earlier values are available through `env` to later values:\n\n```yaml\nenv:\n image: ${inputs.repo}\n image_tag: ${env.image}:latest\n artifact_name: ${env.image_tag}-${inputs.commit_sha}\n```\n\nWorkflow-level values are available to every step. Step-level `env` values are evaluated after workflow-level values and can override them for that step.\n\nUse `${inputs.name}`, `${env.NAME}`, `${secrets.NAME}`, and `${steps.step_id.outputs.value}` where the value is available. A value without `${...}` remains literal text.\n\n### Run a Container with a Host Volume\n\nUse `image` with `volumes`. A volume is passed directly to `docker run` as a `-v` mapping:\n\n```yaml\nsteps:\n - id: sign\n name: Sign release\n image: alpine:latest\n volumes:\n - /var/lib/runner/secrets-store:/secrets:ro\n run: |\n ./sign.sh /secrets/signing.key dist/release.tar.gz\n```\n\nThe source path is on the worker host. The destination path is inside the container. Use absolute host paths when a specific host directory is required. The workflow must be trusted because volume mappings can expose host data to a container.\n\nA single string is also accepted:\n\n```yaml\nvolumes: /var/lib/runner/secrets-store:/secrets:ro\n```\n\n### Pass Additional Docker Arguments\n\nUse `dockerArgs` for additional arguments to `docker run`, before the image name:\n\n```yaml\nsteps:\n - id: build\n image: docker:cli\n dockerArgs:\n - --network=host\n - --user=1000:1000\n run: docker build -t example:latest .\n```\n\nArguments are not interpreted or shell-expanded by the runner. They are passed as individual Docker CLI arguments.\n\n### Use a Matrix\n\nKeep the matrix in the workflow definition:\n\n```yaml\nname: Package\n\nmatrix:\n node: [18, 20]\n os: [ubuntu, alpine]\n\non:\n generic: {}\n\nenv:\n node_version: ${env.MATRIX_NODE}\n\nsteps:\n - id: package\n image: node:${env.MATRIX_NODE}\n run: npm pack\n```\n\nThe runner creates one job for every Cartesian combination. The example creates four jobs. Each variant receives `MATRIX_NODE` and `MATRIX_OS` environment variables.\n\n### Add a Scheduled Trigger\n\n```yaml\non:\n schedule:\n - id: nightly\n cron: '0 2 * * *'\n timezone: Europe/Berlin\n```\n\nCron expressions have five fields: minute, hour, day of month, month, and day of week. The scheduler uses the declared IANA timezone.\n\nSolar triggers use `sunrise` or `sunset` and geographic coordinates:\n\n```yaml\non:\n solar:\n - id: morning\n event: sunrise\n latitude: 52.52\n longitude: 13.405\n offset: +15m\n```\n\n### Use Secrets\n\nCreate a secret in the management UI or with the API, then reference it in environment values:\n\n```yaml\nsteps:\n - id: publish\n env:\n npm_token: ${secrets.NPM_TOKEN}\n run: npm publish\n```\n\nSecret values are delivered to a worker after it claims the job. Do not write them into reports or artifacts.\n\n### Persist Artifacts and Caches\n\nArtifacts are captured from the workspace after a successful run:\n\n```yaml\nartifacts:\n paths:\n - dist\n - reports/**/*.json\n```\n\nCaches are restored before steps start and saved after a successful run:\n\n```yaml\ncache:\n key: npm-${inputs.repo}-${inputs.branch}\n paths:\n - node_modules\n```\n\nConfigure a shared FileBin backend on the server and workers with `RUNNER_FILE_API_URL`, `RUNNER_FILE_BIN`, and optionally `RUNNER_FILE_PASSWORD`. Create a bin with `POST /bin`, then configure its ID. Without FileBin configuration, the runner uses the central database fallback. Cache keys are scoped by workflow; artifacts are scoped by job. Stored collections are limited to 50 MiB per capture.\n\nAdministrators can download a captured artifact with `GET /api/runs/:jobId/artifacts/:path`.\n\nPopulate workspace files from managed secrets before steps run:\n\n```yaml\nsecretFiles:\n .config/signing.key: SIGNING_KEY\n```\n\nSecret files are created with owner-only permissions in the worker workspace. They must be handled according to the worker storage lifecycle and should not be included in artifacts or caches.\n\n## Reference\n\n### Top-Level Workflow Fields\n\n| Field | Type | Description |\n| --- | --- | --- |\n| `name` | string | Required human-readable workflow name shown in the UI and reports. |\n| `id` | string | Optional identifier used when deriving an ID outside the management API. The management API ID is authoritative after creation. |\n| `on` | object | Required trigger configuration. |\n| `env` | object | Workflow environment values, evaluated in declaration order. |\n| `matrix` | object | Matrix dimensions. Each value is an array of strings, numbers, or booleans. |\n| `concurrency` | object | Optional concurrency group and cancellation policy. |\n| `tags` | string[] | Worker capability tags required by the job. |\n| `artifacts` | object | Workspace paths captured after successful runs. |\n| `cache` | object | Keyed workspace paths restored before and saved after successful runs. |\n| `secretFiles` | object | Workspace-relative file paths mapped to secret names. |\n| `steps` | object[] | Required non-empty ordered list of steps. |\n| `retries` | integer | Additional attempts for a failed step. Must be zero or greater. |\n\n`includes` and workflow-to-workflow imports are not supported. Workflow definitions are stored as complete database revisions. Reusable behavior should be implemented through the planned step reuse mechanism rather than filesystem imports.\n\n### Triggers\n\nThe first non-`schedule`/`solar` key in `on` is the provider trigger. Supported providers include `generic` and `github`.\n\n#### GitHub Trigger Filters\n\n| Field | Type | Behavior |\n| --- | --- | --- |\n| `events` | string[] | Exact event names such as `push` or `pull_request`. |\n| `owner` | string or string[] | Exact repository owner. |\n| `repo` | string or string[] | Exact repository name. |\n| `name` | string or string[] | Exact `owner/repo` name. |\n| `branches` | string or string[] | Glob patterns matching normalized branches or tags. |\n| `refs` | string or string[] | Alias for branch/ref matching. |\n| `tag` | boolean | Requires a tag push when true, a non-tag event when false. |\n| `tags` | string[] | Regular expressions matched against the tag value. |\n| `paths` | string[] | Glob patterns matched against changed files. |\n| `if` | string or string[] | Safe JavaScript condition evaluated after provider filters. |\n\nConfigured fields are combined with AND. Multiple values within a field are combined with OR. Negated `!value` entries are supported by exact-value filters.\n\n#### Schedule Trigger\n\n```yaml\nschedule:\n - id: hourly\n cron: '0 * * * *'\n timezone: UTC\n```\n\n#### Solar Trigger\n\n```yaml\nsolar:\n - id: sunrise-build\n event: sunrise\n latitude: 52.52\n longitude: 13.405\n timezone: Europe/Berlin\n offset: -15m\n```\n\n### Environment and Expressions\n\nInterpolated strings use standard JavaScript template expressions inside `${...}`. The safe evaluator supports literals, property access, arithmetic, comparisons, boolean operators, ternaries, arrays, objects, and these helpers:\n\n```text\nString(value)\nNumber(value)\nBoolean(value)\nJSON.parse(value)\nJSON.stringify(value)\nObject.keys(value)\n```\n\nAvailable context objects are:\n\n| Object | Available data |\n| --- | --- |\n| `inputs` | Trigger payload and normalized provider inputs. |\n| `env` | Runner environment plus earlier workflow or step environment entries. |\n| `secrets` | Decrypted job-scoped secrets. |\n| `steps` | Earlier step statuses, exit codes, and outputs. |\n| `files` | Workspace-scoped `exists`, `readFile`, and `join` helpers for `eval:` steps. |\n\nExpressions cannot access JavaScript constructors or prototypes. Shell commands are not expression-evaluated; only declared interpolation fields are evaluated.\n\n### Steps\n\n| Field | Type | Description |\n| --- | --- | --- |\n| `id` | string | Stable identifier used by `steps.<id>`. |\n| `name` | string | Display name. Defaults to `id`. |\n| `run` | string | Shell command or script. Mutually exclusive with `eval`. |\n| `eval` | string | In-process safe expression. Mutually exclusive with `run`. |\n| `env` | object | Step environment, evaluated after workflow environment. |\n| `image` | string | Docker image. Selects container execution for the step. |\n| `volumes` | string or string[] | Docker `-v` mappings. |\n| `dockerArgs` | string[] | Additional raw arguments for `docker run`. |\n| `timeoutMs` | positive integer | Maximum step runtime. Defaults to 30 seconds. |\n| `if` | string | Safe condition. False conditions produce a skipped step. |\n\n`run` steps execute through the selected worker driver. With `image`, the command runs as `sh -c` inside Docker. Without `image`, it runs through the worker shell. `eval` steps run inside the worker process and can produce structured outputs for later steps.\n\n### Management and API\n\nWorkflow definitions are drafted, validated, published, enabled, and deleted through the authenticated management UI or these endpoints:\n\n```text\nPOST /api/workflows/validate\nGET /api/workflows\nGET /api/workflows/:id\nPUT /api/workflows/:id\nPOST /api/workflows/:id/publish\nDELETE /api/workflows/:id\n```\n\nOnly published workflows with `enabled: true` are matched for incoming triggers. Saving a workflow creates a new immutable revision. Existing jobs continue to use the revision recorded when they were created.\n\n## Explanation\n\n### Why Workflow YAML Lives in the Database\n\nThe server stores source YAML and normalized revisions in the database. Workers are stateless: they fetch the referenced revision when claiming a job and do not read workflow files from their local filesystem. This keeps every worker on the same definition and makes published revisions reproducible.\n\n### Why Matrix Expansion Happens at Trigger Time\n\nThe stored revision remains one canonical workflow. When a trigger matches, the server creates one queue job per matrix combination. The payload records the matrix context, and the worker resolves that same variant before execution. This avoids storing duplicate workflow revisions while keeping each job independently observable.\n\n### Docker Volumes and Trust\n\n`volumes` and `dockerArgs` are intentionally powerful options. A host volume can expose credentials or signing material, and Docker arguments can change networking, users, capabilities, or isolation. Only trusted administrators should publish workflows using these fields. The runner does not copy, inspect, or redact files mounted into containers.\n\n### Reuse and Imports\n\nFilesystem imports were removed because workers no longer load workflow files. Future step reuse should operate on database-owned definitions or explicit reusable step mechanisms, keeping revisioning and authorization visible to the control plane.\n", Ri = "\n <svg aria-hidden=\"true\" viewBox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <circle cx=\"12\" cy=\"12\" r=\"9\"></circle>\n <path d=\"M9.6 9a2.5 2.5 0 1 1 4.2 1.8c-1.2 1-1.8 1.4-1.8 2.7\"></path>\n <path d=\"M12 17h.01\"></path>\n </svg>", zi = "\n :root { color-scheme: dark; }\n * { box-sizing: border-box; }\n body { margin: 0; background: #030712; color: #e5e7eb; font-family: ui-sans-serif, system-ui, sans-serif; }\n main { max-width: 78rem; margin: 0 auto; padding: 2rem 1rem 5rem; }\n article { max-width: 54rem; margin: 0 auto; line-height: 1.7; }\n h1, h2, h3 { color: #f9fafb; line-height: 1.2; letter-spacing: -0.02em; }\n h1 { font-size: 2.25rem; margin: 0 0 1rem; }\n h2 { border-top: 1px solid #1f2937; margin-top: 3rem; padding-top: 1.5rem; font-size: 1.6rem; }\n h3 { margin-top: 2rem; font-size: 1.15rem; }\n p, li { color: #cbd5e1; }\n a { color: #93c5fd; }\n code { border-radius: .35rem; background: #111827; color: #bfdbfe; padding: .12rem .35rem; font-size: .9em; }\n pre { overflow-x: auto; border: 1px solid #1f2937; border-radius: .75rem; background: #0b1120; padding: 1rem; }\n pre code { background: transparent; padding: 0; color: #d1d5db; }\n table { width: 100%; border-collapse: collapse; display: block; overflow-x: auto; margin: 1rem 0; }\n th, td { border-bottom: 1px solid #1f2937; padding: .65rem .75rem; text-align: left; vertical-align: top; }\n th { color: #f9fafb; background: #111827; }\n blockquote { border-left: 3px solid #6366f1; margin-left: 0; padding-left: 1rem; color: #94a3b8; }\n .topbar { display: flex; justify-content: space-between; gap: 1rem; align-items: center; max-width: 78rem; margin: 0 auto; padding: 1rem; }\n .back { display: inline-flex; align-items: center; gap: .45rem; color: #94a3b8; text-decoration: none; font-size: .85rem; }\n .back:hover, .back:focus-visible { color: #f9fafb; }\n .help-layout { display: grid; grid-template-columns: minmax(0, 54rem); gap: 3rem; justify-content: center; }\n .toc { display: none; }\n .toc nav { position: sticky; top: 1.25rem; max-height: calc(100vh - 2.5rem); overflow-y: auto; border-left: 1px solid #1f2937; padding-left: 1rem; }\n .toc-title { margin: 0 0 .65rem; color: #f9fafb; font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }\n .toc ul { display: grid; gap: .15rem; list-style: none; margin: 0; padding: 0; }\n .toc a { display: block; border-radius: .35rem; color: #94a3b8; font-size: .8rem; line-height: 1.35; padding: .3rem .45rem; text-decoration: none; }\n .toc a:hover, .toc a:focus-visible { background: #111827; color: #dbeafe; outline: none; }\n .toc-depth-2 { padding-left: .9rem !important; }\n .toc-depth-3 { padding-left: 1.8rem !important; font-size: .75rem !important; }\n @media (min-width: 1024px) { .help-layout { grid-template-columns: minmax(0, 54rem) 16rem; justify-content: center; } .toc { display: block; } }\n @media (min-width: 640px) { main { padding: 3rem 1.5rem 6rem; } }\n";
|
|
5547
|
+
var Li = "# Workflow Documentation\n\nThis is the living documentation for workflow authors. It is organized using the four Diataxis modes:\n\n- **Tutorials** teach the shortest path to a working workflow.\n- **How-to guides** solve focused tasks.\n- **Reference** documents the accepted syntax.\n- **Explanation** describes execution and security decisions.\n\n## Tutorials\n\n### Your First Workflow\n\nCreate a draft in the authenticated workflow editor, or send the YAML to the API:\n\n```yaml\nname: Hello\n\non:\n generic: {}\n\nsteps:\n - id: greet\n name: Greet\n run: echo \"Hello ${inputs.name}\"\n```\n\nSave it, validate it, and publish it. Only published and enabled workflows receive webhook or scheduled events.\n\nThe `generic` provider accepts a JSON request body as `inputs`. For example:\n\n```bash\ncurl -X POST http://localhost:11235/webhooks/generic \\\n -H 'content-type: application/json' \\\n --data '{\"name\":\"Ada\"}'\n```\n\n### Build a GitHub Workflow\n\n```yaml\nname: Build\n\non:\n github:\n events: [push]\n owner: cloud-cli\n repo: on\n branches: [main]\n\nsteps:\n - id: checkout\n name: Checkout\n env:\n clone_url: ${inputs.clone_url}\n commit_sha: ${inputs.commit_sha}\n run: |\n git clone --depth 1 \"$clone_url\" .\n git checkout \"$commit_sha\"\n\n - id: test\n name: Test\n run: pnpm install && pnpm test\n```\n\nGitHub webhooks must be signed with the configured `GITHUB_WEBHOOK_SECRET`. The preprocessor exposes normalized inputs including `event`, `owner`, `repo`, `branch`, `tag`, `ref`, `full_name`, `clone_url`, `commit_sha`, `author`, `action`, `changes`, and the original `raw` body.\n\n## How-To Guides\n\n### Reference Another Environment Value\n\nEnvironment entries are evaluated from top to bottom. Earlier values are available through `env` to later values:\n\n```yaml\nenv:\n image: ${inputs.repo}\n image_tag: ${env.image}:latest\n artifact_name: ${env.image_tag}-${inputs.commit_sha}\n```\n\nWorkflow-level values are available to every step. Step-level `env` values are evaluated after workflow-level values and can override them for that step.\n\nUse `${inputs.name}`, `${env.NAME}`, `${secrets.NAME}`, and `${steps.step_id.outputs.value}` where the value is available. A value without `${...}` remains literal text.\n\n### Run a Container with a Host Volume\n\nUse `image` with `volumes`. A volume is passed directly to `docker run` as a `-v` mapping:\n\n```yaml\nsteps:\n - id: sign\n name: Sign release\n image: alpine:latest\n volumes:\n - /var/lib/runner/secrets-store:/secrets:ro\n run: |\n ./sign.sh /secrets/signing.key dist/release.tar.gz\n```\n\nThe source path is on the worker host. The destination path is inside the container. Use absolute host paths when a specific host directory is required. The workflow must be trusted because volume mappings can expose host data to a container.\n\nA single string is also accepted:\n\n```yaml\nvolumes: /var/lib/runner/secrets-store:/secrets:ro\n```\n\n### Pass Additional Docker Arguments\n\nUse `dockerArgs` for additional arguments to `docker run`, before the image name:\n\n```yaml\nsteps:\n - id: build\n image: docker:cli\n dockerArgs:\n - --network=host\n - --user=1000:1000\n run: docker build -t example:latest .\n```\n\nArguments are not interpreted or shell-expanded by the runner. They are passed as individual Docker CLI arguments.\n\n### Use a Matrix\n\nKeep the matrix in the workflow definition:\n\n```yaml\nname: Package\n\nmatrix:\n node: [18, 20]\n os: [ubuntu, alpine]\n\non:\n generic: {}\n\nenv:\n node_version: ${env.MATRIX_NODE}\n\nsteps:\n - id: package\n image: node:${env.MATRIX_NODE}\n run: npm pack\n```\n\nThe runner creates one job for every Cartesian combination. The example creates four jobs. Each variant receives `MATRIX_NODE` and `MATRIX_OS` environment variables.\n\n### Add a Scheduled Trigger\n\n```yaml\non:\n schedule:\n - id: nightly\n cron: '0 2 * * *'\n timezone: Europe/Berlin\n```\n\nCron expressions have five fields: minute, hour, day of month, month, and day of week. The scheduler uses the declared IANA timezone.\n\nSolar triggers use `sunrise` or `sunset` and geographic coordinates:\n\n```yaml\non:\n solar:\n - id: morning\n event: sunrise\n latitude: 52.52\n longitude: 13.405\n offset: +15m\n```\n\n### Use Secrets\n\nCreate a secret in the management UI or with the API, then reference it in environment values:\n\n```yaml\nsteps:\n - id: publish\n env:\n npm_token: ${secrets.NPM_TOKEN}\n run: npm publish\n```\n\nSecret values are delivered to a worker after it claims the job. Do not write them into reports or artifacts.\n\n### Persist Artifacts and Caches\n\nArtifacts are captured from the workspace after a successful run:\n\n```yaml\nartifacts:\n paths:\n - dist\n - reports/**/*.json\n```\n\nCaches are restored before steps start and saved after a successful run:\n\n```yaml\ncache:\n key: npm-${inputs.repo}-${inputs.branch}\n paths:\n - node_modules\n```\n\nConfigure a shared FileBin backend on the server and workers with `RUNNER_FILE_API_URL`, `RUNNER_FILE_BIN`, and optionally `RUNNER_FILE_PASSWORD`. Create a bin with `POST /bin`, then configure its ID. Without FileBin configuration, the runner uses the central database fallback. Cache keys are scoped by workflow; artifacts are scoped by job. Stored collections are limited to 50 MiB per capture.\n\nAdministrators can download a captured artifact with `GET /api/runs/:jobId/artifacts/:path`.\n\nPopulate workspace files from managed secrets before steps run:\n\n```yaml\nsecretFiles:\n .config/signing.key: SIGNING_KEY\n```\n\nSecret files are created with owner-only permissions in the worker workspace. They must be handled according to the worker storage lifecycle and should not be included in artifacts or caches.\n\n### Configure Workflow Plugins\n\nEnable status updates for an individual GitHub workflow by declaring a plugin and mapping its secret inputs through the existing server-managed secrets:\n\n```yaml\nplugins:\n - name: github-status\n secrets:\n GITHUB_TOKEN: ${secrets.GITHUB_TOKEN}\n context: ci/build\n```\n\nThe worker uses that secret for `pending`, `success`, `failure`, or `error` commit statuses. The token is never stored in workflow YAML or job reports. The workflow must have GitHub `owner`, `repo`, and `commit_sha` inputs; otherwise no status request is made.\n\n## Reference\n\n### Top-Level Workflow Fields\n\n| Field | Type | Description |\n| --- | --- | --- |\n| `name` | string | Required human-readable workflow name shown in the UI and reports. |\n| `id` | string | Optional identifier used when deriving an ID outside the management API. The management API ID is authoritative after creation. |\n| `on` | object | Required trigger configuration. |\n| `env` | object | Workflow environment values, evaluated in declaration order. |\n| `matrix` | object | Matrix dimensions. Each value is an array of strings, numbers, or booleans. |\n| `concurrency` | object | Optional concurrency group and cancellation policy. |\n| `tags` | string[] | Worker capability tags required by the job. |\n| `artifacts` | object | Workspace paths captured after successful runs. |\n| `cache` | object | Keyed workspace paths restored before and saved after successful runs. |\n| `secretFiles` | object | Workspace-relative file paths mapped to secret names. |\n| `plugins` | object[] | Optional per-workflow plugin declarations and secret mappings. |\n| `steps` | object[] | Required non-empty ordered list of steps. |\n| `retries` | integer | Additional attempts for a failed step. Must be zero or greater. |\n\n`includes` and workflow-to-workflow imports are not supported. Workflow definitions are stored as complete database revisions. Reusable behavior should be implemented through the planned step reuse mechanism rather than filesystem imports.\n\n### Triggers\n\nThe first non-`schedule`/`solar` key in `on` is the provider trigger. Supported providers include `generic` and `github`.\n\n#### GitHub Trigger Filters\n\n| Field | Type | Behavior |\n| --- | --- | --- |\n| `events` | string[] | Exact event names such as `push` or `pull_request`. |\n| `owner` | string or string[] | Exact repository owner. |\n| `repo` | string or string[] | Exact repository name. |\n| `name` | string or string[] | Exact `owner/repo` name. |\n| `branches` | string or string[] | Glob patterns matching normalized branches or tags. |\n| `refs` | string or string[] | Alias for branch/ref matching. |\n| `tag` | boolean | Requires a tag push when true, a non-tag event when false. |\n| `tags` | string[] | Regular expressions matched against the tag value. |\n| `paths` | string[] | Glob patterns matched against changed files. |\n| `if` | string or string[] | Safe JavaScript condition evaluated after provider filters. |\n\nConfigured fields are combined with AND. Multiple values within a field are combined with OR. Negated `!value` entries are supported by exact-value filters.\n\n#### Schedule Trigger\n\n```yaml\nschedule:\n - id: hourly\n cron: '0 * * * *'\n timezone: UTC\n```\n\n#### Solar Trigger\n\n```yaml\nsolar:\n - id: sunrise-build\n event: sunrise\n latitude: 52.52\n longitude: 13.405\n timezone: Europe/Berlin\n offset: -15m\n```\n\n### Environment and Expressions\n\nInterpolated strings use standard JavaScript template expressions inside `${...}`. The safe evaluator supports literals, property access, arithmetic, comparisons, boolean operators, ternaries, arrays, objects, and these helpers:\n\n```text\nString(value)\nNumber(value)\nBoolean(value)\nJSON.parse(value)\nJSON.stringify(value)\nObject.keys(value)\n```\n\nAvailable context objects are:\n\n| Object | Available data |\n| --- | --- |\n| `inputs` | Trigger payload and normalized provider inputs. |\n| `env` | Runner environment plus earlier workflow or step environment entries. |\n| `secrets` | Decrypted job-scoped secrets. |\n| `steps` | Earlier step statuses, exit codes, and outputs. |\n| `files` | Workspace-scoped `exists`, `readFile`, and `join` helpers for `eval:` steps. |\n\nExpressions cannot access JavaScript constructors or prototypes. Shell commands are not expression-evaluated; only declared interpolation fields are evaluated.\n\n### Steps\n\n| Field | Type | Description |\n| --- | --- | --- |\n| `id` | string | Stable identifier used by `steps.<id>`. |\n| `name` | string | Display name. Defaults to `id`. |\n| `run` | string | Shell command or script. Mutually exclusive with `eval`. |\n| `eval` | string | In-process safe expression. Mutually exclusive with `run`. |\n| `env` | object | Step environment, evaluated after workflow environment. |\n| `image` | string | Docker image. Selects container execution for the step. |\n| `volumes` | string or string[] | Docker `-v` mappings. |\n| `dockerArgs` | string[] | Additional raw arguments for `docker run`. |\n| `timeoutMs` | positive integer | Maximum step runtime. Defaults to 30 seconds. |\n| `if` | string | Safe condition. False conditions produce a skipped step. |\n\n`run` steps execute through the selected worker driver. With `image`, the command runs as `sh -c` inside Docker. Without `image`, it runs through the worker shell. `eval` steps run inside the worker process and can produce structured outputs for later steps.\n\n### Management and API\n\nWorkflow definitions are drafted, validated, published, enabled, and deleted through the authenticated management UI or these endpoints:\n\n```text\nPOST /api/workflows/validate\nGET /api/workflows\nGET /api/workflows/:id\nPUT /api/workflows/:id\nPOST /api/workflows/:id/publish\nDELETE /api/workflows/:id\n```\n\nOnly published workflows with `enabled: true` are matched for incoming triggers. Saving a workflow creates a new immutable revision. Existing jobs continue to use the revision recorded when they were created.\n\n## Explanation\n\n### Why Workflow YAML Lives in the Database\n\nThe server stores source YAML and normalized revisions in the database. Workers are stateless: they fetch the referenced revision when claiming a job and do not read workflow files from their local filesystem. This keeps every worker on the same definition and makes published revisions reproducible.\n\n### Why Matrix Expansion Happens at Trigger Time\n\nThe stored revision remains one canonical workflow. When a trigger matches, the server creates one queue job per matrix combination. The payload records the matrix context, and the worker resolves that same variant before execution. This avoids storing duplicate workflow revisions while keeping each job independently observable.\n\n### Docker Volumes and Trust\n\n`volumes` and `dockerArgs` are intentionally powerful options. A host volume can expose credentials or signing material, and Docker arguments can change networking, users, capabilities, or isolation. Only trusted administrators should publish workflows using these fields. The runner does not copy, inspect, or redact files mounted into containers.\n\n### Reuse and Imports\n\nFilesystem imports were removed because workers no longer load workflow files. Future step reuse should operate on database-owned definitions or explicit reusable step mechanisms, keeping revisioning and authorization visible to the control plane.\n", Ri = "\n <svg aria-hidden=\"true\" viewBox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <circle cx=\"12\" cy=\"12\" r=\"9\"></circle>\n <path d=\"M9.6 9a2.5 2.5 0 1 1 4.2 1.8c-1.2 1-1.8 1.4-1.8 2.7\"></path>\n <path d=\"M12 17h.01\"></path>\n </svg>", zi = "\n :root { color-scheme: dark; }\n * { box-sizing: border-box; }\n body { margin: 0; background: #030712; color: #e5e7eb; font-family: ui-sans-serif, system-ui, sans-serif; }\n main { max-width: 78rem; margin: 0 auto; padding: 2rem 1rem 5rem; }\n article { max-width: 54rem; margin: 0 auto; line-height: 1.7; }\n h1, h2, h3 { color: #f9fafb; line-height: 1.2; letter-spacing: -0.02em; }\n h1 { font-size: 2.25rem; margin: 0 0 1rem; }\n h2 { border-top: 1px solid #1f2937; margin-top: 3rem; padding-top: 1.5rem; font-size: 1.6rem; }\n h3 { margin-top: 2rem; font-size: 1.15rem; }\n p, li { color: #cbd5e1; }\n a { color: #93c5fd; }\n code { border-radius: .35rem; background: #111827; color: #bfdbfe; padding: .12rem .35rem; font-size: .9em; }\n pre { overflow-x: auto; border: 1px solid #1f2937; border-radius: .75rem; background: #0b1120; padding: 1rem; }\n pre code { background: transparent; padding: 0; color: #d1d5db; }\n table { width: 100%; border-collapse: collapse; display: block; overflow-x: auto; margin: 1rem 0; }\n th, td { border-bottom: 1px solid #1f2937; padding: .65rem .75rem; text-align: left; vertical-align: top; }\n th { color: #f9fafb; background: #111827; }\n blockquote { border-left: 3px solid #6366f1; margin-left: 0; padding-left: 1rem; color: #94a3b8; }\n .topbar { display: flex; justify-content: space-between; gap: 1rem; align-items: center; max-width: 78rem; margin: 0 auto; padding: 1rem; }\n .back { display: inline-flex; align-items: center; gap: .45rem; color: #94a3b8; text-decoration: none; font-size: .85rem; }\n .back:hover, .back:focus-visible { color: #f9fafb; }\n .help-layout { display: grid; grid-template-columns: minmax(0, 54rem); gap: 3rem; justify-content: center; }\n .toc { display: none; }\n .toc nav { position: sticky; top: 1.25rem; max-height: calc(100vh - 2.5rem); overflow-y: auto; border-left: 1px solid #1f2937; padding-left: 1rem; }\n .toc-title { margin: 0 0 .65rem; color: #f9fafb; font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }\n .toc ul { display: grid; gap: .15rem; list-style: none; margin: 0; padding: 0; }\n .toc a { display: block; border-radius: .35rem; color: #94a3b8; font-size: .8rem; line-height: 1.35; padding: .3rem .45rem; text-decoration: none; }\n .toc a:hover, .toc a:focus-visible { background: #111827; color: #dbeafe; outline: none; }\n .toc-depth-2 { padding-left: .9rem !important; }\n .toc-depth-3 { padding-left: 1.8rem !important; font-size: .75rem !important; }\n @media (min-width: 1024px) { .help-layout { grid-template-columns: minmax(0, 54rem) 16rem; justify-content: center; } .toc { display: block; } }\n @media (min-width: 640px) { main { padding: 3rem 1.5rem 6rem; } }\n";
|
|
5545
5548
|
function Bi(e = !1) {
|
|
5546
5549
|
let t = /* @__PURE__ */ new Map(), n = (e) => {
|
|
5547
5550
|
let n = e.replace(/[`*_~]/g, "").replace(/\[([^\]]+)\]\([^)]*\)/g, "$1").toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "") || "section", r = t.get(n) || 0;
|
|
@@ -9518,7 +9521,7 @@ var wc = /* @__PURE__ */ new Set("0123456789ABCDEFabcdef"), Tc = /* @__PURE__ */
|
|
|
9518
9521
|
for (; r === " ";) r = this.buffer[--n];
|
|
9519
9522
|
if (r === "\n" && n >= this.pos && n + 1 + t > i) e = n;
|
|
9520
9523
|
else break;
|
|
9521
|
-
} while (
|
|
9524
|
+
} while (1);
|
|
9522
9525
|
return yield "", yield* this.pushToIndex(e + 1, !0), yield* this.parseLineStart();
|
|
9523
9526
|
}
|
|
9524
9527
|
*parsePlainScalar() {
|
|
@@ -10454,6 +10457,7 @@ function Jc(e) {
|
|
|
10454
10457
|
artifacts: a,
|
|
10455
10458
|
cache: o,
|
|
10456
10459
|
secretFiles: t.secretFiles,
|
|
10460
|
+
plugins: Array.isArray(t.plugins) ? t.plugins : void 0,
|
|
10457
10461
|
tags: Array.isArray(t.tags) ? [...new Set(t.tags.filter((e) => typeof e == "string").map((e) => e.trim()).filter(Boolean))] : void 0
|
|
10458
10462
|
}];
|
|
10459
10463
|
}
|
|
@@ -10567,7 +10571,7 @@ var Yc = class {
|
|
|
10567
10571
|
server;
|
|
10568
10572
|
preprocessors = /* @__PURE__ */ new Map();
|
|
10569
10573
|
workflows = new Yc();
|
|
10570
|
-
secretRepository = new
|
|
10574
|
+
secretRepository = new er();
|
|
10571
10575
|
queue;
|
|
10572
10576
|
secrets;
|
|
10573
10577
|
push;
|
|
@@ -10580,7 +10584,7 @@ var Yc = class {
|
|
|
10580
10584
|
return new e(r).listen(n);
|
|
10581
10585
|
}
|
|
10582
10586
|
constructor(e) {
|
|
10583
|
-
this.queue = e.queue, this.secrets = e.secrets, this.push = new
|
|
10587
|
+
this.queue = e.queue, this.secrets = e.secrets, this.push = new tr(e.config), this.adminToken = e.adminToken, this.workerToken = e.config.workerToken, this.workflowsLoaded = Promise.all([this.workflows.init(), this.secretRepository.init()]).then(() => void 0), this.registerPreprocessor(new Ce()), this.server = d.createServer((e, t) => this.handleRequest(e, t));
|
|
10584
10588
|
}
|
|
10585
10589
|
registerPreprocessor(e) {
|
|
10586
10590
|
this.preprocessors.set(e.name, e);
|
|
@@ -10734,21 +10738,21 @@ var Yc = class {
|
|
|
10734
10738
|
if (r.on.provider !== e) continue;
|
|
10735
10739
|
let n = this.preprocessors.get(e);
|
|
10736
10740
|
if (n?.filter && !n.filter(t, r.on).isValid) {
|
|
10737
|
-
|
|
10741
|
+
Jn(`⏩ Skipped ${r.id} based on ${e} webhook filters`, { inputs: t });
|
|
10738
10742
|
continue;
|
|
10739
10743
|
}
|
|
10740
10744
|
if (r.on.if) try {
|
|
10741
|
-
if (!await
|
|
10742
|
-
|
|
10745
|
+
if (!await Zn.evaluateConditions(r.on.if, { inputs: t })) {
|
|
10746
|
+
Jn(`⏩ Skipped ${r.id} based on conditions: ${r.on.if}`, { inputs: t });
|
|
10743
10747
|
continue;
|
|
10744
10748
|
}
|
|
10745
10749
|
} catch (e) {
|
|
10746
10750
|
console.error(`⚠️ Condition evaluation error in workflow [${r.id}]:`, e.message);
|
|
10747
10751
|
continue;
|
|
10748
10752
|
}
|
|
10749
|
-
for (let e of
|
|
10753
|
+
for (let e of Qn(r)) {
|
|
10750
10754
|
let n = "";
|
|
10751
|
-
e.concurrency?.group && (n = await
|
|
10755
|
+
e.concurrency?.group && (n = await Zn.evaluateValue(e.concurrency.group, { inputs: t }));
|
|
10752
10756
|
let a = {
|
|
10753
10757
|
inputs: t,
|
|
10754
10758
|
matrix: e.matrixContext
|
|
@@ -11078,7 +11082,7 @@ var Yc = class {
|
|
|
11078
11082
|
"-e",
|
|
11079
11083
|
"-c",
|
|
11080
11084
|
t.command
|
|
11081
|
-
]),
|
|
11085
|
+
]), Jn("$ systemd-run", [
|
|
11082
11086
|
...c,
|
|
11083
11087
|
"--",
|
|
11084
11088
|
...u
|
|
@@ -11187,7 +11191,7 @@ var Yc = class {
|
|
|
11187
11191
|
"-e",
|
|
11188
11192
|
"-c",
|
|
11189
11193
|
t.command
|
|
11190
|
-
]),
|
|
11194
|
+
]), Jn("$ " + s, c.join(" "));
|
|
11191
11195
|
let u;
|
|
11192
11196
|
try {
|
|
11193
11197
|
u = h(s, c, {
|
|
@@ -11274,7 +11278,7 @@ async function rl(e) {
|
|
|
11274
11278
|
if (!t) {
|
|
11275
11279
|
t = !0, console.log(`\n🛑 Received ${n}. Initiating graceful shutdown...`);
|
|
11276
11280
|
try {
|
|
11277
|
-
|
|
11281
|
+
ul(), e.length > 0 && (console.log("⚙️ Waiting for active worker jobs to drain..."), await Promise.allSettled(e)), console.log("✨ Engine stopped cleanly. Goodbye!"), process.exit(0);
|
|
11278
11282
|
} catch (e) {
|
|
11279
11283
|
console.error("❌ Error during graceful shutdown:", e.message), process.exit(1);
|
|
11280
11284
|
}
|
|
@@ -11306,38 +11310,77 @@ var il = class {
|
|
|
11306
11310
|
console.error(`[Plugin Error] ${n.name}.onWorkflowFinish:`, e);
|
|
11307
11311
|
}
|
|
11308
11312
|
}
|
|
11309
|
-
}, al = {
|
|
11310
|
-
|
|
11311
|
-
|
|
11313
|
+
}, al = class {
|
|
11314
|
+
name = "github-commit-status";
|
|
11315
|
+
token;
|
|
11316
|
+
apiUrl;
|
|
11317
|
+
context;
|
|
11318
|
+
constructor(e) {
|
|
11319
|
+
this.token = e.token, this.apiUrl = e.apiUrl || "https://api.github.com/", this.context = e.context || "on";
|
|
11320
|
+
}
|
|
11321
|
+
async onWorkflowStart(e) {
|
|
11322
|
+
this.hasCoordinates(e) && await this.updateStatus(e, "pending", "Workflow build has started.");
|
|
11323
|
+
}
|
|
11324
|
+
async onWorkflowFinish(e, t) {
|
|
11325
|
+
if (!this.hasCoordinates(e)) return;
|
|
11326
|
+
let n = t === "success" ? "success" : t === "failed" ? "failure" : "error", r = t === "success" ? "Workflow completed successfully." : `Workflow ${t}.`;
|
|
11327
|
+
await this.updateStatus(e, n, r);
|
|
11328
|
+
}
|
|
11329
|
+
async updateStatus(e, t, n) {
|
|
11330
|
+
let r = encodeURIComponent(String(e.inputs.owner)), i = encodeURIComponent(String(e.inputs.repo)), a = encodeURIComponent(String(e.inputs.commit_sha)), o = this.apiUrl.endsWith("/") ? this.apiUrl : `${this.apiUrl}/`, s = await fetch(new URL(`repos/${r}/${i}/statuses/${a}`, o), {
|
|
11331
|
+
method: "POST",
|
|
11332
|
+
headers: {
|
|
11333
|
+
Accept: "application/vnd.github+json",
|
|
11334
|
+
Authorization: `Bearer ${this.token}`,
|
|
11335
|
+
"Content-Type": "application/json",
|
|
11336
|
+
"User-Agent": "@cloud-cli/on",
|
|
11337
|
+
"X-GitHub-Api-Version": "2022-11-28"
|
|
11338
|
+
},
|
|
11339
|
+
signal: AbortSignal.timeout(1e4),
|
|
11340
|
+
body: JSON.stringify({
|
|
11341
|
+
state: t,
|
|
11342
|
+
target_url: e.runUrl,
|
|
11343
|
+
description: n.slice(0, 140),
|
|
11344
|
+
context: `${this.context}/${e.workflowName}`.slice(0, 100)
|
|
11345
|
+
})
|
|
11346
|
+
});
|
|
11347
|
+
if (!s.ok) throw Error(`GitHub status update failed with HTTP ${s.status}: ${await s.text()}`);
|
|
11348
|
+
}
|
|
11349
|
+
hasCoordinates(e) {
|
|
11350
|
+
return !!(this.token && e.inputs.owner && e.inputs.repo && e.inputs.commit_sha);
|
|
11351
|
+
}
|
|
11352
|
+
}, ol = { isStopping: !1 }, sl = /* @__PURE__ */ new Set(), cl = null, ll = null;
|
|
11353
|
+
function ul() {
|
|
11354
|
+
ol.isStopping = !0, cl?.abort(), ll?.();
|
|
11312
11355
|
}
|
|
11313
|
-
function
|
|
11314
|
-
|
|
11315
|
-
let i = [
|
|
11356
|
+
function dl(e, t, n, r) {
|
|
11357
|
+
ol.isStopping = !1;
|
|
11358
|
+
let i = [fl(e, t, n, r)];
|
|
11316
11359
|
return rl(i), i;
|
|
11317
11360
|
}
|
|
11318
|
-
async function
|
|
11361
|
+
async function fl(e, t, n, r) {
|
|
11319
11362
|
let i = await nl(), a = new Yc(), o = /* @__PURE__ */ new Set(), s = 0, c = null, l = () => {
|
|
11320
11363
|
s++, c?.();
|
|
11321
11364
|
};
|
|
11322
|
-
|
|
11323
|
-
let u =
|
|
11324
|
-
for (console.log(`🚀 Worker scheduler started. Driver: ${i.name}. Concurrency: ${e}. Tags: ${r.tags.join(", ") || "(none)"}`); !
|
|
11365
|
+
ll = l, cl = new AbortController();
|
|
11366
|
+
let u = pl(r, cl.signal, l);
|
|
11367
|
+
for (console.log(`🚀 Worker scheduler started. Driver: ${i.name}. Concurrency: ${e}. Tags: ${r.tags.join(", ") || "(none)"}`); !ol.isStopping;) {
|
|
11325
11368
|
let n = s;
|
|
11326
11369
|
try {
|
|
11327
|
-
for (; o.size < e && !
|
|
11370
|
+
for (; o.size < e && !ol.isStopping;) {
|
|
11328
11371
|
let e = await t.claimNextJob(r.tags);
|
|
11329
11372
|
if (!e) break;
|
|
11330
|
-
if (
|
|
11373
|
+
if (ol.isStopping) {
|
|
11331
11374
|
await t.releaseJob(e.id);
|
|
11332
11375
|
break;
|
|
11333
11376
|
}
|
|
11334
11377
|
let n = process.env.WORKER_NAME || "cli", s;
|
|
11335
11378
|
s = (async () => {
|
|
11336
|
-
|
|
11379
|
+
gl(r, e.id);
|
|
11337
11380
|
let o = await a.getRevision(e.workflow_id, e.workflow_revision);
|
|
11338
11381
|
if (!o) throw await t.finishJob(e.id, "failed"), Error(`Workflow ${e.workflow_id} revision ${e.workflow_revision} was not found`);
|
|
11339
11382
|
let s = new me();
|
|
11340
|
-
s.replace(await
|
|
11383
|
+
s.replace(await _l(r, n, e.id)), await vl({
|
|
11341
11384
|
workerId: n,
|
|
11342
11385
|
job: e,
|
|
11343
11386
|
queue: t,
|
|
@@ -11347,17 +11390,17 @@ async function dl(e, t, n, r) {
|
|
|
11347
11390
|
workflow: o
|
|
11348
11391
|
});
|
|
11349
11392
|
})().catch((e) => console.error(`[${n}] ⚠️ Worker execution error:`, e)).finally(() => {
|
|
11350
|
-
o.delete(s),
|
|
11393
|
+
o.delete(s), gl(r, e.id), l();
|
|
11351
11394
|
}), o.add(s);
|
|
11352
11395
|
}
|
|
11353
11396
|
} catch (e) {
|
|
11354
11397
|
console.error("⚠️ Worker scheduler claim error:", e), setTimeout(l, 5e3).unref();
|
|
11355
11398
|
}
|
|
11356
|
-
!
|
|
11399
|
+
!ol.isStopping && s === n && (await ml(n, () => s, (e) => c = e), c = null);
|
|
11357
11400
|
}
|
|
11358
|
-
|
|
11401
|
+
cl.abort(), await Promise.allSettled(o), await u, ll = null, console.log("🛑 Worker scheduler stopped cleanly.");
|
|
11359
11402
|
}
|
|
11360
|
-
async function
|
|
11403
|
+
async function pl(e, t, n) {
|
|
11361
11404
|
let r = 1e3;
|
|
11362
11405
|
for (; !t.aborted;) {
|
|
11363
11406
|
try {
|
|
@@ -11368,10 +11411,10 @@ async function fl(e, t, n) {
|
|
|
11368
11411
|
if (t.aborted || e?.name === "AbortError") break;
|
|
11369
11412
|
console.error(`⚠️ Worker event stream disconnected: ${e.message}`);
|
|
11370
11413
|
}
|
|
11371
|
-
await
|
|
11414
|
+
await hl(r, t), r = Math.min(r * 2, 3e4);
|
|
11372
11415
|
}
|
|
11373
11416
|
}
|
|
11374
|
-
function
|
|
11417
|
+
function ml(e, t, n) {
|
|
11375
11418
|
return new Promise((r) => {
|
|
11376
11419
|
if (t() !== e) return r();
|
|
11377
11420
|
let i = setTimeout(r, 6e4);
|
|
@@ -11380,7 +11423,7 @@ function pl(e, t, n) {
|
|
|
11380
11423
|
});
|
|
11381
11424
|
});
|
|
11382
11425
|
}
|
|
11383
|
-
function
|
|
11426
|
+
function hl(e, t) {
|
|
11384
11427
|
return new Promise((n) => {
|
|
11385
11428
|
if (t.aborted) return n();
|
|
11386
11429
|
let r = () => {
|
|
@@ -11391,7 +11434,7 @@ function ml(e, t) {
|
|
|
11391
11434
|
t.addEventListener("abort", r, { once: !0 });
|
|
11392
11435
|
});
|
|
11393
11436
|
}
|
|
11394
|
-
async function
|
|
11437
|
+
async function gl(e, t) {
|
|
11395
11438
|
if (e.workerToken) try {
|
|
11396
11439
|
let n = await fetch(new URL("/api/events", e.serverUrl), {
|
|
11397
11440
|
method: "POST",
|
|
@@ -11402,12 +11445,12 @@ async function hl(e, t) {
|
|
|
11402
11445
|
body: JSON.stringify({ jobId: t }),
|
|
11403
11446
|
signal: AbortSignal.timeout(5e3)
|
|
11404
11447
|
});
|
|
11405
|
-
n.ok ||
|
|
11448
|
+
n.ok || Jn(`Failed to publish job status event: HTTP ${n.status}`);
|
|
11406
11449
|
} catch (e) {
|
|
11407
|
-
|
|
11450
|
+
Jn("Failed to publish job status event:", e);
|
|
11408
11451
|
}
|
|
11409
11452
|
}
|
|
11410
|
-
async function
|
|
11453
|
+
async function _l(e, t, n) {
|
|
11411
11454
|
if (!e.workerToken) return {};
|
|
11412
11455
|
try {
|
|
11413
11456
|
let r = await fetch(new URL(`/api/jobs/${n}/secrets`, e.serverUrl), {
|
|
@@ -11423,12 +11466,12 @@ async function gl(e, t, n) {
|
|
|
11423
11466
|
throw console.error(`Unable to retrieve secrets for job ${n}:`, e), e;
|
|
11424
11467
|
}
|
|
11425
11468
|
}
|
|
11426
|
-
async function
|
|
11469
|
+
async function vl(e) {
|
|
11427
11470
|
let { workerId: t, job: n, config: r, secrets: a, queue: o } = e;
|
|
11428
11471
|
console.log(`\n[${t}] 📦 Claimed Job #${n.id} (Workflow: ${n.workflow_id})`);
|
|
11429
11472
|
let s = typeof n.payload == "string" ? JSON.parse(n.payload) : n.payload;
|
|
11430
11473
|
if (!e.workflow) throw Error(`Workflow ${n.workflow_id} revision ${n.workflow_revision} was not resolved`);
|
|
11431
|
-
let c = s.matrix ?
|
|
11474
|
+
let c = s.matrix ? Qn(e.workflow).find((e) => JSON.stringify(e.matrixContext) === JSON.stringify(s.matrix)) : e.workflow;
|
|
11432
11475
|
if (!c) throw Error(`Matrix variant for job ${n.id} was not found`);
|
|
11433
11476
|
let l = c, u = {
|
|
11434
11477
|
...e,
|
|
@@ -11440,7 +11483,7 @@ async function _l(e) {
|
|
|
11440
11483
|
steps: {},
|
|
11441
11484
|
logsDir: h,
|
|
11442
11485
|
workingDir: g,
|
|
11443
|
-
files:
|
|
11486
|
+
files: Xn(g)
|
|
11444
11487
|
}, v = "", y = d.map((e, t) => (e.id ||= `step-${t}`, e.name ||= e.id, {
|
|
11445
11488
|
id: e.id,
|
|
11446
11489
|
name: e.name,
|
|
@@ -11448,10 +11491,10 @@ async function _l(e) {
|
|
|
11448
11491
|
durationMs: 0,
|
|
11449
11492
|
outputs: {},
|
|
11450
11493
|
logContent: ""
|
|
11451
|
-
})), b =
|
|
11452
|
-
await o.saveReport(n.id, b),
|
|
11494
|
+
})), b = Ml(n, "running", p, f, _.env, y, s);
|
|
11495
|
+
await o.saveReport(n.id, b), gl(r, n.id);
|
|
11453
11496
|
try {
|
|
11454
|
-
Object.assign(_.env, await
|
|
11497
|
+
Object.assign(_.env, await Sl(l.env, _)), kl(l.secretFiles, a.getAll(), g), v = l.cache ? String(await Zn.evaluateValue(l.cache.key, _)) : "", v && l.cache && await Ol(o, "cache", `${n.workflow_id}:${v}`, l.cache.paths, g), await o.saveReport(n.id, b);
|
|
11455
11498
|
} catch (e) {
|
|
11456
11499
|
b.status = "failed", b.finishedAt = (/* @__PURE__ */ new Date()).toISOString(), b.durationMs = Date.now() - p;
|
|
11457
11500
|
let r = {
|
|
@@ -11464,31 +11507,40 @@ async function _l(e) {
|
|
|
11464
11507
|
await o.completeJob(n.id, "failed", r), console.error(`[${t}] ❌ Job setup failed:`, e);
|
|
11465
11508
|
return;
|
|
11466
11509
|
}
|
|
11467
|
-
let x =
|
|
11510
|
+
let x = [...r.plugins];
|
|
11511
|
+
for (let e of l.plugins || []) if (e.name === "github-status") {
|
|
11512
|
+
let n = await Sl(e.secrets, _), r = n.GITHUB_TOKEN || n.token;
|
|
11513
|
+
r ? x.push(new al({
|
|
11514
|
+
token: r,
|
|
11515
|
+
context: e.context,
|
|
11516
|
+
apiUrl: e.apiUrl
|
|
11517
|
+
})) : console.error(`[${t}] GitHub status plugin requires a configured token secret.`);
|
|
11518
|
+
} else console.error(`[${t}] Unknown workflow plugin '${e.name}'.`);
|
|
11519
|
+
let S = new il(x), ee = {
|
|
11468
11520
|
jobId: String(n.id),
|
|
11469
11521
|
workflowName: l.name,
|
|
11470
11522
|
inputs: f,
|
|
11471
11523
|
runUrl: new URL(`/runs/${n.id}`, r.serverUrl).toString()
|
|
11472
11524
|
};
|
|
11473
|
-
await
|
|
11474
|
-
let { cancelled:
|
|
11525
|
+
await S.triggerWorkflowStart(ee);
|
|
11526
|
+
let { cancelled: te, failed: ne } = await yl({
|
|
11475
11527
|
payload: s,
|
|
11476
11528
|
steps: d,
|
|
11477
11529
|
executionContext: _,
|
|
11478
11530
|
...u
|
|
11479
|
-
}, b),
|
|
11480
|
-
if (
|
|
11481
|
-
let e = l.artifacts ? await
|
|
11531
|
+
}, b), re = te ? "cancelled" : ne ? "failed" : "success";
|
|
11532
|
+
if (re === "success") try {
|
|
11533
|
+
let e = l.artifacts ? await Dl(l.artifacts.paths, g) : [];
|
|
11482
11534
|
if (e.length && (await o.saveStoredFiles("artifact", String(n.id), e), b.artifacts = e.map((e) => e.path)), v && l.cache) {
|
|
11483
|
-
let e = await
|
|
11535
|
+
let e = await Dl(l.cache.paths, g);
|
|
11484
11536
|
e.length && await o.saveStoredFiles("cache", `${n.workflow_id}:${v}`, e);
|
|
11485
11537
|
}
|
|
11486
11538
|
} catch (e) {
|
|
11487
|
-
console.error(`[${t}] ⚠️ Failed to store workflow files:`, e),
|
|
11539
|
+
console.error(`[${t}] ⚠️ Failed to store workflow files:`, e), re = "failed";
|
|
11488
11540
|
}
|
|
11489
|
-
b.status =
|
|
11541
|
+
b.status = re, b.durationMs = Date.now() - p, b.finishedAt = (/* @__PURE__ */ new Date()).toISOString(), await o.completeJob(n.id, re, b), gl(r, n.id), console.log(`[${t}] ✅ Job #${n.id} completed as: ${re}`), await S.triggerWorkflowFinish(ee, re);
|
|
11490
11542
|
}
|
|
11491
|
-
async function
|
|
11543
|
+
async function yl(e, t) {
|
|
11492
11544
|
let { driver: n, workerId: r, queue: i, config: a, job: o, payload: s, steps: c, executionContext: l } = e, u = t.steps, d = !1, f = !1, p = 0;
|
|
11493
11545
|
try {
|
|
11494
11546
|
for (let s = 0; s < c.length; s++) {
|
|
@@ -11503,14 +11555,14 @@ async function vl(e, t) {
|
|
|
11503
11555
|
logContent: "",
|
|
11504
11556
|
startedAt: h,
|
|
11505
11557
|
finishedAt: void 0
|
|
11506
|
-
}, t.durationMs = Date.now() - Date.parse(t.startedAt), await i.saveReport(o.id, t),
|
|
11558
|
+
}, t.durationMs = Date.now() - Date.parse(t.startedAt), await i.saveReport(o.id, t), gl(a, o.id);
|
|
11507
11559
|
let g = {
|
|
11508
11560
|
failed: !0,
|
|
11509
11561
|
skipped: !1,
|
|
11510
11562
|
cancelled: !1,
|
|
11511
11563
|
report: null
|
|
11512
11564
|
}, _ = e.workflow?.retries ?? 0;
|
|
11513
|
-
for (let e = 1; e <= _ + 1 && (g = await
|
|
11565
|
+
for (let e = 1; e <= _ + 1 && (g = await bl({
|
|
11514
11566
|
workerId: r,
|
|
11515
11567
|
jobId: o.id,
|
|
11516
11568
|
step: m,
|
|
@@ -11538,7 +11590,7 @@ async function vl(e, t) {
|
|
|
11538
11590
|
exitCode: 1,
|
|
11539
11591
|
error: "Step failed before execution started",
|
|
11540
11592
|
finishedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
11541
|
-
}, p = s + 1, t.durationMs = Date.now() - Date.parse(t.startedAt), await i.saveReport(o.id, t),
|
|
11593
|
+
}, p = s + 1, t.durationMs = Date.now() - Date.parse(t.startedAt), await i.saveReport(o.id, t), gl(a, o.id), g.skipped) break;
|
|
11542
11594
|
if (g.cancelled) {
|
|
11543
11595
|
f = !0, d = !0;
|
|
11544
11596
|
break;
|
|
@@ -11551,22 +11603,22 @@ async function vl(e, t) {
|
|
|
11551
11603
|
} catch (e) {
|
|
11552
11604
|
console.log("🛑 Step failed", e), d = !0;
|
|
11553
11605
|
}
|
|
11554
|
-
return p < c.length && (
|
|
11606
|
+
return p < c.length && (jl(c, p, u), t.durationMs = Date.now() - Date.parse(t.startedAt), await i.saveReport(o.id, t), gl(a, o.id)), {
|
|
11555
11607
|
failed: d,
|
|
11556
11608
|
cancelled: f,
|
|
11557
11609
|
stepReports: u
|
|
11558
11610
|
};
|
|
11559
11611
|
}
|
|
11560
|
-
async function
|
|
11612
|
+
async function bl(e) {
|
|
11561
11613
|
let { step: t, stepIndex: n, executionContext: r } = e;
|
|
11562
|
-
if (t.id ||= `step-${n}`, t.name ||= t.id, t.if && !await
|
|
11614
|
+
if (t.id ||= `step-${n}`, t.name ||= t.id, t.if && !await Zn.evaluateConditions(t.if, r)) return Jn(`⏩ Skipped step ${t.id} based on condition: ${t.if}`, r), {
|
|
11563
11615
|
failed: !1,
|
|
11564
11616
|
cancelled: !1,
|
|
11565
11617
|
skipped: !0,
|
|
11566
11618
|
report: null
|
|
11567
11619
|
};
|
|
11568
11620
|
try {
|
|
11569
|
-
let n = await
|
|
11621
|
+
let n = await Sl(t.env, r), i = {
|
|
11570
11622
|
jobId: String(e.jobId),
|
|
11571
11623
|
step: t,
|
|
11572
11624
|
command: t.run,
|
|
@@ -11583,16 +11635,16 @@ async function yl(e) {
|
|
|
11583
11635
|
WORKING_DIR: r.workingDir
|
|
11584
11636
|
}
|
|
11585
11637
|
};
|
|
11586
|
-
return t.eval ?
|
|
11638
|
+
return t.eval ? xl({
|
|
11587
11639
|
...e,
|
|
11588
11640
|
stepContext: i
|
|
11589
|
-
}) :
|
|
11641
|
+
}) : Al({
|
|
11590
11642
|
...e,
|
|
11591
11643
|
stepContext: i
|
|
11592
11644
|
});
|
|
11593
11645
|
} catch (n) {
|
|
11594
11646
|
let i = n?.message || String(n);
|
|
11595
|
-
return await e.queue.saveStepLog(e.jobId, t.id, `[STEP ERROR]:\n${i}`),
|
|
11647
|
+
return await e.queue.saveStepLog(e.jobId, t.id, `[STEP ERROR]:\n${i}`), Jn(`⏩ Failed to run step ${t.id}`, r, n), {
|
|
11596
11648
|
failed: !0,
|
|
11597
11649
|
cancelled: !1,
|
|
11598
11650
|
skipped: !1,
|
|
@@ -11609,12 +11661,12 @@ async function yl(e) {
|
|
|
11609
11661
|
};
|
|
11610
11662
|
}
|
|
11611
11663
|
}
|
|
11612
|
-
async function
|
|
11664
|
+
async function xl(e) {
|
|
11613
11665
|
let { queue: t, stepContext: n, executionContext: r } = e, { jobId: i, step: a } = n, o = Date.now(), s = a.id, c = a.name, l;
|
|
11614
11666
|
try {
|
|
11615
11667
|
let e = new Promise((e, t) => {
|
|
11616
11668
|
l = setTimeout(() => t(/* @__PURE__ */ Error(`Step timed out after ${n.timeoutMs}ms`)), n.timeoutMs), l.unref();
|
|
11617
|
-
}), u = await Promise.race([
|
|
11669
|
+
}), u = await Promise.race([Zn.evaluateExpression(a.eval, r), e]);
|
|
11618
11670
|
r.steps[s] = {
|
|
11619
11671
|
status: "success",
|
|
11620
11672
|
exitCode: 0,
|
|
@@ -11659,9 +11711,9 @@ async function bl(e) {
|
|
|
11659
11711
|
l && clearTimeout(l);
|
|
11660
11712
|
}
|
|
11661
11713
|
}
|
|
11662
|
-
async function
|
|
11714
|
+
async function Sl(e, t) {
|
|
11663
11715
|
let n = {};
|
|
11664
|
-
if (e) for (let [r, i] of Object.entries(e)) n[r] = String(await
|
|
11716
|
+
if (e) for (let [r, i] of Object.entries(e)) n[r] = String(await Zn.evaluateValue(i, {
|
|
11665
11717
|
...t,
|
|
11666
11718
|
env: {
|
|
11667
11719
|
...t.env,
|
|
@@ -11670,18 +11722,18 @@ async function xl(e, t) {
|
|
|
11670
11722
|
}));
|
|
11671
11723
|
return n;
|
|
11672
11724
|
}
|
|
11673
|
-
var
|
|
11674
|
-
function
|
|
11725
|
+
var Cl = 52428800;
|
|
11726
|
+
function wl(e, t) {
|
|
11675
11727
|
let n = i.resolve(e), r = i.resolve(n, t);
|
|
11676
11728
|
if (r !== n && !r.startsWith(`${n}${i.sep}`)) throw Error(`Stored file path escapes workspace: ${t}`);
|
|
11677
11729
|
return r;
|
|
11678
11730
|
}
|
|
11679
|
-
function
|
|
11731
|
+
function Tl(e, t) {
|
|
11680
11732
|
let n = "^";
|
|
11681
11733
|
for (let e = 0; e < t.length; e++) t[e] === "*" && t[e + 1] === "*" ? (n += ".*", e++) : t[e] === "*" ? n += "[^/]*" : n += t[e].replace(/[|\\{}()[\]^$+?.]/g, "\\$&");
|
|
11682
11734
|
return RegExp(`${n}$`).test(e);
|
|
11683
11735
|
}
|
|
11684
|
-
function
|
|
11736
|
+
function El(t, n) {
|
|
11685
11737
|
let r = i.resolve(n), a = [], o = (t) => {
|
|
11686
11738
|
for (let n of e.readdirSync(t, { withFileTypes: !0 })) {
|
|
11687
11739
|
let e = i.join(t, n.name);
|
|
@@ -11689,42 +11741,42 @@ function Tl(t, n) {
|
|
|
11689
11741
|
}
|
|
11690
11742
|
};
|
|
11691
11743
|
return o(r), a.filter((r) => t.some((t) => {
|
|
11692
|
-
let i =
|
|
11744
|
+
let i = wl(n, t);
|
|
11693
11745
|
if (e.existsSync(i)) {
|
|
11694
11746
|
let n = e.statSync(i);
|
|
11695
11747
|
if (n.isFile()) return r === t;
|
|
11696
11748
|
if (n.isDirectory()) return r === t || r.startsWith(`${t.replace(/\/$/, "")}/`);
|
|
11697
11749
|
}
|
|
11698
|
-
return
|
|
11750
|
+
return Tl(r, t);
|
|
11699
11751
|
}));
|
|
11700
11752
|
}
|
|
11701
|
-
async function
|
|
11702
|
-
let r =
|
|
11753
|
+
async function Dl(t, n) {
|
|
11754
|
+
let r = El(t, n), i = 0;
|
|
11703
11755
|
return r.map((t) => {
|
|
11704
|
-
let r = e.readFileSync(
|
|
11705
|
-
if (r.byteLength >
|
|
11756
|
+
let r = e.readFileSync(wl(n, t));
|
|
11757
|
+
if (r.byteLength > Cl || (i += r.byteLength) > Cl) throw Error(`Stored files exceed ${Cl} bytes`);
|
|
11706
11758
|
return {
|
|
11707
11759
|
path: t,
|
|
11708
11760
|
content: r.toString("base64")
|
|
11709
11761
|
};
|
|
11710
11762
|
});
|
|
11711
11763
|
}
|
|
11712
|
-
async function
|
|
11764
|
+
async function Ol(t, n, r, a, o) {
|
|
11713
11765
|
for (let s of await t.getStoredFiles(n, r)) {
|
|
11714
|
-
if (!a.some((e) => s.path === e || s.path.startsWith(`${e.replace(/\/$/, "")}/`) ||
|
|
11715
|
-
let t =
|
|
11766
|
+
if (!a.some((e) => s.path === e || s.path.startsWith(`${e.replace(/\/$/, "")}/`) || Tl(s.path, e))) continue;
|
|
11767
|
+
let t = wl(o, s.path);
|
|
11716
11768
|
e.mkdirSync(i.dirname(t), { recursive: !0 }), e.writeFileSync(t, Buffer.from(s.content, "base64"));
|
|
11717
11769
|
}
|
|
11718
11770
|
}
|
|
11719
|
-
function
|
|
11771
|
+
function kl(t, n, r) {
|
|
11720
11772
|
for (let [a, o] of Object.entries(t || {})) {
|
|
11721
11773
|
let t = n[o];
|
|
11722
11774
|
if (t === void 0) throw Error(`Secret '${o}' is not available for file '${a}'`);
|
|
11723
|
-
let s =
|
|
11775
|
+
let s = wl(r, a);
|
|
11724
11776
|
e.mkdirSync(i.dirname(s), { recursive: !0 }), e.writeFileSync(s, t, { mode: 384 }), e.chmodSync(s, 384);
|
|
11725
11777
|
}
|
|
11726
11778
|
}
|
|
11727
|
-
async function
|
|
11779
|
+
async function Al(t) {
|
|
11728
11780
|
let { workerId: n, jobId: r, stepContext: i, executionContext: a, driver: o, queue: s } = t, { step: c } = i, l = c.id, u = c.name, d;
|
|
11729
11781
|
try {
|
|
11730
11782
|
d = o.execute(i);
|
|
@@ -11739,11 +11791,11 @@ async function kl(t) {
|
|
|
11739
11791
|
logFilePath: ""
|
|
11740
11792
|
};
|
|
11741
11793
|
}
|
|
11742
|
-
|
|
11794
|
+
sl.add(d);
|
|
11743
11795
|
let f = !1, p = setInterval(async () => {
|
|
11744
11796
|
await s.isCancelled(r) && (console.log(`[${n}] 🛑 Job #${r} was cancelled! Halting execution.`), f = !0, clearInterval(p), await d.cancel());
|
|
11745
11797
|
}, 3e3), m = await d.done;
|
|
11746
|
-
if (clearInterval(p),
|
|
11798
|
+
if (clearInterval(p), sl.delete(d), d.logFilePath && e.existsSync(d.logFilePath)) try {
|
|
11747
11799
|
let e = await o.readLog(d.logFilePath);
|
|
11748
11800
|
await s.saveStepLog(r, l, e);
|
|
11749
11801
|
} catch (e) {
|
|
@@ -11770,7 +11822,7 @@ async function kl(t) {
|
|
|
11770
11822
|
}
|
|
11771
11823
|
};
|
|
11772
11824
|
}
|
|
11773
|
-
function
|
|
11825
|
+
function jl(e, t, n) {
|
|
11774
11826
|
for (let r = t; r < e.length; r++) {
|
|
11775
11827
|
let t = e[r], i = t.id || `step-${r}`;
|
|
11776
11828
|
n[r] = {
|
|
@@ -11784,7 +11836,7 @@ function Al(e, t, n) {
|
|
|
11784
11836
|
};
|
|
11785
11837
|
}
|
|
11786
11838
|
}
|
|
11787
|
-
function
|
|
11839
|
+
function Ml(e, t, n, r, i, a, o) {
|
|
11788
11840
|
return {
|
|
11789
11841
|
jobId: String(e.id),
|
|
11790
11842
|
parentId: String(e.parentId || ""),
|
|
@@ -11805,7 +11857,7 @@ function jl(e, t, n, r, i, a, o) {
|
|
|
11805
11857
|
}
|
|
11806
11858
|
//#endregion
|
|
11807
11859
|
//#region src/scheduler.ts
|
|
11808
|
-
function
|
|
11860
|
+
function Nl(e, t, n, r) {
|
|
11809
11861
|
return e.split(",").some((e) => {
|
|
11810
11862
|
let [i, a] = e.split("/"), o = a ? Number(a) : 1;
|
|
11811
11863
|
if (!Number.isInteger(o) || o < 1) return !1;
|
|
@@ -11813,7 +11865,7 @@ function Ml(e, t, n, r) {
|
|
|
11813
11865
|
return Number.isInteger(l) && Number.isInteger(u) && t >= l && t <= u && (t - l) % o === 0;
|
|
11814
11866
|
});
|
|
11815
11867
|
}
|
|
11816
|
-
function
|
|
11868
|
+
function Pl(e, t, n = "UTC") {
|
|
11817
11869
|
let r = e.trim().split(/\s+/);
|
|
11818
11870
|
if (r.length !== 5) return !1;
|
|
11819
11871
|
let i = new Intl.DateTimeFormat("en-US", {
|
|
@@ -11835,16 +11887,16 @@ function Nl(e, t, n = "UTC") {
|
|
|
11835
11887
|
"Thu",
|
|
11836
11888
|
"Fri",
|
|
11837
11889
|
"Sat"
|
|
11838
|
-
].indexOf(i.weekday), o =
|
|
11839
|
-
return
|
|
11890
|
+
].indexOf(i.weekday), o = Nl(r[2], Number(i.day), 1, 31), s = Nl(r[4].replace(/7/g, "0"), a, 0, 6);
|
|
11891
|
+
return Nl(r[0], Number(i.minute), 0, 59) && Nl(r[1], Number(i.hour), 0, 23) && Nl(r[3], Number(i.month), 1, 12) && (r[2] === "*" || r[4] === "*" ? o && s : o || s);
|
|
11840
11892
|
}
|
|
11841
|
-
function
|
|
11893
|
+
function Fl(e) {
|
|
11842
11894
|
if (!e) return 0;
|
|
11843
11895
|
let t = e.match(/^([+-]?)(\d+)(m|h)$/);
|
|
11844
11896
|
if (!t) throw Error(`Invalid solar offset: ${e}`);
|
|
11845
11897
|
return (t[1] === "-" ? -1 : 1) * Number(t[2]) * (t[3] === "h" ? 36e5 : 6e4);
|
|
11846
11898
|
}
|
|
11847
|
-
function
|
|
11899
|
+
function Il(e, t) {
|
|
11848
11900
|
let n = t.latitude, r = t.longitude, i = Date.UTC(e.getUTCFullYear(), e.getUTCMonth(), e.getUTCDate()), a = Math.floor((i - Date.UTC(e.getUTCFullYear(), 0, 0)) / 864e5), o = r / 15, s = a + ((t.event === "sunrise" ? 6 : 18) - o) / 24, c = .9856 * s - 3.289, l = c + 1.916 * Math.sin(c * Math.PI / 180) + .02 * Math.sin(2 * c * Math.PI / 180) + 282.634;
|
|
11849
11901
|
l = (l + 360) % 360;
|
|
11850
11902
|
let u = Math.atan(.91764 * Math.tan(l * Math.PI / 180)) * 180 / Math.PI;
|
|
@@ -11852,9 +11904,9 @@ function Fl(e, t) {
|
|
|
11852
11904
|
let d = .39782 * Math.sin(l * Math.PI / 180), f = Math.cos(Math.asin(d)), p = (Math.cos(90.833 * Math.PI / 180) - d * Math.sin(n * Math.PI / 180)) / (f * Math.cos(n * Math.PI / 180));
|
|
11853
11905
|
if (p > 1 || p < -1) return null;
|
|
11854
11906
|
let m = (t.event === "sunrise" ? 360 - Math.acos(p) * 180 / Math.PI : Math.acos(p) * 180 / Math.PI) / 15;
|
|
11855
|
-
return m = (m + u - .06571 * s - 6.622 - o + 24) % 24, new Date(i + m * 36e5 +
|
|
11907
|
+
return m = (m + u - .06571 * s - 6.622 - o + 24) % 24, new Date(i + m * 36e5 + Fl(t.offset));
|
|
11856
11908
|
}
|
|
11857
|
-
var
|
|
11909
|
+
var Ll = class {
|
|
11858
11910
|
queue;
|
|
11859
11911
|
workflows;
|
|
11860
11912
|
config;
|
|
@@ -11871,9 +11923,9 @@ var Il = class {
|
|
|
11871
11923
|
async tick(e = /* @__PURE__ */ new Date()) {
|
|
11872
11924
|
let t = /* @__PURE__ */ new Date(Math.floor(e.getTime() / 6e4) * 6e4);
|
|
11873
11925
|
for (let { definition: e, revision: n } of await this.workflows.published()) {
|
|
11874
|
-
for (let [r, i] of (e.schedule || []).entries())
|
|
11926
|
+
for (let [r, i] of (e.schedule || []).entries()) Pl(i.cron, t, i.timezone || "UTC") && await this.enqueue(e, n, i, `cron-${r}`, t);
|
|
11875
11927
|
for (let [r, i] of (e.solar || []).entries()) {
|
|
11876
|
-
let a =
|
|
11928
|
+
let a = Il(t, i);
|
|
11877
11929
|
a && Math.floor(a.getTime() / 6e4) === t.getTime() / 6e4 && await this.enqueue(e, n, i, `solar-${r}`, t);
|
|
11878
11930
|
}
|
|
11879
11931
|
}
|
|
@@ -11887,7 +11939,7 @@ var Il = class {
|
|
|
11887
11939
|
scheduledFor: i.toISOString(),
|
|
11888
11940
|
...n
|
|
11889
11941
|
} };
|
|
11890
|
-
for (let n of
|
|
11942
|
+
for (let n of Qn(e)) {
|
|
11891
11943
|
let r = {
|
|
11892
11944
|
inputs: o,
|
|
11893
11945
|
matrix: n.matrixContext
|
|
@@ -11899,7 +11951,7 @@ var Il = class {
|
|
|
11899
11951
|
};
|
|
11900
11952
|
//#endregion
|
|
11901
11953
|
//#region src/logger.ts
|
|
11902
|
-
function
|
|
11954
|
+
function Rl() {
|
|
11903
11955
|
for (let e of [
|
|
11904
11956
|
"log",
|
|
11905
11957
|
"info",
|
|
@@ -11913,51 +11965,9 @@ function Ll() {
|
|
|
11913
11965
|
}
|
|
11914
11966
|
}
|
|
11915
11967
|
//#endregion
|
|
11916
|
-
//#region src/plugins/github-status.plugin.ts
|
|
11917
|
-
var Rl = class {
|
|
11918
|
-
name = "github-commit-status";
|
|
11919
|
-
token;
|
|
11920
|
-
apiUrl;
|
|
11921
|
-
context;
|
|
11922
|
-
constructor(e) {
|
|
11923
|
-
this.token = e.token, this.apiUrl = e.apiUrl || "https://api.github.com/", this.context = e.context || "on";
|
|
11924
|
-
}
|
|
11925
|
-
async onWorkflowStart(e) {
|
|
11926
|
-
this.hasCoordinates(e) && await this.updateStatus(e, "pending", "Workflow build has started.");
|
|
11927
|
-
}
|
|
11928
|
-
async onWorkflowFinish(e, t) {
|
|
11929
|
-
if (!this.hasCoordinates(e)) return;
|
|
11930
|
-
let n = t === "success" ? "success" : t === "failed" ? "failure" : "error", r = t === "success" ? "Workflow completed successfully." : `Workflow ${t}.`;
|
|
11931
|
-
await this.updateStatus(e, n, r);
|
|
11932
|
-
}
|
|
11933
|
-
async updateStatus(e, t, n) {
|
|
11934
|
-
let r = encodeURIComponent(String(e.inputs.owner)), i = encodeURIComponent(String(e.inputs.repo)), a = encodeURIComponent(String(e.inputs.commit_sha)), o = this.apiUrl.endsWith("/") ? this.apiUrl : `${this.apiUrl}/`, s = await fetch(new URL(`repos/${r}/${i}/statuses/${a}`, o), {
|
|
11935
|
-
method: "POST",
|
|
11936
|
-
headers: {
|
|
11937
|
-
Accept: "application/vnd.github+json",
|
|
11938
|
-
Authorization: `Bearer ${this.token}`,
|
|
11939
|
-
"Content-Type": "application/json",
|
|
11940
|
-
"User-Agent": "@cloud-cli/on",
|
|
11941
|
-
"X-GitHub-Api-Version": "2022-11-28"
|
|
11942
|
-
},
|
|
11943
|
-
signal: AbortSignal.timeout(1e4),
|
|
11944
|
-
body: JSON.stringify({
|
|
11945
|
-
state: t,
|
|
11946
|
-
target_url: e.runUrl,
|
|
11947
|
-
description: n.slice(0, 140),
|
|
11948
|
-
context: `${this.context}/${e.workflowName}`.slice(0, 100)
|
|
11949
|
-
})
|
|
11950
|
-
});
|
|
11951
|
-
if (!s.ok) throw Error(`GitHub status update failed with HTTP ${s.status}: ${await s.text()}`);
|
|
11952
|
-
}
|
|
11953
|
-
hasCoordinates(e) {
|
|
11954
|
-
return !!(this.token && e.inputs.owner && e.inputs.repo && e.inputs.commit_sha);
|
|
11955
|
-
}
|
|
11956
|
-
};
|
|
11957
|
-
//#endregion
|
|
11958
11968
|
//#region src/index.ts
|
|
11959
11969
|
async function zl() {
|
|
11960
|
-
|
|
11970
|
+
Rl();
|
|
11961
11971
|
let { config: e, command: t } = await ce();
|
|
11962
11972
|
e || process.exit(1);
|
|
11963
11973
|
let n = new me(), r = new pe(process.env.WORKER_NAME || "cli");
|
|
@@ -11972,13 +11982,13 @@ async function zl() {
|
|
|
11972
11982
|
});
|
|
11973
11983
|
break;
|
|
11974
11984
|
case "start-workers":
|
|
11975
|
-
console.log(`⚙️ Starting worker scheduler with ${e.workers} concurrent slot(s)...`), await r.init(),
|
|
11985
|
+
console.log(`⚙️ Starting worker scheduler with ${e.workers} concurrent slot(s)...`), await r.init(), dl(e.workers, r, n, e);
|
|
11976
11986
|
break;
|
|
11977
11987
|
case "start-scheduler": {
|
|
11978
11988
|
console.log("Starting workflow scheduler..."), await r.init();
|
|
11979
11989
|
let t = new Yc();
|
|
11980
11990
|
await t.init();
|
|
11981
|
-
let n = new
|
|
11991
|
+
let n = new Ll(r, t, e);
|
|
11982
11992
|
n.start();
|
|
11983
11993
|
let i = () => {
|
|
11984
11994
|
n.stop(), process.exit(0);
|
|
@@ -11991,4 +12001,4 @@ async function zl() {
|
|
|
11991
12001
|
}
|
|
11992
12002
|
zl().catch(console.error);
|
|
11993
12003
|
//#endregion
|
|
11994
|
-
export {
|
|
12004
|
+
export { al as GitHubStatusPlugin };
|