mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-31 04:23:40 +00:00
Version range compression utils (#2840)
* DNF normalization wip * a bunch of wip stuff * it is alive! * tests * deduplicate strings in tests * fix != flavor behavior & parse flavor constraints & equals shorthand for normalize * use normalization * more comments & fix tests not running because of bad rebase * fix comments+tests * slightly better comment * fix dependency & typos --------- Co-authored-by: Aiden McClelland <me@drbonez.dev>
This commit is contained in:
@@ -296,7 +296,7 @@ function peg$parse(input, options) {
|
||||
var peg$source = options.grammarSource;
|
||||
|
||||
// @ts-ignore
|
||||
var peg$startRuleFunctions = { VersionRange: peg$parseVersionRange, Or: peg$parseOr, And: peg$parseAnd, VersionRangeAtom: peg$parseVersionRangeAtom, Parens: peg$parseParens, Anchor: peg$parseAnchor, VersionSpec: peg$parseVersionSpec, Not: peg$parseNot, Any: peg$parseAny, None: peg$parseNone, CmpOp: peg$parseCmpOp, ExtendedVersion: peg$parseExtendedVersion, EmverVersionRange: peg$parseEmverVersionRange, EmverVersionRangeAtom: peg$parseEmverVersionRangeAtom, EmverParens: peg$parseEmverParens, EmverAnchor: peg$parseEmverAnchor, EmverNot: peg$parseEmverNot, Emver: peg$parseEmver, Flavor: peg$parseFlavor, Lowercase: peg$parseLowercase, String: peg$parseString, Version: peg$parseVersion, PreRelease: peg$parsePreRelease, PreReleaseSegment: peg$parsePreReleaseSegment, VersionNumber: peg$parseVersionNumber, Digit: peg$parseDigit, _: peg$parse_ };
|
||||
var peg$startRuleFunctions = { VersionRange: peg$parseVersionRange, Or: peg$parseOr, And: peg$parseAnd, VersionRangeAtom: peg$parseVersionRangeAtom, Parens: peg$parseParens, Anchor: peg$parseAnchor, VersionSpec: peg$parseVersionSpec, FlavorAtom: peg$parseFlavorAtom, Not: peg$parseNot, Any: peg$parseAny, None: peg$parseNone, CmpOp: peg$parseCmpOp, ExtendedVersion: peg$parseExtendedVersion, EmverVersionRange: peg$parseEmverVersionRange, EmverVersionRangeAtom: peg$parseEmverVersionRangeAtom, EmverParens: peg$parseEmverParens, EmverAnchor: peg$parseEmverAnchor, EmverNot: peg$parseEmverNot, Emver: peg$parseEmver, Flavor: peg$parseFlavor, Lowercase: peg$parseLowercase, String: peg$parseString, Version: peg$parseVersion, PreRelease: peg$parsePreRelease, PreReleaseSegment: peg$parsePreReleaseSegment, VersionNumber: peg$parseVersionNumber, Digit: peg$parseDigit, _: peg$parse_ };
|
||||
// @ts-ignore
|
||||
var peg$startRuleFunction = peg$parseVersionRange;
|
||||
|
||||
@@ -306,18 +306,18 @@ function peg$parse(input, options) {
|
||||
var peg$c2 = "(";
|
||||
var peg$c3 = ")";
|
||||
var peg$c4 = ":";
|
||||
var peg$c5 = "!";
|
||||
var peg$c6 = "*";
|
||||
var peg$c7 = ">=";
|
||||
var peg$c8 = "<=";
|
||||
var peg$c9 = ">";
|
||||
var peg$c10 = "<";
|
||||
var peg$c11 = "=";
|
||||
var peg$c12 = "!=";
|
||||
var peg$c13 = "^";
|
||||
var peg$c14 = "~";
|
||||
var peg$c15 = ".";
|
||||
var peg$c16 = "#";
|
||||
var peg$c5 = "#";
|
||||
var peg$c6 = "!";
|
||||
var peg$c7 = "*";
|
||||
var peg$c8 = ">=";
|
||||
var peg$c9 = "<=";
|
||||
var peg$c10 = ">";
|
||||
var peg$c11 = "<";
|
||||
var peg$c12 = "=";
|
||||
var peg$c13 = "!=";
|
||||
var peg$c14 = "^";
|
||||
var peg$c15 = "~";
|
||||
var peg$c16 = ".";
|
||||
var peg$c17 = "-";
|
||||
|
||||
var peg$r0 = /^[a-z]/;
|
||||
@@ -330,18 +330,18 @@ function peg$parse(input, options) {
|
||||
var peg$e2 = peg$literalExpectation("(", false);
|
||||
var peg$e3 = peg$literalExpectation(")", false);
|
||||
var peg$e4 = peg$literalExpectation(":", false);
|
||||
var peg$e5 = peg$literalExpectation("!", false);
|
||||
var peg$e6 = peg$literalExpectation("*", false);
|
||||
var peg$e7 = peg$literalExpectation(">=", false);
|
||||
var peg$e8 = peg$literalExpectation("<=", false);
|
||||
var peg$e9 = peg$literalExpectation(">", false);
|
||||
var peg$e10 = peg$literalExpectation("<", false);
|
||||
var peg$e11 = peg$literalExpectation("=", false);
|
||||
var peg$e12 = peg$literalExpectation("!=", false);
|
||||
var peg$e13 = peg$literalExpectation("^", false);
|
||||
var peg$e14 = peg$literalExpectation("~", false);
|
||||
var peg$e15 = peg$literalExpectation(".", false);
|
||||
var peg$e16 = peg$literalExpectation("#", false);
|
||||
var peg$e5 = peg$literalExpectation("#", false);
|
||||
var peg$e6 = peg$literalExpectation("!", false);
|
||||
var peg$e7 = peg$literalExpectation("*", false);
|
||||
var peg$e8 = peg$literalExpectation(">=", false);
|
||||
var peg$e9 = peg$literalExpectation("<=", false);
|
||||
var peg$e10 = peg$literalExpectation(">", false);
|
||||
var peg$e11 = peg$literalExpectation("<", false);
|
||||
var peg$e12 = peg$literalExpectation("=", false);
|
||||
var peg$e13 = peg$literalExpectation("!=", false);
|
||||
var peg$e14 = peg$literalExpectation("^", false);
|
||||
var peg$e15 = peg$literalExpectation("~", false);
|
||||
var peg$e16 = peg$literalExpectation(".", false);
|
||||
var peg$e17 = peg$classExpectation([["a", "z"]], false, false);
|
||||
var peg$e18 = peg$classExpectation([["a", "z"], ["A", "Z"]], false, false);
|
||||
var peg$e19 = peg$literalExpectation("-", false);
|
||||
@@ -359,57 +359,60 @@ function peg$parse(input, options) {
|
||||
var peg$f2 = function(flavor, upstream, downstream) {// @ts-ignore
|
||||
return { flavor: flavor || null, upstream, downstream: downstream ? downstream[1] : { number: [0], prerelease: [] } } };// @ts-ignore
|
||||
|
||||
var peg$f3 = function(value) {// @ts-ignore
|
||||
var peg$f3 = function(flavor) {// @ts-ignore
|
||||
return { type: "Flavor", flavor: flavor } };// @ts-ignore
|
||||
|
||||
var peg$f4 = function(value) {// @ts-ignore
|
||||
return { type: "Not", value: value }};// @ts-ignore
|
||||
|
||||
var peg$f4 = function() {// @ts-ignore
|
||||
var peg$f5 = function() {// @ts-ignore
|
||||
return { type: "Any" } };// @ts-ignore
|
||||
|
||||
var peg$f5 = function() {// @ts-ignore
|
||||
var peg$f6 = function() {// @ts-ignore
|
||||
return { type: "None" } };// @ts-ignore
|
||||
|
||||
var peg$f6 = function() {// @ts-ignore
|
||||
var peg$f7 = function() {// @ts-ignore
|
||||
return ">="; };// @ts-ignore
|
||||
|
||||
var peg$f7 = function() {// @ts-ignore
|
||||
var peg$f8 = function() {// @ts-ignore
|
||||
return "<="; };// @ts-ignore
|
||||
|
||||
var peg$f8 = function() {// @ts-ignore
|
||||
var peg$f9 = function() {// @ts-ignore
|
||||
return ">"; };// @ts-ignore
|
||||
|
||||
var peg$f9 = function() {// @ts-ignore
|
||||
var peg$f10 = function() {// @ts-ignore
|
||||
return "<"; };// @ts-ignore
|
||||
|
||||
var peg$f10 = function() {// @ts-ignore
|
||||
var peg$f11 = function() {// @ts-ignore
|
||||
return "="; };// @ts-ignore
|
||||
|
||||
var peg$f11 = function() {// @ts-ignore
|
||||
var peg$f12 = function() {// @ts-ignore
|
||||
return "!="; };// @ts-ignore
|
||||
|
||||
var peg$f12 = function() {// @ts-ignore
|
||||
var peg$f13 = function() {// @ts-ignore
|
||||
return "^"; };// @ts-ignore
|
||||
|
||||
var peg$f13 = function() {// @ts-ignore
|
||||
var peg$f14 = function() {// @ts-ignore
|
||||
return "~"; };// @ts-ignore
|
||||
|
||||
var peg$f14 = function(flavor, upstream, downstream) {
|
||||
var peg$f15 = function(flavor, upstream, downstream) {
|
||||
// @ts-ignore
|
||||
return { flavor: flavor || null, upstream, downstream }
|
||||
};// @ts-ignore
|
||||
|
||||
var peg$f15 = function(expr) {// @ts-ignore
|
||||
var peg$f16 = function(expr) {// @ts-ignore
|
||||
return { type: "Parens", expr } };// @ts-ignore
|
||||
|
||||
var peg$f16 = function(operator, version) {// @ts-ignore
|
||||
var peg$f17 = function(operator, version) {// @ts-ignore
|
||||
return { type: "Anchor", operator, version } };// @ts-ignore
|
||||
|
||||
var peg$f17 = function(value) {// @ts-ignore
|
||||
var peg$f18 = function(value) {// @ts-ignore
|
||||
return { type: "Not", value: value }};// @ts-ignore
|
||||
|
||||
var peg$f18 = function(major, minor, patch, revision) {// @ts-ignore
|
||||
var peg$f19 = function(major, minor, patch, revision) {// @ts-ignore
|
||||
return revision };// @ts-ignore
|
||||
|
||||
var peg$f19 = function(major, minor, patch, revision) {
|
||||
var peg$f20 = function(major, minor, patch, revision) {
|
||||
// @ts-ignore
|
||||
return {
|
||||
// @ts-ignore
|
||||
@@ -431,18 +434,18 @@ function peg$parse(input, options) {
|
||||
}
|
||||
};// @ts-ignore
|
||||
|
||||
var peg$f20 = function(flavor) {// @ts-ignore
|
||||
var peg$f21 = function(flavor) {// @ts-ignore
|
||||
return flavor };// @ts-ignore
|
||||
|
||||
var peg$f21 = function() {// @ts-ignore
|
||||
var peg$f22 = function() {// @ts-ignore
|
||||
return text() };// @ts-ignore
|
||||
|
||||
var peg$f22 = function() {// @ts-ignore
|
||||
var peg$f23 = function() {// @ts-ignore
|
||||
return text(); };// @ts-ignore
|
||||
|
||||
var peg$f23 = function(number, prerelease) {
|
||||
var peg$f24 = function(number, prerelease) {
|
||||
// @ts-ignore
|
||||
return {
|
||||
return {
|
||||
// @ts-ignore
|
||||
number,
|
||||
// @ts-ignore
|
||||
@@ -450,22 +453,22 @@ function peg$parse(input, options) {
|
||||
};
|
||||
};// @ts-ignore
|
||||
|
||||
var peg$f24 = function(first, rest) {
|
||||
var peg$f25 = function(first, rest) {
|
||||
// @ts-ignore
|
||||
return [first].concat(rest.map(r => r[1]));
|
||||
};// @ts-ignore
|
||||
|
||||
var peg$f25 = function(segment) {
|
||||
var peg$f26 = function(segment) {
|
||||
// @ts-ignore
|
||||
return segment;
|
||||
};// @ts-ignore
|
||||
|
||||
var peg$f26 = function(first, rest) {
|
||||
var peg$f27 = function(first, rest) {
|
||||
// @ts-ignore
|
||||
return [first].concat(rest.map(r => r[1]));
|
||||
};// @ts-ignore
|
||||
|
||||
var peg$f27 = function() {// @ts-ignore
|
||||
var peg$f28 = function() {// @ts-ignore
|
||||
return parseInt(text(), 10); };
|
||||
// @ts-ignore
|
||||
var peg$currPos = 0;
|
||||
@@ -928,6 +931,11 @@ peg$parseVersionRangeAtom() {
|
||||
if (s0 === peg$FAILED) {
|
||||
// @ts-ignore
|
||||
s0 = peg$parseNone();
|
||||
// @ts-ignore
|
||||
if (s0 === peg$FAILED) {
|
||||
// @ts-ignore
|
||||
s0 = peg$parseFlavorAtom();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1131,14 +1139,14 @@ peg$parseVersionSpec() {
|
||||
|
||||
// @ts-ignore
|
||||
function // @ts-ignore
|
||||
peg$parseNot() {
|
||||
peg$parseFlavorAtom() {
|
||||
// @ts-ignore
|
||||
var s0, s1, s2, s3;
|
||||
var s0, s1, s2;
|
||||
|
||||
// @ts-ignore
|
||||
s0 = peg$currPos;
|
||||
// @ts-ignore
|
||||
if (input.charCodeAt(peg$currPos) === 33) {
|
||||
if (input.charCodeAt(peg$currPos) === 35) {
|
||||
// @ts-ignore
|
||||
s1 = peg$c5;
|
||||
// @ts-ignore
|
||||
@@ -1152,6 +1160,56 @@ peg$parseNot() {
|
||||
}
|
||||
// @ts-ignore
|
||||
if (s1 !== peg$FAILED) {
|
||||
// @ts-ignore
|
||||
s2 = peg$parseLowercase();
|
||||
// @ts-ignore
|
||||
if (s2 !== peg$FAILED) {
|
||||
// @ts-ignore
|
||||
peg$savedPos = s0;
|
||||
// @ts-ignore
|
||||
s0 = peg$f3(s2);
|
||||
// @ts-ignore
|
||||
} else {
|
||||
// @ts-ignore
|
||||
peg$currPos = s0;
|
||||
// @ts-ignore
|
||||
s0 = peg$FAILED;
|
||||
}
|
||||
// @ts-ignore
|
||||
} else {
|
||||
// @ts-ignore
|
||||
peg$currPos = s0;
|
||||
// @ts-ignore
|
||||
s0 = peg$FAILED;
|
||||
}
|
||||
|
||||
// @ts-ignore
|
||||
return s0;
|
||||
}
|
||||
|
||||
// @ts-ignore
|
||||
function // @ts-ignore
|
||||
peg$parseNot() {
|
||||
// @ts-ignore
|
||||
var s0, s1, s2, s3;
|
||||
|
||||
// @ts-ignore
|
||||
s0 = peg$currPos;
|
||||
// @ts-ignore
|
||||
if (input.charCodeAt(peg$currPos) === 33) {
|
||||
// @ts-ignore
|
||||
s1 = peg$c6;
|
||||
// @ts-ignore
|
||||
peg$currPos++;
|
||||
// @ts-ignore
|
||||
} else {
|
||||
// @ts-ignore
|
||||
s1 = peg$FAILED;
|
||||
// @ts-ignore
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e6); }
|
||||
}
|
||||
// @ts-ignore
|
||||
if (s1 !== peg$FAILED) {
|
||||
// @ts-ignore
|
||||
s2 = peg$parse_();
|
||||
// @ts-ignore
|
||||
@@ -1161,7 +1219,7 @@ peg$parseNot() {
|
||||
// @ts-ignore
|
||||
peg$savedPos = s0;
|
||||
// @ts-ignore
|
||||
s0 = peg$f3(s3);
|
||||
s0 = peg$f4(s3);
|
||||
// @ts-ignore
|
||||
} else {
|
||||
// @ts-ignore
|
||||
@@ -1192,7 +1250,7 @@ peg$parseAny() {
|
||||
// @ts-ignore
|
||||
if (input.charCodeAt(peg$currPos) === 42) {
|
||||
// @ts-ignore
|
||||
s1 = peg$c6;
|
||||
s1 = peg$c7;
|
||||
// @ts-ignore
|
||||
peg$currPos++;
|
||||
// @ts-ignore
|
||||
@@ -1200,14 +1258,14 @@ peg$parseAny() {
|
||||
// @ts-ignore
|
||||
s1 = peg$FAILED;
|
||||
// @ts-ignore
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e6); }
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e7); }
|
||||
}
|
||||
// @ts-ignore
|
||||
if (s1 !== peg$FAILED) {
|
||||
// @ts-ignore
|
||||
peg$savedPos = s0;
|
||||
// @ts-ignore
|
||||
s1 = peg$f4();
|
||||
s1 = peg$f5();
|
||||
}
|
||||
// @ts-ignore
|
||||
s0 = s1;
|
||||
@@ -1227,7 +1285,7 @@ peg$parseNone() {
|
||||
// @ts-ignore
|
||||
if (input.charCodeAt(peg$currPos) === 33) {
|
||||
// @ts-ignore
|
||||
s1 = peg$c5;
|
||||
s1 = peg$c6;
|
||||
// @ts-ignore
|
||||
peg$currPos++;
|
||||
// @ts-ignore
|
||||
@@ -1235,14 +1293,14 @@ peg$parseNone() {
|
||||
// @ts-ignore
|
||||
s1 = peg$FAILED;
|
||||
// @ts-ignore
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e5); }
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e6); }
|
||||
}
|
||||
// @ts-ignore
|
||||
if (s1 !== peg$FAILED) {
|
||||
// @ts-ignore
|
||||
peg$savedPos = s0;
|
||||
// @ts-ignore
|
||||
s1 = peg$f5();
|
||||
s1 = peg$f6();
|
||||
}
|
||||
// @ts-ignore
|
||||
s0 = s1;
|
||||
@@ -1260,9 +1318,9 @@ peg$parseCmpOp() {
|
||||
// @ts-ignore
|
||||
s0 = peg$currPos;
|
||||
// @ts-ignore
|
||||
if (input.substr(peg$currPos, 2) === peg$c7) {
|
||||
if (input.substr(peg$currPos, 2) === peg$c8) {
|
||||
// @ts-ignore
|
||||
s1 = peg$c7;
|
||||
s1 = peg$c8;
|
||||
// @ts-ignore
|
||||
peg$currPos += 2;
|
||||
// @ts-ignore
|
||||
@@ -1270,14 +1328,14 @@ peg$parseCmpOp() {
|
||||
// @ts-ignore
|
||||
s1 = peg$FAILED;
|
||||
// @ts-ignore
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e7); }
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e8); }
|
||||
}
|
||||
// @ts-ignore
|
||||
if (s1 !== peg$FAILED) {
|
||||
// @ts-ignore
|
||||
peg$savedPos = s0;
|
||||
// @ts-ignore
|
||||
s1 = peg$f6();
|
||||
s1 = peg$f7();
|
||||
}
|
||||
// @ts-ignore
|
||||
s0 = s1;
|
||||
@@ -1286,9 +1344,9 @@ peg$parseCmpOp() {
|
||||
// @ts-ignore
|
||||
s0 = peg$currPos;
|
||||
// @ts-ignore
|
||||
if (input.substr(peg$currPos, 2) === peg$c8) {
|
||||
if (input.substr(peg$currPos, 2) === peg$c9) {
|
||||
// @ts-ignore
|
||||
s1 = peg$c8;
|
||||
s1 = peg$c9;
|
||||
// @ts-ignore
|
||||
peg$currPos += 2;
|
||||
// @ts-ignore
|
||||
@@ -1296,14 +1354,14 @@ peg$parseCmpOp() {
|
||||
// @ts-ignore
|
||||
s1 = peg$FAILED;
|
||||
// @ts-ignore
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e8); }
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e9); }
|
||||
}
|
||||
// @ts-ignore
|
||||
if (s1 !== peg$FAILED) {
|
||||
// @ts-ignore
|
||||
peg$savedPos = s0;
|
||||
// @ts-ignore
|
||||
s1 = peg$f7();
|
||||
s1 = peg$f8();
|
||||
}
|
||||
// @ts-ignore
|
||||
s0 = s1;
|
||||
@@ -1314,7 +1372,7 @@ peg$parseCmpOp() {
|
||||
// @ts-ignore
|
||||
if (input.charCodeAt(peg$currPos) === 62) {
|
||||
// @ts-ignore
|
||||
s1 = peg$c9;
|
||||
s1 = peg$c10;
|
||||
// @ts-ignore
|
||||
peg$currPos++;
|
||||
// @ts-ignore
|
||||
@@ -1322,14 +1380,14 @@ peg$parseCmpOp() {
|
||||
// @ts-ignore
|
||||
s1 = peg$FAILED;
|
||||
// @ts-ignore
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e9); }
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e10); }
|
||||
}
|
||||
// @ts-ignore
|
||||
if (s1 !== peg$FAILED) {
|
||||
// @ts-ignore
|
||||
peg$savedPos = s0;
|
||||
// @ts-ignore
|
||||
s1 = peg$f8();
|
||||
s1 = peg$f9();
|
||||
}
|
||||
// @ts-ignore
|
||||
s0 = s1;
|
||||
@@ -1340,7 +1398,7 @@ peg$parseCmpOp() {
|
||||
// @ts-ignore
|
||||
if (input.charCodeAt(peg$currPos) === 60) {
|
||||
// @ts-ignore
|
||||
s1 = peg$c10;
|
||||
s1 = peg$c11;
|
||||
// @ts-ignore
|
||||
peg$currPos++;
|
||||
// @ts-ignore
|
||||
@@ -1348,14 +1406,14 @@ peg$parseCmpOp() {
|
||||
// @ts-ignore
|
||||
s1 = peg$FAILED;
|
||||
// @ts-ignore
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e10); }
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e11); }
|
||||
}
|
||||
// @ts-ignore
|
||||
if (s1 !== peg$FAILED) {
|
||||
// @ts-ignore
|
||||
peg$savedPos = s0;
|
||||
// @ts-ignore
|
||||
s1 = peg$f9();
|
||||
s1 = peg$f10();
|
||||
}
|
||||
// @ts-ignore
|
||||
s0 = s1;
|
||||
@@ -1366,7 +1424,7 @@ peg$parseCmpOp() {
|
||||
// @ts-ignore
|
||||
if (input.charCodeAt(peg$currPos) === 61) {
|
||||
// @ts-ignore
|
||||
s1 = peg$c11;
|
||||
s1 = peg$c12;
|
||||
// @ts-ignore
|
||||
peg$currPos++;
|
||||
// @ts-ignore
|
||||
@@ -1374,14 +1432,14 @@ peg$parseCmpOp() {
|
||||
// @ts-ignore
|
||||
s1 = peg$FAILED;
|
||||
// @ts-ignore
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e11); }
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e12); }
|
||||
}
|
||||
// @ts-ignore
|
||||
if (s1 !== peg$FAILED) {
|
||||
// @ts-ignore
|
||||
peg$savedPos = s0;
|
||||
// @ts-ignore
|
||||
s1 = peg$f10();
|
||||
s1 = peg$f11();
|
||||
}
|
||||
// @ts-ignore
|
||||
s0 = s1;
|
||||
@@ -1390,9 +1448,9 @@ peg$parseCmpOp() {
|
||||
// @ts-ignore
|
||||
s0 = peg$currPos;
|
||||
// @ts-ignore
|
||||
if (input.substr(peg$currPos, 2) === peg$c12) {
|
||||
if (input.substr(peg$currPos, 2) === peg$c13) {
|
||||
// @ts-ignore
|
||||
s1 = peg$c12;
|
||||
s1 = peg$c13;
|
||||
// @ts-ignore
|
||||
peg$currPos += 2;
|
||||
// @ts-ignore
|
||||
@@ -1400,14 +1458,14 @@ peg$parseCmpOp() {
|
||||
// @ts-ignore
|
||||
s1 = peg$FAILED;
|
||||
// @ts-ignore
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e12); }
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e13); }
|
||||
}
|
||||
// @ts-ignore
|
||||
if (s1 !== peg$FAILED) {
|
||||
// @ts-ignore
|
||||
peg$savedPos = s0;
|
||||
// @ts-ignore
|
||||
s1 = peg$f11();
|
||||
s1 = peg$f12();
|
||||
}
|
||||
// @ts-ignore
|
||||
s0 = s1;
|
||||
@@ -1418,7 +1476,7 @@ peg$parseCmpOp() {
|
||||
// @ts-ignore
|
||||
if (input.charCodeAt(peg$currPos) === 94) {
|
||||
// @ts-ignore
|
||||
s1 = peg$c13;
|
||||
s1 = peg$c14;
|
||||
// @ts-ignore
|
||||
peg$currPos++;
|
||||
// @ts-ignore
|
||||
@@ -1426,14 +1484,14 @@ peg$parseCmpOp() {
|
||||
// @ts-ignore
|
||||
s1 = peg$FAILED;
|
||||
// @ts-ignore
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e13); }
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e14); }
|
||||
}
|
||||
// @ts-ignore
|
||||
if (s1 !== peg$FAILED) {
|
||||
// @ts-ignore
|
||||
peg$savedPos = s0;
|
||||
// @ts-ignore
|
||||
s1 = peg$f12();
|
||||
s1 = peg$f13();
|
||||
}
|
||||
// @ts-ignore
|
||||
s0 = s1;
|
||||
@@ -1444,7 +1502,7 @@ peg$parseCmpOp() {
|
||||
// @ts-ignore
|
||||
if (input.charCodeAt(peg$currPos) === 126) {
|
||||
// @ts-ignore
|
||||
s1 = peg$c14;
|
||||
s1 = peg$c15;
|
||||
// @ts-ignore
|
||||
peg$currPos++;
|
||||
// @ts-ignore
|
||||
@@ -1452,14 +1510,14 @@ peg$parseCmpOp() {
|
||||
// @ts-ignore
|
||||
s1 = peg$FAILED;
|
||||
// @ts-ignore
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e14); }
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e15); }
|
||||
}
|
||||
// @ts-ignore
|
||||
if (s1 !== peg$FAILED) {
|
||||
// @ts-ignore
|
||||
peg$savedPos = s0;
|
||||
// @ts-ignore
|
||||
s1 = peg$f13();
|
||||
s1 = peg$f14();
|
||||
}
|
||||
// @ts-ignore
|
||||
s0 = s1;
|
||||
@@ -1516,7 +1574,7 @@ peg$parseExtendedVersion() {
|
||||
// @ts-ignore
|
||||
peg$savedPos = s0;
|
||||
// @ts-ignore
|
||||
s0 = peg$f14(s1, s2, s4);
|
||||
s0 = peg$f15(s1, s2, s4);
|
||||
// @ts-ignore
|
||||
} else {
|
||||
// @ts-ignore
|
||||
@@ -1756,7 +1814,7 @@ peg$parseEmverParens() {
|
||||
// @ts-ignore
|
||||
peg$savedPos = s0;
|
||||
// @ts-ignore
|
||||
s0 = peg$f15(s3);
|
||||
s0 = peg$f16(s3);
|
||||
// @ts-ignore
|
||||
} else {
|
||||
// @ts-ignore
|
||||
@@ -1807,7 +1865,7 @@ peg$parseEmverAnchor() {
|
||||
// @ts-ignore
|
||||
peg$savedPos = s0;
|
||||
// @ts-ignore
|
||||
s0 = peg$f16(s1, s3);
|
||||
s0 = peg$f17(s1, s3);
|
||||
// @ts-ignore
|
||||
} else {
|
||||
// @ts-ignore
|
||||
@@ -1831,7 +1889,7 @@ peg$parseEmverNot() {
|
||||
// @ts-ignore
|
||||
if (input.charCodeAt(peg$currPos) === 33) {
|
||||
// @ts-ignore
|
||||
s1 = peg$c5;
|
||||
s1 = peg$c6;
|
||||
// @ts-ignore
|
||||
peg$currPos++;
|
||||
// @ts-ignore
|
||||
@@ -1839,7 +1897,7 @@ peg$parseEmverNot() {
|
||||
// @ts-ignore
|
||||
s1 = peg$FAILED;
|
||||
// @ts-ignore
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e5); }
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e6); }
|
||||
}
|
||||
// @ts-ignore
|
||||
if (s1 !== peg$FAILED) {
|
||||
@@ -1852,7 +1910,7 @@ peg$parseEmverNot() {
|
||||
// @ts-ignore
|
||||
peg$savedPos = s0;
|
||||
// @ts-ignore
|
||||
s0 = peg$f17(s3);
|
||||
s0 = peg$f18(s3);
|
||||
// @ts-ignore
|
||||
} else {
|
||||
// @ts-ignore
|
||||
@@ -1887,7 +1945,7 @@ peg$parseEmver() {
|
||||
// @ts-ignore
|
||||
if (input.charCodeAt(peg$currPos) === 46) {
|
||||
// @ts-ignore
|
||||
s2 = peg$c15;
|
||||
s2 = peg$c16;
|
||||
// @ts-ignore
|
||||
peg$currPos++;
|
||||
// @ts-ignore
|
||||
@@ -1895,7 +1953,7 @@ peg$parseEmver() {
|
||||
// @ts-ignore
|
||||
s2 = peg$FAILED;
|
||||
// @ts-ignore
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e15); }
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e16); }
|
||||
}
|
||||
// @ts-ignore
|
||||
if (s2 !== peg$FAILED) {
|
||||
@@ -1906,7 +1964,7 @@ peg$parseEmver() {
|
||||
// @ts-ignore
|
||||
if (input.charCodeAt(peg$currPos) === 46) {
|
||||
// @ts-ignore
|
||||
s4 = peg$c15;
|
||||
s4 = peg$c16;
|
||||
// @ts-ignore
|
||||
peg$currPos++;
|
||||
// @ts-ignore
|
||||
@@ -1914,7 +1972,7 @@ peg$parseEmver() {
|
||||
// @ts-ignore
|
||||
s4 = peg$FAILED;
|
||||
// @ts-ignore
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e15); }
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e16); }
|
||||
}
|
||||
// @ts-ignore
|
||||
if (s4 !== peg$FAILED) {
|
||||
@@ -1927,7 +1985,7 @@ peg$parseEmver() {
|
||||
// @ts-ignore
|
||||
if (input.charCodeAt(peg$currPos) === 46) {
|
||||
// @ts-ignore
|
||||
s7 = peg$c15;
|
||||
s7 = peg$c16;
|
||||
// @ts-ignore
|
||||
peg$currPos++;
|
||||
// @ts-ignore
|
||||
@@ -1935,7 +1993,7 @@ peg$parseEmver() {
|
||||
// @ts-ignore
|
||||
s7 = peg$FAILED;
|
||||
// @ts-ignore
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e15); }
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e16); }
|
||||
}
|
||||
// @ts-ignore
|
||||
if (s7 !== peg$FAILED) {
|
||||
@@ -1946,7 +2004,7 @@ peg$parseEmver() {
|
||||
// @ts-ignore
|
||||
peg$savedPos = s6;
|
||||
// @ts-ignore
|
||||
s6 = peg$f18(s1, s3, s5, s8);
|
||||
s6 = peg$f19(s1, s3, s5, s8);
|
||||
// @ts-ignore
|
||||
} else {
|
||||
// @ts-ignore
|
||||
@@ -1969,7 +2027,7 @@ peg$parseEmver() {
|
||||
// @ts-ignore
|
||||
peg$savedPos = s0;
|
||||
// @ts-ignore
|
||||
s0 = peg$f19(s1, s3, s5, s6);
|
||||
s0 = peg$f20(s1, s3, s5, s6);
|
||||
// @ts-ignore
|
||||
} else {
|
||||
// @ts-ignore
|
||||
@@ -2021,7 +2079,7 @@ peg$parseFlavor() {
|
||||
// @ts-ignore
|
||||
if (input.charCodeAt(peg$currPos) === 35) {
|
||||
// @ts-ignore
|
||||
s1 = peg$c16;
|
||||
s1 = peg$c5;
|
||||
// @ts-ignore
|
||||
peg$currPos++;
|
||||
// @ts-ignore
|
||||
@@ -2029,7 +2087,7 @@ peg$parseFlavor() {
|
||||
// @ts-ignore
|
||||
s1 = peg$FAILED;
|
||||
// @ts-ignore
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e16); }
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e5); }
|
||||
}
|
||||
// @ts-ignore
|
||||
if (s1 !== peg$FAILED) {
|
||||
@@ -2055,7 +2113,7 @@ peg$parseFlavor() {
|
||||
// @ts-ignore
|
||||
peg$savedPos = s0;
|
||||
// @ts-ignore
|
||||
s0 = peg$f20(s2);
|
||||
s0 = peg$f21(s2);
|
||||
// @ts-ignore
|
||||
} else {
|
||||
// @ts-ignore
|
||||
@@ -2135,7 +2193,7 @@ peg$parseLowercase() {
|
||||
// @ts-ignore
|
||||
peg$savedPos = s0;
|
||||
// @ts-ignore
|
||||
s1 = peg$f21();
|
||||
s1 = peg$f22();
|
||||
}
|
||||
// @ts-ignore
|
||||
s0 = s1;
|
||||
@@ -2197,7 +2255,7 @@ peg$parseString() {
|
||||
// @ts-ignore
|
||||
peg$savedPos = s0;
|
||||
// @ts-ignore
|
||||
s1 = peg$f22();
|
||||
s1 = peg$f23();
|
||||
}
|
||||
// @ts-ignore
|
||||
s0 = s1;
|
||||
@@ -2228,7 +2286,7 @@ peg$parseVersion() {
|
||||
// @ts-ignore
|
||||
peg$savedPos = s0;
|
||||
// @ts-ignore
|
||||
s0 = peg$f23(s1, s2);
|
||||
s0 = peg$f24(s1, s2);
|
||||
// @ts-ignore
|
||||
} else {
|
||||
// @ts-ignore
|
||||
@@ -2275,7 +2333,7 @@ peg$parsePreRelease() {
|
||||
// @ts-ignore
|
||||
if (input.charCodeAt(peg$currPos) === 46) {
|
||||
// @ts-ignore
|
||||
s5 = peg$c15;
|
||||
s5 = peg$c16;
|
||||
// @ts-ignore
|
||||
peg$currPos++;
|
||||
// @ts-ignore
|
||||
@@ -2283,7 +2341,7 @@ peg$parsePreRelease() {
|
||||
// @ts-ignore
|
||||
s5 = peg$FAILED;
|
||||
// @ts-ignore
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e15); }
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e16); }
|
||||
}
|
||||
// @ts-ignore
|
||||
if (s5 !== peg$FAILED) {
|
||||
@@ -2318,7 +2376,7 @@ peg$parsePreRelease() {
|
||||
// @ts-ignore
|
||||
if (input.charCodeAt(peg$currPos) === 46) {
|
||||
// @ts-ignore
|
||||
s5 = peg$c15;
|
||||
s5 = peg$c16;
|
||||
// @ts-ignore
|
||||
peg$currPos++;
|
||||
// @ts-ignore
|
||||
@@ -2326,7 +2384,7 @@ peg$parsePreRelease() {
|
||||
// @ts-ignore
|
||||
s5 = peg$FAILED;
|
||||
// @ts-ignore
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e15); }
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e16); }
|
||||
}
|
||||
// @ts-ignore
|
||||
if (s5 !== peg$FAILED) {
|
||||
@@ -2356,7 +2414,7 @@ peg$parsePreRelease() {
|
||||
// @ts-ignore
|
||||
peg$savedPos = s0;
|
||||
// @ts-ignore
|
||||
s0 = peg$f24(s2, s3);
|
||||
s0 = peg$f25(s2, s3);
|
||||
// @ts-ignore
|
||||
} else {
|
||||
// @ts-ignore
|
||||
@@ -2387,7 +2445,7 @@ peg$parsePreReleaseSegment() {
|
||||
// @ts-ignore
|
||||
if (input.charCodeAt(peg$currPos) === 46) {
|
||||
// @ts-ignore
|
||||
s1 = peg$c15;
|
||||
s1 = peg$c16;
|
||||
// @ts-ignore
|
||||
peg$currPos++;
|
||||
// @ts-ignore
|
||||
@@ -2395,7 +2453,7 @@ peg$parsePreReleaseSegment() {
|
||||
// @ts-ignore
|
||||
s1 = peg$FAILED;
|
||||
// @ts-ignore
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e15); }
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e16); }
|
||||
}
|
||||
// @ts-ignore
|
||||
if (s1 === peg$FAILED) {
|
||||
@@ -2414,7 +2472,7 @@ peg$parsePreReleaseSegment() {
|
||||
// @ts-ignore
|
||||
peg$savedPos = s0;
|
||||
// @ts-ignore
|
||||
s0 = peg$f25(s2);
|
||||
s0 = peg$f26(s2);
|
||||
// @ts-ignore
|
||||
} else {
|
||||
// @ts-ignore
|
||||
@@ -2446,7 +2504,7 @@ peg$parseVersionNumber() {
|
||||
// @ts-ignore
|
||||
if (input.charCodeAt(peg$currPos) === 46) {
|
||||
// @ts-ignore
|
||||
s4 = peg$c15;
|
||||
s4 = peg$c16;
|
||||
// @ts-ignore
|
||||
peg$currPos++;
|
||||
// @ts-ignore
|
||||
@@ -2454,7 +2512,7 @@ peg$parseVersionNumber() {
|
||||
// @ts-ignore
|
||||
s4 = peg$FAILED;
|
||||
// @ts-ignore
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e15); }
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e16); }
|
||||
}
|
||||
// @ts-ignore
|
||||
if (s4 !== peg$FAILED) {
|
||||
@@ -2489,7 +2547,7 @@ peg$parseVersionNumber() {
|
||||
// @ts-ignore
|
||||
if (input.charCodeAt(peg$currPos) === 46) {
|
||||
// @ts-ignore
|
||||
s4 = peg$c15;
|
||||
s4 = peg$c16;
|
||||
// @ts-ignore
|
||||
peg$currPos++;
|
||||
// @ts-ignore
|
||||
@@ -2497,7 +2555,7 @@ peg$parseVersionNumber() {
|
||||
// @ts-ignore
|
||||
s4 = peg$FAILED;
|
||||
// @ts-ignore
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e15); }
|
||||
if (peg$silentFails === 0) { peg$fail(peg$e16); }
|
||||
}
|
||||
// @ts-ignore
|
||||
if (s4 !== peg$FAILED) {
|
||||
@@ -2527,7 +2585,7 @@ peg$parseVersionNumber() {
|
||||
// @ts-ignore
|
||||
peg$savedPos = s0;
|
||||
// @ts-ignore
|
||||
s0 = peg$f26(s1, s2);
|
||||
s0 = peg$f27(s1, s2);
|
||||
// @ts-ignore
|
||||
} else {
|
||||
// @ts-ignore
|
||||
@@ -2593,7 +2651,7 @@ peg$parseDigit() {
|
||||
// @ts-ignore
|
||||
peg$savedPos = s0;
|
||||
// @ts-ignore
|
||||
s1 = peg$f27();
|
||||
s1 = peg$f28();
|
||||
}
|
||||
// @ts-ignore
|
||||
s0 = s1;
|
||||
@@ -2764,7 +2822,7 @@ peggyParser.SyntaxError.prototype.name = "PeggySyntaxError";
|
||||
|
||||
export interface ParseOptions {
|
||||
filename?: string;
|
||||
startRule?: "VersionRange" | "Or" | "And" | "VersionRangeAtom" | "Parens" | "Anchor" | "VersionSpec" | "Not" | "Any" | "None" | "CmpOp" | "ExtendedVersion" | "EmverVersionRange" | "EmverVersionRangeAtom" | "EmverParens" | "EmverAnchor" | "EmverNot" | "Emver" | "Flavor" | "Lowercase" | "String" | "Version" | "PreRelease" | "PreReleaseSegment" | "VersionNumber" | "Digit" | "_";
|
||||
startRule?: "VersionRange" | "Or" | "And" | "VersionRangeAtom" | "Parens" | "Anchor" | "VersionSpec" | "FlavorAtom" | "Not" | "Any" | "None" | "CmpOp" | "ExtendedVersion" | "EmverVersionRange" | "EmverVersionRangeAtom" | "EmverParens" | "EmverAnchor" | "EmverNot" | "Emver" | "Flavor" | "Lowercase" | "String" | "Version" | "PreRelease" | "PreReleaseSegment" | "VersionNumber" | "Digit" | "_";
|
||||
tracer?: any;
|
||||
[key: string]: any;
|
||||
}
|
||||
@@ -2779,6 +2837,7 @@ export type ParseFunction = <Options extends ParseOptions>(
|
||||
StartRule extends "Parens" ? Parens :
|
||||
StartRule extends "Anchor" ? Anchor :
|
||||
StartRule extends "VersionSpec" ? VersionSpec :
|
||||
StartRule extends "FlavorAtom" ? FlavorAtom :
|
||||
StartRule extends "Not" ? Not :
|
||||
StartRule extends "Any" ? Any :
|
||||
StartRule extends "None" ? None :
|
||||
@@ -2813,7 +2872,7 @@ export type VersionRange = [
|
||||
];
|
||||
export type Or = "||";
|
||||
export type And = "&&";
|
||||
export type VersionRangeAtom = Parens | Anchor | Not | Any | None;
|
||||
export type VersionRangeAtom = Parens | Anchor | Not | Any | None | FlavorAtom;
|
||||
export type Parens = { type: "Parens"; expr: VersionRange };
|
||||
export type Anchor = {
|
||||
type: "Anchor";
|
||||
@@ -2825,6 +2884,7 @@ export type VersionSpec = {
|
||||
upstream: Version;
|
||||
downstream: any;
|
||||
};
|
||||
export type FlavorAtom = { type: "Flavor"; flavor: Lowercase_1 };
|
||||
export type Not = { type: "Not"; value: VersionRangeAtom };
|
||||
export type Any = { type: "Any" };
|
||||
export type None = { type: "None" };
|
||||
|
||||
Reference in New Issue
Block a user