@player-ui/stage-revert-data-plugin 0.8.0-next.0 → 0.8.0-next.2
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.
|
@@ -453,8 +453,8 @@ var StageRevertDataPlugin = function() {
|
|
|
453
453
|
try {
|
|
454
454
|
for(var _iterator = Array.from(pairs)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
455
455
|
var entry = _step.value;
|
|
456
|
-
var _entry = _sliced_to_array(entry, 2),
|
|
457
|
-
if (dlv_es_default(searchObj,
|
|
456
|
+
var _entry = _sliced_to_array(entry, 2), path = _entry[0], value = _entry[1];
|
|
457
|
+
if (dlv_es_default(searchObj, path) !== value) {
|
|
458
458
|
return false;
|
|
459
459
|
}
|
|
460
460
|
}
|
|
@@ -1030,17 +1030,17 @@ var StageRevertDataPlugin = function() {
|
|
|
1030
1030
|
break;
|
|
1031
1031
|
}
|
|
1032
1032
|
}
|
|
1033
|
-
var
|
|
1034
|
-
if (Object.prototype.hasOwnProperty.call(literals,
|
|
1033
|
+
var identifier = expr.slice(start, index);
|
|
1034
|
+
if (Object.prototype.hasOwnProperty.call(literals, identifier)) {
|
|
1035
1035
|
return {
|
|
1036
1036
|
__id: ExpNodeOpaqueIdentifier,
|
|
1037
1037
|
type: "Literal",
|
|
1038
|
-
value: literals[
|
|
1039
|
-
raw:
|
|
1038
|
+
value: literals[identifier],
|
|
1039
|
+
raw: identifier,
|
|
1040
1040
|
location: getLocation(start)
|
|
1041
1041
|
};
|
|
1042
1042
|
}
|
|
1043
|
-
if (
|
|
1043
|
+
if (identifier === thisStr) {
|
|
1044
1044
|
return {
|
|
1045
1045
|
__id: ExpNodeOpaqueIdentifier,
|
|
1046
1046
|
type: "ThisExpression",
|
|
@@ -1050,7 +1050,7 @@ var StageRevertDataPlugin = function() {
|
|
|
1050
1050
|
return {
|
|
1051
1051
|
__id: ExpNodeOpaqueIdentifier,
|
|
1052
1052
|
type: "Identifier",
|
|
1053
|
-
name:
|
|
1053
|
+
name: identifier,
|
|
1054
1054
|
location: getLocation(start)
|
|
1055
1055
|
};
|
|
1056
1056
|
}
|
|
@@ -1190,19 +1190,19 @@ var StageRevertDataPlugin = function() {
|
|
|
1190
1190
|
}
|
|
1191
1191
|
return typeof expr === "object" && expr !== null && !Array.isArray(expr) && "value" in expr;
|
|
1192
1192
|
};
|
|
1193
|
-
var
|
|
1193
|
+
var parse2 = function parse2(schema) {
|
|
1194
1194
|
var _loop = function() {
|
|
1195
1195
|
var next = parseQueue.shift();
|
|
1196
1196
|
if (!next) {
|
|
1197
1197
|
return "break";
|
|
1198
1198
|
}
|
|
1199
|
-
var node = next.node,
|
|
1199
|
+
var node = next.node, path = next.path, visited = next.visited;
|
|
1200
1200
|
Object.entries(node).forEach(function(param) {
|
|
1201
1201
|
var _param = _sliced_to_array(param, 2), prop = _param[0], type = _param[1];
|
|
1202
|
-
var
|
|
1202
|
+
var nestedPath = _to_consumable_array(path).concat([
|
|
1203
1203
|
prop
|
|
1204
1204
|
]);
|
|
1205
|
-
var nestedPathStr =
|
|
1205
|
+
var nestedPathStr = nestedPath.join(".");
|
|
1206
1206
|
if (expandedPaths.has(nestedPathStr)) {
|
|
1207
1207
|
throw new Error("Path has already been processed. There's either a loop somewhere or a bug");
|
|
1208
1208
|
}
|
|
@@ -1211,14 +1211,14 @@ var StageRevertDataPlugin = function() {
|
|
|
1211
1211
|
}
|
|
1212
1212
|
expandedPaths.set(nestedPathStr, type);
|
|
1213
1213
|
if (type.isArray) {
|
|
1214
|
-
|
|
1214
|
+
nestedPath.push("[]");
|
|
1215
1215
|
}
|
|
1216
1216
|
if (type.isRecord) {
|
|
1217
|
-
|
|
1217
|
+
nestedPath.push("{}");
|
|
1218
1218
|
}
|
|
1219
1219
|
if (type.type && schema[type.type]) {
|
|
1220
1220
|
parseQueue.push({
|
|
1221
|
-
path:
|
|
1221
|
+
path: nestedPath,
|
|
1222
1222
|
node: schema[type.type],
|
|
1223
1223
|
visited: /* @__PURE__ */ new Set(_to_consumable_array(visited).concat([
|
|
1224
1224
|
type.type
|
|
@@ -1444,7 +1444,7 @@ var StageRevertDataPlugin = function() {
|
|
|
1444
1444
|
};
|
|
1445
1445
|
};
|
|
1446
1446
|
var objectToBatchSet = function objectToBatchSet(obj) {
|
|
1447
|
-
var flattenedObj =
|
|
1447
|
+
var flattenedObj = flatten(obj);
|
|
1448
1448
|
var batchTxn = [];
|
|
1449
1449
|
Object.keys(flattenedObj).forEach(function(key) {
|
|
1450
1450
|
batchTxn.push([
|
|
@@ -1622,3588 +1622,6 @@ var StageRevertDataPlugin = function() {
|
|
|
1622
1622
|
exports.toError = toError;
|
|
1623
1623
|
}
|
|
1624
1624
|
});
|
|
1625
|
-
// ../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/node_modules/.aspect_rules_js/arr-flatten@1.1.0/node_modules/arr-flatten/index.js
|
|
1626
|
-
var require_arr_flatten = __commonJS({
|
|
1627
|
-
"../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/node_modules/.aspect_rules_js/arr-flatten@1.1.0/node_modules/arr-flatten/index.js": function(exports, module) {
|
|
1628
|
-
"use strict";
|
|
1629
|
-
module.exports = function(arr) {
|
|
1630
|
-
return flat(arr, []);
|
|
1631
|
-
};
|
|
1632
|
-
function flat(arr, res) {
|
|
1633
|
-
var i = 0, cur;
|
|
1634
|
-
var len = arr.length;
|
|
1635
|
-
for(; i < len; i++){
|
|
1636
|
-
cur = arr[i];
|
|
1637
|
-
Array.isArray(cur) ? flat(cur, res) : res.push(cur);
|
|
1638
|
-
}
|
|
1639
|
-
return res;
|
|
1640
|
-
}
|
|
1641
|
-
}
|
|
1642
|
-
});
|
|
1643
|
-
// ../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/node_modules/.aspect_rules_js/parsimmon@1.18.1/node_modules/parsimmon/src/parsimmon.js
|
|
1644
|
-
var require_parsimmon = __commonJS({
|
|
1645
|
-
"../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/node_modules/.aspect_rules_js/parsimmon@1.18.1/node_modules/parsimmon/src/parsimmon.js": function(exports, module) {
|
|
1646
|
-
"use strict";
|
|
1647
|
-
function Parsimmon(action) {
|
|
1648
|
-
if (!_instanceof(this, Parsimmon)) {
|
|
1649
|
-
return new Parsimmon(action);
|
|
1650
|
-
}
|
|
1651
|
-
this._ = action;
|
|
1652
|
-
}
|
|
1653
|
-
var _ = Parsimmon.prototype;
|
|
1654
|
-
function times(n, f) {
|
|
1655
|
-
var i = 0;
|
|
1656
|
-
for(i; i < n; i++){
|
|
1657
|
-
f(i);
|
|
1658
|
-
}
|
|
1659
|
-
}
|
|
1660
|
-
function forEach(f, arr) {
|
|
1661
|
-
times(arr.length, function(i) {
|
|
1662
|
-
f(arr[i], i, arr);
|
|
1663
|
-
});
|
|
1664
|
-
}
|
|
1665
|
-
function reduce(f, seed, arr) {
|
|
1666
|
-
forEach(function(elem, i, arr2) {
|
|
1667
|
-
seed = f(seed, elem, i, arr2);
|
|
1668
|
-
}, arr);
|
|
1669
|
-
return seed;
|
|
1670
|
-
}
|
|
1671
|
-
function map(f, arr) {
|
|
1672
|
-
return reduce(function(acc, elem, i, a) {
|
|
1673
|
-
return acc.concat([
|
|
1674
|
-
f(elem, i, a)
|
|
1675
|
-
]);
|
|
1676
|
-
}, [], arr);
|
|
1677
|
-
}
|
|
1678
|
-
function lshiftBuffer(input) {
|
|
1679
|
-
var asTwoBytes = reduce(function(a, v, i, b) {
|
|
1680
|
-
return a.concat(i === b.length - 1 ? Buffer.from([
|
|
1681
|
-
v,
|
|
1682
|
-
0
|
|
1683
|
-
]).readUInt16BE(0) : b.readUInt16BE(i));
|
|
1684
|
-
}, [], input);
|
|
1685
|
-
return Buffer.from(map(function(x) {
|
|
1686
|
-
return (x << 1 & 65535) >> 8;
|
|
1687
|
-
}, asTwoBytes));
|
|
1688
|
-
}
|
|
1689
|
-
function consumeBitsFromBuffer(n, input) {
|
|
1690
|
-
var state = {
|
|
1691
|
-
v: 0,
|
|
1692
|
-
buf: input
|
|
1693
|
-
};
|
|
1694
|
-
times(n, function() {
|
|
1695
|
-
state = {
|
|
1696
|
-
v: state.v << 1 | bitPeekBuffer(state.buf),
|
|
1697
|
-
buf: lshiftBuffer(state.buf)
|
|
1698
|
-
};
|
|
1699
|
-
});
|
|
1700
|
-
return state;
|
|
1701
|
-
}
|
|
1702
|
-
function bitPeekBuffer(input) {
|
|
1703
|
-
return input[0] >> 7;
|
|
1704
|
-
}
|
|
1705
|
-
function sum(numArr) {
|
|
1706
|
-
return reduce(function(x, y) {
|
|
1707
|
-
return x + y;
|
|
1708
|
-
}, 0, numArr);
|
|
1709
|
-
}
|
|
1710
|
-
function find2(pred, arr) {
|
|
1711
|
-
return reduce(function(found, elem) {
|
|
1712
|
-
return found || (pred(elem) ? elem : found);
|
|
1713
|
-
}, null, arr);
|
|
1714
|
-
}
|
|
1715
|
-
function bufferExists() {
|
|
1716
|
-
return typeof Buffer !== "undefined";
|
|
1717
|
-
}
|
|
1718
|
-
function setExists() {
|
|
1719
|
-
if (Parsimmon._supportsSet !== void 0) {
|
|
1720
|
-
return Parsimmon._supportsSet;
|
|
1721
|
-
}
|
|
1722
|
-
var exists = typeof Set !== "undefined";
|
|
1723
|
-
Parsimmon._supportsSet = exists;
|
|
1724
|
-
return exists;
|
|
1725
|
-
}
|
|
1726
|
-
function ensureBuffer() {
|
|
1727
|
-
if (!bufferExists()) {
|
|
1728
|
-
throw new Error("Buffer global does not exist; please use webpack if you need to parse Buffers in the browser.");
|
|
1729
|
-
}
|
|
1730
|
-
}
|
|
1731
|
-
function bitSeq(alignments) {
|
|
1732
|
-
ensureBuffer();
|
|
1733
|
-
var totalBits = sum(alignments);
|
|
1734
|
-
if (totalBits % 8 !== 0) {
|
|
1735
|
-
throw new Error("The bits [" + alignments.join(", ") + "] add up to " + totalBits + " which is not an even number of bytes; the total should be divisible by 8");
|
|
1736
|
-
}
|
|
1737
|
-
var bytes = totalBits / 8;
|
|
1738
|
-
var tooBigRange = find2(function(x) {
|
|
1739
|
-
return x > 48;
|
|
1740
|
-
}, alignments);
|
|
1741
|
-
if (tooBigRange) {
|
|
1742
|
-
throw new Error(tooBigRange + " bit range requested exceeds 48 bit (6 byte) Number max.");
|
|
1743
|
-
}
|
|
1744
|
-
return new Parsimmon(function(input, i) {
|
|
1745
|
-
var newPos = bytes + i;
|
|
1746
|
-
if (newPos > input.length) {
|
|
1747
|
-
return makeFailure(i, bytes.toString() + " bytes");
|
|
1748
|
-
}
|
|
1749
|
-
return makeSuccess(newPos, reduce(function(acc, bits) {
|
|
1750
|
-
var state = consumeBitsFromBuffer(bits, acc.buf);
|
|
1751
|
-
return {
|
|
1752
|
-
coll: acc.coll.concat(state.v),
|
|
1753
|
-
buf: state.buf
|
|
1754
|
-
};
|
|
1755
|
-
}, {
|
|
1756
|
-
coll: [],
|
|
1757
|
-
buf: input.slice(i, newPos)
|
|
1758
|
-
}, alignments).coll);
|
|
1759
|
-
});
|
|
1760
|
-
}
|
|
1761
|
-
function bitSeqObj(namedAlignments) {
|
|
1762
|
-
ensureBuffer();
|
|
1763
|
-
var seenKeys = {};
|
|
1764
|
-
var totalKeys = 0;
|
|
1765
|
-
var fullAlignments = map(function(item) {
|
|
1766
|
-
if (isArray(item)) {
|
|
1767
|
-
var pair = item;
|
|
1768
|
-
if (pair.length !== 2) {
|
|
1769
|
-
throw new Error("[" + pair.join(", ") + "] should be length 2, got length " + pair.length);
|
|
1770
|
-
}
|
|
1771
|
-
assertString(pair[0]);
|
|
1772
|
-
assertNumber(pair[1]);
|
|
1773
|
-
if (Object.prototype.hasOwnProperty.call(seenKeys, pair[0])) {
|
|
1774
|
-
throw new Error("duplicate key in bitSeqObj: " + pair[0]);
|
|
1775
|
-
}
|
|
1776
|
-
seenKeys[pair[0]] = true;
|
|
1777
|
-
totalKeys++;
|
|
1778
|
-
return pair;
|
|
1779
|
-
} else {
|
|
1780
|
-
assertNumber(item);
|
|
1781
|
-
return [
|
|
1782
|
-
null,
|
|
1783
|
-
item
|
|
1784
|
-
];
|
|
1785
|
-
}
|
|
1786
|
-
}, namedAlignments);
|
|
1787
|
-
if (totalKeys < 1) {
|
|
1788
|
-
throw new Error("bitSeqObj expects at least one named pair, got [" + namedAlignments.join(", ") + "]");
|
|
1789
|
-
}
|
|
1790
|
-
var namesOnly = map(function(pair) {
|
|
1791
|
-
return pair[0];
|
|
1792
|
-
}, fullAlignments);
|
|
1793
|
-
var alignmentsOnly = map(function(pair) {
|
|
1794
|
-
return pair[1];
|
|
1795
|
-
}, fullAlignments);
|
|
1796
|
-
return bitSeq(alignmentsOnly).map(function(parsed) {
|
|
1797
|
-
var namedParsed = map(function(name, i) {
|
|
1798
|
-
return [
|
|
1799
|
-
name,
|
|
1800
|
-
parsed[i]
|
|
1801
|
-
];
|
|
1802
|
-
}, namesOnly);
|
|
1803
|
-
return reduce(function(obj, kv) {
|
|
1804
|
-
if (kv[0] !== null) {
|
|
1805
|
-
obj[kv[0]] = kv[1];
|
|
1806
|
-
}
|
|
1807
|
-
return obj;
|
|
1808
|
-
}, {}, namedParsed);
|
|
1809
|
-
});
|
|
1810
|
-
}
|
|
1811
|
-
function parseBufferFor(other, length) {
|
|
1812
|
-
return new Parsimmon(function(input, i) {
|
|
1813
|
-
ensureBuffer();
|
|
1814
|
-
if (i + length > input.length) {
|
|
1815
|
-
return makeFailure(i, length + " bytes for " + other);
|
|
1816
|
-
}
|
|
1817
|
-
return makeSuccess(i + length, input.slice(i, i + length));
|
|
1818
|
-
});
|
|
1819
|
-
}
|
|
1820
|
-
function parseBuffer(length) {
|
|
1821
|
-
return parseBufferFor("buffer", length).map(function(unsafe) {
|
|
1822
|
-
return Buffer.from(unsafe);
|
|
1823
|
-
});
|
|
1824
|
-
}
|
|
1825
|
-
function encodedString(encoding, length) {
|
|
1826
|
-
return parseBufferFor("string", length).map(function(buff) {
|
|
1827
|
-
return buff.toString(encoding);
|
|
1828
|
-
});
|
|
1829
|
-
}
|
|
1830
|
-
function isInteger(value) {
|
|
1831
|
-
return typeof value === "number" && Math.floor(value) === value;
|
|
1832
|
-
}
|
|
1833
|
-
function assertValidIntegerByteLengthFor(who, length) {
|
|
1834
|
-
if (!isInteger(length) || length < 0 || length > 6) {
|
|
1835
|
-
throw new Error(who + " requires integer length in range [0, 6].");
|
|
1836
|
-
}
|
|
1837
|
-
}
|
|
1838
|
-
function uintBE(length) {
|
|
1839
|
-
assertValidIntegerByteLengthFor("uintBE", length);
|
|
1840
|
-
return parseBufferFor("uintBE(" + length + ")", length).map(function(buff) {
|
|
1841
|
-
return buff.readUIntBE(0, length);
|
|
1842
|
-
});
|
|
1843
|
-
}
|
|
1844
|
-
function uintLE(length) {
|
|
1845
|
-
assertValidIntegerByteLengthFor("uintLE", length);
|
|
1846
|
-
return parseBufferFor("uintLE(" + length + ")", length).map(function(buff) {
|
|
1847
|
-
return buff.readUIntLE(0, length);
|
|
1848
|
-
});
|
|
1849
|
-
}
|
|
1850
|
-
function intBE(length) {
|
|
1851
|
-
assertValidIntegerByteLengthFor("intBE", length);
|
|
1852
|
-
return parseBufferFor("intBE(" + length + ")", length).map(function(buff) {
|
|
1853
|
-
return buff.readIntBE(0, length);
|
|
1854
|
-
});
|
|
1855
|
-
}
|
|
1856
|
-
function intLE(length) {
|
|
1857
|
-
assertValidIntegerByteLengthFor("intLE", length);
|
|
1858
|
-
return parseBufferFor("intLE(" + length + ")", length).map(function(buff) {
|
|
1859
|
-
return buff.readIntLE(0, length);
|
|
1860
|
-
});
|
|
1861
|
-
}
|
|
1862
|
-
function floatBE() {
|
|
1863
|
-
return parseBufferFor("floatBE", 4).map(function(buff) {
|
|
1864
|
-
return buff.readFloatBE(0);
|
|
1865
|
-
});
|
|
1866
|
-
}
|
|
1867
|
-
function floatLE() {
|
|
1868
|
-
return parseBufferFor("floatLE", 4).map(function(buff) {
|
|
1869
|
-
return buff.readFloatLE(0);
|
|
1870
|
-
});
|
|
1871
|
-
}
|
|
1872
|
-
function doubleBE() {
|
|
1873
|
-
return parseBufferFor("doubleBE", 8).map(function(buff) {
|
|
1874
|
-
return buff.readDoubleBE(0);
|
|
1875
|
-
});
|
|
1876
|
-
}
|
|
1877
|
-
function doubleLE() {
|
|
1878
|
-
return parseBufferFor("doubleLE", 8).map(function(buff) {
|
|
1879
|
-
return buff.readDoubleLE(0);
|
|
1880
|
-
});
|
|
1881
|
-
}
|
|
1882
|
-
function toArray(arrLike) {
|
|
1883
|
-
return Array.prototype.slice.call(arrLike);
|
|
1884
|
-
}
|
|
1885
|
-
function isParser(obj) {
|
|
1886
|
-
return _instanceof(obj, Parsimmon);
|
|
1887
|
-
}
|
|
1888
|
-
function isArray(x) {
|
|
1889
|
-
return ({}).toString.call(x) === "[object Array]";
|
|
1890
|
-
}
|
|
1891
|
-
function isBuffer(x) {
|
|
1892
|
-
return bufferExists() && Buffer.isBuffer(x);
|
|
1893
|
-
}
|
|
1894
|
-
function makeSuccess(index2, value) {
|
|
1895
|
-
return {
|
|
1896
|
-
status: true,
|
|
1897
|
-
index: index2,
|
|
1898
|
-
value: value,
|
|
1899
|
-
furthest: -1,
|
|
1900
|
-
expected: []
|
|
1901
|
-
};
|
|
1902
|
-
}
|
|
1903
|
-
function makeFailure(index2, expected) {
|
|
1904
|
-
if (!isArray(expected)) {
|
|
1905
|
-
expected = [
|
|
1906
|
-
expected
|
|
1907
|
-
];
|
|
1908
|
-
}
|
|
1909
|
-
return {
|
|
1910
|
-
status: false,
|
|
1911
|
-
index: -1,
|
|
1912
|
-
value: null,
|
|
1913
|
-
furthest: index2,
|
|
1914
|
-
expected: expected
|
|
1915
|
-
};
|
|
1916
|
-
}
|
|
1917
|
-
function mergeReplies(result, last) {
|
|
1918
|
-
if (!last) {
|
|
1919
|
-
return result;
|
|
1920
|
-
}
|
|
1921
|
-
if (result.furthest > last.furthest) {
|
|
1922
|
-
return result;
|
|
1923
|
-
}
|
|
1924
|
-
var expected = result.furthest === last.furthest ? union(result.expected, last.expected) : last.expected;
|
|
1925
|
-
return {
|
|
1926
|
-
status: result.status,
|
|
1927
|
-
index: result.index,
|
|
1928
|
-
value: result.value,
|
|
1929
|
-
furthest: last.furthest,
|
|
1930
|
-
expected: expected
|
|
1931
|
-
};
|
|
1932
|
-
}
|
|
1933
|
-
var lineColumnIndex = {};
|
|
1934
|
-
function makeLineColumnIndex(input, i) {
|
|
1935
|
-
if (isBuffer(input)) {
|
|
1936
|
-
return {
|
|
1937
|
-
offset: i,
|
|
1938
|
-
line: -1,
|
|
1939
|
-
column: -1
|
|
1940
|
-
};
|
|
1941
|
-
}
|
|
1942
|
-
if (!(input in lineColumnIndex)) {
|
|
1943
|
-
lineColumnIndex[input] = {};
|
|
1944
|
-
}
|
|
1945
|
-
var inputIndex = lineColumnIndex[input];
|
|
1946
|
-
var prevLine = 0;
|
|
1947
|
-
var newLines = 0;
|
|
1948
|
-
var lineStart = 0;
|
|
1949
|
-
var j = i;
|
|
1950
|
-
while(j >= 0){
|
|
1951
|
-
if (j in inputIndex) {
|
|
1952
|
-
prevLine = inputIndex[j].line;
|
|
1953
|
-
if (lineStart === 0) {
|
|
1954
|
-
lineStart = inputIndex[j].lineStart;
|
|
1955
|
-
}
|
|
1956
|
-
break;
|
|
1957
|
-
}
|
|
1958
|
-
if (// Unix LF (\n) or Windows CRLF (\r\n) line ending
|
|
1959
|
-
input.charAt(j) === "\n" || // Old Mac CR (\r) line ending
|
|
1960
|
-
input.charAt(j) === "\r" && input.charAt(j + 1) !== "\n") {
|
|
1961
|
-
newLines++;
|
|
1962
|
-
if (lineStart === 0) {
|
|
1963
|
-
lineStart = j + 1;
|
|
1964
|
-
}
|
|
1965
|
-
}
|
|
1966
|
-
j--;
|
|
1967
|
-
}
|
|
1968
|
-
var lineWeAreUpTo = prevLine + newLines;
|
|
1969
|
-
var columnWeAreUpTo = i - lineStart;
|
|
1970
|
-
inputIndex[i] = {
|
|
1971
|
-
line: lineWeAreUpTo,
|
|
1972
|
-
lineStart: lineStart
|
|
1973
|
-
};
|
|
1974
|
-
return {
|
|
1975
|
-
offset: i,
|
|
1976
|
-
line: lineWeAreUpTo + 1,
|
|
1977
|
-
column: columnWeAreUpTo + 1
|
|
1978
|
-
};
|
|
1979
|
-
}
|
|
1980
|
-
function union(xs, ys) {
|
|
1981
|
-
if (setExists() && Array.from) {
|
|
1982
|
-
var set2 = new Set(xs);
|
|
1983
|
-
for(var y = 0; y < ys.length; y++){
|
|
1984
|
-
set2.add(ys[y]);
|
|
1985
|
-
}
|
|
1986
|
-
var arr = Array.from(set2);
|
|
1987
|
-
arr.sort();
|
|
1988
|
-
return arr;
|
|
1989
|
-
}
|
|
1990
|
-
var obj = {};
|
|
1991
|
-
for(var i = 0; i < xs.length; i++){
|
|
1992
|
-
obj[xs[i]] = true;
|
|
1993
|
-
}
|
|
1994
|
-
for(var j = 0; j < ys.length; j++){
|
|
1995
|
-
obj[ys[j]] = true;
|
|
1996
|
-
}
|
|
1997
|
-
var keys = [];
|
|
1998
|
-
for(var k in obj){
|
|
1999
|
-
if (({}).hasOwnProperty.call(obj, k)) {
|
|
2000
|
-
keys.push(k);
|
|
2001
|
-
}
|
|
2002
|
-
}
|
|
2003
|
-
keys.sort();
|
|
2004
|
-
return keys;
|
|
2005
|
-
}
|
|
2006
|
-
function assertParser(p) {
|
|
2007
|
-
if (!isParser(p)) {
|
|
2008
|
-
throw new Error("not a parser: " + p);
|
|
2009
|
-
}
|
|
2010
|
-
}
|
|
2011
|
-
function get(input, i) {
|
|
2012
|
-
if (typeof input === "string") {
|
|
2013
|
-
return input.charAt(i);
|
|
2014
|
-
}
|
|
2015
|
-
return input[i];
|
|
2016
|
-
}
|
|
2017
|
-
function assertArray(x) {
|
|
2018
|
-
if (!isArray(x)) {
|
|
2019
|
-
throw new Error("not an array: " + x);
|
|
2020
|
-
}
|
|
2021
|
-
}
|
|
2022
|
-
function assertNumber(x) {
|
|
2023
|
-
if (typeof x !== "number") {
|
|
2024
|
-
throw new Error("not a number: " + x);
|
|
2025
|
-
}
|
|
2026
|
-
}
|
|
2027
|
-
function assertRegexp(x) {
|
|
2028
|
-
if (!_instanceof(x, RegExp)) {
|
|
2029
|
-
throw new Error("not a regexp: " + x);
|
|
2030
|
-
}
|
|
2031
|
-
var f = flags(x);
|
|
2032
|
-
for(var i = 0; i < f.length; i++){
|
|
2033
|
-
var c = f.charAt(i);
|
|
2034
|
-
if (c !== "i" && c !== "m" && c !== "u" && c !== "s") {
|
|
2035
|
-
throw new Error('unsupported regexp flag "' + c + '": ' + x);
|
|
2036
|
-
}
|
|
2037
|
-
}
|
|
2038
|
-
}
|
|
2039
|
-
function assertFunction(x) {
|
|
2040
|
-
if (typeof x !== "function") {
|
|
2041
|
-
throw new Error("not a function: " + x);
|
|
2042
|
-
}
|
|
2043
|
-
}
|
|
2044
|
-
function assertString(x) {
|
|
2045
|
-
if (typeof x !== "string") {
|
|
2046
|
-
throw new Error("not a string: " + x);
|
|
2047
|
-
}
|
|
2048
|
-
}
|
|
2049
|
-
var linesBeforeStringError = 2;
|
|
2050
|
-
var linesAfterStringError = 3;
|
|
2051
|
-
var bytesPerLine = 8;
|
|
2052
|
-
var bytesBefore = bytesPerLine * 5;
|
|
2053
|
-
var bytesAfter = bytesPerLine * 4;
|
|
2054
|
-
var defaultLinePrefix = " ";
|
|
2055
|
-
function repeat(string2, amount) {
|
|
2056
|
-
return new Array(amount + 1).join(string2);
|
|
2057
|
-
}
|
|
2058
|
-
function formatExpected(expected) {
|
|
2059
|
-
if (expected.length === 1) {
|
|
2060
|
-
return "Expected:\n\n" + expected[0];
|
|
2061
|
-
}
|
|
2062
|
-
return "Expected one of the following: \n\n" + expected.join(", ");
|
|
2063
|
-
}
|
|
2064
|
-
function leftPad(str, pad, char) {
|
|
2065
|
-
var add = pad - str.length;
|
|
2066
|
-
if (add <= 0) {
|
|
2067
|
-
return str;
|
|
2068
|
-
}
|
|
2069
|
-
return repeat(char, add) + str;
|
|
2070
|
-
}
|
|
2071
|
-
function toChunks(arr, chunkSize) {
|
|
2072
|
-
var length = arr.length;
|
|
2073
|
-
var chunks = [];
|
|
2074
|
-
var chunkIndex = 0;
|
|
2075
|
-
if (length <= chunkSize) {
|
|
2076
|
-
return [
|
|
2077
|
-
arr.slice()
|
|
2078
|
-
];
|
|
2079
|
-
}
|
|
2080
|
-
for(var i = 0; i < length; i++){
|
|
2081
|
-
if (!chunks[chunkIndex]) {
|
|
2082
|
-
chunks.push([]);
|
|
2083
|
-
}
|
|
2084
|
-
chunks[chunkIndex].push(arr[i]);
|
|
2085
|
-
if ((i + 1) % chunkSize === 0) {
|
|
2086
|
-
chunkIndex++;
|
|
2087
|
-
}
|
|
2088
|
-
}
|
|
2089
|
-
return chunks;
|
|
2090
|
-
}
|
|
2091
|
-
function rangeFromIndexAndOffsets(i, before, after, length) {
|
|
2092
|
-
return {
|
|
2093
|
-
// Guard against the negative upper bound for lines included in the output.
|
|
2094
|
-
from: i - before > 0 ? i - before : 0,
|
|
2095
|
-
to: i + after > length ? length : i + after
|
|
2096
|
-
};
|
|
2097
|
-
}
|
|
2098
|
-
function byteRangeToRange(byteRange) {
|
|
2099
|
-
if (byteRange.from === 0 && byteRange.to === 1) {
|
|
2100
|
-
return {
|
|
2101
|
-
from: byteRange.from,
|
|
2102
|
-
to: byteRange.to
|
|
2103
|
-
};
|
|
2104
|
-
}
|
|
2105
|
-
return {
|
|
2106
|
-
from: byteRange.from / bytesPerLine,
|
|
2107
|
-
// Round `to`, so we don't get float if the amount of bytes is not divisible by `bytesPerLine`
|
|
2108
|
-
to: Math.floor(byteRange.to / bytesPerLine)
|
|
2109
|
-
};
|
|
2110
|
-
}
|
|
2111
|
-
function formatGot(input, error) {
|
|
2112
|
-
var index2 = error.index;
|
|
2113
|
-
var i = index2.offset;
|
|
2114
|
-
var verticalMarkerLength = 1;
|
|
2115
|
-
var column;
|
|
2116
|
-
var lineWithErrorIndex;
|
|
2117
|
-
var lines;
|
|
2118
|
-
var lineRange;
|
|
2119
|
-
var lastLineNumberLabelLength;
|
|
2120
|
-
if (i === input.length) {
|
|
2121
|
-
return "Got the end of the input";
|
|
2122
|
-
}
|
|
2123
|
-
if (isBuffer(input)) {
|
|
2124
|
-
var byteLineWithErrorIndex = i - i % bytesPerLine;
|
|
2125
|
-
var columnByteIndex = i - byteLineWithErrorIndex;
|
|
2126
|
-
var byteRange = rangeFromIndexAndOffsets(byteLineWithErrorIndex, bytesBefore, bytesAfter + bytesPerLine, input.length);
|
|
2127
|
-
var bytes = input.slice(byteRange.from, byteRange.to);
|
|
2128
|
-
var bytesInChunks = toChunks(bytes.toJSON().data, bytesPerLine);
|
|
2129
|
-
var byteLines = map(function(byteRow) {
|
|
2130
|
-
return map(function(byteValue) {
|
|
2131
|
-
return leftPad(byteValue.toString(16), 2, "0");
|
|
2132
|
-
}, byteRow);
|
|
2133
|
-
}, bytesInChunks);
|
|
2134
|
-
lineRange = byteRangeToRange(byteRange);
|
|
2135
|
-
lineWithErrorIndex = byteLineWithErrorIndex / bytesPerLine;
|
|
2136
|
-
column = columnByteIndex * 3;
|
|
2137
|
-
if (columnByteIndex >= 4) {
|
|
2138
|
-
column += 1;
|
|
2139
|
-
}
|
|
2140
|
-
verticalMarkerLength = 2;
|
|
2141
|
-
lines = map(function(byteLine) {
|
|
2142
|
-
return byteLine.length <= 4 ? byteLine.join(" ") : byteLine.slice(0, 4).join(" ") + " " + byteLine.slice(4).join(" ");
|
|
2143
|
-
}, byteLines);
|
|
2144
|
-
lastLineNumberLabelLength = ((lineRange.to > 0 ? lineRange.to - 1 : lineRange.to) * 8).toString(16).length;
|
|
2145
|
-
if (lastLineNumberLabelLength < 2) {
|
|
2146
|
-
lastLineNumberLabelLength = 2;
|
|
2147
|
-
}
|
|
2148
|
-
} else {
|
|
2149
|
-
var inputLines = input.split(/\r\n|[\n\r\u2028\u2029]/);
|
|
2150
|
-
column = index2.column - 1;
|
|
2151
|
-
lineWithErrorIndex = index2.line - 1;
|
|
2152
|
-
lineRange = rangeFromIndexAndOffsets(lineWithErrorIndex, linesBeforeStringError, linesAfterStringError, inputLines.length);
|
|
2153
|
-
lines = inputLines.slice(lineRange.from, lineRange.to);
|
|
2154
|
-
lastLineNumberLabelLength = lineRange.to.toString().length;
|
|
2155
|
-
}
|
|
2156
|
-
var lineWithErrorCurrentIndex = lineWithErrorIndex - lineRange.from;
|
|
2157
|
-
if (isBuffer(input)) {
|
|
2158
|
-
lastLineNumberLabelLength = ((lineRange.to > 0 ? lineRange.to - 1 : lineRange.to) * 8).toString(16).length;
|
|
2159
|
-
if (lastLineNumberLabelLength < 2) {
|
|
2160
|
-
lastLineNumberLabelLength = 2;
|
|
2161
|
-
}
|
|
2162
|
-
}
|
|
2163
|
-
var linesWithLineNumbers = reduce(function(acc, lineSource, index3) {
|
|
2164
|
-
var isLineWithError = index3 === lineWithErrorCurrentIndex;
|
|
2165
|
-
var prefix = isLineWithError ? "> " : defaultLinePrefix;
|
|
2166
|
-
var lineNumberLabel;
|
|
2167
|
-
if (isBuffer(input)) {
|
|
2168
|
-
lineNumberLabel = leftPad(((lineRange.from + index3) * 8).toString(16), lastLineNumberLabelLength, "0");
|
|
2169
|
-
} else {
|
|
2170
|
-
lineNumberLabel = leftPad((lineRange.from + index3 + 1).toString(), lastLineNumberLabelLength, " ");
|
|
2171
|
-
}
|
|
2172
|
-
return [].concat(acc, [
|
|
2173
|
-
prefix + lineNumberLabel + " | " + lineSource
|
|
2174
|
-
], isLineWithError ? [
|
|
2175
|
-
defaultLinePrefix + repeat(" ", lastLineNumberLabelLength) + " | " + leftPad("", column, " ") + repeat("^", verticalMarkerLength)
|
|
2176
|
-
] : []);
|
|
2177
|
-
}, [], lines);
|
|
2178
|
-
return linesWithLineNumbers.join("\n");
|
|
2179
|
-
}
|
|
2180
|
-
function formatError(input, error) {
|
|
2181
|
-
return [
|
|
2182
|
-
"\n",
|
|
2183
|
-
"-- PARSING FAILED " + repeat("-", 50),
|
|
2184
|
-
"\n\n",
|
|
2185
|
-
formatGot(input, error),
|
|
2186
|
-
"\n\n",
|
|
2187
|
-
formatExpected(error.expected),
|
|
2188
|
-
"\n"
|
|
2189
|
-
].join("");
|
|
2190
|
-
}
|
|
2191
|
-
function flags(re) {
|
|
2192
|
-
if (re.flags !== void 0) {
|
|
2193
|
-
return re.flags;
|
|
2194
|
-
}
|
|
2195
|
-
return [
|
|
2196
|
-
re.global ? "g" : "",
|
|
2197
|
-
re.ignoreCase ? "i" : "",
|
|
2198
|
-
re.multiline ? "m" : "",
|
|
2199
|
-
re.unicode ? "u" : "",
|
|
2200
|
-
re.sticky ? "y" : ""
|
|
2201
|
-
].join("");
|
|
2202
|
-
}
|
|
2203
|
-
function anchoredRegexp(re) {
|
|
2204
|
-
return RegExp("^(?:" + re.source + ")", flags(re));
|
|
2205
|
-
}
|
|
2206
|
-
function seq() {
|
|
2207
|
-
var parsers = [].slice.call(arguments);
|
|
2208
|
-
var numParsers = parsers.length;
|
|
2209
|
-
for(var j = 0; j < numParsers; j += 1){
|
|
2210
|
-
assertParser(parsers[j]);
|
|
2211
|
-
}
|
|
2212
|
-
return Parsimmon(function(input, i) {
|
|
2213
|
-
var result;
|
|
2214
|
-
var accum = new Array(numParsers);
|
|
2215
|
-
for(var j2 = 0; j2 < numParsers; j2 += 1){
|
|
2216
|
-
result = mergeReplies(parsers[j2]._(input, i), result);
|
|
2217
|
-
if (!result.status) {
|
|
2218
|
-
return result;
|
|
2219
|
-
}
|
|
2220
|
-
accum[j2] = result.value;
|
|
2221
|
-
i = result.index;
|
|
2222
|
-
}
|
|
2223
|
-
return mergeReplies(makeSuccess(i, accum), result);
|
|
2224
|
-
});
|
|
2225
|
-
}
|
|
2226
|
-
function seqObj() {
|
|
2227
|
-
var seenKeys = {};
|
|
2228
|
-
var totalKeys = 0;
|
|
2229
|
-
var parsers = toArray(arguments);
|
|
2230
|
-
var numParsers = parsers.length;
|
|
2231
|
-
for(var j = 0; j < numParsers; j += 1){
|
|
2232
|
-
var p = parsers[j];
|
|
2233
|
-
if (isParser(p)) {
|
|
2234
|
-
continue;
|
|
2235
|
-
}
|
|
2236
|
-
if (isArray(p)) {
|
|
2237
|
-
var isWellFormed = p.length === 2 && typeof p[0] === "string" && isParser(p[1]);
|
|
2238
|
-
if (isWellFormed) {
|
|
2239
|
-
var key = p[0];
|
|
2240
|
-
if (Object.prototype.hasOwnProperty.call(seenKeys, key)) {
|
|
2241
|
-
throw new Error("seqObj: duplicate key " + key);
|
|
2242
|
-
}
|
|
2243
|
-
seenKeys[key] = true;
|
|
2244
|
-
totalKeys++;
|
|
2245
|
-
continue;
|
|
2246
|
-
}
|
|
2247
|
-
}
|
|
2248
|
-
throw new Error("seqObj arguments must be parsers or [string, parser] array pairs.");
|
|
2249
|
-
}
|
|
2250
|
-
if (totalKeys === 0) {
|
|
2251
|
-
throw new Error("seqObj expects at least one named parser, found zero");
|
|
2252
|
-
}
|
|
2253
|
-
return Parsimmon(function(input, i) {
|
|
2254
|
-
var result;
|
|
2255
|
-
var accum = {};
|
|
2256
|
-
for(var j2 = 0; j2 < numParsers; j2 += 1){
|
|
2257
|
-
var name;
|
|
2258
|
-
var parser2;
|
|
2259
|
-
if (isArray(parsers[j2])) {
|
|
2260
|
-
name = parsers[j2][0];
|
|
2261
|
-
parser2 = parsers[j2][1];
|
|
2262
|
-
} else {
|
|
2263
|
-
name = null;
|
|
2264
|
-
parser2 = parsers[j2];
|
|
2265
|
-
}
|
|
2266
|
-
result = mergeReplies(parser2._(input, i), result);
|
|
2267
|
-
if (!result.status) {
|
|
2268
|
-
return result;
|
|
2269
|
-
}
|
|
2270
|
-
if (name) {
|
|
2271
|
-
accum[name] = result.value;
|
|
2272
|
-
}
|
|
2273
|
-
i = result.index;
|
|
2274
|
-
}
|
|
2275
|
-
return mergeReplies(makeSuccess(i, accum), result);
|
|
2276
|
-
});
|
|
2277
|
-
}
|
|
2278
|
-
function seqMap() {
|
|
2279
|
-
var args = [].slice.call(arguments);
|
|
2280
|
-
if (args.length === 0) {
|
|
2281
|
-
throw new Error("seqMap needs at least one argument");
|
|
2282
|
-
}
|
|
2283
|
-
var mapper = args.pop();
|
|
2284
|
-
assertFunction(mapper);
|
|
2285
|
-
return seq.apply(null, args).map(function(results) {
|
|
2286
|
-
return mapper.apply(null, results);
|
|
2287
|
-
});
|
|
2288
|
-
}
|
|
2289
|
-
function createLanguage(parsers) {
|
|
2290
|
-
var language = {};
|
|
2291
|
-
for(var key in parsers){
|
|
2292
|
-
if (({}).hasOwnProperty.call(parsers, key)) {
|
|
2293
|
-
(function(key2) {
|
|
2294
|
-
var func = function func() {
|
|
2295
|
-
return parsers[key2](language);
|
|
2296
|
-
};
|
|
2297
|
-
language[key2] = lazy(func);
|
|
2298
|
-
})(key);
|
|
2299
|
-
}
|
|
2300
|
-
}
|
|
2301
|
-
return language;
|
|
2302
|
-
}
|
|
2303
|
-
function alt() {
|
|
2304
|
-
var parsers = [].slice.call(arguments);
|
|
2305
|
-
var numParsers = parsers.length;
|
|
2306
|
-
if (numParsers === 0) {
|
|
2307
|
-
return fail("zero alternates");
|
|
2308
|
-
}
|
|
2309
|
-
for(var j = 0; j < numParsers; j += 1){
|
|
2310
|
-
assertParser(parsers[j]);
|
|
2311
|
-
}
|
|
2312
|
-
return Parsimmon(function(input, i) {
|
|
2313
|
-
var result;
|
|
2314
|
-
for(var j2 = 0; j2 < parsers.length; j2 += 1){
|
|
2315
|
-
result = mergeReplies(parsers[j2]._(input, i), result);
|
|
2316
|
-
if (result.status) {
|
|
2317
|
-
return result;
|
|
2318
|
-
}
|
|
2319
|
-
}
|
|
2320
|
-
return result;
|
|
2321
|
-
});
|
|
2322
|
-
}
|
|
2323
|
-
function sepBy(parser2, separator) {
|
|
2324
|
-
return sepBy1(parser2, separator).or(succeed([]));
|
|
2325
|
-
}
|
|
2326
|
-
function sepBy1(parser2, separator) {
|
|
2327
|
-
assertParser(parser2);
|
|
2328
|
-
assertParser(separator);
|
|
2329
|
-
var pairs = separator.then(parser2).many();
|
|
2330
|
-
return seqMap(parser2, pairs, function(r, rs) {
|
|
2331
|
-
return [
|
|
2332
|
-
r
|
|
2333
|
-
].concat(rs);
|
|
2334
|
-
});
|
|
2335
|
-
}
|
|
2336
|
-
_.parse = function(input) {
|
|
2337
|
-
if (typeof input !== "string" && !isBuffer(input)) {
|
|
2338
|
-
throw new Error(".parse must be called with a string or Buffer as its argument");
|
|
2339
|
-
}
|
|
2340
|
-
var parseResult = this.skip(eof)._(input, 0);
|
|
2341
|
-
var result;
|
|
2342
|
-
if (parseResult.status) {
|
|
2343
|
-
result = {
|
|
2344
|
-
status: true,
|
|
2345
|
-
value: parseResult.value
|
|
2346
|
-
};
|
|
2347
|
-
} else {
|
|
2348
|
-
result = {
|
|
2349
|
-
status: false,
|
|
2350
|
-
index: makeLineColumnIndex(input, parseResult.furthest),
|
|
2351
|
-
expected: parseResult.expected
|
|
2352
|
-
};
|
|
2353
|
-
}
|
|
2354
|
-
delete lineColumnIndex[input];
|
|
2355
|
-
return result;
|
|
2356
|
-
};
|
|
2357
|
-
_.tryParse = function(str) {
|
|
2358
|
-
var result = this.parse(str);
|
|
2359
|
-
if (result.status) {
|
|
2360
|
-
return result.value;
|
|
2361
|
-
} else {
|
|
2362
|
-
var msg = formatError(str, result);
|
|
2363
|
-
var err = new Error(msg);
|
|
2364
|
-
err.type = "ParsimmonError";
|
|
2365
|
-
err.result = result;
|
|
2366
|
-
throw err;
|
|
2367
|
-
}
|
|
2368
|
-
};
|
|
2369
|
-
_.assert = function(condition, errorMessage) {
|
|
2370
|
-
return this.chain(function(value) {
|
|
2371
|
-
return condition(value) ? succeed(value) : fail(errorMessage);
|
|
2372
|
-
});
|
|
2373
|
-
};
|
|
2374
|
-
_.or = function(alternative) {
|
|
2375
|
-
return alt(this, alternative);
|
|
2376
|
-
};
|
|
2377
|
-
_.trim = function(parser2) {
|
|
2378
|
-
return this.wrap(parser2, parser2);
|
|
2379
|
-
};
|
|
2380
|
-
_.wrap = function(leftParser, rightParser) {
|
|
2381
|
-
return seqMap(leftParser, this, rightParser, function(left, middle) {
|
|
2382
|
-
return middle;
|
|
2383
|
-
});
|
|
2384
|
-
};
|
|
2385
|
-
_.thru = function(wrapper) {
|
|
2386
|
-
return wrapper(this);
|
|
2387
|
-
};
|
|
2388
|
-
_.then = function(next) {
|
|
2389
|
-
assertParser(next);
|
|
2390
|
-
return seq(this, next).map(function(results) {
|
|
2391
|
-
return results[1];
|
|
2392
|
-
});
|
|
2393
|
-
};
|
|
2394
|
-
_.many = function() {
|
|
2395
|
-
var self = this;
|
|
2396
|
-
return Parsimmon(function(input, i) {
|
|
2397
|
-
var accum = [];
|
|
2398
|
-
var result = void 0;
|
|
2399
|
-
for(;;){
|
|
2400
|
-
result = mergeReplies(self._(input, i), result);
|
|
2401
|
-
if (result.status) {
|
|
2402
|
-
if (i === result.index) {
|
|
2403
|
-
throw new Error("infinite loop detected in .many() parser --- calling .many() on a parser which can accept zero characters is usually the cause");
|
|
2404
|
-
}
|
|
2405
|
-
i = result.index;
|
|
2406
|
-
accum.push(result.value);
|
|
2407
|
-
} else {
|
|
2408
|
-
return mergeReplies(makeSuccess(i, accum), result);
|
|
2409
|
-
}
|
|
2410
|
-
}
|
|
2411
|
-
});
|
|
2412
|
-
};
|
|
2413
|
-
_.tieWith = function(separator) {
|
|
2414
|
-
assertString(separator);
|
|
2415
|
-
return this.map(function(args) {
|
|
2416
|
-
assertArray(args);
|
|
2417
|
-
if (args.length) {
|
|
2418
|
-
assertString(args[0]);
|
|
2419
|
-
var s = args[0];
|
|
2420
|
-
for(var i = 1; i < args.length; i++){
|
|
2421
|
-
assertString(args[i]);
|
|
2422
|
-
s += separator + args[i];
|
|
2423
|
-
}
|
|
2424
|
-
return s;
|
|
2425
|
-
} else {
|
|
2426
|
-
return "";
|
|
2427
|
-
}
|
|
2428
|
-
});
|
|
2429
|
-
};
|
|
2430
|
-
_.tie = function() {
|
|
2431
|
-
return this.tieWith("");
|
|
2432
|
-
};
|
|
2433
|
-
_.times = function(min, max) {
|
|
2434
|
-
var self = this;
|
|
2435
|
-
if (arguments.length < 2) {
|
|
2436
|
-
max = min;
|
|
2437
|
-
}
|
|
2438
|
-
assertNumber(min);
|
|
2439
|
-
assertNumber(max);
|
|
2440
|
-
return Parsimmon(function(input, i) {
|
|
2441
|
-
var accum = [];
|
|
2442
|
-
var result = void 0;
|
|
2443
|
-
var prevResult = void 0;
|
|
2444
|
-
for(var times2 = 0; times2 < min; times2 += 1){
|
|
2445
|
-
result = self._(input, i);
|
|
2446
|
-
prevResult = mergeReplies(result, prevResult);
|
|
2447
|
-
if (result.status) {
|
|
2448
|
-
i = result.index;
|
|
2449
|
-
accum.push(result.value);
|
|
2450
|
-
} else {
|
|
2451
|
-
return prevResult;
|
|
2452
|
-
}
|
|
2453
|
-
}
|
|
2454
|
-
for(; times2 < max; times2 += 1){
|
|
2455
|
-
result = self._(input, i);
|
|
2456
|
-
prevResult = mergeReplies(result, prevResult);
|
|
2457
|
-
if (result.status) {
|
|
2458
|
-
i = result.index;
|
|
2459
|
-
accum.push(result.value);
|
|
2460
|
-
} else {
|
|
2461
|
-
break;
|
|
2462
|
-
}
|
|
2463
|
-
}
|
|
2464
|
-
return mergeReplies(makeSuccess(i, accum), prevResult);
|
|
2465
|
-
});
|
|
2466
|
-
};
|
|
2467
|
-
_.result = function(res) {
|
|
2468
|
-
return this.map(function() {
|
|
2469
|
-
return res;
|
|
2470
|
-
});
|
|
2471
|
-
};
|
|
2472
|
-
_.atMost = function(n) {
|
|
2473
|
-
return this.times(0, n);
|
|
2474
|
-
};
|
|
2475
|
-
_.atLeast = function(n) {
|
|
2476
|
-
return seqMap(this.times(n), this.many(), function(init, rest) {
|
|
2477
|
-
return init.concat(rest);
|
|
2478
|
-
});
|
|
2479
|
-
};
|
|
2480
|
-
_.map = function(fn) {
|
|
2481
|
-
assertFunction(fn);
|
|
2482
|
-
var self = this;
|
|
2483
|
-
return Parsimmon(function(input, i) {
|
|
2484
|
-
var result = self._(input, i);
|
|
2485
|
-
if (!result.status) {
|
|
2486
|
-
return result;
|
|
2487
|
-
}
|
|
2488
|
-
return mergeReplies(makeSuccess(result.index, fn(result.value)), result);
|
|
2489
|
-
});
|
|
2490
|
-
};
|
|
2491
|
-
_.contramap = function(fn) {
|
|
2492
|
-
assertFunction(fn);
|
|
2493
|
-
var self = this;
|
|
2494
|
-
return Parsimmon(function(input, i) {
|
|
2495
|
-
var result = self.parse(fn(input.slice(i)));
|
|
2496
|
-
if (!result.status) {
|
|
2497
|
-
return result;
|
|
2498
|
-
}
|
|
2499
|
-
return makeSuccess(i + input.length, result.value);
|
|
2500
|
-
});
|
|
2501
|
-
};
|
|
2502
|
-
_.promap = function(f, g) {
|
|
2503
|
-
assertFunction(f);
|
|
2504
|
-
assertFunction(g);
|
|
2505
|
-
return this.contramap(f).map(g);
|
|
2506
|
-
};
|
|
2507
|
-
_.skip = function(next) {
|
|
2508
|
-
return seq(this, next).map(function(results) {
|
|
2509
|
-
return results[0];
|
|
2510
|
-
});
|
|
2511
|
-
};
|
|
2512
|
-
_.mark = function() {
|
|
2513
|
-
return seqMap(index, this, index, function(start, value, end2) {
|
|
2514
|
-
return {
|
|
2515
|
-
start: start,
|
|
2516
|
-
value: value,
|
|
2517
|
-
end: end2
|
|
2518
|
-
};
|
|
2519
|
-
});
|
|
2520
|
-
};
|
|
2521
|
-
_.node = function(name) {
|
|
2522
|
-
return seqMap(index, this, index, function(start, value, end2) {
|
|
2523
|
-
return {
|
|
2524
|
-
name: name,
|
|
2525
|
-
value: value,
|
|
2526
|
-
start: start,
|
|
2527
|
-
end: end2
|
|
2528
|
-
};
|
|
2529
|
-
});
|
|
2530
|
-
};
|
|
2531
|
-
_.sepBy = function(separator) {
|
|
2532
|
-
return sepBy(this, separator);
|
|
2533
|
-
};
|
|
2534
|
-
_.sepBy1 = function(separator) {
|
|
2535
|
-
return sepBy1(this, separator);
|
|
2536
|
-
};
|
|
2537
|
-
_.lookahead = function(x) {
|
|
2538
|
-
return this.skip(lookahead(x));
|
|
2539
|
-
};
|
|
2540
|
-
_.notFollowedBy = function(x) {
|
|
2541
|
-
return this.skip(notFollowedBy(x));
|
|
2542
|
-
};
|
|
2543
|
-
_.desc = function(expected) {
|
|
2544
|
-
if (!isArray(expected)) {
|
|
2545
|
-
expected = [
|
|
2546
|
-
expected
|
|
2547
|
-
];
|
|
2548
|
-
}
|
|
2549
|
-
var self = this;
|
|
2550
|
-
return Parsimmon(function(input, i) {
|
|
2551
|
-
var reply = self._(input, i);
|
|
2552
|
-
if (!reply.status) {
|
|
2553
|
-
reply.expected = expected;
|
|
2554
|
-
}
|
|
2555
|
-
return reply;
|
|
2556
|
-
});
|
|
2557
|
-
};
|
|
2558
|
-
_.fallback = function(result) {
|
|
2559
|
-
return this.or(succeed(result));
|
|
2560
|
-
};
|
|
2561
|
-
_.ap = function(other) {
|
|
2562
|
-
return seqMap(other, this, function(f, x) {
|
|
2563
|
-
return f(x);
|
|
2564
|
-
});
|
|
2565
|
-
};
|
|
2566
|
-
_.chain = function(f) {
|
|
2567
|
-
var self = this;
|
|
2568
|
-
return Parsimmon(function(input, i) {
|
|
2569
|
-
var result = self._(input, i);
|
|
2570
|
-
if (!result.status) {
|
|
2571
|
-
return result;
|
|
2572
|
-
}
|
|
2573
|
-
var nextParser = f(result.value);
|
|
2574
|
-
return mergeReplies(nextParser._(input, result.index), result);
|
|
2575
|
-
});
|
|
2576
|
-
};
|
|
2577
|
-
function string(str) {
|
|
2578
|
-
assertString(str);
|
|
2579
|
-
var expected = "'" + str + "'";
|
|
2580
|
-
return Parsimmon(function(input, i) {
|
|
2581
|
-
var j = i + str.length;
|
|
2582
|
-
var head = input.slice(i, j);
|
|
2583
|
-
if (head === str) {
|
|
2584
|
-
return makeSuccess(j, head);
|
|
2585
|
-
} else {
|
|
2586
|
-
return makeFailure(i, expected);
|
|
2587
|
-
}
|
|
2588
|
-
});
|
|
2589
|
-
}
|
|
2590
|
-
function byte(b) {
|
|
2591
|
-
ensureBuffer();
|
|
2592
|
-
assertNumber(b);
|
|
2593
|
-
if (b > 255) {
|
|
2594
|
-
throw new Error("Value specified to byte constructor (" + b + "=0x" + b.toString(16) + ") is larger in value than a single byte.");
|
|
2595
|
-
}
|
|
2596
|
-
var expected = (b > 15 ? "0x" : "0x0") + b.toString(16);
|
|
2597
|
-
return Parsimmon(function(input, i) {
|
|
2598
|
-
var head = get(input, i);
|
|
2599
|
-
if (head === b) {
|
|
2600
|
-
return makeSuccess(i + 1, head);
|
|
2601
|
-
} else {
|
|
2602
|
-
return makeFailure(i, expected);
|
|
2603
|
-
}
|
|
2604
|
-
});
|
|
2605
|
-
}
|
|
2606
|
-
function regexp(re, group) {
|
|
2607
|
-
assertRegexp(re);
|
|
2608
|
-
if (arguments.length >= 2) {
|
|
2609
|
-
assertNumber(group);
|
|
2610
|
-
} else {
|
|
2611
|
-
group = 0;
|
|
2612
|
-
}
|
|
2613
|
-
var anchored = anchoredRegexp(re);
|
|
2614
|
-
var expected = "" + re;
|
|
2615
|
-
return Parsimmon(function(input, i) {
|
|
2616
|
-
var match = anchored.exec(input.slice(i));
|
|
2617
|
-
if (match) {
|
|
2618
|
-
if (0 <= group && group <= match.length) {
|
|
2619
|
-
var fullMatch = match[0];
|
|
2620
|
-
var groupMatch = match[group];
|
|
2621
|
-
return makeSuccess(i + fullMatch.length, groupMatch);
|
|
2622
|
-
}
|
|
2623
|
-
var message = "valid match group (0 to " + match.length + ") in " + expected;
|
|
2624
|
-
return makeFailure(i, message);
|
|
2625
|
-
}
|
|
2626
|
-
return makeFailure(i, expected);
|
|
2627
|
-
});
|
|
2628
|
-
}
|
|
2629
|
-
function succeed(value) {
|
|
2630
|
-
return Parsimmon(function(input, i) {
|
|
2631
|
-
return makeSuccess(i, value);
|
|
2632
|
-
});
|
|
2633
|
-
}
|
|
2634
|
-
function fail(expected) {
|
|
2635
|
-
return Parsimmon(function(input, i) {
|
|
2636
|
-
return makeFailure(i, expected);
|
|
2637
|
-
});
|
|
2638
|
-
}
|
|
2639
|
-
function lookahead(x) {
|
|
2640
|
-
if (isParser(x)) {
|
|
2641
|
-
return Parsimmon(function(input, i) {
|
|
2642
|
-
var result = x._(input, i);
|
|
2643
|
-
result.index = i;
|
|
2644
|
-
result.value = "";
|
|
2645
|
-
return result;
|
|
2646
|
-
});
|
|
2647
|
-
} else if (typeof x === "string") {
|
|
2648
|
-
return lookahead(string(x));
|
|
2649
|
-
} else if (_instanceof(x, RegExp)) {
|
|
2650
|
-
return lookahead(regexp(x));
|
|
2651
|
-
}
|
|
2652
|
-
throw new Error("not a string, regexp, or parser: " + x);
|
|
2653
|
-
}
|
|
2654
|
-
function notFollowedBy(parser2) {
|
|
2655
|
-
assertParser(parser2);
|
|
2656
|
-
return Parsimmon(function(input, i) {
|
|
2657
|
-
var result = parser2._(input, i);
|
|
2658
|
-
var text = input.slice(i, result.index);
|
|
2659
|
-
return result.status ? makeFailure(i, 'not "' + text + '"') : makeSuccess(i, null);
|
|
2660
|
-
});
|
|
2661
|
-
}
|
|
2662
|
-
function test(predicate) {
|
|
2663
|
-
assertFunction(predicate);
|
|
2664
|
-
return Parsimmon(function(input, i) {
|
|
2665
|
-
var char = get(input, i);
|
|
2666
|
-
if (i < input.length && predicate(char)) {
|
|
2667
|
-
return makeSuccess(i + 1, char);
|
|
2668
|
-
} else {
|
|
2669
|
-
return makeFailure(i, "a character/byte matching " + predicate);
|
|
2670
|
-
}
|
|
2671
|
-
});
|
|
2672
|
-
}
|
|
2673
|
-
function oneOf(str) {
|
|
2674
|
-
var expected = str.split("");
|
|
2675
|
-
for(var idx = 0; idx < expected.length; idx++){
|
|
2676
|
-
expected[idx] = "'" + expected[idx] + "'";
|
|
2677
|
-
}
|
|
2678
|
-
return test(function(ch) {
|
|
2679
|
-
return str.indexOf(ch) >= 0;
|
|
2680
|
-
}).desc(expected);
|
|
2681
|
-
}
|
|
2682
|
-
function noneOf(str) {
|
|
2683
|
-
return test(function(ch) {
|
|
2684
|
-
return str.indexOf(ch) < 0;
|
|
2685
|
-
}).desc("none of '" + str + "'");
|
|
2686
|
-
}
|
|
2687
|
-
function custom(parsingFunction) {
|
|
2688
|
-
return Parsimmon(parsingFunction(makeSuccess, makeFailure));
|
|
2689
|
-
}
|
|
2690
|
-
function range(begin, end2) {
|
|
2691
|
-
return test(function(ch) {
|
|
2692
|
-
return begin <= ch && ch <= end2;
|
|
2693
|
-
}).desc(begin + "-" + end2);
|
|
2694
|
-
}
|
|
2695
|
-
function takeWhile(predicate) {
|
|
2696
|
-
assertFunction(predicate);
|
|
2697
|
-
return Parsimmon(function(input, i) {
|
|
2698
|
-
var j = i;
|
|
2699
|
-
while(j < input.length && predicate(get(input, j))){
|
|
2700
|
-
j++;
|
|
2701
|
-
}
|
|
2702
|
-
return makeSuccess(j, input.slice(i, j));
|
|
2703
|
-
});
|
|
2704
|
-
}
|
|
2705
|
-
function lazy(desc, f) {
|
|
2706
|
-
if (arguments.length < 2) {
|
|
2707
|
-
f = desc;
|
|
2708
|
-
desc = void 0;
|
|
2709
|
-
}
|
|
2710
|
-
var parser2 = Parsimmon(function(input, i) {
|
|
2711
|
-
parser2._ = f()._;
|
|
2712
|
-
return parser2._(input, i);
|
|
2713
|
-
});
|
|
2714
|
-
if (desc) {
|
|
2715
|
-
return parser2.desc(desc);
|
|
2716
|
-
} else {
|
|
2717
|
-
return parser2;
|
|
2718
|
-
}
|
|
2719
|
-
}
|
|
2720
|
-
function empty() {
|
|
2721
|
-
return fail("fantasy-land/empty");
|
|
2722
|
-
}
|
|
2723
|
-
_.concat = _.or;
|
|
2724
|
-
_.empty = empty;
|
|
2725
|
-
_.of = succeed;
|
|
2726
|
-
_["fantasy-land/ap"] = _.ap;
|
|
2727
|
-
_["fantasy-land/chain"] = _.chain;
|
|
2728
|
-
_["fantasy-land/concat"] = _.concat;
|
|
2729
|
-
_["fantasy-land/empty"] = _.empty;
|
|
2730
|
-
_["fantasy-land/of"] = _.of;
|
|
2731
|
-
_["fantasy-land/map"] = _.map;
|
|
2732
|
-
var index = Parsimmon(function(input, i) {
|
|
2733
|
-
return makeSuccess(i, makeLineColumnIndex(input, i));
|
|
2734
|
-
});
|
|
2735
|
-
var any = Parsimmon(function(input, i) {
|
|
2736
|
-
if (i >= input.length) {
|
|
2737
|
-
return makeFailure(i, "any character/byte");
|
|
2738
|
-
}
|
|
2739
|
-
return makeSuccess(i + 1, get(input, i));
|
|
2740
|
-
});
|
|
2741
|
-
var all = Parsimmon(function(input, i) {
|
|
2742
|
-
return makeSuccess(input.length, input.slice(i));
|
|
2743
|
-
});
|
|
2744
|
-
var eof = Parsimmon(function(input, i) {
|
|
2745
|
-
if (i < input.length) {
|
|
2746
|
-
return makeFailure(i, "EOF");
|
|
2747
|
-
}
|
|
2748
|
-
return makeSuccess(i, null);
|
|
2749
|
-
});
|
|
2750
|
-
var digit = regexp(/[0-9]/).desc("a digit");
|
|
2751
|
-
var digits = regexp(/[0-9]*/).desc("optional digits");
|
|
2752
|
-
var letter = regexp(/[a-z]/i).desc("a letter");
|
|
2753
|
-
var letters = regexp(/[a-z]*/i).desc("optional letters");
|
|
2754
|
-
var optWhitespace = regexp(/\s*/).desc("optional whitespace");
|
|
2755
|
-
var whitespace = regexp(/\s+/).desc("whitespace");
|
|
2756
|
-
var cr = string("\r");
|
|
2757
|
-
var lf = string("\n");
|
|
2758
|
-
var crlf = string("\r\n");
|
|
2759
|
-
var newline = alt(crlf, lf, cr).desc("newline");
|
|
2760
|
-
var end = alt(newline, eof);
|
|
2761
|
-
Parsimmon.all = all;
|
|
2762
|
-
Parsimmon.alt = alt;
|
|
2763
|
-
Parsimmon.any = any;
|
|
2764
|
-
Parsimmon.cr = cr;
|
|
2765
|
-
Parsimmon.createLanguage = createLanguage;
|
|
2766
|
-
Parsimmon.crlf = crlf;
|
|
2767
|
-
Parsimmon.custom = custom;
|
|
2768
|
-
Parsimmon.digit = digit;
|
|
2769
|
-
Parsimmon.digits = digits;
|
|
2770
|
-
Parsimmon.empty = empty;
|
|
2771
|
-
Parsimmon.end = end;
|
|
2772
|
-
Parsimmon.eof = eof;
|
|
2773
|
-
Parsimmon.fail = fail;
|
|
2774
|
-
Parsimmon.formatError = formatError;
|
|
2775
|
-
Parsimmon.index = index;
|
|
2776
|
-
Parsimmon.isParser = isParser;
|
|
2777
|
-
Parsimmon.lazy = lazy;
|
|
2778
|
-
Parsimmon.letter = letter;
|
|
2779
|
-
Parsimmon.letters = letters;
|
|
2780
|
-
Parsimmon.lf = lf;
|
|
2781
|
-
Parsimmon.lookahead = lookahead;
|
|
2782
|
-
Parsimmon.makeFailure = makeFailure;
|
|
2783
|
-
Parsimmon.makeSuccess = makeSuccess;
|
|
2784
|
-
Parsimmon.newline = newline;
|
|
2785
|
-
Parsimmon.noneOf = noneOf;
|
|
2786
|
-
Parsimmon.notFollowedBy = notFollowedBy;
|
|
2787
|
-
Parsimmon.of = succeed;
|
|
2788
|
-
Parsimmon.oneOf = oneOf;
|
|
2789
|
-
Parsimmon.optWhitespace = optWhitespace;
|
|
2790
|
-
Parsimmon.Parser = Parsimmon;
|
|
2791
|
-
Parsimmon.range = range;
|
|
2792
|
-
Parsimmon.regex = regexp;
|
|
2793
|
-
Parsimmon.regexp = regexp;
|
|
2794
|
-
Parsimmon.sepBy = sepBy;
|
|
2795
|
-
Parsimmon.sepBy1 = sepBy1;
|
|
2796
|
-
Parsimmon.seq = seq;
|
|
2797
|
-
Parsimmon.seqMap = seqMap;
|
|
2798
|
-
Parsimmon.seqObj = seqObj;
|
|
2799
|
-
Parsimmon.string = string;
|
|
2800
|
-
Parsimmon.succeed = succeed;
|
|
2801
|
-
Parsimmon.takeWhile = takeWhile;
|
|
2802
|
-
Parsimmon.test = test;
|
|
2803
|
-
Parsimmon.whitespace = whitespace;
|
|
2804
|
-
Parsimmon["fantasy-land/empty"] = empty;
|
|
2805
|
-
Parsimmon["fantasy-land/of"] = succeed;
|
|
2806
|
-
Parsimmon.Binary = {
|
|
2807
|
-
bitSeq: bitSeq,
|
|
2808
|
-
bitSeqObj: bitSeqObj,
|
|
2809
|
-
byte: byte,
|
|
2810
|
-
buffer: parseBuffer,
|
|
2811
|
-
encodedString: encodedString,
|
|
2812
|
-
uintBE: uintBE,
|
|
2813
|
-
uint8BE: uintBE(1),
|
|
2814
|
-
uint16BE: uintBE(2),
|
|
2815
|
-
uint32BE: uintBE(4),
|
|
2816
|
-
uintLE: uintLE,
|
|
2817
|
-
uint8LE: uintLE(1),
|
|
2818
|
-
uint16LE: uintLE(2),
|
|
2819
|
-
uint32LE: uintLE(4),
|
|
2820
|
-
intBE: intBE,
|
|
2821
|
-
int8BE: intBE(1),
|
|
2822
|
-
int16BE: intBE(2),
|
|
2823
|
-
int32BE: intBE(4),
|
|
2824
|
-
intLE: intLE,
|
|
2825
|
-
int8LE: intLE(1),
|
|
2826
|
-
int16LE: intLE(2),
|
|
2827
|
-
int32LE: intLE(4),
|
|
2828
|
-
floatBE: floatBE(),
|
|
2829
|
-
floatLE: floatLE(),
|
|
2830
|
-
doubleBE: doubleBE(),
|
|
2831
|
-
doubleLE: doubleLE()
|
|
2832
|
-
};
|
|
2833
|
-
module.exports = Parsimmon;
|
|
2834
|
-
}
|
|
2835
|
-
});
|
|
2836
|
-
// ../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/node_modules/.aspect_rules_js/ebnf@1.9.1/node_modules/ebnf/dist/TokenError.js
|
|
2837
|
-
var require_TokenError = __commonJS({
|
|
2838
|
-
"../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/node_modules/.aspect_rules_js/ebnf@1.9.1/node_modules/ebnf/dist/TokenError.js": function(exports) {
|
|
2839
|
-
"use strict";
|
|
2840
|
-
Object.defineProperty(exports, "__esModule", {
|
|
2841
|
-
value: true
|
|
2842
|
-
});
|
|
2843
|
-
exports.TokenError = void 0;
|
|
2844
|
-
var TokenError = /*#__PURE__*/ function(Error1) {
|
|
2845
|
-
_inherits(TokenError, Error1);
|
|
2846
|
-
var _super = _create_super(TokenError);
|
|
2847
|
-
function TokenError(message, token) {
|
|
2848
|
-
_class_call_check(this, TokenError);
|
|
2849
|
-
var _this;
|
|
2850
|
-
_this = _super.call(this, message);
|
|
2851
|
-
_this.message = message;
|
|
2852
|
-
_this.token = token;
|
|
2853
|
-
if (token && token.errors) token.errors.push(_assert_this_initialized(_this));
|
|
2854
|
-
else throw _assert_this_initialized(_this);
|
|
2855
|
-
return _this;
|
|
2856
|
-
}
|
|
2857
|
-
_create_class(TokenError, [
|
|
2858
|
-
{
|
|
2859
|
-
key: "inspect",
|
|
2860
|
-
value: function inspect() {
|
|
2861
|
-
return "SyntaxError: " + this.message;
|
|
2862
|
-
}
|
|
2863
|
-
}
|
|
2864
|
-
]);
|
|
2865
|
-
return TokenError;
|
|
2866
|
-
}(_wrap_native_super(Error));
|
|
2867
|
-
exports.TokenError = TokenError;
|
|
2868
|
-
}
|
|
2869
|
-
});
|
|
2870
|
-
// ../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/node_modules/.aspect_rules_js/ebnf@1.9.1/node_modules/ebnf/dist/Parser.js
|
|
2871
|
-
var require_Parser = __commonJS({
|
|
2872
|
-
"../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/node_modules/.aspect_rules_js/ebnf@1.9.1/node_modules/ebnf/dist/Parser.js": function(exports) {
|
|
2873
|
-
"use strict";
|
|
2874
|
-
Object.defineProperty(exports, "__esModule", {
|
|
2875
|
-
value: true
|
|
2876
|
-
});
|
|
2877
|
-
exports.Parser = exports.findRuleByName = exports.parseRuleName = exports.escapeRegExp = exports.readToken = void 0;
|
|
2878
|
-
var UPPER_SNAKE_RE = /^[A-Z0-9_]+$/;
|
|
2879
|
-
var decorationRE = /(\?|\+|\*)$/;
|
|
2880
|
-
var preDecorationRE = /^(@|&|!)/;
|
|
2881
|
-
var WS_RULE = "WS";
|
|
2882
|
-
var TokenError_1 = require_TokenError();
|
|
2883
|
-
function readToken(txt, expr) {
|
|
2884
|
-
var result = expr.exec(txt);
|
|
2885
|
-
if (result && result.index == 0) {
|
|
2886
|
-
if (result[0].length == 0 && expr.source.length > 0) return null;
|
|
2887
|
-
return {
|
|
2888
|
-
type: null,
|
|
2889
|
-
text: result[0],
|
|
2890
|
-
rest: txt.substr(result[0].length),
|
|
2891
|
-
start: 0,
|
|
2892
|
-
end: result[0].length - 1,
|
|
2893
|
-
fullText: result[0],
|
|
2894
|
-
errors: [],
|
|
2895
|
-
children: [],
|
|
2896
|
-
parent: null
|
|
2897
|
-
};
|
|
2898
|
-
}
|
|
2899
|
-
return null;
|
|
2900
|
-
}
|
|
2901
|
-
exports.readToken = readToken;
|
|
2902
|
-
function escapeRegExp(str) {
|
|
2903
|
-
return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
|
|
2904
|
-
}
|
|
2905
|
-
exports.escapeRegExp = escapeRegExp;
|
|
2906
|
-
function fixRest(token) {
|
|
2907
|
-
token.rest = "";
|
|
2908
|
-
token.children && token.children.forEach(function(c) {
|
|
2909
|
-
return fixRest(c);
|
|
2910
|
-
});
|
|
2911
|
-
}
|
|
2912
|
-
function fixPositions(token, start) {
|
|
2913
|
-
token.start += start;
|
|
2914
|
-
token.end += start;
|
|
2915
|
-
token.children && token.children.forEach(function(c) {
|
|
2916
|
-
return fixPositions(c, token.start);
|
|
2917
|
-
});
|
|
2918
|
-
}
|
|
2919
|
-
function agregateErrors(errors, token) {
|
|
2920
|
-
if (token.errors && token.errors.length) token.errors.forEach(function(err) {
|
|
2921
|
-
return errors.push(err);
|
|
2922
|
-
});
|
|
2923
|
-
token.children && token.children.forEach(function(tok) {
|
|
2924
|
-
return agregateErrors(errors, tok);
|
|
2925
|
-
});
|
|
2926
|
-
}
|
|
2927
|
-
function parseRuleName(name) {
|
|
2928
|
-
var postDecoration = decorationRE.exec(name);
|
|
2929
|
-
var preDecoration = preDecorationRE.exec(name);
|
|
2930
|
-
var postDecorationText = postDecoration && postDecoration[0] || "";
|
|
2931
|
-
var preDecorationText = preDecoration && preDecoration[0] || "";
|
|
2932
|
-
var out = {
|
|
2933
|
-
raw: name,
|
|
2934
|
-
name: name.replace(decorationRE, "").replace(preDecorationRE, ""),
|
|
2935
|
-
isOptional: postDecorationText == "?" || postDecorationText == "*",
|
|
2936
|
-
allowRepetition: postDecorationText == "+" || postDecorationText == "*",
|
|
2937
|
-
atLeastOne: postDecorationText == "+",
|
|
2938
|
-
lookupPositive: preDecorationText == "&",
|
|
2939
|
-
lookupNegative: preDecorationText == "!",
|
|
2940
|
-
pinned: preDecorationText == "@",
|
|
2941
|
-
lookup: false,
|
|
2942
|
-
isLiteral: false
|
|
2943
|
-
};
|
|
2944
|
-
out.isLiteral = out.name[0] == "'" || out.name[0] == '"';
|
|
2945
|
-
out.lookup = out.lookupNegative || out.lookupPositive;
|
|
2946
|
-
return out;
|
|
2947
|
-
}
|
|
2948
|
-
exports.parseRuleName = parseRuleName;
|
|
2949
|
-
function findRuleByName(name, parser2) {
|
|
2950
|
-
var parsed = parseRuleName(name);
|
|
2951
|
-
return parser2.cachedRules[parsed.name] || null;
|
|
2952
|
-
}
|
|
2953
|
-
exports.findRuleByName = findRuleByName;
|
|
2954
|
-
function stripRules(token, re) {
|
|
2955
|
-
if (token.children) {
|
|
2956
|
-
var localRules = token.children.filter(function(x) {
|
|
2957
|
-
return x.type && re.test(x.type);
|
|
2958
|
-
});
|
|
2959
|
-
for(var i = 0; i < localRules.length; i++){
|
|
2960
|
-
var indexOnChildren = token.children.indexOf(localRules[i]);
|
|
2961
|
-
if (indexOnChildren != -1) {
|
|
2962
|
-
token.children.splice(indexOnChildren, 1);
|
|
2963
|
-
}
|
|
2964
|
-
}
|
|
2965
|
-
token.children.forEach(function(c) {
|
|
2966
|
-
return stripRules(c, re);
|
|
2967
|
-
});
|
|
2968
|
-
}
|
|
2969
|
-
}
|
|
2970
|
-
var ignoreMissingRules = [
|
|
2971
|
-
"EOF"
|
|
2972
|
-
];
|
|
2973
|
-
var Parser2 = /*#__PURE__*/ function() {
|
|
2974
|
-
function Parser2(grammarRules, options) {
|
|
2975
|
-
var _this = this;
|
|
2976
|
-
_class_call_check(this, Parser2);
|
|
2977
|
-
this.grammarRules = grammarRules;
|
|
2978
|
-
this.options = options;
|
|
2979
|
-
this.cachedRules = {};
|
|
2980
|
-
this.debug = options ? options.debug === true : false;
|
|
2981
|
-
var errors = [];
|
|
2982
|
-
var neededRules = [];
|
|
2983
|
-
grammarRules.forEach(function(rule) {
|
|
2984
|
-
var parsedName = parseRuleName(rule.name);
|
|
2985
|
-
if (parsedName.name in _this.cachedRules) {
|
|
2986
|
-
errors.push("Duplicated rule " + parsedName.name);
|
|
2987
|
-
return;
|
|
2988
|
-
} else {
|
|
2989
|
-
_this.cachedRules[parsedName.name] = rule;
|
|
2990
|
-
}
|
|
2991
|
-
if (!rule.bnf || !rule.bnf.length) {
|
|
2992
|
-
var error = "Missing rule content, rule: " + rule.name;
|
|
2993
|
-
if (errors.indexOf(error) == -1) errors.push(error);
|
|
2994
|
-
} else {
|
|
2995
|
-
rule.bnf.forEach(function(options2) {
|
|
2996
|
-
if (typeof options2[0] === "string") {
|
|
2997
|
-
var parsed = parseRuleName(options2[0]);
|
|
2998
|
-
if (parsed.name == rule.name) {
|
|
2999
|
-
var error = "Left recursion is not allowed, rule: " + rule.name;
|
|
3000
|
-
if (errors.indexOf(error) == -1) errors.push(error);
|
|
3001
|
-
}
|
|
3002
|
-
}
|
|
3003
|
-
options2.forEach(function(option) {
|
|
3004
|
-
if (typeof option == "string") {
|
|
3005
|
-
var name = parseRuleName(option);
|
|
3006
|
-
if (!name.isLiteral && neededRules.indexOf(name.name) == -1 && ignoreMissingRules.indexOf(name.name) == -1) neededRules.push(name.name);
|
|
3007
|
-
}
|
|
3008
|
-
});
|
|
3009
|
-
});
|
|
3010
|
-
}
|
|
3011
|
-
if (WS_RULE == rule.name) rule.implicitWs = false;
|
|
3012
|
-
if (rule.implicitWs) {
|
|
3013
|
-
if (neededRules.indexOf(WS_RULE) == -1) neededRules.push(WS_RULE);
|
|
3014
|
-
}
|
|
3015
|
-
if (rule.recover) {
|
|
3016
|
-
if (neededRules.indexOf(rule.recover) == -1) neededRules.push(rule.recover);
|
|
3017
|
-
}
|
|
3018
|
-
});
|
|
3019
|
-
neededRules.forEach(function(ruleName) {
|
|
3020
|
-
if (!(ruleName in _this.cachedRules)) {
|
|
3021
|
-
errors.push("Missing rule " + ruleName);
|
|
3022
|
-
}
|
|
3023
|
-
});
|
|
3024
|
-
if (errors.length) throw new Error(errors.join("\n"));
|
|
3025
|
-
}
|
|
3026
|
-
_create_class(Parser2, [
|
|
3027
|
-
{
|
|
3028
|
-
key: "getAST",
|
|
3029
|
-
value: function getAST(txt, target) {
|
|
3030
|
-
if (!target) {
|
|
3031
|
-
target = this.grammarRules.filter(function(x) {
|
|
3032
|
-
return !x.fragment && x.name.indexOf("%") != 0;
|
|
3033
|
-
})[0].name;
|
|
3034
|
-
}
|
|
3035
|
-
var result = this.parse(txt, target);
|
|
3036
|
-
if (result) {
|
|
3037
|
-
agregateErrors(result.errors, result);
|
|
3038
|
-
fixPositions(result, 0);
|
|
3039
|
-
stripRules(result, /^%/);
|
|
3040
|
-
if (!this.options || !this.options.keepUpperRules) stripRules(result, UPPER_SNAKE_RE);
|
|
3041
|
-
var rest = result.rest;
|
|
3042
|
-
if (rest) {
|
|
3043
|
-
new TokenError_1.TokenError("Unexpected end of input: \n" + rest, result);
|
|
3044
|
-
}
|
|
3045
|
-
fixRest(result);
|
|
3046
|
-
result.rest = rest;
|
|
3047
|
-
}
|
|
3048
|
-
return result;
|
|
3049
|
-
}
|
|
3050
|
-
},
|
|
3051
|
-
{
|
|
3052
|
-
key: "emitSource",
|
|
3053
|
-
value: function emitSource() {
|
|
3054
|
-
return "CANNOT EMIT SOURCE FROM BASE Parser";
|
|
3055
|
-
}
|
|
3056
|
-
},
|
|
3057
|
-
{
|
|
3058
|
-
key: "parse",
|
|
3059
|
-
value: function parse(txt, target) {
|
|
3060
|
-
var _this = this;
|
|
3061
|
-
var recursion = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0;
|
|
3062
|
-
var out = null;
|
|
3063
|
-
var type = parseRuleName(target);
|
|
3064
|
-
var expr;
|
|
3065
|
-
var printable = this.debug && /*!isLiteral &*/ !UPPER_SNAKE_RE.test(type.name);
|
|
3066
|
-
printable && console.log(new Array(recursion).join("\u2502 ") + "Trying to get " + target + " from " + JSON.stringify(txt.split("\n")[0]));
|
|
3067
|
-
var realType = type.name;
|
|
3068
|
-
var targetLex = findRuleByName(type.name, this);
|
|
3069
|
-
if (type.name == "EOF") {
|
|
3070
|
-
if (txt.length) {
|
|
3071
|
-
return null;
|
|
3072
|
-
} else if (txt.length == 0) {
|
|
3073
|
-
return {
|
|
3074
|
-
type: "EOF",
|
|
3075
|
-
text: "",
|
|
3076
|
-
rest: "",
|
|
3077
|
-
start: 0,
|
|
3078
|
-
end: 0,
|
|
3079
|
-
fullText: "",
|
|
3080
|
-
errors: [],
|
|
3081
|
-
children: [],
|
|
3082
|
-
parent: null
|
|
3083
|
-
};
|
|
3084
|
-
}
|
|
3085
|
-
}
|
|
3086
|
-
try {
|
|
3087
|
-
if (!targetLex && type.isLiteral) {
|
|
3088
|
-
var src = type.name.trim();
|
|
3089
|
-
if (src.startsWith('"')) {
|
|
3090
|
-
src = JSON.parse(src);
|
|
3091
|
-
} else if (src.startsWith("'")) {
|
|
3092
|
-
src = src.replace(/^'(.+)'$/, "$1").replace(/\\'/g, "'");
|
|
3093
|
-
}
|
|
3094
|
-
if (src === "") {
|
|
3095
|
-
return {
|
|
3096
|
-
type: "%%EMPTY%%",
|
|
3097
|
-
text: "",
|
|
3098
|
-
rest: txt,
|
|
3099
|
-
start: 0,
|
|
3100
|
-
end: 0,
|
|
3101
|
-
fullText: "",
|
|
3102
|
-
errors: [],
|
|
3103
|
-
children: [],
|
|
3104
|
-
parent: null
|
|
3105
|
-
};
|
|
3106
|
-
}
|
|
3107
|
-
expr = new RegExp(escapeRegExp(src));
|
|
3108
|
-
realType = null;
|
|
3109
|
-
}
|
|
3110
|
-
} catch (e) {
|
|
3111
|
-
if (_instanceof(e, ReferenceError)) {
|
|
3112
|
-
console.error(e);
|
|
3113
|
-
}
|
|
3114
|
-
return null;
|
|
3115
|
-
}
|
|
3116
|
-
if (expr) {
|
|
3117
|
-
var result = readToken(txt, expr);
|
|
3118
|
-
if (result) {
|
|
3119
|
-
result.type = realType;
|
|
3120
|
-
return result;
|
|
3121
|
-
}
|
|
3122
|
-
} else {
|
|
3123
|
-
var options = targetLex.bnf;
|
|
3124
|
-
if (_instanceof(options, Array)) {
|
|
3125
|
-
options.forEach(function(phases) {
|
|
3126
|
-
var _loop = function(i) {
|
|
3127
|
-
if (typeof phases[i] == "string") {
|
|
3128
|
-
var _loop = function() {
|
|
3129
|
-
got = null;
|
|
3130
|
-
if (targetLex.implicitWs) {
|
|
3131
|
-
got = _this.parse(tmpTxt, localTarget.name, recursion + 1);
|
|
3132
|
-
if (!got) {
|
|
3133
|
-
var WS = void 0;
|
|
3134
|
-
do {
|
|
3135
|
-
WS = _this.parse(tmpTxt, WS_RULE, recursion + 1);
|
|
3136
|
-
if (WS) {
|
|
3137
|
-
tmp.text = tmp.text + WS.text;
|
|
3138
|
-
tmp.end = tmp.text.length;
|
|
3139
|
-
WS.parent = tmp;
|
|
3140
|
-
tmp.children.push(WS);
|
|
3141
|
-
tmpTxt = tmpTxt.substr(WS.text.length);
|
|
3142
|
-
position += WS.text.length;
|
|
3143
|
-
} else {
|
|
3144
|
-
break;
|
|
3145
|
-
}
|
|
3146
|
-
}while (WS && WS.text.length);
|
|
3147
|
-
}
|
|
3148
|
-
}
|
|
3149
|
-
got = got || _this.parse(tmpTxt, localTarget.name, recursion + 1);
|
|
3150
|
-
if (localTarget.lookupNegative) {
|
|
3151
|
-
if (got) return {
|
|
3152
|
-
v: void void 0
|
|
3153
|
-
};
|
|
3154
|
-
return "break";
|
|
3155
|
-
}
|
|
3156
|
-
if (localTarget.lookupPositive) {
|
|
3157
|
-
if (!got) return {
|
|
3158
|
-
v: void void 0
|
|
3159
|
-
};
|
|
3160
|
-
}
|
|
3161
|
-
if (!got) {
|
|
3162
|
-
if (localTarget.isOptional) return "break";
|
|
3163
|
-
if (localTarget.atLeastOne && foundAtLeastOne) return "break";
|
|
3164
|
-
}
|
|
3165
|
-
if (got && targetLex.pinned == i + 1) {
|
|
3166
|
-
pinned = got;
|
|
3167
|
-
printable && console.log(new Array(recursion + 1).join("\u2502 ") + "\u2514\u2500 " + got.type + " PINNED");
|
|
3168
|
-
}
|
|
3169
|
-
if (!got) got = _this.parseRecovery(targetLex, tmpTxt, recursion + 1);
|
|
3170
|
-
if (!got) {
|
|
3171
|
-
if (pinned) {
|
|
3172
|
-
out = tmp;
|
|
3173
|
-
got = {
|
|
3174
|
-
type: "SyntaxError",
|
|
3175
|
-
text: tmpTxt,
|
|
3176
|
-
children: [],
|
|
3177
|
-
end: tmpTxt.length,
|
|
3178
|
-
errors: [],
|
|
3179
|
-
fullText: "",
|
|
3180
|
-
parent: null,
|
|
3181
|
-
start: 0,
|
|
3182
|
-
rest: ""
|
|
3183
|
-
};
|
|
3184
|
-
if (tmpTxt.length) {
|
|
3185
|
-
new TokenError_1.TokenError("Unexpected end of input. Expecting ".concat(localTarget.name, " Got: ").concat(tmpTxt), got);
|
|
3186
|
-
} else {
|
|
3187
|
-
new TokenError_1.TokenError("Unexpected end of input. Missing ".concat(localTarget.name), got);
|
|
3188
|
-
}
|
|
3189
|
-
printable && console.log(new Array(recursion + 1).join("\u2502 ") + "\u2514\u2500 " + got.type + " " + JSON.stringify(got.text));
|
|
3190
|
-
} else {
|
|
3191
|
-
return {
|
|
3192
|
-
v: void void 0
|
|
3193
|
-
};
|
|
3194
|
-
}
|
|
3195
|
-
}
|
|
3196
|
-
foundAtLeastOne = true;
|
|
3197
|
-
foundSomething = true;
|
|
3198
|
-
if (got.type == "%%EMPTY%%") {
|
|
3199
|
-
return "break";
|
|
3200
|
-
}
|
|
3201
|
-
got.start += position;
|
|
3202
|
-
got.end += position;
|
|
3203
|
-
if (!localTarget.lookupPositive && got.type) {
|
|
3204
|
-
if (got.fragment) {
|
|
3205
|
-
got.children && got.children.forEach(function(x) {
|
|
3206
|
-
x.start += position;
|
|
3207
|
-
x.end += position;
|
|
3208
|
-
x.parent = tmp;
|
|
3209
|
-
tmp.children.push(x);
|
|
3210
|
-
});
|
|
3211
|
-
} else {
|
|
3212
|
-
got.parent = tmp;
|
|
3213
|
-
tmp.children.push(got);
|
|
3214
|
-
}
|
|
3215
|
-
}
|
|
3216
|
-
if (localTarget.lookup) got.lookup = true;
|
|
3217
|
-
printable && console.log(new Array(recursion + 1).join("\u2502 ") + "\u2514\u2500 " + got.type + " " + JSON.stringify(got.text));
|
|
3218
|
-
if (!localTarget.lookup && !got.lookup) {
|
|
3219
|
-
tmp.text = tmp.text + got.text;
|
|
3220
|
-
tmp.end = tmp.text.length;
|
|
3221
|
-
tmpTxt = tmpTxt.substr(got.text.length);
|
|
3222
|
-
position += got.text.length;
|
|
3223
|
-
}
|
|
3224
|
-
tmp.rest = tmpTxt;
|
|
3225
|
-
};
|
|
3226
|
-
var localTarget = parseRuleName(phases[i]);
|
|
3227
|
-
allOptional = allOptional && localTarget.isOptional;
|
|
3228
|
-
var got = void 0;
|
|
3229
|
-
var foundAtLeastOne = false;
|
|
3230
|
-
do {
|
|
3231
|
-
var _ret = _loop();
|
|
3232
|
-
if (_type_of(_ret) === "object") return {
|
|
3233
|
-
v: _ret.v
|
|
3234
|
-
};
|
|
3235
|
-
if (_ret === "break") break;
|
|
3236
|
-
}while (got && localTarget.allowRepetition && tmpTxt.length && !got.lookup);
|
|
3237
|
-
} else {
|
|
3238
|
-
var got1 = readToken(tmpTxt, phases[i]);
|
|
3239
|
-
if (!got1) {
|
|
3240
|
-
return {
|
|
3241
|
-
v: void void 0
|
|
3242
|
-
};
|
|
3243
|
-
}
|
|
3244
|
-
printable && console.log(new Array(recursion + 1).join("\u2502 ") + "\u2514> " + JSON.stringify(got1.text) + phases[i].source);
|
|
3245
|
-
foundSomething = true;
|
|
3246
|
-
got1.start += position;
|
|
3247
|
-
got1.end += position;
|
|
3248
|
-
tmp.text = tmp.text + got1.text;
|
|
3249
|
-
tmp.end = tmp.text.length;
|
|
3250
|
-
tmpTxt = tmpTxt.substr(got1.text.length);
|
|
3251
|
-
position += got1.text.length;
|
|
3252
|
-
tmp.rest = tmpTxt;
|
|
3253
|
-
}
|
|
3254
|
-
};
|
|
3255
|
-
if (out) return;
|
|
3256
|
-
var pinned = null;
|
|
3257
|
-
var tmp = {
|
|
3258
|
-
type: type.name,
|
|
3259
|
-
text: "",
|
|
3260
|
-
children: [],
|
|
3261
|
-
end: 0,
|
|
3262
|
-
errors: [],
|
|
3263
|
-
fullText: "",
|
|
3264
|
-
parent: null,
|
|
3265
|
-
start: 0,
|
|
3266
|
-
rest: txt
|
|
3267
|
-
};
|
|
3268
|
-
if (targetLex.fragment) tmp.fragment = true;
|
|
3269
|
-
var tmpTxt = txt;
|
|
3270
|
-
var position = 0;
|
|
3271
|
-
var allOptional = phases.length > 0;
|
|
3272
|
-
var foundSomething = false;
|
|
3273
|
-
for(var i = 0; i < phases.length; i++){
|
|
3274
|
-
var _ret = _loop(i);
|
|
3275
|
-
if (_type_of(_ret) === "object") return _ret.v;
|
|
3276
|
-
}
|
|
3277
|
-
if (foundSomething) {
|
|
3278
|
-
out = tmp;
|
|
3279
|
-
printable && console.log(new Array(recursion).join("\u2502 ") + "\u251C<\u2500\u2534< PUSHING " + out.type + " " + JSON.stringify(out.text));
|
|
3280
|
-
}
|
|
3281
|
-
});
|
|
3282
|
-
}
|
|
3283
|
-
if (out && targetLex.simplifyWhenOneChildren && out.children.length == 1) {
|
|
3284
|
-
out = out.children[0];
|
|
3285
|
-
}
|
|
3286
|
-
}
|
|
3287
|
-
if (!out) {
|
|
3288
|
-
printable && console.log(target + " NOT RESOLVED FROM " + txt);
|
|
3289
|
-
}
|
|
3290
|
-
return out;
|
|
3291
|
-
}
|
|
3292
|
-
},
|
|
3293
|
-
{
|
|
3294
|
-
key: "parseRecovery",
|
|
3295
|
-
value: function parseRecovery(recoverableToken, tmpTxt, recursion) {
|
|
3296
|
-
if (recoverableToken.recover && tmpTxt.length) {
|
|
3297
|
-
var printable = this.debug;
|
|
3298
|
-
printable && console.log(new Array(recursion + 1).join("\u2502 ") + "Trying to recover until token " + recoverableToken.recover + " from " + JSON.stringify(tmpTxt.split("\n")[0] + tmpTxt.split("\n")[1]));
|
|
3299
|
-
var tmp = {
|
|
3300
|
-
type: "SyntaxError",
|
|
3301
|
-
text: "",
|
|
3302
|
-
children: [],
|
|
3303
|
-
end: 0,
|
|
3304
|
-
errors: [],
|
|
3305
|
-
fullText: "",
|
|
3306
|
-
parent: null,
|
|
3307
|
-
start: 0,
|
|
3308
|
-
rest: ""
|
|
3309
|
-
};
|
|
3310
|
-
var got;
|
|
3311
|
-
do {
|
|
3312
|
-
got = this.parse(tmpTxt, recoverableToken.recover, recursion + 1);
|
|
3313
|
-
if (got) {
|
|
3314
|
-
new TokenError_1.TokenError('Unexpected input: "' + tmp.text + '" Expecting: '.concat(recoverableToken.name), tmp);
|
|
3315
|
-
break;
|
|
3316
|
-
} else {
|
|
3317
|
-
tmp.text = tmp.text + tmpTxt[0];
|
|
3318
|
-
tmp.end = tmp.text.length;
|
|
3319
|
-
tmpTxt = tmpTxt.substr(1);
|
|
3320
|
-
}
|
|
3321
|
-
}while (!got && tmpTxt.length > 0);
|
|
3322
|
-
if (tmp.text.length > 0 && got) {
|
|
3323
|
-
printable && console.log(new Array(recursion + 1).join("\u2502 ") + "Recovered text: " + JSON.stringify(tmp.text));
|
|
3324
|
-
return tmp;
|
|
3325
|
-
}
|
|
3326
|
-
}
|
|
3327
|
-
return null;
|
|
3328
|
-
}
|
|
3329
|
-
}
|
|
3330
|
-
]);
|
|
3331
|
-
return Parser2;
|
|
3332
|
-
}();
|
|
3333
|
-
exports.Parser = Parser2;
|
|
3334
|
-
exports.default = Parser2;
|
|
3335
|
-
}
|
|
3336
|
-
});
|
|
3337
|
-
// ../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/node_modules/.aspect_rules_js/ebnf@1.9.1/node_modules/ebnf/dist/SemanticHelpers.js
|
|
3338
|
-
var require_SemanticHelpers = __commonJS({
|
|
3339
|
-
"../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/node_modules/.aspect_rules_js/ebnf@1.9.1/node_modules/ebnf/dist/SemanticHelpers.js": function(exports) {
|
|
3340
|
-
"use strict";
|
|
3341
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3342
|
-
value: true
|
|
3343
|
-
});
|
|
3344
|
-
exports.findChildrenByType = void 0;
|
|
3345
|
-
function findChildrenByType(token, type) {
|
|
3346
|
-
return token.children ? token.children.filter(function(x) {
|
|
3347
|
-
return x.type == type;
|
|
3348
|
-
}) : [];
|
|
3349
|
-
}
|
|
3350
|
-
exports.findChildrenByType = findChildrenByType;
|
|
3351
|
-
}
|
|
3352
|
-
});
|
|
3353
|
-
// ../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/node_modules/.aspect_rules_js/ebnf@1.9.1/node_modules/ebnf/dist/Grammars/BNF.js
|
|
3354
|
-
var require_BNF = __commonJS({
|
|
3355
|
-
"../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/node_modules/.aspect_rules_js/ebnf@1.9.1/node_modules/ebnf/dist/Grammars/BNF.js": function(exports) {
|
|
3356
|
-
"use strict";
|
|
3357
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3358
|
-
value: true
|
|
3359
|
-
});
|
|
3360
|
-
var SemanticHelpers_1 = require_SemanticHelpers();
|
|
3361
|
-
var Parser_1 = require_Parser();
|
|
3362
|
-
var BNF;
|
|
3363
|
-
(function(BNF2) {
|
|
3364
|
-
BNF2.RULES = [
|
|
3365
|
-
{
|
|
3366
|
-
name: "syntax",
|
|
3367
|
-
bnf: [
|
|
3368
|
-
[
|
|
3369
|
-
"RULE_EOL*",
|
|
3370
|
-
"rule+"
|
|
3371
|
-
]
|
|
3372
|
-
]
|
|
3373
|
-
},
|
|
3374
|
-
{
|
|
3375
|
-
name: "rule",
|
|
3376
|
-
bnf: [
|
|
3377
|
-
[
|
|
3378
|
-
'" "*',
|
|
3379
|
-
'"<"',
|
|
3380
|
-
"rule-name",
|
|
3381
|
-
'">"',
|
|
3382
|
-
'" "*',
|
|
3383
|
-
'"::="',
|
|
3384
|
-
"firstExpression",
|
|
3385
|
-
"otherExpression*",
|
|
3386
|
-
'" "*',
|
|
3387
|
-
"RULE_EOL+",
|
|
3388
|
-
'" "*'
|
|
3389
|
-
]
|
|
3390
|
-
]
|
|
3391
|
-
},
|
|
3392
|
-
{
|
|
3393
|
-
name: "firstExpression",
|
|
3394
|
-
bnf: [
|
|
3395
|
-
[
|
|
3396
|
-
'" "*',
|
|
3397
|
-
"list"
|
|
3398
|
-
]
|
|
3399
|
-
]
|
|
3400
|
-
},
|
|
3401
|
-
{
|
|
3402
|
-
name: "otherExpression",
|
|
3403
|
-
bnf: [
|
|
3404
|
-
[
|
|
3405
|
-
'" "*',
|
|
3406
|
-
'"|"',
|
|
3407
|
-
'" "*',
|
|
3408
|
-
"list"
|
|
3409
|
-
]
|
|
3410
|
-
]
|
|
3411
|
-
},
|
|
3412
|
-
{
|
|
3413
|
-
name: "RULE_EOL",
|
|
3414
|
-
bnf: [
|
|
3415
|
-
[
|
|
3416
|
-
'"\\r"'
|
|
3417
|
-
],
|
|
3418
|
-
[
|
|
3419
|
-
'"\\n"'
|
|
3420
|
-
]
|
|
3421
|
-
]
|
|
3422
|
-
},
|
|
3423
|
-
{
|
|
3424
|
-
name: "list",
|
|
3425
|
-
bnf: [
|
|
3426
|
-
[
|
|
3427
|
-
"term",
|
|
3428
|
-
'" "*',
|
|
3429
|
-
"list"
|
|
3430
|
-
],
|
|
3431
|
-
[
|
|
3432
|
-
"term"
|
|
3433
|
-
]
|
|
3434
|
-
]
|
|
3435
|
-
},
|
|
3436
|
-
{
|
|
3437
|
-
name: "term",
|
|
3438
|
-
bnf: [
|
|
3439
|
-
[
|
|
3440
|
-
"literal"
|
|
3441
|
-
],
|
|
3442
|
-
[
|
|
3443
|
-
'"<"',
|
|
3444
|
-
"rule-name",
|
|
3445
|
-
'">"'
|
|
3446
|
-
]
|
|
3447
|
-
]
|
|
3448
|
-
},
|
|
3449
|
-
{
|
|
3450
|
-
name: "literal",
|
|
3451
|
-
bnf: [
|
|
3452
|
-
[
|
|
3453
|
-
"'\"'",
|
|
3454
|
-
"RULE_CHARACTER1*",
|
|
3455
|
-
"'\"'"
|
|
3456
|
-
],
|
|
3457
|
-
[
|
|
3458
|
-
'"\'"',
|
|
3459
|
-
"RULE_CHARACTER2*",
|
|
3460
|
-
'"\'"'
|
|
3461
|
-
]
|
|
3462
|
-
]
|
|
3463
|
-
},
|
|
3464
|
-
{
|
|
3465
|
-
name: "RULE_CHARACTER",
|
|
3466
|
-
bnf: [
|
|
3467
|
-
[
|
|
3468
|
-
'" "'
|
|
3469
|
-
],
|
|
3470
|
-
[
|
|
3471
|
-
"RULE_LETTER"
|
|
3472
|
-
],
|
|
3473
|
-
[
|
|
3474
|
-
"RULE_DIGIT"
|
|
3475
|
-
],
|
|
3476
|
-
[
|
|
3477
|
-
"RULE_SYMBOL"
|
|
3478
|
-
]
|
|
3479
|
-
]
|
|
3480
|
-
},
|
|
3481
|
-
{
|
|
3482
|
-
name: "RULE_LETTER",
|
|
3483
|
-
bnf: [
|
|
3484
|
-
[
|
|
3485
|
-
'"A"'
|
|
3486
|
-
],
|
|
3487
|
-
[
|
|
3488
|
-
'"B"'
|
|
3489
|
-
],
|
|
3490
|
-
[
|
|
3491
|
-
'"C"'
|
|
3492
|
-
],
|
|
3493
|
-
[
|
|
3494
|
-
'"D"'
|
|
3495
|
-
],
|
|
3496
|
-
[
|
|
3497
|
-
'"E"'
|
|
3498
|
-
],
|
|
3499
|
-
[
|
|
3500
|
-
'"F"'
|
|
3501
|
-
],
|
|
3502
|
-
[
|
|
3503
|
-
'"G"'
|
|
3504
|
-
],
|
|
3505
|
-
[
|
|
3506
|
-
'"H"'
|
|
3507
|
-
],
|
|
3508
|
-
[
|
|
3509
|
-
'"I"'
|
|
3510
|
-
],
|
|
3511
|
-
[
|
|
3512
|
-
'"J"'
|
|
3513
|
-
],
|
|
3514
|
-
[
|
|
3515
|
-
'"K"'
|
|
3516
|
-
],
|
|
3517
|
-
[
|
|
3518
|
-
'"L"'
|
|
3519
|
-
],
|
|
3520
|
-
[
|
|
3521
|
-
'"M"'
|
|
3522
|
-
],
|
|
3523
|
-
[
|
|
3524
|
-
'"N"'
|
|
3525
|
-
],
|
|
3526
|
-
[
|
|
3527
|
-
'"O"'
|
|
3528
|
-
],
|
|
3529
|
-
[
|
|
3530
|
-
'"P"'
|
|
3531
|
-
],
|
|
3532
|
-
[
|
|
3533
|
-
'"Q"'
|
|
3534
|
-
],
|
|
3535
|
-
[
|
|
3536
|
-
'"R"'
|
|
3537
|
-
],
|
|
3538
|
-
[
|
|
3539
|
-
'"S"'
|
|
3540
|
-
],
|
|
3541
|
-
[
|
|
3542
|
-
'"T"'
|
|
3543
|
-
],
|
|
3544
|
-
[
|
|
3545
|
-
'"U"'
|
|
3546
|
-
],
|
|
3547
|
-
[
|
|
3548
|
-
'"V"'
|
|
3549
|
-
],
|
|
3550
|
-
[
|
|
3551
|
-
'"W"'
|
|
3552
|
-
],
|
|
3553
|
-
[
|
|
3554
|
-
'"X"'
|
|
3555
|
-
],
|
|
3556
|
-
[
|
|
3557
|
-
'"Y"'
|
|
3558
|
-
],
|
|
3559
|
-
[
|
|
3560
|
-
'"Z"'
|
|
3561
|
-
],
|
|
3562
|
-
[
|
|
3563
|
-
'"a"'
|
|
3564
|
-
],
|
|
3565
|
-
[
|
|
3566
|
-
'"b"'
|
|
3567
|
-
],
|
|
3568
|
-
[
|
|
3569
|
-
'"c"'
|
|
3570
|
-
],
|
|
3571
|
-
[
|
|
3572
|
-
'"d"'
|
|
3573
|
-
],
|
|
3574
|
-
[
|
|
3575
|
-
'"e"'
|
|
3576
|
-
],
|
|
3577
|
-
[
|
|
3578
|
-
'"f"'
|
|
3579
|
-
],
|
|
3580
|
-
[
|
|
3581
|
-
'"g"'
|
|
3582
|
-
],
|
|
3583
|
-
[
|
|
3584
|
-
'"h"'
|
|
3585
|
-
],
|
|
3586
|
-
[
|
|
3587
|
-
'"i"'
|
|
3588
|
-
],
|
|
3589
|
-
[
|
|
3590
|
-
'"j"'
|
|
3591
|
-
],
|
|
3592
|
-
[
|
|
3593
|
-
'"k"'
|
|
3594
|
-
],
|
|
3595
|
-
[
|
|
3596
|
-
'"l"'
|
|
3597
|
-
],
|
|
3598
|
-
[
|
|
3599
|
-
'"m"'
|
|
3600
|
-
],
|
|
3601
|
-
[
|
|
3602
|
-
'"n"'
|
|
3603
|
-
],
|
|
3604
|
-
[
|
|
3605
|
-
'"o"'
|
|
3606
|
-
],
|
|
3607
|
-
[
|
|
3608
|
-
'"p"'
|
|
3609
|
-
],
|
|
3610
|
-
[
|
|
3611
|
-
'"q"'
|
|
3612
|
-
],
|
|
3613
|
-
[
|
|
3614
|
-
'"r"'
|
|
3615
|
-
],
|
|
3616
|
-
[
|
|
3617
|
-
'"s"'
|
|
3618
|
-
],
|
|
3619
|
-
[
|
|
3620
|
-
'"t"'
|
|
3621
|
-
],
|
|
3622
|
-
[
|
|
3623
|
-
'"u"'
|
|
3624
|
-
],
|
|
3625
|
-
[
|
|
3626
|
-
'"v"'
|
|
3627
|
-
],
|
|
3628
|
-
[
|
|
3629
|
-
'"w"'
|
|
3630
|
-
],
|
|
3631
|
-
[
|
|
3632
|
-
'"x"'
|
|
3633
|
-
],
|
|
3634
|
-
[
|
|
3635
|
-
'"y"'
|
|
3636
|
-
],
|
|
3637
|
-
[
|
|
3638
|
-
'"z"'
|
|
3639
|
-
]
|
|
3640
|
-
]
|
|
3641
|
-
},
|
|
3642
|
-
{
|
|
3643
|
-
name: "RULE_DIGIT",
|
|
3644
|
-
bnf: [
|
|
3645
|
-
[
|
|
3646
|
-
'"0"'
|
|
3647
|
-
],
|
|
3648
|
-
[
|
|
3649
|
-
'"1"'
|
|
3650
|
-
],
|
|
3651
|
-
[
|
|
3652
|
-
'"2"'
|
|
3653
|
-
],
|
|
3654
|
-
[
|
|
3655
|
-
'"3"'
|
|
3656
|
-
],
|
|
3657
|
-
[
|
|
3658
|
-
'"4"'
|
|
3659
|
-
],
|
|
3660
|
-
[
|
|
3661
|
-
'"5"'
|
|
3662
|
-
],
|
|
3663
|
-
[
|
|
3664
|
-
'"6"'
|
|
3665
|
-
],
|
|
3666
|
-
[
|
|
3667
|
-
'"7"'
|
|
3668
|
-
],
|
|
3669
|
-
[
|
|
3670
|
-
'"8"'
|
|
3671
|
-
],
|
|
3672
|
-
[
|
|
3673
|
-
'"9"'
|
|
3674
|
-
]
|
|
3675
|
-
]
|
|
3676
|
-
},
|
|
3677
|
-
{
|
|
3678
|
-
name: "RULE_SYMBOL",
|
|
3679
|
-
bnf: [
|
|
3680
|
-
[
|
|
3681
|
-
'"-"'
|
|
3682
|
-
],
|
|
3683
|
-
[
|
|
3684
|
-
'"_"'
|
|
3685
|
-
],
|
|
3686
|
-
[
|
|
3687
|
-
'"!"'
|
|
3688
|
-
],
|
|
3689
|
-
[
|
|
3690
|
-
'"#"'
|
|
3691
|
-
],
|
|
3692
|
-
[
|
|
3693
|
-
'"$"'
|
|
3694
|
-
],
|
|
3695
|
-
[
|
|
3696
|
-
'"%"'
|
|
3697
|
-
],
|
|
3698
|
-
[
|
|
3699
|
-
'"&"'
|
|
3700
|
-
],
|
|
3701
|
-
[
|
|
3702
|
-
'"("'
|
|
3703
|
-
],
|
|
3704
|
-
[
|
|
3705
|
-
'")"'
|
|
3706
|
-
],
|
|
3707
|
-
[
|
|
3708
|
-
'"*"'
|
|
3709
|
-
],
|
|
3710
|
-
[
|
|
3711
|
-
'"+"'
|
|
3712
|
-
],
|
|
3713
|
-
[
|
|
3714
|
-
'","'
|
|
3715
|
-
],
|
|
3716
|
-
[
|
|
3717
|
-
'"-"'
|
|
3718
|
-
],
|
|
3719
|
-
[
|
|
3720
|
-
'"."'
|
|
3721
|
-
],
|
|
3722
|
-
[
|
|
3723
|
-
'"/"'
|
|
3724
|
-
],
|
|
3725
|
-
[
|
|
3726
|
-
'":"'
|
|
3727
|
-
],
|
|
3728
|
-
[
|
|
3729
|
-
'";"'
|
|
3730
|
-
],
|
|
3731
|
-
[
|
|
3732
|
-
'"<"'
|
|
3733
|
-
],
|
|
3734
|
-
[
|
|
3735
|
-
'"="'
|
|
3736
|
-
],
|
|
3737
|
-
[
|
|
3738
|
-
'">"'
|
|
3739
|
-
],
|
|
3740
|
-
[
|
|
3741
|
-
'"?"'
|
|
3742
|
-
],
|
|
3743
|
-
[
|
|
3744
|
-
'"@"'
|
|
3745
|
-
],
|
|
3746
|
-
[
|
|
3747
|
-
'"["'
|
|
3748
|
-
],
|
|
3749
|
-
[
|
|
3750
|
-
'"\\"'
|
|
3751
|
-
],
|
|
3752
|
-
[
|
|
3753
|
-
'"]"'
|
|
3754
|
-
],
|
|
3755
|
-
[
|
|
3756
|
-
'"^"'
|
|
3757
|
-
],
|
|
3758
|
-
[
|
|
3759
|
-
'"_"'
|
|
3760
|
-
],
|
|
3761
|
-
[
|
|
3762
|
-
'"`"'
|
|
3763
|
-
],
|
|
3764
|
-
[
|
|
3765
|
-
'"{"'
|
|
3766
|
-
],
|
|
3767
|
-
[
|
|
3768
|
-
'"|"'
|
|
3769
|
-
],
|
|
3770
|
-
[
|
|
3771
|
-
'"}"'
|
|
3772
|
-
],
|
|
3773
|
-
[
|
|
3774
|
-
'"~"'
|
|
3775
|
-
]
|
|
3776
|
-
]
|
|
3777
|
-
},
|
|
3778
|
-
{
|
|
3779
|
-
name: "RULE_CHARACTER1",
|
|
3780
|
-
bnf: [
|
|
3781
|
-
[
|
|
3782
|
-
"RULE_CHARACTER"
|
|
3783
|
-
],
|
|
3784
|
-
[
|
|
3785
|
-
'"\'"'
|
|
3786
|
-
]
|
|
3787
|
-
]
|
|
3788
|
-
},
|
|
3789
|
-
{
|
|
3790
|
-
name: "RULE_CHARACTER2",
|
|
3791
|
-
bnf: [
|
|
3792
|
-
[
|
|
3793
|
-
"RULE_CHARACTER"
|
|
3794
|
-
],
|
|
3795
|
-
[
|
|
3796
|
-
"'\"'"
|
|
3797
|
-
]
|
|
3798
|
-
]
|
|
3799
|
-
},
|
|
3800
|
-
{
|
|
3801
|
-
name: "rule-name",
|
|
3802
|
-
bnf: [
|
|
3803
|
-
[
|
|
3804
|
-
"RULE_LETTER",
|
|
3805
|
-
"RULE_CHAR*"
|
|
3806
|
-
]
|
|
3807
|
-
]
|
|
3808
|
-
},
|
|
3809
|
-
{
|
|
3810
|
-
name: "RULE_CHAR",
|
|
3811
|
-
bnf: [
|
|
3812
|
-
[
|
|
3813
|
-
"RULE_LETTER"
|
|
3814
|
-
],
|
|
3815
|
-
[
|
|
3816
|
-
"RULE_DIGIT"
|
|
3817
|
-
],
|
|
3818
|
-
[
|
|
3819
|
-
'"_"'
|
|
3820
|
-
],
|
|
3821
|
-
[
|
|
3822
|
-
'"-"'
|
|
3823
|
-
]
|
|
3824
|
-
]
|
|
3825
|
-
}
|
|
3826
|
-
];
|
|
3827
|
-
BNF2.defaultParser = new Parser_1.Parser(BNF2.RULES, {
|
|
3828
|
-
debug: false
|
|
3829
|
-
});
|
|
3830
|
-
function getAllTerms(expr) {
|
|
3831
|
-
var terms = SemanticHelpers_1.findChildrenByType(expr, "term").map(function(term) {
|
|
3832
|
-
return SemanticHelpers_1.findChildrenByType(term, "literal").concat(SemanticHelpers_1.findChildrenByType(term, "rule-name"))[0].text;
|
|
3833
|
-
});
|
|
3834
|
-
SemanticHelpers_1.findChildrenByType(expr, "list").forEach(function(expr2) {
|
|
3835
|
-
terms = terms.concat(getAllTerms(expr2));
|
|
3836
|
-
});
|
|
3837
|
-
return terms;
|
|
3838
|
-
}
|
|
3839
|
-
function getRules(source) {
|
|
3840
|
-
var parser2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : BNF2.defaultParser;
|
|
3841
|
-
var ast = parser2.getAST(source);
|
|
3842
|
-
if (!ast) throw new Error("Could not parse " + source);
|
|
3843
|
-
if (ast.errors && ast.errors.length) {
|
|
3844
|
-
throw ast.errors[0];
|
|
3845
|
-
}
|
|
3846
|
-
var rules = SemanticHelpers_1.findChildrenByType(ast, "rule");
|
|
3847
|
-
var ret = rules.map(function(rule) {
|
|
3848
|
-
var name = SemanticHelpers_1.findChildrenByType(rule, "rule-name")[0].text;
|
|
3849
|
-
var expressions = SemanticHelpers_1.findChildrenByType(rule, "firstExpression").concat(SemanticHelpers_1.findChildrenByType(rule, "otherExpression"));
|
|
3850
|
-
var bnf = [];
|
|
3851
|
-
expressions.forEach(function(expr) {
|
|
3852
|
-
bnf.push(getAllTerms(expr));
|
|
3853
|
-
});
|
|
3854
|
-
return {
|
|
3855
|
-
name: name,
|
|
3856
|
-
bnf: bnf
|
|
3857
|
-
};
|
|
3858
|
-
});
|
|
3859
|
-
if (!ret.some(function(x) {
|
|
3860
|
-
return x.name == "EOL";
|
|
3861
|
-
})) {
|
|
3862
|
-
ret.push({
|
|
3863
|
-
name: "EOL",
|
|
3864
|
-
bnf: [
|
|
3865
|
-
[
|
|
3866
|
-
'"\\r\\n"',
|
|
3867
|
-
'"\\r"',
|
|
3868
|
-
'"\\n"'
|
|
3869
|
-
]
|
|
3870
|
-
]
|
|
3871
|
-
});
|
|
3872
|
-
}
|
|
3873
|
-
return ret;
|
|
3874
|
-
}
|
|
3875
|
-
BNF2.getRules = getRules;
|
|
3876
|
-
function Transform(source) {
|
|
3877
|
-
var subParser = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : BNF2.defaultParser;
|
|
3878
|
-
return getRules(source.join(""), subParser);
|
|
3879
|
-
}
|
|
3880
|
-
BNF2.Transform = Transform;
|
|
3881
|
-
var Parser2 = /*#__PURE__*/ function(_Parser_1_Parser) {
|
|
3882
|
-
_inherits(Parser2, _Parser_1_Parser);
|
|
3883
|
-
var _super = _create_super(Parser2);
|
|
3884
|
-
function Parser2(source, options) {
|
|
3885
|
-
_class_call_check(this, Parser2);
|
|
3886
|
-
var _this;
|
|
3887
|
-
var subParser = options && options.debugRulesParser === true ? new Parser_1.Parser(BNF2.RULES, {
|
|
3888
|
-
debug: true
|
|
3889
|
-
}) : BNF2.defaultParser;
|
|
3890
|
-
_this = _super.call(this, getRules(source, subParser), options);
|
|
3891
|
-
_this.source = source;
|
|
3892
|
-
return _this;
|
|
3893
|
-
}
|
|
3894
|
-
_create_class(Parser2, [
|
|
3895
|
-
{
|
|
3896
|
-
key: "emitSource",
|
|
3897
|
-
value: function emitSource() {
|
|
3898
|
-
return this.source;
|
|
3899
|
-
}
|
|
3900
|
-
}
|
|
3901
|
-
]);
|
|
3902
|
-
return Parser2;
|
|
3903
|
-
}(Parser_1.Parser);
|
|
3904
|
-
BNF2.Parser = Parser2;
|
|
3905
|
-
})(BNF || (BNF = {}));
|
|
3906
|
-
exports.default = BNF;
|
|
3907
|
-
}
|
|
3908
|
-
});
|
|
3909
|
-
// ../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/node_modules/.aspect_rules_js/ebnf@1.9.1/node_modules/ebnf/dist/Grammars/W3CEBNF.js
|
|
3910
|
-
var require_W3CEBNF = __commonJS({
|
|
3911
|
-
"../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/node_modules/.aspect_rules_js/ebnf@1.9.1/node_modules/ebnf/dist/Grammars/W3CEBNF.js": function(exports) {
|
|
3912
|
-
"use strict";
|
|
3913
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3914
|
-
value: true
|
|
3915
|
-
});
|
|
3916
|
-
var Parser_1 = require_Parser();
|
|
3917
|
-
var BNF;
|
|
3918
|
-
(function(BNF2) {
|
|
3919
|
-
BNF2.RULES = [
|
|
3920
|
-
{
|
|
3921
|
-
name: "Grammar",
|
|
3922
|
-
bnf: [
|
|
3923
|
-
[
|
|
3924
|
-
"RULE_S*",
|
|
3925
|
-
"%Atomic*",
|
|
3926
|
-
"EOF"
|
|
3927
|
-
]
|
|
3928
|
-
]
|
|
3929
|
-
},
|
|
3930
|
-
{
|
|
3931
|
-
name: "%Atomic",
|
|
3932
|
-
bnf: [
|
|
3933
|
-
[
|
|
3934
|
-
"Production",
|
|
3935
|
-
"RULE_S*"
|
|
3936
|
-
]
|
|
3937
|
-
],
|
|
3938
|
-
fragment: true
|
|
3939
|
-
},
|
|
3940
|
-
{
|
|
3941
|
-
name: "Production",
|
|
3942
|
-
bnf: [
|
|
3943
|
-
[
|
|
3944
|
-
"NCName",
|
|
3945
|
-
"RULE_S*",
|
|
3946
|
-
'"::="',
|
|
3947
|
-
"RULE_WHITESPACE*",
|
|
3948
|
-
"Choice",
|
|
3949
|
-
"RULE_WHITESPACE*",
|
|
3950
|
-
"RULE_EOL+",
|
|
3951
|
-
"RULE_S*"
|
|
3952
|
-
]
|
|
3953
|
-
]
|
|
3954
|
-
},
|
|
3955
|
-
{
|
|
3956
|
-
name: "NCName",
|
|
3957
|
-
bnf: [
|
|
3958
|
-
[
|
|
3959
|
-
/[a-zA-Z][a-zA-Z_0-9]*/
|
|
3960
|
-
]
|
|
3961
|
-
]
|
|
3962
|
-
},
|
|
3963
|
-
{
|
|
3964
|
-
name: "Choice",
|
|
3965
|
-
bnf: [
|
|
3966
|
-
[
|
|
3967
|
-
"SequenceOrDifference",
|
|
3968
|
-
"%_Choice_1*"
|
|
3969
|
-
]
|
|
3970
|
-
],
|
|
3971
|
-
fragment: true
|
|
3972
|
-
},
|
|
3973
|
-
{
|
|
3974
|
-
name: "%_Choice_1",
|
|
3975
|
-
bnf: [
|
|
3976
|
-
[
|
|
3977
|
-
"RULE_WHITESPACE*",
|
|
3978
|
-
'"|"',
|
|
3979
|
-
"RULE_WHITESPACE*",
|
|
3980
|
-
"SequenceOrDifference"
|
|
3981
|
-
]
|
|
3982
|
-
],
|
|
3983
|
-
fragment: true
|
|
3984
|
-
},
|
|
3985
|
-
{
|
|
3986
|
-
name: "SequenceOrDifference",
|
|
3987
|
-
bnf: [
|
|
3988
|
-
[
|
|
3989
|
-
"Item",
|
|
3990
|
-
"RULE_WHITESPACE*",
|
|
3991
|
-
"%_Item_1?"
|
|
3992
|
-
]
|
|
3993
|
-
]
|
|
3994
|
-
},
|
|
3995
|
-
{
|
|
3996
|
-
name: "%_Item_1",
|
|
3997
|
-
bnf: [
|
|
3998
|
-
[
|
|
3999
|
-
"Minus",
|
|
4000
|
-
"Item"
|
|
4001
|
-
],
|
|
4002
|
-
[
|
|
4003
|
-
"Item*"
|
|
4004
|
-
]
|
|
4005
|
-
],
|
|
4006
|
-
fragment: true
|
|
4007
|
-
},
|
|
4008
|
-
{
|
|
4009
|
-
name: "Minus",
|
|
4010
|
-
bnf: [
|
|
4011
|
-
[
|
|
4012
|
-
'"-"'
|
|
4013
|
-
]
|
|
4014
|
-
]
|
|
4015
|
-
},
|
|
4016
|
-
{
|
|
4017
|
-
name: "Item",
|
|
4018
|
-
bnf: [
|
|
4019
|
-
[
|
|
4020
|
-
"RULE_WHITESPACE*",
|
|
4021
|
-
"%Primary",
|
|
4022
|
-
"PrimaryDecoration?"
|
|
4023
|
-
]
|
|
4024
|
-
],
|
|
4025
|
-
fragment: true
|
|
4026
|
-
},
|
|
4027
|
-
{
|
|
4028
|
-
name: "PrimaryDecoration",
|
|
4029
|
-
bnf: [
|
|
4030
|
-
[
|
|
4031
|
-
'"?"'
|
|
4032
|
-
],
|
|
4033
|
-
[
|
|
4034
|
-
'"*"'
|
|
4035
|
-
],
|
|
4036
|
-
[
|
|
4037
|
-
'"+"'
|
|
4038
|
-
]
|
|
4039
|
-
]
|
|
4040
|
-
},
|
|
4041
|
-
{
|
|
4042
|
-
name: "DecorationName",
|
|
4043
|
-
bnf: [
|
|
4044
|
-
[
|
|
4045
|
-
'"ebnf://"',
|
|
4046
|
-
/[^\x5D#]+/
|
|
4047
|
-
]
|
|
4048
|
-
]
|
|
4049
|
-
},
|
|
4050
|
-
{
|
|
4051
|
-
name: "%Primary",
|
|
4052
|
-
bnf: [
|
|
4053
|
-
[
|
|
4054
|
-
"NCName"
|
|
4055
|
-
],
|
|
4056
|
-
[
|
|
4057
|
-
"StringLiteral"
|
|
4058
|
-
],
|
|
4059
|
-
[
|
|
4060
|
-
"CharCode"
|
|
4061
|
-
],
|
|
4062
|
-
[
|
|
4063
|
-
"CharClass"
|
|
4064
|
-
],
|
|
4065
|
-
[
|
|
4066
|
-
"SubItem"
|
|
4067
|
-
]
|
|
4068
|
-
],
|
|
4069
|
-
fragment: true
|
|
4070
|
-
},
|
|
4071
|
-
{
|
|
4072
|
-
name: "SubItem",
|
|
4073
|
-
bnf: [
|
|
4074
|
-
[
|
|
4075
|
-
'"("',
|
|
4076
|
-
"RULE_WHITESPACE*",
|
|
4077
|
-
"Choice",
|
|
4078
|
-
"RULE_WHITESPACE*",
|
|
4079
|
-
'")"'
|
|
4080
|
-
]
|
|
4081
|
-
]
|
|
4082
|
-
},
|
|
4083
|
-
{
|
|
4084
|
-
name: "StringLiteral",
|
|
4085
|
-
bnf: [
|
|
4086
|
-
[
|
|
4087
|
-
"'\"'",
|
|
4088
|
-
/[^"]*/,
|
|
4089
|
-
"'\"'"
|
|
4090
|
-
],
|
|
4091
|
-
[
|
|
4092
|
-
'"\'"',
|
|
4093
|
-
/[^']*/,
|
|
4094
|
-
'"\'"'
|
|
4095
|
-
]
|
|
4096
|
-
],
|
|
4097
|
-
pinned: 1
|
|
4098
|
-
},
|
|
4099
|
-
{
|
|
4100
|
-
name: "CharCode",
|
|
4101
|
-
bnf: [
|
|
4102
|
-
[
|
|
4103
|
-
'"#x"',
|
|
4104
|
-
/[0-9a-zA-Z]+/
|
|
4105
|
-
]
|
|
4106
|
-
]
|
|
4107
|
-
},
|
|
4108
|
-
{
|
|
4109
|
-
name: "CharClass",
|
|
4110
|
-
bnf: [
|
|
4111
|
-
[
|
|
4112
|
-
"'['",
|
|
4113
|
-
"'^'?",
|
|
4114
|
-
"%RULE_CharClass_1+",
|
|
4115
|
-
'"]"'
|
|
4116
|
-
]
|
|
4117
|
-
]
|
|
4118
|
-
},
|
|
4119
|
-
{
|
|
4120
|
-
name: "%RULE_CharClass_1",
|
|
4121
|
-
bnf: [
|
|
4122
|
-
[
|
|
4123
|
-
"CharCodeRange"
|
|
4124
|
-
],
|
|
4125
|
-
[
|
|
4126
|
-
"CharRange"
|
|
4127
|
-
],
|
|
4128
|
-
[
|
|
4129
|
-
"CharCode"
|
|
4130
|
-
],
|
|
4131
|
-
[
|
|
4132
|
-
"RULE_Char"
|
|
4133
|
-
]
|
|
4134
|
-
],
|
|
4135
|
-
fragment: true
|
|
4136
|
-
},
|
|
4137
|
-
{
|
|
4138
|
-
name: "RULE_Char",
|
|
4139
|
-
bnf: [
|
|
4140
|
-
[
|
|
4141
|
-
/\x09/
|
|
4142
|
-
],
|
|
4143
|
-
[
|
|
4144
|
-
/\x0A/
|
|
4145
|
-
],
|
|
4146
|
-
[
|
|
4147
|
-
/\x0D/
|
|
4148
|
-
],
|
|
4149
|
-
[
|
|
4150
|
-
/[\x20-\x5c]/
|
|
4151
|
-
],
|
|
4152
|
-
[
|
|
4153
|
-
/[\x5e-\uD7FF]/
|
|
4154
|
-
],
|
|
4155
|
-
[
|
|
4156
|
-
/[\uE000-\uFFFD]/
|
|
4157
|
-
]
|
|
4158
|
-
]
|
|
4159
|
-
},
|
|
4160
|
-
{
|
|
4161
|
-
name: "CharRange",
|
|
4162
|
-
bnf: [
|
|
4163
|
-
[
|
|
4164
|
-
"RULE_Char",
|
|
4165
|
-
'"-"',
|
|
4166
|
-
"RULE_Char"
|
|
4167
|
-
]
|
|
4168
|
-
]
|
|
4169
|
-
},
|
|
4170
|
-
{
|
|
4171
|
-
name: "CharCodeRange",
|
|
4172
|
-
bnf: [
|
|
4173
|
-
[
|
|
4174
|
-
"CharCode",
|
|
4175
|
-
'"-"',
|
|
4176
|
-
"CharCode"
|
|
4177
|
-
]
|
|
4178
|
-
]
|
|
4179
|
-
},
|
|
4180
|
-
{
|
|
4181
|
-
name: "RULE_WHITESPACE",
|
|
4182
|
-
bnf: [
|
|
4183
|
-
[
|
|
4184
|
-
"%RULE_WHITESPACE_CHAR*"
|
|
4185
|
-
],
|
|
4186
|
-
[
|
|
4187
|
-
"Comment",
|
|
4188
|
-
"RULE_WHITESPACE*"
|
|
4189
|
-
]
|
|
4190
|
-
]
|
|
4191
|
-
},
|
|
4192
|
-
{
|
|
4193
|
-
name: "RULE_S",
|
|
4194
|
-
bnf: [
|
|
4195
|
-
[
|
|
4196
|
-
"RULE_WHITESPACE",
|
|
4197
|
-
"RULE_S*"
|
|
4198
|
-
],
|
|
4199
|
-
[
|
|
4200
|
-
"RULE_EOL",
|
|
4201
|
-
"RULE_S*"
|
|
4202
|
-
]
|
|
4203
|
-
]
|
|
4204
|
-
},
|
|
4205
|
-
{
|
|
4206
|
-
name: "%RULE_WHITESPACE_CHAR",
|
|
4207
|
-
bnf: [
|
|
4208
|
-
[
|
|
4209
|
-
/\x09/
|
|
4210
|
-
],
|
|
4211
|
-
[
|
|
4212
|
-
/\x20/
|
|
4213
|
-
]
|
|
4214
|
-
],
|
|
4215
|
-
fragment: true
|
|
4216
|
-
},
|
|
4217
|
-
{
|
|
4218
|
-
name: "Comment",
|
|
4219
|
-
bnf: [
|
|
4220
|
-
[
|
|
4221
|
-
'"/*"',
|
|
4222
|
-
"%RULE_Comment_Body*",
|
|
4223
|
-
'"*/"'
|
|
4224
|
-
]
|
|
4225
|
-
]
|
|
4226
|
-
},
|
|
4227
|
-
{
|
|
4228
|
-
name: "%RULE_Comment_Body",
|
|
4229
|
-
bnf: [
|
|
4230
|
-
[
|
|
4231
|
-
'!"*/"',
|
|
4232
|
-
/[^*]/
|
|
4233
|
-
]
|
|
4234
|
-
],
|
|
4235
|
-
fragment: true
|
|
4236
|
-
},
|
|
4237
|
-
{
|
|
4238
|
-
name: "RULE_EOL",
|
|
4239
|
-
bnf: [
|
|
4240
|
-
[
|
|
4241
|
-
/\x0D/,
|
|
4242
|
-
/\x0A/
|
|
4243
|
-
],
|
|
4244
|
-
[
|
|
4245
|
-
/\x0A/
|
|
4246
|
-
],
|
|
4247
|
-
[
|
|
4248
|
-
/\x0D/
|
|
4249
|
-
]
|
|
4250
|
-
]
|
|
4251
|
-
},
|
|
4252
|
-
{
|
|
4253
|
-
name: "Link",
|
|
4254
|
-
bnf: [
|
|
4255
|
-
[
|
|
4256
|
-
"'['",
|
|
4257
|
-
"Url",
|
|
4258
|
-
"']'"
|
|
4259
|
-
]
|
|
4260
|
-
]
|
|
4261
|
-
},
|
|
4262
|
-
{
|
|
4263
|
-
name: "Url",
|
|
4264
|
-
bnf: [
|
|
4265
|
-
[
|
|
4266
|
-
/[^\x5D:/?#]/,
|
|
4267
|
-
'"://"',
|
|
4268
|
-
/[^\x5D#]+/,
|
|
4269
|
-
"%Url1?"
|
|
4270
|
-
]
|
|
4271
|
-
]
|
|
4272
|
-
},
|
|
4273
|
-
{
|
|
4274
|
-
name: "%Url1",
|
|
4275
|
-
bnf: [
|
|
4276
|
-
[
|
|
4277
|
-
'"#"',
|
|
4278
|
-
"NCName"
|
|
4279
|
-
]
|
|
4280
|
-
],
|
|
4281
|
-
fragment: true
|
|
4282
|
-
}
|
|
4283
|
-
];
|
|
4284
|
-
BNF2.defaultParser = new Parser_1.Parser(BNF2.RULES, {
|
|
4285
|
-
debug: false
|
|
4286
|
-
});
|
|
4287
|
-
var preDecorationRE = /^(!|&)/;
|
|
4288
|
-
var decorationRE = /(\?|\+|\*)$/;
|
|
4289
|
-
var subExpressionRE = /^%/;
|
|
4290
|
-
function getBNFRule(name, parser2) {
|
|
4291
|
-
if (typeof name == "string") {
|
|
4292
|
-
if (preDecorationRE.test(name)) return "";
|
|
4293
|
-
var subexpression = subExpressionRE.test(name);
|
|
4294
|
-
if (subexpression) {
|
|
4295
|
-
var decoration = decorationRE.exec(name);
|
|
4296
|
-
var decorationText = decoration ? decoration[0] + " " : "";
|
|
4297
|
-
var lonely = isLonelyRule(name, parser2);
|
|
4298
|
-
if (lonely) return getBNFBody(name, parser2) + decorationText;
|
|
4299
|
-
return "(" + getBNFBody(name, parser2) + ")" + decorationText;
|
|
4300
|
-
}
|
|
4301
|
-
return name;
|
|
4302
|
-
} else {
|
|
4303
|
-
return name.source.replace(/\\(?:x|u)([a-zA-Z0-9]+)/g, "#x$1").replace(/\[\\(?:x|u)([a-zA-Z0-9]+)-\\(?:x|u)([a-zA-Z0-9]+)\]/g, "[#x$1-#x$2]");
|
|
4304
|
-
}
|
|
4305
|
-
}
|
|
4306
|
-
function isLonelyRule(name, parser2) {
|
|
4307
|
-
var rule = Parser_1.findRuleByName(name, parser2);
|
|
4308
|
-
return rule && rule.bnf.length == 1 && rule.bnf[0].length == 1 && (_instanceof(rule.bnf[0][0], RegExp) || rule.bnf[0][0][0] == '"' || rule.bnf[0][0][0] == "'");
|
|
4309
|
-
}
|
|
4310
|
-
function getBNFChoice(rules, parser2) {
|
|
4311
|
-
return rules.map(function(x) {
|
|
4312
|
-
return getBNFRule(x, parser2);
|
|
4313
|
-
}).join(" ");
|
|
4314
|
-
}
|
|
4315
|
-
function getBNFBody(name, parser2) {
|
|
4316
|
-
var rule = Parser_1.findRuleByName(name, parser2);
|
|
4317
|
-
if (rule) return rule.bnf.map(function(x) {
|
|
4318
|
-
return getBNFChoice(x, parser2);
|
|
4319
|
-
}).join(" | ");
|
|
4320
|
-
return "RULE_NOT_FOUND {" + name + "}";
|
|
4321
|
-
}
|
|
4322
|
-
function emit(parser2) {
|
|
4323
|
-
var acumulator = [];
|
|
4324
|
-
parser2.grammarRules.forEach(function(l) {
|
|
4325
|
-
if (!/^%/.test(l.name)) {
|
|
4326
|
-
var recover = l.recover ? " /* { recoverUntil=" + l.recover + " } */" : "";
|
|
4327
|
-
acumulator.push(l.name + " ::= " + getBNFBody(l.name, parser2) + recover);
|
|
4328
|
-
}
|
|
4329
|
-
});
|
|
4330
|
-
return acumulator.join("\n");
|
|
4331
|
-
}
|
|
4332
|
-
BNF2.emit = emit;
|
|
4333
|
-
var subitems = 0;
|
|
4334
|
-
function restar(total, resta) {
|
|
4335
|
-
console.log("reberia restar " + resta + " a " + total);
|
|
4336
|
-
throw new Error("Difference not supported yet");
|
|
4337
|
-
}
|
|
4338
|
-
function convertRegex(txt) {
|
|
4339
|
-
return new RegExp(txt.replace(/#x([a-zA-Z0-9]{4})/g, "\\u$1").replace(/#x([a-zA-Z0-9]{3})/g, "\\u0$1").replace(/#x([a-zA-Z0-9]{2})/g, "\\x$1").replace(/#x([a-zA-Z0-9]{1})/g, "\\x0$1"));
|
|
4340
|
-
}
|
|
4341
|
-
function getSubItems(tmpRules, seq, parentName) {
|
|
4342
|
-
var anterior = null;
|
|
4343
|
-
var bnfSeq = [];
|
|
4344
|
-
seq.children.forEach(function(x, i) {
|
|
4345
|
-
if (x.type == "Minus") {
|
|
4346
|
-
restar(anterior, x);
|
|
4347
|
-
} else {}
|
|
4348
|
-
var decoration = seq.children[i + 1];
|
|
4349
|
-
decoration = decoration && decoration.type == "PrimaryDecoration" && decoration.text || "";
|
|
4350
|
-
var preDecoration = "";
|
|
4351
|
-
switch(x.type){
|
|
4352
|
-
case "SubItem":
|
|
4353
|
-
var name = "%" + (parentName + subitems++);
|
|
4354
|
-
createRule(tmpRules, x, name);
|
|
4355
|
-
bnfSeq.push(preDecoration + name + decoration);
|
|
4356
|
-
break;
|
|
4357
|
-
case "NCName":
|
|
4358
|
-
case "StringLiteral":
|
|
4359
|
-
bnfSeq.push(preDecoration + x.text + decoration);
|
|
4360
|
-
break;
|
|
4361
|
-
case "CharCode":
|
|
4362
|
-
case "CharClass":
|
|
4363
|
-
if (decoration || preDecoration) {
|
|
4364
|
-
var newRule = {
|
|
4365
|
-
name: "%" + (parentName + subitems++),
|
|
4366
|
-
bnf: [
|
|
4367
|
-
[
|
|
4368
|
-
convertRegex(x.text)
|
|
4369
|
-
]
|
|
4370
|
-
]
|
|
4371
|
-
};
|
|
4372
|
-
tmpRules.push(newRule);
|
|
4373
|
-
bnfSeq.push(preDecoration + newRule.name + decoration);
|
|
4374
|
-
} else {
|
|
4375
|
-
bnfSeq.push(convertRegex(x.text));
|
|
4376
|
-
}
|
|
4377
|
-
break;
|
|
4378
|
-
case "PrimaryDecoration":
|
|
4379
|
-
break;
|
|
4380
|
-
default:
|
|
4381
|
-
throw new Error(" HOW SHOULD I PARSE THIS? " + x.type + " -> " + JSON.stringify(x.text));
|
|
4382
|
-
}
|
|
4383
|
-
anterior = x;
|
|
4384
|
-
});
|
|
4385
|
-
return bnfSeq;
|
|
4386
|
-
}
|
|
4387
|
-
function createRule(tmpRules, token, name) {
|
|
4388
|
-
var bnf = token.children.filter(function(x) {
|
|
4389
|
-
return x.type == "SequenceOrDifference";
|
|
4390
|
-
}).map(function(s) {
|
|
4391
|
-
return getSubItems(tmpRules, s, name);
|
|
4392
|
-
});
|
|
4393
|
-
var rule = {
|
|
4394
|
-
name: name,
|
|
4395
|
-
bnf: bnf
|
|
4396
|
-
};
|
|
4397
|
-
var recover = null;
|
|
4398
|
-
bnf.forEach(function(x) {
|
|
4399
|
-
recover = recover || x["recover"];
|
|
4400
|
-
delete x["recover"];
|
|
4401
|
-
});
|
|
4402
|
-
if (name.indexOf("%") == 0) rule.fragment = true;
|
|
4403
|
-
if (recover) rule.recover = recover;
|
|
4404
|
-
tmpRules.push(rule);
|
|
4405
|
-
}
|
|
4406
|
-
function getRules(source) {
|
|
4407
|
-
var parser2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : BNF2.defaultParser;
|
|
4408
|
-
var ast = parser2.getAST(source);
|
|
4409
|
-
if (!ast) throw new Error("Could not parse " + source);
|
|
4410
|
-
if (ast.errors && ast.errors.length) {
|
|
4411
|
-
throw ast.errors[0];
|
|
4412
|
-
}
|
|
4413
|
-
var tmpRules = [];
|
|
4414
|
-
ast.children.filter(function(x) {
|
|
4415
|
-
return x.type == "Production";
|
|
4416
|
-
}).map(function(x) {
|
|
4417
|
-
var name = x.children.filter(function(x2) {
|
|
4418
|
-
return x2.type == "NCName";
|
|
4419
|
-
})[0].text;
|
|
4420
|
-
createRule(tmpRules, x, name);
|
|
4421
|
-
});
|
|
4422
|
-
return tmpRules;
|
|
4423
|
-
}
|
|
4424
|
-
BNF2.getRules = getRules;
|
|
4425
|
-
function Transform(source) {
|
|
4426
|
-
var subParser = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : BNF2.defaultParser;
|
|
4427
|
-
return getRules(source.join(""), subParser);
|
|
4428
|
-
}
|
|
4429
|
-
BNF2.Transform = Transform;
|
|
4430
|
-
var Parser2 = /*#__PURE__*/ function(_Parser_1_Parser) {
|
|
4431
|
-
_inherits(Parser2, _Parser_1_Parser);
|
|
4432
|
-
var _super = _create_super(Parser2);
|
|
4433
|
-
function Parser2(source, options) {
|
|
4434
|
-
_class_call_check(this, Parser2);
|
|
4435
|
-
var subParser = options && options.debugRulesParser === true ? new Parser_1.Parser(BNF2.RULES, {
|
|
4436
|
-
debug: true
|
|
4437
|
-
}) : BNF2.defaultParser;
|
|
4438
|
-
return _super.call(this, getRules(source, subParser), options);
|
|
4439
|
-
}
|
|
4440
|
-
_create_class(Parser2, [
|
|
4441
|
-
{
|
|
4442
|
-
key: "emitSource",
|
|
4443
|
-
value: function emitSource() {
|
|
4444
|
-
return emit(this);
|
|
4445
|
-
}
|
|
4446
|
-
}
|
|
4447
|
-
]);
|
|
4448
|
-
return Parser2;
|
|
4449
|
-
}(Parser_1.Parser);
|
|
4450
|
-
BNF2.Parser = Parser2;
|
|
4451
|
-
})(BNF || (BNF = {}));
|
|
4452
|
-
exports.default = BNF;
|
|
4453
|
-
}
|
|
4454
|
-
});
|
|
4455
|
-
// ../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/node_modules/.aspect_rules_js/ebnf@1.9.1/node_modules/ebnf/dist/Grammars/Custom.js
|
|
4456
|
-
var require_Custom = __commonJS({
|
|
4457
|
-
"../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/node_modules/.aspect_rules_js/ebnf@1.9.1/node_modules/ebnf/dist/Grammars/Custom.js": function(exports) {
|
|
4458
|
-
"use strict";
|
|
4459
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4460
|
-
value: true
|
|
4461
|
-
});
|
|
4462
|
-
var TokenError_1 = require_TokenError();
|
|
4463
|
-
var Parser_1 = require_Parser();
|
|
4464
|
-
var BNF;
|
|
4465
|
-
(function(BNF2) {
|
|
4466
|
-
BNF2.RULES = [
|
|
4467
|
-
{
|
|
4468
|
-
name: "Grammar",
|
|
4469
|
-
bnf: [
|
|
4470
|
-
[
|
|
4471
|
-
"RULE_S*",
|
|
4472
|
-
"Attributes?",
|
|
4473
|
-
"RULE_S*",
|
|
4474
|
-
"%Atomic*",
|
|
4475
|
-
"EOF"
|
|
4476
|
-
]
|
|
4477
|
-
]
|
|
4478
|
-
},
|
|
4479
|
-
{
|
|
4480
|
-
name: "%Atomic",
|
|
4481
|
-
bnf: [
|
|
4482
|
-
[
|
|
4483
|
-
"Production",
|
|
4484
|
-
"RULE_S*"
|
|
4485
|
-
]
|
|
4486
|
-
],
|
|
4487
|
-
fragment: true
|
|
4488
|
-
},
|
|
4489
|
-
{
|
|
4490
|
-
name: "Production",
|
|
4491
|
-
bnf: [
|
|
4492
|
-
[
|
|
4493
|
-
"NCName",
|
|
4494
|
-
"RULE_S*",
|
|
4495
|
-
'"::="',
|
|
4496
|
-
"RULE_WHITESPACE*",
|
|
4497
|
-
"%Choice",
|
|
4498
|
-
"RULE_WHITESPACE*",
|
|
4499
|
-
"Attributes?",
|
|
4500
|
-
"RULE_EOL+",
|
|
4501
|
-
"RULE_S*"
|
|
4502
|
-
]
|
|
4503
|
-
]
|
|
4504
|
-
},
|
|
4505
|
-
{
|
|
4506
|
-
name: "NCName",
|
|
4507
|
-
bnf: [
|
|
4508
|
-
[
|
|
4509
|
-
/[a-zA-Z][a-zA-Z_0-9]*/
|
|
4510
|
-
]
|
|
4511
|
-
]
|
|
4512
|
-
},
|
|
4513
|
-
{
|
|
4514
|
-
name: "Attributes",
|
|
4515
|
-
bnf: [
|
|
4516
|
-
[
|
|
4517
|
-
'"{"',
|
|
4518
|
-
"Attribute",
|
|
4519
|
-
"%Attributes*",
|
|
4520
|
-
"RULE_S*",
|
|
4521
|
-
'"}"'
|
|
4522
|
-
]
|
|
4523
|
-
]
|
|
4524
|
-
},
|
|
4525
|
-
{
|
|
4526
|
-
name: "%Attributes",
|
|
4527
|
-
bnf: [
|
|
4528
|
-
[
|
|
4529
|
-
"RULE_S*",
|
|
4530
|
-
'","',
|
|
4531
|
-
"Attribute"
|
|
4532
|
-
]
|
|
4533
|
-
],
|
|
4534
|
-
fragment: true
|
|
4535
|
-
},
|
|
4536
|
-
{
|
|
4537
|
-
name: "Attribute",
|
|
4538
|
-
bnf: [
|
|
4539
|
-
[
|
|
4540
|
-
"RULE_S*",
|
|
4541
|
-
"NCName",
|
|
4542
|
-
"RULE_WHITESPACE*",
|
|
4543
|
-
'"="',
|
|
4544
|
-
"RULE_WHITESPACE*",
|
|
4545
|
-
"AttributeValue"
|
|
4546
|
-
]
|
|
4547
|
-
]
|
|
4548
|
-
},
|
|
4549
|
-
{
|
|
4550
|
-
name: "AttributeValue",
|
|
4551
|
-
bnf: [
|
|
4552
|
-
[
|
|
4553
|
-
"NCName"
|
|
4554
|
-
],
|
|
4555
|
-
[
|
|
4556
|
-
/[1-9][0-9]*/
|
|
4557
|
-
]
|
|
4558
|
-
]
|
|
4559
|
-
},
|
|
4560
|
-
{
|
|
4561
|
-
name: "%Choice",
|
|
4562
|
-
bnf: [
|
|
4563
|
-
[
|
|
4564
|
-
"SequenceOrDifference",
|
|
4565
|
-
"%_Choice_1*"
|
|
4566
|
-
]
|
|
4567
|
-
],
|
|
4568
|
-
fragment: true
|
|
4569
|
-
},
|
|
4570
|
-
{
|
|
4571
|
-
name: "%_Choice_1",
|
|
4572
|
-
bnf: [
|
|
4573
|
-
[
|
|
4574
|
-
"RULE_S*",
|
|
4575
|
-
'"|"',
|
|
4576
|
-
"RULE_S*",
|
|
4577
|
-
"SequenceOrDifference"
|
|
4578
|
-
]
|
|
4579
|
-
],
|
|
4580
|
-
fragment: true
|
|
4581
|
-
},
|
|
4582
|
-
{
|
|
4583
|
-
name: "SequenceOrDifference",
|
|
4584
|
-
bnf: [
|
|
4585
|
-
[
|
|
4586
|
-
"%Item",
|
|
4587
|
-
"RULE_WHITESPACE*",
|
|
4588
|
-
"%_Item_1?"
|
|
4589
|
-
]
|
|
4590
|
-
]
|
|
4591
|
-
},
|
|
4592
|
-
{
|
|
4593
|
-
name: "%_Item_1",
|
|
4594
|
-
bnf: [
|
|
4595
|
-
[
|
|
4596
|
-
"Minus",
|
|
4597
|
-
"%Item"
|
|
4598
|
-
],
|
|
4599
|
-
[
|
|
4600
|
-
"%Item*"
|
|
4601
|
-
]
|
|
4602
|
-
],
|
|
4603
|
-
fragment: true
|
|
4604
|
-
},
|
|
4605
|
-
{
|
|
4606
|
-
name: "Minus",
|
|
4607
|
-
bnf: [
|
|
4608
|
-
[
|
|
4609
|
-
'"-"'
|
|
4610
|
-
]
|
|
4611
|
-
]
|
|
4612
|
-
},
|
|
4613
|
-
{
|
|
4614
|
-
name: "%Item",
|
|
4615
|
-
bnf: [
|
|
4616
|
-
[
|
|
4617
|
-
"RULE_WHITESPACE*",
|
|
4618
|
-
"PrimaryPreDecoration?",
|
|
4619
|
-
"%Primary",
|
|
4620
|
-
"PrimaryDecoration?"
|
|
4621
|
-
]
|
|
4622
|
-
],
|
|
4623
|
-
fragment: true
|
|
4624
|
-
},
|
|
4625
|
-
{
|
|
4626
|
-
name: "PrimaryDecoration",
|
|
4627
|
-
bnf: [
|
|
4628
|
-
[
|
|
4629
|
-
'"?"'
|
|
4630
|
-
],
|
|
4631
|
-
[
|
|
4632
|
-
'"*"'
|
|
4633
|
-
],
|
|
4634
|
-
[
|
|
4635
|
-
'"+"'
|
|
4636
|
-
]
|
|
4637
|
-
]
|
|
4638
|
-
},
|
|
4639
|
-
{
|
|
4640
|
-
name: "PrimaryPreDecoration",
|
|
4641
|
-
bnf: [
|
|
4642
|
-
[
|
|
4643
|
-
'"&"'
|
|
4644
|
-
],
|
|
4645
|
-
[
|
|
4646
|
-
'"!"'
|
|
4647
|
-
],
|
|
4648
|
-
[
|
|
4649
|
-
'"~"'
|
|
4650
|
-
]
|
|
4651
|
-
]
|
|
4652
|
-
},
|
|
4653
|
-
{
|
|
4654
|
-
name: "%Primary",
|
|
4655
|
-
bnf: [
|
|
4656
|
-
[
|
|
4657
|
-
"NCName"
|
|
4658
|
-
],
|
|
4659
|
-
[
|
|
4660
|
-
"StringLiteral"
|
|
4661
|
-
],
|
|
4662
|
-
[
|
|
4663
|
-
"CharCode"
|
|
4664
|
-
],
|
|
4665
|
-
[
|
|
4666
|
-
"CharClass"
|
|
4667
|
-
],
|
|
4668
|
-
[
|
|
4669
|
-
"SubItem"
|
|
4670
|
-
]
|
|
4671
|
-
],
|
|
4672
|
-
fragment: true
|
|
4673
|
-
},
|
|
4674
|
-
{
|
|
4675
|
-
name: "SubItem",
|
|
4676
|
-
bnf: [
|
|
4677
|
-
[
|
|
4678
|
-
'"("',
|
|
4679
|
-
"RULE_S*",
|
|
4680
|
-
"%Choice",
|
|
4681
|
-
"RULE_S*",
|
|
4682
|
-
'")"'
|
|
4683
|
-
]
|
|
4684
|
-
]
|
|
4685
|
-
},
|
|
4686
|
-
{
|
|
4687
|
-
name: "StringLiteral",
|
|
4688
|
-
bnf: [
|
|
4689
|
-
[
|
|
4690
|
-
"'\"'",
|
|
4691
|
-
/[^"]*/,
|
|
4692
|
-
"'\"'"
|
|
4693
|
-
],
|
|
4694
|
-
[
|
|
4695
|
-
'"\'"',
|
|
4696
|
-
/[^']*/,
|
|
4697
|
-
'"\'"'
|
|
4698
|
-
]
|
|
4699
|
-
]
|
|
4700
|
-
},
|
|
4701
|
-
{
|
|
4702
|
-
name: "CharCode",
|
|
4703
|
-
bnf: [
|
|
4704
|
-
[
|
|
4705
|
-
'"#x"',
|
|
4706
|
-
/[0-9a-zA-Z]+/
|
|
4707
|
-
]
|
|
4708
|
-
]
|
|
4709
|
-
},
|
|
4710
|
-
{
|
|
4711
|
-
name: "CharClass",
|
|
4712
|
-
bnf: [
|
|
4713
|
-
[
|
|
4714
|
-
"'['",
|
|
4715
|
-
"'^'?",
|
|
4716
|
-
"%RULE_CharClass_1+",
|
|
4717
|
-
'"]"'
|
|
4718
|
-
]
|
|
4719
|
-
]
|
|
4720
|
-
},
|
|
4721
|
-
{
|
|
4722
|
-
name: "%RULE_CharClass_1",
|
|
4723
|
-
bnf: [
|
|
4724
|
-
[
|
|
4725
|
-
"CharCodeRange"
|
|
4726
|
-
],
|
|
4727
|
-
[
|
|
4728
|
-
"CharRange"
|
|
4729
|
-
],
|
|
4730
|
-
[
|
|
4731
|
-
"CharCode"
|
|
4732
|
-
],
|
|
4733
|
-
[
|
|
4734
|
-
"RULE_Char"
|
|
4735
|
-
]
|
|
4736
|
-
],
|
|
4737
|
-
fragment: true
|
|
4738
|
-
},
|
|
4739
|
-
{
|
|
4740
|
-
name: "RULE_Char",
|
|
4741
|
-
bnf: [
|
|
4742
|
-
[
|
|
4743
|
-
/\x09/
|
|
4744
|
-
],
|
|
4745
|
-
[
|
|
4746
|
-
/\x0A/
|
|
4747
|
-
],
|
|
4748
|
-
[
|
|
4749
|
-
/\x0D/
|
|
4750
|
-
],
|
|
4751
|
-
[
|
|
4752
|
-
/[\x20-\x5c]/
|
|
4753
|
-
],
|
|
4754
|
-
[
|
|
4755
|
-
/[\x5e-\uD7FF]/
|
|
4756
|
-
],
|
|
4757
|
-
[
|
|
4758
|
-
/[\uE000-\uFFFD]/
|
|
4759
|
-
]
|
|
4760
|
-
]
|
|
4761
|
-
},
|
|
4762
|
-
{
|
|
4763
|
-
name: "CharRange",
|
|
4764
|
-
bnf: [
|
|
4765
|
-
[
|
|
4766
|
-
"RULE_Char",
|
|
4767
|
-
'"-"',
|
|
4768
|
-
"RULE_Char"
|
|
4769
|
-
]
|
|
4770
|
-
]
|
|
4771
|
-
},
|
|
4772
|
-
{
|
|
4773
|
-
name: "CharCodeRange",
|
|
4774
|
-
bnf: [
|
|
4775
|
-
[
|
|
4776
|
-
"CharCode",
|
|
4777
|
-
'"-"',
|
|
4778
|
-
"CharCode"
|
|
4779
|
-
]
|
|
4780
|
-
]
|
|
4781
|
-
},
|
|
4782
|
-
{
|
|
4783
|
-
name: "RULE_WHITESPACE",
|
|
4784
|
-
bnf: [
|
|
4785
|
-
[
|
|
4786
|
-
"%RULE_WHITESPACE_CHAR*"
|
|
4787
|
-
],
|
|
4788
|
-
[
|
|
4789
|
-
"Comment",
|
|
4790
|
-
"RULE_WHITESPACE*"
|
|
4791
|
-
]
|
|
4792
|
-
]
|
|
4793
|
-
},
|
|
4794
|
-
{
|
|
4795
|
-
name: "RULE_S",
|
|
4796
|
-
bnf: [
|
|
4797
|
-
[
|
|
4798
|
-
"RULE_WHITESPACE",
|
|
4799
|
-
"RULE_S*"
|
|
4800
|
-
],
|
|
4801
|
-
[
|
|
4802
|
-
"RULE_EOL",
|
|
4803
|
-
"RULE_S*"
|
|
4804
|
-
]
|
|
4805
|
-
]
|
|
4806
|
-
},
|
|
4807
|
-
{
|
|
4808
|
-
name: "%RULE_WHITESPACE_CHAR",
|
|
4809
|
-
bnf: [
|
|
4810
|
-
[
|
|
4811
|
-
/\x09/
|
|
4812
|
-
],
|
|
4813
|
-
[
|
|
4814
|
-
/\x20/
|
|
4815
|
-
]
|
|
4816
|
-
],
|
|
4817
|
-
fragment: true
|
|
4818
|
-
},
|
|
4819
|
-
{
|
|
4820
|
-
name: "Comment",
|
|
4821
|
-
bnf: [
|
|
4822
|
-
[
|
|
4823
|
-
'"/*"',
|
|
4824
|
-
"%RULE_Comment_Body*",
|
|
4825
|
-
'"*/"'
|
|
4826
|
-
]
|
|
4827
|
-
]
|
|
4828
|
-
},
|
|
4829
|
-
{
|
|
4830
|
-
name: "%RULE_Comment_Body",
|
|
4831
|
-
bnf: [
|
|
4832
|
-
[
|
|
4833
|
-
/[^*]/
|
|
4834
|
-
],
|
|
4835
|
-
[
|
|
4836
|
-
'"*"+',
|
|
4837
|
-
/[^/]*/
|
|
4838
|
-
]
|
|
4839
|
-
],
|
|
4840
|
-
fragment: true
|
|
4841
|
-
},
|
|
4842
|
-
{
|
|
4843
|
-
name: "RULE_EOL",
|
|
4844
|
-
bnf: [
|
|
4845
|
-
[
|
|
4846
|
-
/\x0D/,
|
|
4847
|
-
/\x0A/
|
|
4848
|
-
],
|
|
4849
|
-
[
|
|
4850
|
-
/\x0A/
|
|
4851
|
-
],
|
|
4852
|
-
[
|
|
4853
|
-
/\x0D/
|
|
4854
|
-
]
|
|
4855
|
-
]
|
|
4856
|
-
},
|
|
4857
|
-
{
|
|
4858
|
-
name: "Link",
|
|
4859
|
-
bnf: [
|
|
4860
|
-
[
|
|
4861
|
-
"'['",
|
|
4862
|
-
"Url",
|
|
4863
|
-
"']'"
|
|
4864
|
-
]
|
|
4865
|
-
]
|
|
4866
|
-
},
|
|
4867
|
-
{
|
|
4868
|
-
name: "Url",
|
|
4869
|
-
bnf: [
|
|
4870
|
-
[
|
|
4871
|
-
/[^\x5D:/?#]/,
|
|
4872
|
-
'"://"',
|
|
4873
|
-
/[^\x5D#]+/,
|
|
4874
|
-
"%Url1?"
|
|
4875
|
-
]
|
|
4876
|
-
]
|
|
4877
|
-
},
|
|
4878
|
-
{
|
|
4879
|
-
name: "%Url1",
|
|
4880
|
-
bnf: [
|
|
4881
|
-
[
|
|
4882
|
-
'"#"',
|
|
4883
|
-
"NCName"
|
|
4884
|
-
]
|
|
4885
|
-
],
|
|
4886
|
-
fragment: true
|
|
4887
|
-
}
|
|
4888
|
-
];
|
|
4889
|
-
BNF2.defaultParser = new Parser_1.Parser(BNF2.RULES, {
|
|
4890
|
-
debug: false
|
|
4891
|
-
});
|
|
4892
|
-
var preDecorationRE = /^(!|&)/;
|
|
4893
|
-
var decorationRE = /(\?|\+|\*)$/;
|
|
4894
|
-
var subExpressionRE = /^%/;
|
|
4895
|
-
function getBNFRule(name, parser2) {
|
|
4896
|
-
if (typeof name == "string") {
|
|
4897
|
-
var decoration = decorationRE.exec(name);
|
|
4898
|
-
var preDecoration = preDecorationRE.exec(name);
|
|
4899
|
-
var preDecorationText = preDecoration ? preDecoration[0] : "";
|
|
4900
|
-
var decorationText = decoration ? decoration[0] + " " : "";
|
|
4901
|
-
var subexpression = subExpressionRE.test(name);
|
|
4902
|
-
if (subexpression) {
|
|
4903
|
-
var lonely = isLonelyRule(name, parser2);
|
|
4904
|
-
if (lonely) return preDecorationText + getBNFBody(name, parser2) + decorationText;
|
|
4905
|
-
return preDecorationText + "(" + getBNFBody(name, parser2) + ")" + decorationText;
|
|
4906
|
-
}
|
|
4907
|
-
return name.replace(preDecorationRE, preDecorationText);
|
|
4908
|
-
} else {
|
|
4909
|
-
return name.source.replace(/\\(?:x|u)([a-zA-Z0-9]+)/g, "#x$1").replace(/\[\\(?:x|u)([a-zA-Z0-9]+)-\\(?:x|u)([a-zA-Z0-9]+)\]/g, "[#x$1-#x$2]");
|
|
4910
|
-
}
|
|
4911
|
-
}
|
|
4912
|
-
function isLonelyRule(name, parser2) {
|
|
4913
|
-
var rule = Parser_1.findRuleByName(name, parser2);
|
|
4914
|
-
return rule && rule.bnf.length == 1 && rule.bnf[0].length == 1 && (_instanceof(rule.bnf[0][0], RegExp) || rule.bnf[0][0][0] == '"' || rule.bnf[0][0][0] == "'");
|
|
4915
|
-
}
|
|
4916
|
-
function getBNFChoice(rules, parser2) {
|
|
4917
|
-
return rules.map(function(x) {
|
|
4918
|
-
return getBNFRule(x, parser2);
|
|
4919
|
-
}).join(" ");
|
|
4920
|
-
}
|
|
4921
|
-
function getBNFBody(name, parser2) {
|
|
4922
|
-
var rule = Parser_1.findRuleByName(name, parser2);
|
|
4923
|
-
if (rule) return rule.bnf.map(function(x) {
|
|
4924
|
-
return getBNFChoice(x, parser2);
|
|
4925
|
-
}).join(" | ");
|
|
4926
|
-
return "RULE_NOT_FOUND {" + name + "}";
|
|
4927
|
-
}
|
|
4928
|
-
function emit(parser2) {
|
|
4929
|
-
var acumulator = [];
|
|
4930
|
-
parser2.grammarRules.forEach(function(l) {
|
|
4931
|
-
if (!/^%/.test(l.name)) {
|
|
4932
|
-
var recover = l.recover ? " { recoverUntil=" + l.recover + " }" : "";
|
|
4933
|
-
acumulator.push(l.name + " ::= " + getBNFBody(l.name, parser2) + recover);
|
|
4934
|
-
}
|
|
4935
|
-
});
|
|
4936
|
-
return acumulator.join("\n");
|
|
4937
|
-
}
|
|
4938
|
-
BNF2.emit = emit;
|
|
4939
|
-
var subitems = 0;
|
|
4940
|
-
function restar(total, resta) {
|
|
4941
|
-
console.log("reberia restar " + resta + " a " + total);
|
|
4942
|
-
throw new Error("Difference not supported yet");
|
|
4943
|
-
}
|
|
4944
|
-
function convertRegex(txt) {
|
|
4945
|
-
return new RegExp(txt.replace(/#x([a-zA-Z0-9]{4})/g, "\\u$1").replace(/#x([a-zA-Z0-9]{3})/g, "\\u0$1").replace(/#x([a-zA-Z0-9]{2})/g, "\\x$1").replace(/#x([a-zA-Z0-9]{1})/g, "\\x0$1"));
|
|
4946
|
-
}
|
|
4947
|
-
function getSubItems(tmpRules, seq, parentName, parentAttributes) {
|
|
4948
|
-
var anterior = null;
|
|
4949
|
-
var bnfSeq = [];
|
|
4950
|
-
seq.children.forEach(function(x, i) {
|
|
4951
|
-
if (x.type == "Minus") {
|
|
4952
|
-
restar(anterior, x);
|
|
4953
|
-
} else {}
|
|
4954
|
-
var decoration = seq.children[i + 1];
|
|
4955
|
-
decoration = decoration && decoration.type == "PrimaryDecoration" && decoration.text || "";
|
|
4956
|
-
var preDecoration = "";
|
|
4957
|
-
if (anterior && anterior.type == "PrimaryPreDecoration") {
|
|
4958
|
-
preDecoration = anterior.text;
|
|
4959
|
-
}
|
|
4960
|
-
var pinned = preDecoration == "~" ? 1 : void 0;
|
|
4961
|
-
if (pinned) {
|
|
4962
|
-
preDecoration = "";
|
|
4963
|
-
}
|
|
4964
|
-
switch(x.type){
|
|
4965
|
-
case "SubItem":
|
|
4966
|
-
var name = "%" + (parentName + subitems++);
|
|
4967
|
-
createRule(tmpRules, x, name, parentAttributes);
|
|
4968
|
-
bnfSeq.push(preDecoration + name + decoration);
|
|
4969
|
-
break;
|
|
4970
|
-
case "NCName":
|
|
4971
|
-
bnfSeq.push(preDecoration + x.text + decoration);
|
|
4972
|
-
break;
|
|
4973
|
-
case "StringLiteral":
|
|
4974
|
-
if (decoration || preDecoration || !/^['"/()a-zA-Z0-9&_.:=,+*\-\^\\]+$/.test(x.text)) {
|
|
4975
|
-
bnfSeq.push(preDecoration + x.text + decoration);
|
|
4976
|
-
} else {
|
|
4977
|
-
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
4978
|
-
try {
|
|
4979
|
-
for(var _iterator = x.text.slice(1, -1)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
4980
|
-
var c = _step.value;
|
|
4981
|
-
if (parentAttributes && parentAttributes["ignoreCase"] == "true" && /[a-zA-Z]/.test(c)) {
|
|
4982
|
-
bnfSeq.push(new RegExp("[" + c.toUpperCase() + c.toLowerCase() + "]"));
|
|
4983
|
-
} else {
|
|
4984
|
-
bnfSeq.push(new RegExp(Parser_1.escapeRegExp(c)));
|
|
4985
|
-
}
|
|
4986
|
-
}
|
|
4987
|
-
} catch (err) {
|
|
4988
|
-
_didIteratorError = true;
|
|
4989
|
-
_iteratorError = err;
|
|
4990
|
-
} finally{
|
|
4991
|
-
try {
|
|
4992
|
-
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
4993
|
-
_iterator.return();
|
|
4994
|
-
}
|
|
4995
|
-
} finally{
|
|
4996
|
-
if (_didIteratorError) {
|
|
4997
|
-
throw _iteratorError;
|
|
4998
|
-
}
|
|
4999
|
-
}
|
|
5000
|
-
}
|
|
5001
|
-
}
|
|
5002
|
-
break;
|
|
5003
|
-
case "CharCode":
|
|
5004
|
-
case "CharClass":
|
|
5005
|
-
if (decoration || preDecoration) {
|
|
5006
|
-
var newRule = {
|
|
5007
|
-
name: "%" + (parentName + subitems++),
|
|
5008
|
-
bnf: [
|
|
5009
|
-
[
|
|
5010
|
-
convertRegex(x.text)
|
|
5011
|
-
]
|
|
5012
|
-
],
|
|
5013
|
-
pinned: pinned
|
|
5014
|
-
};
|
|
5015
|
-
tmpRules.push(newRule);
|
|
5016
|
-
bnfSeq.push(preDecoration + newRule.name + decoration);
|
|
5017
|
-
} else {
|
|
5018
|
-
bnfSeq.push(convertRegex(x.text));
|
|
5019
|
-
}
|
|
5020
|
-
break;
|
|
5021
|
-
case "PrimaryPreDecoration":
|
|
5022
|
-
case "PrimaryDecoration":
|
|
5023
|
-
break;
|
|
5024
|
-
default:
|
|
5025
|
-
throw new Error(" HOW SHOULD I PARSE THIS? " + x.type + " -> " + JSON.stringify(x.text));
|
|
5026
|
-
}
|
|
5027
|
-
anterior = x;
|
|
5028
|
-
});
|
|
5029
|
-
return bnfSeq;
|
|
5030
|
-
}
|
|
5031
|
-
function createRule(tmpRules, token, name) {
|
|
5032
|
-
var parentAttributes = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : void 0;
|
|
5033
|
-
var attrNode = token.children.filter(function(x) {
|
|
5034
|
-
return x.type == "Attributes";
|
|
5035
|
-
})[0];
|
|
5036
|
-
var attributes = {};
|
|
5037
|
-
if (attrNode) {
|
|
5038
|
-
attrNode.children.forEach(function(x) {
|
|
5039
|
-
var name2 = x.children.filter(function(x2) {
|
|
5040
|
-
return x2.type == "NCName";
|
|
5041
|
-
})[0].text;
|
|
5042
|
-
if (name2 in attributes) {
|
|
5043
|
-
throw new TokenError_1.TokenError("Duplicated attribute " + name2, x);
|
|
5044
|
-
} else {
|
|
5045
|
-
attributes[name2] = x.children.filter(function(x2) {
|
|
5046
|
-
return x2.type == "AttributeValue";
|
|
5047
|
-
})[0].text;
|
|
5048
|
-
}
|
|
5049
|
-
});
|
|
5050
|
-
}
|
|
5051
|
-
var bnf = token.children.filter(function(x) {
|
|
5052
|
-
return x.type == "SequenceOrDifference";
|
|
5053
|
-
}).map(function(s) {
|
|
5054
|
-
return getSubItems(tmpRules, s, name, parentAttributes ? parentAttributes : attributes);
|
|
5055
|
-
});
|
|
5056
|
-
var rule = {
|
|
5057
|
-
name: name,
|
|
5058
|
-
bnf: bnf
|
|
5059
|
-
};
|
|
5060
|
-
if (name.indexOf("%") == 0) rule.fragment = true;
|
|
5061
|
-
if (attributes["recoverUntil"]) {
|
|
5062
|
-
rule.recover = attributes["recoverUntil"];
|
|
5063
|
-
if (rule.bnf.length > 1) throw new TokenError_1.TokenError("only one-option productions are suitable for error recovering", token);
|
|
5064
|
-
}
|
|
5065
|
-
if ("pin" in attributes) {
|
|
5066
|
-
var num = parseInt(attributes["pin"]);
|
|
5067
|
-
if (!isNaN(num)) {
|
|
5068
|
-
rule.pinned = num;
|
|
5069
|
-
}
|
|
5070
|
-
if (rule.bnf.length > 1) throw new TokenError_1.TokenError("only one-option productions are suitable for pinning", token);
|
|
5071
|
-
}
|
|
5072
|
-
if ("ws" in attributes) {
|
|
5073
|
-
rule.implicitWs = attributes["ws"] != "explicit";
|
|
5074
|
-
} else {
|
|
5075
|
-
rule.implicitWs = null;
|
|
5076
|
-
}
|
|
5077
|
-
rule.fragment = rule.fragment || attributes["fragment"] == "true";
|
|
5078
|
-
rule.simplifyWhenOneChildren = attributes["simplifyWhenOneChildren"] == "true";
|
|
5079
|
-
tmpRules.push(rule);
|
|
5080
|
-
}
|
|
5081
|
-
function getRules(source) {
|
|
5082
|
-
var parser2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : BNF2.defaultParser;
|
|
5083
|
-
var ast = parser2.getAST(source);
|
|
5084
|
-
if (!ast) throw new Error("Could not parse " + source);
|
|
5085
|
-
if (ast.errors && ast.errors.length) {
|
|
5086
|
-
throw ast.errors[0];
|
|
5087
|
-
}
|
|
5088
|
-
var implicitWs = null;
|
|
5089
|
-
var attrNode = ast.children.filter(function(x) {
|
|
5090
|
-
return x.type == "Attributes";
|
|
5091
|
-
})[0];
|
|
5092
|
-
var attributes = {};
|
|
5093
|
-
if (attrNode) {
|
|
5094
|
-
attrNode.children.forEach(function(x) {
|
|
5095
|
-
var name = x.children.filter(function(x2) {
|
|
5096
|
-
return x2.type == "NCName";
|
|
5097
|
-
})[0].text;
|
|
5098
|
-
if (name in attributes) {
|
|
5099
|
-
throw new TokenError_1.TokenError("Duplicated attribute " + name, x);
|
|
5100
|
-
} else {
|
|
5101
|
-
attributes[name] = x.children.filter(function(x2) {
|
|
5102
|
-
return x2.type == "AttributeValue";
|
|
5103
|
-
})[0].text;
|
|
5104
|
-
}
|
|
5105
|
-
});
|
|
5106
|
-
}
|
|
5107
|
-
implicitWs = attributes["ws"] == "implicit";
|
|
5108
|
-
var tmpRules = [];
|
|
5109
|
-
ast.children.filter(function(x) {
|
|
5110
|
-
return x.type == "Production";
|
|
5111
|
-
}).map(function(x) {
|
|
5112
|
-
var name = x.children.filter(function(x2) {
|
|
5113
|
-
return x2.type == "NCName";
|
|
5114
|
-
})[0].text;
|
|
5115
|
-
createRule(tmpRules, x, name);
|
|
5116
|
-
});
|
|
5117
|
-
tmpRules.forEach(function(rule) {
|
|
5118
|
-
if (rule.implicitWs === null) rule.implicitWs = implicitWs;
|
|
5119
|
-
});
|
|
5120
|
-
return tmpRules;
|
|
5121
|
-
}
|
|
5122
|
-
BNF2.getRules = getRules;
|
|
5123
|
-
function Transform(source) {
|
|
5124
|
-
var subParser = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : BNF2.defaultParser;
|
|
5125
|
-
return getRules(source.join(""), subParser);
|
|
5126
|
-
}
|
|
5127
|
-
BNF2.Transform = Transform;
|
|
5128
|
-
var Parser2 = /*#__PURE__*/ function(_Parser_1_Parser) {
|
|
5129
|
-
_inherits(Parser2, _Parser_1_Parser);
|
|
5130
|
-
var _super = _create_super(Parser2);
|
|
5131
|
-
function Parser2(source, options) {
|
|
5132
|
-
_class_call_check(this, Parser2);
|
|
5133
|
-
var subParser = options && options.debugRulesParser === true ? new Parser_1.Parser(BNF2.RULES, {
|
|
5134
|
-
debug: true
|
|
5135
|
-
}) : BNF2.defaultParser;
|
|
5136
|
-
return _super.call(this, getRules(source, subParser), options);
|
|
5137
|
-
}
|
|
5138
|
-
_create_class(Parser2, [
|
|
5139
|
-
{
|
|
5140
|
-
key: "emitSource",
|
|
5141
|
-
value: function emitSource() {
|
|
5142
|
-
return emit(this);
|
|
5143
|
-
}
|
|
5144
|
-
}
|
|
5145
|
-
]);
|
|
5146
|
-
return Parser2;
|
|
5147
|
-
}(Parser_1.Parser);
|
|
5148
|
-
BNF2.Parser = Parser2;
|
|
5149
|
-
})(BNF || (BNF = {}));
|
|
5150
|
-
exports.default = BNF;
|
|
5151
|
-
}
|
|
5152
|
-
});
|
|
5153
|
-
// ../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/node_modules/.aspect_rules_js/ebnf@1.9.1/node_modules/ebnf/dist/Grammars/index.js
|
|
5154
|
-
var require_Grammars = __commonJS({
|
|
5155
|
-
"../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/node_modules/.aspect_rules_js/ebnf@1.9.1/node_modules/ebnf/dist/Grammars/index.js": function(exports) {
|
|
5156
|
-
"use strict";
|
|
5157
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5158
|
-
value: true
|
|
5159
|
-
});
|
|
5160
|
-
var BNF_1 = require_BNF();
|
|
5161
|
-
Object.defineProperty(exports, "BNF", {
|
|
5162
|
-
enumerable: true,
|
|
5163
|
-
get: function get() {
|
|
5164
|
-
return BNF_1.default;
|
|
5165
|
-
}
|
|
5166
|
-
});
|
|
5167
|
-
var W3CEBNF_1 = require_W3CEBNF();
|
|
5168
|
-
Object.defineProperty(exports, "W3C", {
|
|
5169
|
-
enumerable: true,
|
|
5170
|
-
get: function get() {
|
|
5171
|
-
return W3CEBNF_1.default;
|
|
5172
|
-
}
|
|
5173
|
-
});
|
|
5174
|
-
var Custom_1 = require_Custom();
|
|
5175
|
-
Object.defineProperty(exports, "Custom", {
|
|
5176
|
-
enumerable: true,
|
|
5177
|
-
get: function get() {
|
|
5178
|
-
return Custom_1.default;
|
|
5179
|
-
}
|
|
5180
|
-
});
|
|
5181
|
-
}
|
|
5182
|
-
});
|
|
5183
|
-
// ../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/node_modules/.aspect_rules_js/ebnf@1.9.1/node_modules/ebnf/dist/index.js
|
|
5184
|
-
var require_dist = __commonJS({
|
|
5185
|
-
"../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/node_modules/.aspect_rules_js/ebnf@1.9.1/node_modules/ebnf/dist/index.js": function(exports) {
|
|
5186
|
-
"use strict";
|
|
5187
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5188
|
-
value: true
|
|
5189
|
-
});
|
|
5190
|
-
var Parser_1 = require_Parser();
|
|
5191
|
-
Object.defineProperty(exports, "Parser", {
|
|
5192
|
-
enumerable: true,
|
|
5193
|
-
get: function get() {
|
|
5194
|
-
return Parser_1.Parser;
|
|
5195
|
-
}
|
|
5196
|
-
});
|
|
5197
|
-
var TokenError_1 = require_TokenError();
|
|
5198
|
-
Object.defineProperty(exports, "TokenError", {
|
|
5199
|
-
enumerable: true,
|
|
5200
|
-
get: function get() {
|
|
5201
|
-
return TokenError_1.TokenError;
|
|
5202
|
-
}
|
|
5203
|
-
});
|
|
5204
|
-
exports.Grammars = require_Grammars();
|
|
5205
|
-
}
|
|
5206
|
-
});
|
|
5207
1625
|
// ../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/node_modules/.aspect_rules_js/timm@1.7.1/node_modules/timm/lib/timm.js
|
|
5208
1626
|
var require_timm = __commonJS({
|
|
5209
1627
|
"../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/node_modules/.aspect_rules_js/timm@1.7.1/node_modules/timm/lib/timm.js": function(exports) {
|
|
@@ -5296,14 +1714,14 @@ var StageRevertDataPlugin = function() {
|
|
|
5296
1714
|
result[idx] = newItem;
|
|
5297
1715
|
return result;
|
|
5298
1716
|
}
|
|
5299
|
-
function getIn(obj,
|
|
5300
|
-
if (!Array.isArray(
|
|
1717
|
+
function getIn(obj, path) {
|
|
1718
|
+
if (!Array.isArray(path)) {
|
|
5301
1719
|
throwStr(IS_DEV ? "A path array should be provided when calling getIn()" : INVALID_ARGS);
|
|
5302
1720
|
}
|
|
5303
1721
|
if (obj == null) return void 0;
|
|
5304
1722
|
var ptr = obj;
|
|
5305
|
-
for(var i = 0; i <
|
|
5306
|
-
var key =
|
|
1723
|
+
for(var i = 0; i < path.length; i++){
|
|
1724
|
+
var key = path[i];
|
|
5307
1725
|
ptr = ptr != null ? ptr[key] : void 0;
|
|
5308
1726
|
if (ptr === void 0) return ptr;
|
|
5309
1727
|
}
|
|
@@ -5317,18 +1735,18 @@ var StageRevertDataPlugin = function() {
|
|
|
5317
1735
|
obj2[key] = val;
|
|
5318
1736
|
return obj2;
|
|
5319
1737
|
}
|
|
5320
|
-
function setIn8(obj,
|
|
5321
|
-
if (!
|
|
5322
|
-
return doSetIn(obj,
|
|
1738
|
+
function setIn8(obj, path, val) {
|
|
1739
|
+
if (!path.length) return val;
|
|
1740
|
+
return doSetIn(obj, path, val, 0);
|
|
5323
1741
|
}
|
|
5324
|
-
function doSetIn(obj,
|
|
1742
|
+
function doSetIn(obj, path, val, idx) {
|
|
5325
1743
|
var newValue;
|
|
5326
|
-
var key =
|
|
5327
|
-
if (idx ===
|
|
1744
|
+
var key = path[idx];
|
|
1745
|
+
if (idx === path.length - 1) {
|
|
5328
1746
|
newValue = val;
|
|
5329
1747
|
} else {
|
|
5330
|
-
var nestedObj = isObject(obj) && isObject(obj[key]) ? obj[key] : typeof
|
|
5331
|
-
newValue = doSetIn(nestedObj,
|
|
1748
|
+
var nestedObj = isObject(obj) && isObject(obj[key]) ? obj[key] : typeof path[idx + 1] === "number" ? [] : {};
|
|
1749
|
+
newValue = doSetIn(nestedObj, path, val, idx + 1);
|
|
5332
1750
|
}
|
|
5333
1751
|
return set2(obj, key, newValue);
|
|
5334
1752
|
}
|
|
@@ -5337,10 +1755,10 @@ var StageRevertDataPlugin = function() {
|
|
|
5337
1755
|
var nextVal = fnUpdate(prevVal);
|
|
5338
1756
|
return set2(obj, key, nextVal);
|
|
5339
1757
|
}
|
|
5340
|
-
function updateIn(obj,
|
|
5341
|
-
var prevVal = getIn(obj,
|
|
1758
|
+
function updateIn(obj, path, fnUpdate) {
|
|
1759
|
+
var prevVal = getIn(obj, path);
|
|
5342
1760
|
var nextVal = fnUpdate(prevVal);
|
|
5343
|
-
return setIn8(obj,
|
|
1761
|
+
return setIn8(obj, path, nextVal);
|
|
5344
1762
|
}
|
|
5345
1763
|
function merge(a, b, c, d, e, f) {
|
|
5346
1764
|
for(var _len = arguments.length, rest = new Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++){
|
|
@@ -5376,11 +1794,11 @@ var StageRevertDataPlugin = function() {
|
|
|
5376
1794
|
f
|
|
5377
1795
|
].concat(_to_consumable_array(rest))) : doMerge(false, true, a, b, c, d, e, f);
|
|
5378
1796
|
}
|
|
5379
|
-
function mergeIn(a,
|
|
1797
|
+
function mergeIn(a, path, b, c, d, e, f) {
|
|
5380
1798
|
for(var _len = arguments.length, rest = new Array(_len > 7 ? _len - 7 : 0), _key = 7; _key < _len; _key++){
|
|
5381
1799
|
rest[_key - 7] = arguments[_key];
|
|
5382
1800
|
}
|
|
5383
|
-
var prevVal = getIn(a,
|
|
1801
|
+
var prevVal = getIn(a, path);
|
|
5384
1802
|
if (prevVal == null) prevVal = {};
|
|
5385
1803
|
var nextVal;
|
|
5386
1804
|
if (rest.length) {
|
|
@@ -5399,7 +1817,7 @@ var StageRevertDataPlugin = function() {
|
|
|
5399
1817
|
} else {
|
|
5400
1818
|
nextVal = doMerge(false, false, prevVal, b, c, d, e, f);
|
|
5401
1819
|
}
|
|
5402
|
-
return setIn8(a,
|
|
1820
|
+
return setIn8(a, path, nextVal);
|
|
5403
1821
|
}
|
|
5404
1822
|
function omit4(obj, attrs) {
|
|
5405
1823
|
var omitList = Array.isArray(attrs) ? attrs : [
|
|
@@ -5901,9 +2319,6 @@ var StageRevertDataPlugin = function() {
|
|
|
5901
2319
|
}(Hook);
|
|
5902
2320
|
// ../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/node_modules/.aspect_rules_js/@player-ui+player@0.0.0/node_modules/@player-ui/player/dist/index.mjs
|
|
5903
2321
|
var import_ts_nested_error = __toESM(require_nested_error(), 1);
|
|
5904
|
-
var import_arr_flatten = __toESM(require_arr_flatten(), 1);
|
|
5905
|
-
var import_parsimmon = __toESM(require_parsimmon(), 1);
|
|
5906
|
-
var import_ebnf = __toESM(require_dist(), 1);
|
|
5907
2322
|
var import_ts_nested_error2 = __toESM(require_nested_error(), 1);
|
|
5908
2323
|
// ../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/node_modules/.aspect_rules_js/@player-ui+player@0.0.0/node_modules/@player-ui/player/dist/index.mjs
|
|
5909
2324
|
var import_timm = __toESM(require_timm(), 1);
|
|
@@ -6027,20 +2442,20 @@ var StageRevertDataPlugin = function() {
|
|
|
6027
2442
|
// ../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/node_modules/.aspect_rules_js/@player-ui+partial-match-registry@0.0.0/node_modules/@player-ui/partial-match-registry/dist/index.mjs
|
|
6028
2443
|
var import_sorted_array = __toESM(require_sorted_array(), 1);
|
|
6029
2444
|
function traverseObj(object) {
|
|
6030
|
-
var
|
|
2445
|
+
var path = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [], pairs = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : /* @__PURE__ */ new Map();
|
|
6031
2446
|
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
6032
2447
|
try {
|
|
6033
2448
|
for(var _iterator = Object.keys(object)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
6034
2449
|
var key = _step.value;
|
|
6035
2450
|
"";
|
|
6036
2451
|
var val = object[key];
|
|
6037
|
-
var
|
|
2452
|
+
var nestedPath = _to_consumable_array(path).concat([
|
|
6038
2453
|
key
|
|
6039
2454
|
]);
|
|
6040
2455
|
if (typeof val === "object") {
|
|
6041
|
-
traverseObj(val,
|
|
2456
|
+
traverseObj(val, nestedPath, pairs);
|
|
6042
2457
|
} else {
|
|
6043
|
-
pairs.set(
|
|
2458
|
+
pairs.set(nestedPath, val);
|
|
6044
2459
|
}
|
|
6045
2460
|
}
|
|
6046
2461
|
} catch (err) {
|
|
@@ -6088,12 +2503,12 @@ var StageRevertDataPlugin = function() {
|
|
|
6088
2503
|
},
|
|
6089
2504
|
{
|
|
6090
2505
|
/** Fetch the best match in the registry */ key: "get",
|
|
6091
|
-
value: function get(
|
|
2506
|
+
value: function get(query) {
|
|
6092
2507
|
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
6093
2508
|
try {
|
|
6094
2509
|
for(var _iterator = this.store.array[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
6095
2510
|
var entry = _step.value;
|
|
6096
|
-
if (entry.matcher(
|
|
2511
|
+
if (entry.matcher(query)) {
|
|
6097
2512
|
return entry.value;
|
|
6098
2513
|
}
|
|
6099
2514
|
}
|
|
@@ -6167,10 +2582,10 @@ var StageRevertDataPlugin = function() {
|
|
|
6167
2582
|
value: value
|
|
6168
2583
|
};
|
|
6169
2584
|
};
|
|
6170
|
-
var toPath = function(
|
|
2585
|
+
var toPath = function(path) {
|
|
6171
2586
|
return {
|
|
6172
2587
|
name: "PathNode",
|
|
6173
|
-
path:
|
|
2588
|
+
path: path
|
|
6174
2589
|
};
|
|
6175
2590
|
};
|
|
6176
2591
|
var toQuery = function(key, value) {
|
|
@@ -6189,30 +2604,6 @@ var StageRevertDataPlugin = function() {
|
|
|
6189
2604
|
value: values
|
|
6190
2605
|
};
|
|
6191
2606
|
};
|
|
6192
|
-
var doubleQuote = import_parsimmon.default.string('"');
|
|
6193
|
-
var singleQuote = import_parsimmon.default.string("'");
|
|
6194
|
-
var backTick = import_parsimmon.default.string("`");
|
|
6195
|
-
var identifier = import_parsimmon.default.regex(/[\w\-@]+/).desc("identifier").map(toValue);
|
|
6196
|
-
var path;
|
|
6197
|
-
var futurePath = import_parsimmon.default.lazy(function() {
|
|
6198
|
-
return path;
|
|
6199
|
-
});
|
|
6200
|
-
var nestedPath = futurePath.trim(import_parsimmon.default.optWhitespace).wrap(import_parsimmon.default.string("{{"), import_parsimmon.default.string("}}")).map(toPath);
|
|
6201
|
-
var nestedExpression = import_parsimmon.default.regex(/[^`]*/).wrap(backTick, backTick).map(toExpression);
|
|
6202
|
-
var segment = import_parsimmon.default.alt(identifier, nestedPath, nestedExpression).atLeast(1).map(import_arr_flatten.default).map(toConcatenatedNode);
|
|
6203
|
-
var optionallyQuotedSegment = import_parsimmon.default.alt(import_parsimmon.default.regex(/[^"]*/).wrap(doubleQuote, doubleQuote).map(toValue), import_parsimmon.default.regex(/[^']*/).wrap(singleQuote, singleQuote).map(toValue), segment);
|
|
6204
|
-
var query = import_parsimmon.default.seq(optionallyQuotedSegment, import_parsimmon.default.string("=").times(1, 3).trim(import_parsimmon.default.optWhitespace), optionallyQuotedSegment).map(function(param) {
|
|
6205
|
-
var _param = _sliced_to_array(param, 3), key = _param[0], value = _param[2];
|
|
6206
|
-
return toQuery(key, value);
|
|
6207
|
-
});
|
|
6208
|
-
var brackets = import_parsimmon.default.alt(query, optionallyQuotedSegment).trim(import_parsimmon.default.optWhitespace).wrap(import_parsimmon.default.string("["), import_parsimmon.default.string("]")).many();
|
|
6209
|
-
var segmentAndBrackets = import_parsimmon.default.seqMap(segment, brackets, function(s, bs) {
|
|
6210
|
-
return [
|
|
6211
|
-
s
|
|
6212
|
-
].concat(_to_consumable_array(bs));
|
|
6213
|
-
});
|
|
6214
|
-
path = import_parsimmon.default.sepBy(segmentAndBrackets, import_parsimmon.default.string(".")).map(import_arr_flatten.default);
|
|
6215
|
-
var parser = new import_ebnf.Grammars.W3C.Parser('\nvalue ::= segment_and_bracket (SEGMENT_SEPARATOR segment_and_bracket)*\nsegment ::= concatenated | expression | modelRef | identifier \nconcatenated ::= (expression | modelRef | identifier)+ \nmodelRef ::= OPEN_CURL OPEN_CURL value CLOSE_CURL CLOSE_CURL \nidentifier ::= [\\w\\-@]+\nquery ::= WHITESPACE* optionally_quoted_segment WHITESPACE* EQUALS EQUALS? EQUALS? WHITESPACE* optionally_quoted_segment WHITESPACE*\nbrackets ::= OPEN_BRACKET WHITESPACE* (query | optionally_quoted_segment) WHITESPACE* CLOSE_BRACKET \nsegment_and_bracket ::= segment brackets*\nquoted_value ::= [^"\']*\noptionally_quoted_segment ::= WHITESPACE* SINGLE_QUOTE quoted_value SINGLE_QUOTE WHITESPACE* | WHITESPACE* DOUBLE_QUOTE quoted_value DOUBLE_QUOTE WHITESPACE* | WHITESPACE* segment WHITESPACE*\nexpression_value ::= [^`]*\nexpression ::= BACK_TICK expression_value BACK_TICK\n\nEQUALS ::= "="\nSEGMENT_SEPARATOR ::= "."\nSINGLE_QUOTE ::= "\'"\nDOUBLE_QUOTE ::= \'"\'\nWHITESPACE ::= " "\nOPEN_CURL ::= "{"\nCLOSE_CURL ::= "}" \nOPEN_BRACKET ::= "[" \nCLOSE_BRACKET ::= "]"\nBACK_TICK ::= "`" \n');
|
|
6216
2607
|
var SEGMENT_SEPARATOR = ".";
|
|
6217
2608
|
var OPEN_CURL = "{";
|
|
6218
2609
|
var CLOSE_CURL = "}";
|
|
@@ -6242,14 +2633,14 @@ var StageRevertDataPlugin = function() {
|
|
|
6242
2633
|
charCode === 125;
|
|
6243
2634
|
return !matches;
|
|
6244
2635
|
};
|
|
6245
|
-
var parse = function(
|
|
2636
|
+
var parse = function(path) {
|
|
6246
2637
|
var index = 1;
|
|
6247
|
-
var ch =
|
|
2638
|
+
var ch = path.charAt(0);
|
|
6248
2639
|
var next = function(expected) {
|
|
6249
2640
|
if (expected && ch !== expected) {
|
|
6250
2641
|
throw new Error("Expected char: ".concat(expected, " but got: ").concat(ch));
|
|
6251
2642
|
}
|
|
6252
|
-
ch =
|
|
2643
|
+
ch = path.charAt(index);
|
|
6253
2644
|
index += 1;
|
|
6254
2645
|
return ch;
|
|
6255
2646
|
};
|
|
@@ -6258,7 +2649,7 @@ var StageRevertDataPlugin = function() {
|
|
|
6258
2649
|
next();
|
|
6259
2650
|
}
|
|
6260
2651
|
};
|
|
6261
|
-
var
|
|
2652
|
+
var identifier = function() {
|
|
6262
2653
|
if (!isIdentifierChar(ch)) {
|
|
6263
2654
|
return;
|
|
6264
2655
|
}
|
|
@@ -6304,7 +2695,7 @@ var StageRevertDataPlugin = function() {
|
|
|
6304
2695
|
return toValue(value);
|
|
6305
2696
|
}
|
|
6306
2697
|
};
|
|
6307
|
-
var
|
|
2698
|
+
var nestedPath = function() {
|
|
6308
2699
|
if (ch === OPEN_CURL) {
|
|
6309
2700
|
next(OPEN_CURL);
|
|
6310
2701
|
next(OPEN_CURL);
|
|
@@ -6315,10 +2706,10 @@ var StageRevertDataPlugin = function() {
|
|
|
6315
2706
|
}
|
|
6316
2707
|
};
|
|
6317
2708
|
var simpleSegment = function() {
|
|
6318
|
-
var
|
|
6319
|
-
return (_ref = (
|
|
2709
|
+
var _nestedPath, _ref;
|
|
2710
|
+
return (_ref = (_nestedPath = nestedPath()) !== null && _nestedPath !== void 0 ? _nestedPath : expression()) !== null && _ref !== void 0 ? _ref : identifier();
|
|
6320
2711
|
};
|
|
6321
|
-
var
|
|
2712
|
+
var segment = function() {
|
|
6322
2713
|
var segments = [];
|
|
6323
2714
|
var nextSegment = simpleSegment();
|
|
6324
2715
|
while(nextSegment !== void 0){
|
|
@@ -6330,13 +2721,13 @@ var StageRevertDataPlugin = function() {
|
|
|
6330
2721
|
}
|
|
6331
2722
|
return toConcatenatedNode(segments);
|
|
6332
2723
|
};
|
|
6333
|
-
var
|
|
2724
|
+
var optionallyQuotedSegment = function() {
|
|
6334
2725
|
whitespace();
|
|
6335
2726
|
if (ch === SINGLE_QUOTE || ch === DOUBLE_QUOTE) {
|
|
6336
|
-
var
|
|
6337
|
-
next(
|
|
2727
|
+
var singleQuote = ch === SINGLE_QUOTE;
|
|
2728
|
+
next(singleQuote ? SINGLE_QUOTE : DOUBLE_QUOTE);
|
|
6338
2729
|
var id = regex(/[^'"]+/);
|
|
6339
|
-
next(
|
|
2730
|
+
next(singleQuote ? SINGLE_QUOTE : DOUBLE_QUOTE);
|
|
6340
2731
|
return id;
|
|
6341
2732
|
}
|
|
6342
2733
|
return simpleSegment();
|
|
@@ -6354,12 +2745,12 @@ var StageRevertDataPlugin = function() {
|
|
|
6354
2745
|
if (ch === OPEN_BRACKET) {
|
|
6355
2746
|
next(OPEN_BRACKET);
|
|
6356
2747
|
whitespace();
|
|
6357
|
-
var value =
|
|
2748
|
+
var value = optionallyQuotedSegment();
|
|
6358
2749
|
if (value) {
|
|
6359
2750
|
whitespace();
|
|
6360
2751
|
if (equals()) {
|
|
6361
2752
|
whitespace();
|
|
6362
|
-
var second =
|
|
2753
|
+
var second = optionallyQuotedSegment();
|
|
6363
2754
|
value = toQuery(value, second);
|
|
6364
2755
|
whitespace();
|
|
6365
2756
|
}
|
|
@@ -6374,7 +2765,7 @@ var StageRevertDataPlugin = function() {
|
|
|
6374
2765
|
};
|
|
6375
2766
|
var parseSegmentAndBrackets = function() {
|
|
6376
2767
|
var parsed = [];
|
|
6377
|
-
var firstSegment =
|
|
2768
|
+
var firstSegment = segment();
|
|
6378
2769
|
if (firstSegment) {
|
|
6379
2770
|
parsed.push(firstSegment);
|
|
6380
2771
|
var bracketSegment = parseBracket();
|
|
@@ -6422,12 +2813,12 @@ var StageRevertDataPlugin = function() {
|
|
|
6422
2813
|
};
|
|
6423
2814
|
_class_call_check(this, _BindingInstance);
|
|
6424
2815
|
var split = Array.isArray(raw) ? raw : raw.split(".");
|
|
6425
|
-
this.split = split.map(function(
|
|
6426
|
-
if (typeof
|
|
6427
|
-
return
|
|
2816
|
+
this.split = split.map(function(segment) {
|
|
2817
|
+
if (typeof segment === "number") {
|
|
2818
|
+
return segment;
|
|
6428
2819
|
}
|
|
6429
|
-
var tryNum = Number(
|
|
6430
|
-
return isNaN(tryNum) ?
|
|
2820
|
+
var tryNum = Number(segment);
|
|
2821
|
+
return isNaN(tryNum) ? segment : tryNum;
|
|
6431
2822
|
});
|
|
6432
2823
|
Object.freeze(this.split);
|
|
6433
2824
|
this.joined = this.split.join(".");
|
|
@@ -6525,13 +2916,13 @@ var StageRevertDataPlugin = function() {
|
|
|
6525
2916
|
}
|
|
6526
2917
|
throw new Error("Unable to resolve value for node: ".concat(node.name));
|
|
6527
2918
|
}
|
|
6528
|
-
function appendPathSegments(
|
|
6529
|
-
if (typeof
|
|
6530
|
-
|
|
2919
|
+
function appendPathSegments(segment) {
|
|
2920
|
+
if (typeof segment === "string" && segment.indexOf(".") > -1) {
|
|
2921
|
+
segment.split(".").forEach(function(i) {
|
|
6531
2922
|
context.path.push(maybeConvertToNum(i));
|
|
6532
2923
|
});
|
|
6533
2924
|
} else {
|
|
6534
|
-
context.path.push(
|
|
2925
|
+
context.path.push(segment);
|
|
6535
2926
|
}
|
|
6536
2927
|
}
|
|
6537
2928
|
function resolveNode(_node) {
|
|
@@ -6609,24 +3000,24 @@ var StageRevertDataPlugin = function() {
|
|
|
6609
3000
|
* Takes a binding path, parses it, and returns an equivalent, normalized
|
|
6610
3001
|
* representation of that path.
|
|
6611
3002
|
*/ key: "normalizePath",
|
|
6612
|
-
value: function normalizePath(
|
|
6613
|
-
if (!BINDING_BRACKETS_REGEX.test(
|
|
3003
|
+
value: function normalizePath(path, resolveOptions) {
|
|
3004
|
+
if (!BINDING_BRACKETS_REGEX.test(path) && LAZY_BINDING_REGEX.test(path) && this.hooks.skipOptimization.call(path) !== true) {
|
|
6614
3005
|
return {
|
|
6615
|
-
path:
|
|
3006
|
+
path: path.split("."),
|
|
6616
3007
|
updates: void 0
|
|
6617
3008
|
};
|
|
6618
3009
|
}
|
|
6619
|
-
var
|
|
6620
|
-
var ast = (
|
|
6621
|
-
this.parseCache[
|
|
3010
|
+
var _this_parseCache_path;
|
|
3011
|
+
var ast = (_this_parseCache_path = this.parseCache[path]) !== null && _this_parseCache_path !== void 0 ? _this_parseCache_path : parse(path);
|
|
3012
|
+
this.parseCache[path] = ast;
|
|
6622
3013
|
if (typeof ast !== "object" || !(ast === null || ast === void 0 ? void 0 : ast.status)) {
|
|
6623
3014
|
var _ast_error;
|
|
6624
|
-
throw new TypeError('Cannot normalize path "'.concat(
|
|
3015
|
+
throw new TypeError('Cannot normalize path "'.concat(path, '": ').concat((_ast_error = ast === null || ast === void 0 ? void 0 : ast.error) !== null && _ast_error !== void 0 ? _ast_error : "Unknown Error."));
|
|
6625
3016
|
}
|
|
6626
3017
|
try {
|
|
6627
3018
|
return resolveBindingAST(ast.path, resolveOptions, this.hooks);
|
|
6628
3019
|
} catch (e) {
|
|
6629
|
-
throw new import_ts_nested_error.NestedError("Cannot resolve binding: ".concat(
|
|
3020
|
+
throw new import_ts_nested_error.NestedError("Cannot resolve binding: ".concat(path), e);
|
|
6630
3021
|
}
|
|
6631
3022
|
}
|
|
6632
3023
|
},
|
|
@@ -6654,21 +3045,21 @@ var StageRevertDataPlugin = function() {
|
|
|
6654
3045
|
var updates = {};
|
|
6655
3046
|
var joined = Array.isArray(rawBinding) ? rawBinding.join(".") : String(rawBinding);
|
|
6656
3047
|
var normalizeConfig = {
|
|
6657
|
-
getValue: function(
|
|
6658
|
-
var normalized2 = _this.normalizePath(
|
|
3048
|
+
getValue: function(path) {
|
|
3049
|
+
var normalized2 = _this.normalizePath(path.join("."), normalizeConfig);
|
|
6659
3050
|
return options.get(_this.getBindingForNormalizedResult(normalized2));
|
|
6660
3051
|
},
|
|
6661
3052
|
evaluate: function(exp) {
|
|
6662
3053
|
return options.evaluate(exp);
|
|
6663
3054
|
},
|
|
6664
|
-
convertToPath: function(
|
|
6665
|
-
if (
|
|
3055
|
+
convertToPath: function(path) {
|
|
3056
|
+
if (path === void 0) {
|
|
6666
3057
|
throw new Error("Attempted to convert undefined value to binding path");
|
|
6667
3058
|
}
|
|
6668
|
-
if (typeof
|
|
6669
|
-
throw new Error("Attempting to convert ".concat(typeof
|
|
3059
|
+
if (typeof path !== "string" && typeof path !== "number" && typeof path !== "boolean") {
|
|
3060
|
+
throw new Error("Attempting to convert ".concat(typeof path === "undefined" ? "undefined" : _type_of(path), " to a binding path."));
|
|
6670
3061
|
}
|
|
6671
|
-
var normalized2 = _this.normalizePath(String(
|
|
3062
|
+
var normalized2 = _this.normalizePath(String(path), normalizeConfig);
|
|
6672
3063
|
if (normalized2.updates) {
|
|
6673
3064
|
updates = _object_spread({}, updates, normalized2.updates);
|
|
6674
3065
|
}
|
|
@@ -7569,7 +3960,7 @@ var StageRevertDataPlugin = function() {
|
|
|
7569
3960
|
this.hooks = {
|
|
7570
3961
|
resolveTypeForBinding: new SyncWaterfallHook()
|
|
7571
3962
|
};
|
|
7572
|
-
this.schema = schema ?
|
|
3963
|
+
this.schema = schema ? parse2(schema) : /* @__PURE__ */ new Map();
|
|
7573
3964
|
}
|
|
7574
3965
|
_create_class(SchemaController, [
|
|
7575
3966
|
{
|
|
@@ -7947,7 +4338,7 @@ var StageRevertDataPlugin = function() {
|
|
|
7947
4338
|
}
|
|
7948
4339
|
}
|
|
7949
4340
|
var parseLocalObject = function(currentValue, objToParse) {
|
|
7950
|
-
var
|
|
4341
|
+
var path = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];
|
|
7951
4342
|
if (typeof objToParse !== "object" || objToParse === null) {
|
|
7952
4343
|
return {
|
|
7953
4344
|
value: objToParse,
|
|
@@ -7984,7 +4375,7 @@ var StageRevertDataPlugin = function() {
|
|
|
7984
4375
|
return _object_spread_props(_object_spread({}, rest), {
|
|
7985
4376
|
children: _to_consumable_array(children2).concat([
|
|
7986
4377
|
{
|
|
7987
|
-
path: _to_consumable_array(
|
|
4378
|
+
path: _to_consumable_array(path).concat([
|
|
7988
4379
|
"asset"
|
|
7989
4380
|
]),
|
|
7990
4381
|
value: assetAST
|
|
@@ -8009,7 +4400,7 @@ var StageRevertDataPlugin = function() {
|
|
|
8009
4400
|
}
|
|
8010
4401
|
if (templateAST) {
|
|
8011
4402
|
return {
|
|
8012
|
-
path: _to_consumable_array(
|
|
4403
|
+
path: _to_consumable_array(path).concat([
|
|
8013
4404
|
template.output
|
|
8014
4405
|
]),
|
|
8015
4406
|
value: templateAST
|
|
@@ -8030,7 +4421,7 @@ var StageRevertDataPlugin = function() {
|
|
|
8030
4421
|
return _object_spread_props(_object_spread({}, rest), {
|
|
8031
4422
|
children: _to_consumable_array(children2).concat([
|
|
8032
4423
|
{
|
|
8033
|
-
path: _to_consumable_array(
|
|
4424
|
+
path: _to_consumable_array(path).concat([
|
|
8034
4425
|
localKey
|
|
8035
4426
|
], _to_consumable_array(firstChild.path)),
|
|
8036
4427
|
value: firstChild.value
|
|
@@ -8042,7 +4433,7 @@ var StageRevertDataPlugin = function() {
|
|
|
8042
4433
|
return _object_spread_props(_object_spread({}, rest), {
|
|
8043
4434
|
children: _to_consumable_array(children2).concat([
|
|
8044
4435
|
{
|
|
8045
|
-
path: _to_consumable_array(
|
|
4436
|
+
path: _to_consumable_array(path).concat([
|
|
8046
4437
|
localKey
|
|
8047
4438
|
]),
|
|
8048
4439
|
value: localSwitch
|
|
@@ -8054,7 +4445,7 @@ var StageRevertDataPlugin = function() {
|
|
|
8054
4445
|
var localAsync = _this.parseAsync(localValue, "value", options);
|
|
8055
4446
|
if (localAsync) {
|
|
8056
4447
|
children2.push({
|
|
8057
|
-
path: _to_consumable_array(
|
|
4448
|
+
path: _to_consumable_array(path).concat([
|
|
8058
4449
|
localKey
|
|
8059
4450
|
]),
|
|
8060
4451
|
value: localAsync
|
|
@@ -8081,7 +4472,7 @@ var StageRevertDataPlugin = function() {
|
|
|
8081
4472
|
return _object_spread_props(_object_spread({}, rest), {
|
|
8082
4473
|
children: _to_consumable_array(children2).concat([
|
|
8083
4474
|
{
|
|
8084
|
-
path: _to_consumable_array(
|
|
4475
|
+
path: _to_consumable_array(path).concat([
|
|
8085
4476
|
localKey
|
|
8086
4477
|
]),
|
|
8087
4478
|
value: multiNode
|
|
@@ -8098,7 +4489,7 @@ var StageRevertDataPlugin = function() {
|
|
|
8098
4489
|
return _object_spread_props(_object_spread({}, rest), {
|
|
8099
4490
|
children: _to_consumable_array(children2).concat([
|
|
8100
4491
|
{
|
|
8101
|
-
path: _to_consumable_array(
|
|
4492
|
+
path: _to_consumable_array(path).concat([
|
|
8102
4493
|
localKey
|
|
8103
4494
|
]),
|
|
8104
4495
|
value: parsedNode
|
|
@@ -8107,7 +4498,7 @@ var StageRevertDataPlugin = function() {
|
|
|
8107
4498
|
});
|
|
8108
4499
|
}
|
|
8109
4500
|
} else {
|
|
8110
|
-
var result = parseLocalObject(accumulation.value, localValue, _to_consumable_array(
|
|
4501
|
+
var result = parseLocalObject(accumulation.value, localValue, _to_consumable_array(path).concat([
|
|
8111
4502
|
localKey
|
|
8112
4503
|
]));
|
|
8113
4504
|
return {
|
|
@@ -8116,7 +4507,7 @@ var StageRevertDataPlugin = function() {
|
|
|
8116
4507
|
};
|
|
8117
4508
|
}
|
|
8118
4509
|
} else {
|
|
8119
|
-
var value2 = (0, import_timm5.setIn)(accumulation.value, _to_consumable_array(
|
|
4510
|
+
var value2 = (0, import_timm5.setIn)(accumulation.value, _to_consumable_array(path).concat([
|
|
8120
4511
|
localKey
|
|
8121
4512
|
]), localValue);
|
|
8122
4513
|
return {
|
|
@@ -8421,17 +4812,17 @@ var StageRevertDataPlugin = function() {
|
|
|
8421
4812
|
return Resolver;
|
|
8422
4813
|
}();
|
|
8423
4814
|
var CrossfieldProvider = /*#__PURE__*/ function() {
|
|
8424
|
-
function CrossfieldProvider(initialView,
|
|
4815
|
+
function CrossfieldProvider(initialView, parser, logger) {
|
|
8425
4816
|
_class_call_check(this, CrossfieldProvider);
|
|
8426
4817
|
this.allValidations = /* @__PURE__ */ new Set();
|
|
8427
4818
|
this.byBinding = /* @__PURE__ */ new Map();
|
|
8428
4819
|
this.logger = logger;
|
|
8429
|
-
this.parse(initialView,
|
|
4820
|
+
this.parse(initialView, parser);
|
|
8430
4821
|
}
|
|
8431
4822
|
_create_class(CrossfieldProvider, [
|
|
8432
4823
|
{
|
|
8433
4824
|
key: "parse",
|
|
8434
|
-
value: function parse(contentView,
|
|
4825
|
+
value: function parse(contentView, parser) {
|
|
8435
4826
|
var _this = this;
|
|
8436
4827
|
var xfieldRefs = contentView.validation;
|
|
8437
4828
|
if (xfieldRefs === void 0) {
|
|
@@ -8450,7 +4841,7 @@ var StageRevertDataPlugin = function() {
|
|
|
8450
4841
|
_this.allValidations.add(withDefaults);
|
|
8451
4842
|
var ref = vRef.ref;
|
|
8452
4843
|
if (ref) {
|
|
8453
|
-
var parsed =
|
|
4844
|
+
var parsed = parser(ref);
|
|
8454
4845
|
if (_this.byBinding.has(parsed)) {
|
|
8455
4846
|
var _this_byBinding_get;
|
|
8456
4847
|
(_this_byBinding_get = _this.byBinding.get(parsed)) === null || _this_byBinding_get === void 0 ? void 0 : _this_byBinding_get.push(withDefaults);
|
|
@@ -8511,11 +4902,11 @@ var StageRevertDataPlugin = function() {
|
|
|
8511
4902
|
var _this_resolverOptions_logger;
|
|
8512
4903
|
(_this_resolverOptions_logger = this.resolverOptions.logger) === null || _this_resolverOptions_logger === void 0 ? void 0 : _this_resolverOptions_logger.warn("templatePlugin not set for View, legacy templates may not work");
|
|
8513
4904
|
}
|
|
8514
|
-
var
|
|
8515
|
-
this.hooks.parser.call(
|
|
8516
|
-
this.rootNode =
|
|
4905
|
+
var parser = new Parser();
|
|
4906
|
+
this.hooks.parser.call(parser);
|
|
4907
|
+
this.rootNode = parser.parseView(this.initialView);
|
|
8517
4908
|
this.resolver = new Resolver(this.rootNode, _object_spread_props(_object_spread({}, this.resolverOptions), {
|
|
8518
|
-
parseNode:
|
|
4909
|
+
parseNode: parser.parseObject.bind(parser)
|
|
8519
4910
|
}));
|
|
8520
4911
|
this.hooks.resolver.call(this.resolver);
|
|
8521
4912
|
}
|
|
@@ -8613,23 +5004,23 @@ var StageRevertDataPlugin = function() {
|
|
|
8613
5004
|
},
|
|
8614
5005
|
{
|
|
8615
5006
|
key: "applyParser",
|
|
8616
|
-
value: function applyParser(
|
|
5007
|
+
value: function applyParser(parser) {
|
|
8617
5008
|
var _this = this;
|
|
8618
|
-
|
|
5009
|
+
parser.hooks.onCreateASTNode.tap("template", function(node) {
|
|
8619
5010
|
if (node && node.type === "template" && !node.dynamic) {
|
|
8620
|
-
return _this.parseTemplate(
|
|
5011
|
+
return _this.parseTemplate(parser.parseObject.bind(parser), node, _this.options);
|
|
8621
5012
|
}
|
|
8622
5013
|
return node;
|
|
8623
5014
|
});
|
|
8624
|
-
|
|
5015
|
+
parser.hooks.determineNodeType.tap("template", function(obj) {
|
|
8625
5016
|
if (obj === "template") {
|
|
8626
5017
|
return "template";
|
|
8627
5018
|
}
|
|
8628
5019
|
});
|
|
8629
|
-
|
|
5020
|
+
parser.hooks.parseNode.tap("template", function(obj, _nodeType, options, determinedNodeType) {
|
|
8630
5021
|
if (determinedNodeType === "template") {
|
|
8631
5022
|
var _options_templateDepth, _obj_dynamic;
|
|
8632
|
-
var templateNode =
|
|
5023
|
+
var templateNode = parser.createASTNode({
|
|
8633
5024
|
type: "template",
|
|
8634
5025
|
depth: (_options_templateDepth = options.templateDepth) !== null && _options_templateDepth !== void 0 ? _options_templateDepth : 0,
|
|
8635
5026
|
data: obj.data,
|
|
@@ -8757,8 +5148,8 @@ var StageRevertDataPlugin = function() {
|
|
|
8757
5148
|
]);
|
|
8758
5149
|
}
|
|
8759
5150
|
var nodePath = findBasePath(node, resolver);
|
|
8760
|
-
if (nodePath.length > 0 && nodePath.some(function(
|
|
8761
|
-
return propsToSkip.has(
|
|
5151
|
+
if (nodePath.length > 0 && nodePath.some(function(segment) {
|
|
5152
|
+
return propsToSkip.has(segment.toString());
|
|
8762
5153
|
})) {
|
|
8763
5154
|
return node.value;
|
|
8764
5155
|
}
|
|
@@ -8800,17 +5191,17 @@ var StageRevertDataPlugin = function() {
|
|
|
8800
5191
|
},
|
|
8801
5192
|
{
|
|
8802
5193
|
key: "applyParser",
|
|
8803
|
-
value: function applyParser(
|
|
8804
|
-
|
|
5194
|
+
value: function applyParser(parser) {
|
|
5195
|
+
parser.hooks.determineNodeType.tap("applicability", function(obj) {
|
|
8805
5196
|
if (Object.prototype.hasOwnProperty.call(obj, "applicability")) {
|
|
8806
5197
|
return "applicability";
|
|
8807
5198
|
}
|
|
8808
5199
|
});
|
|
8809
|
-
|
|
5200
|
+
parser.hooks.parseNode.tap("applicability", function(obj, nodeType, options, determinedNodeType) {
|
|
8810
5201
|
if (determinedNodeType === "applicability") {
|
|
8811
|
-
var parsedApplicability =
|
|
5202
|
+
var parsedApplicability = parser.parseObject((0, import_timm7.omit)(obj, "applicability"), nodeType, options);
|
|
8812
5203
|
if (parsedApplicability !== null) {
|
|
8813
|
-
var applicabilityNode =
|
|
5204
|
+
var applicabilityNode = parser.createASTNode({
|
|
8814
5205
|
type: "applicability",
|
|
8815
5206
|
expression: obj.applicability,
|
|
8816
5207
|
value: parsedApplicability
|
|
@@ -8871,20 +5262,20 @@ var StageRevertDataPlugin = function() {
|
|
|
8871
5262
|
},
|
|
8872
5263
|
{
|
|
8873
5264
|
key: "applyParser",
|
|
8874
|
-
value: function applyParser(
|
|
5265
|
+
value: function applyParser(parser) {
|
|
8875
5266
|
var _this = this;
|
|
8876
|
-
|
|
5267
|
+
parser.hooks.onCreateASTNode.tap("switch", function(node) {
|
|
8877
5268
|
if (node && node.type === "switch" && !node.dynamic) {
|
|
8878
5269
|
return _this.resolveSwitch(node, _this.options);
|
|
8879
5270
|
}
|
|
8880
5271
|
return node;
|
|
8881
5272
|
});
|
|
8882
|
-
|
|
5273
|
+
parser.hooks.determineNodeType.tap("switch", function(obj) {
|
|
8883
5274
|
if (Object.prototype.hasOwnProperty.call(obj, "dynamicSwitch") || Object.prototype.hasOwnProperty.call(obj, "staticSwitch")) {
|
|
8884
5275
|
return "switch";
|
|
8885
5276
|
}
|
|
8886
5277
|
});
|
|
8887
|
-
|
|
5278
|
+
parser.hooks.parseNode.tap("switch", function(obj, _nodeType, options, determinedNodeType) {
|
|
8888
5279
|
if (determinedNodeType === "switch") {
|
|
8889
5280
|
var dynamic = "dynamicSwitch" in obj;
|
|
8890
5281
|
var switchContent = "dynamicSwitch" in obj ? obj.dynamicSwitch : obj.staticSwitch;
|
|
@@ -8893,7 +5284,7 @@ var StageRevertDataPlugin = function() {
|
|
|
8893
5284
|
var switchCaseExpr = switchCase.case, switchBody = _object_without_properties(switchCase, [
|
|
8894
5285
|
"case"
|
|
8895
5286
|
]);
|
|
8896
|
-
var value =
|
|
5287
|
+
var value = parser.parseObject(switchBody, "value", options);
|
|
8897
5288
|
if (value) {
|
|
8898
5289
|
cases.push({
|
|
8899
5290
|
case: switchCaseExpr,
|
|
@@ -8901,7 +5292,7 @@ var StageRevertDataPlugin = function() {
|
|
|
8901
5292
|
});
|
|
8902
5293
|
}
|
|
8903
5294
|
});
|
|
8904
|
-
var switchAST =
|
|
5295
|
+
var switchAST = parser.hooks.onCreateASTNode.call({
|
|
8905
5296
|
type: "switch",
|
|
8906
5297
|
dynamic: dynamic,
|
|
8907
5298
|
cases: cases
|
|
@@ -9922,11 +6313,11 @@ var StageRevertDataPlugin = function() {
|
|
|
9922
6313
|
},
|
|
9923
6314
|
{
|
|
9924
6315
|
key: "forView",
|
|
9925
|
-
value: function forView(
|
|
6316
|
+
value: function forView(parser) {
|
|
9926
6317
|
var _this = this;
|
|
9927
6318
|
return {
|
|
9928
6319
|
_getValidationForBinding: function(binding) {
|
|
9929
|
-
return _this.getValidationForBinding(isBinding(binding) ? binding :
|
|
6320
|
+
return _this.getValidationForBinding(isBinding(binding) ? binding : parser(binding));
|
|
9930
6321
|
},
|
|
9931
6322
|
getAll: function() {
|
|
9932
6323
|
var bindings = _this.getBindings();
|
|
@@ -9962,7 +6353,7 @@ var StageRevertDataPlugin = function() {
|
|
|
9962
6353
|
throw new Error("Section functionality should be provided by the view plugin");
|
|
9963
6354
|
},
|
|
9964
6355
|
type: function(binding) {
|
|
9965
|
-
return _this.schema.getType(isBinding(binding) ? binding :
|
|
6356
|
+
return _this.schema.getType(isBinding(binding) ? binding : parser(binding));
|
|
9966
6357
|
}
|
|
9967
6358
|
};
|
|
9968
6359
|
}
|
|
@@ -10462,11 +6853,11 @@ var StageRevertDataPlugin = function() {
|
|
|
10462
6853
|
]);
|
|
10463
6854
|
return DataController;
|
|
10464
6855
|
}();
|
|
10465
|
-
function
|
|
6856
|
+
function flatten(obj) {
|
|
10466
6857
|
var roots = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [], sep = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : ".";
|
|
10467
6858
|
return Object.keys(obj).reduce(function(memo, prop) {
|
|
10468
6859
|
return _object_spread({}, memo, Object.prototype.toString.call(obj[prop]) === "[object Object]" ? // keep working if value is an object
|
|
10469
|
-
|
|
6860
|
+
flatten(obj[prop], roots.concat([
|
|
10470
6861
|
prop
|
|
10471
6862
|
])) : _define_property({}, roots.concat([
|
|
10472
6863
|
prop
|
|
@@ -10495,9 +6886,9 @@ var StageRevertDataPlugin = function() {
|
|
|
10495
6886
|
key: "getConstants",
|
|
10496
6887
|
value: function getConstants(key, namespace, fallback) {
|
|
10497
6888
|
var _this_tempStore_get, _this_store_get;
|
|
10498
|
-
var
|
|
6889
|
+
var path = new BindingInstance(key);
|
|
10499
6890
|
var _this_tempStore_get_get, _ref;
|
|
10500
|
-
return (_ref = (_this_tempStore_get_get = (_this_tempStore_get = this.tempStore.get(namespace)) === null || _this_tempStore_get === void 0 ? void 0 : _this_tempStore_get.get(
|
|
6891
|
+
return (_ref = (_this_tempStore_get_get = (_this_tempStore_get = this.tempStore.get(namespace)) === null || _this_tempStore_get === void 0 ? void 0 : _this_tempStore_get.get(path)) !== null && _this_tempStore_get_get !== void 0 ? _this_tempStore_get_get : (_this_store_get = this.store.get(namespace)) === null || _this_store_get === void 0 ? void 0 : _this_store_get.get(path)) !== null && _ref !== void 0 ? _ref : fallback;
|
|
10501
6892
|
}
|
|
10502
6893
|
},
|
|
10503
6894
|
{
|
|
@@ -11109,14 +7500,6 @@ var StageRevertDataPlugin = function() {
|
|
|
11109
7500
|
return __toCommonJS(src_exports);
|
|
11110
7501
|
}(); /*! Bundled license information:
|
|
11111
7502
|
|
|
11112
|
-
arr-flatten/index.js:
|
|
11113
|
-
(*!
|
|
11114
|
-
* arr-flatten <https://github.com/jonschlinkert/arr-flatten>
|
|
11115
|
-
*
|
|
11116
|
-
* Copyright (c) 2014-2017, Jon Schlinkert.
|
|
11117
|
-
* Released under the MIT License.
|
|
11118
|
-
*)
|
|
11119
|
-
|
|
11120
7503
|
timm/lib/timm.js:
|
|
11121
7504
|
(*!
|
|
11122
7505
|
* Timm
|