projects
/
squeep-web-linking
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
1.0.9
[squeep-web-linking]
/
lib
/
rfc8288-web-linking.js
diff --git
a/lib/rfc8288-web-linking.js
b/lib/rfc8288-web-linking.js
index 5da4bab5343d6f3987041a5cb7821be41a1cd682..e3b988ff9d652136a45cb6fb13eacd7eebd1e444 100644
(file)
--- a/
lib/rfc8288-web-linking.js
+++ b/
lib/rfc8288-web-linking.js
@@
-1,19
+1,25
@@
-//
Generated by Peggy 2.0.1
.
+//
@generated by Peggy 4.0.2
.
//
// https://peggyjs.org/
"use strict";
//
// https://peggyjs.org/
"use strict";
+
/* Generated code is not pretty, ignore a lot of this horrorstyle. */
/* Generated code is not pretty, ignore a lot of this horrorstyle. */
-/* eslint-disable quotes */
-/* eslint-disable vars-on-top */
/* eslint-disable no-control-regex */
/* eslint-disable no-control-regex */
+/* eslint-disable no-empty */
/* eslint-disable security/detect-object-injection */
/* eslint-disable security/detect-object-injection */
-/* eslint-disable vars-on-top */
/* eslint-disable brace-style */
/* eslint-disable comma-dangle */
/* eslint-disable brace-style */
/* eslint-disable comma-dangle */
+/* eslint-disable vars-on-top */
/* eslint-disable no-unused-vars */
/* eslint-disable no-unused-vars */
+/* eslint-disable camelcase */
+/* eslint-disable indent */
+/* eslint-disable semi */
+/* eslint-disable jsdoc/require-jsdoc */
+/* eslint-disable sonarjs/cognitive-complexity */
+/* eslint-disable sonarjs/no-identical-functions */
function makeString(o) {
return o.join('');
function makeString(o) {
return o.join('');
@@
-69,16
+75,19
@@
peg$SyntaxError.prototype.format = function(sources) {
}
}
var s = this.location.start;
}
}
var s = this.location.start;
- var loc = this.location.source + ":" + s.line + ":" + s.column;
+ var offset_s = (this.location.source && (typeof this.location.source.offset === "function"))
+ ? this.location.source.offset(s)
+ : s;
+ var loc = this.location.source + ":" + offset_s.line + ":" + offset_s.column;
if (src) {
var e = this.location.end;
if (src) {
var e = this.location.end;
- var filler = peg$padEnd("", s.line.toString().length, ' ');
+ var filler = peg$padEnd("",
offset_
s.line.toString().length, ' ');
var line = src[s.line - 1];
var last = s.line === e.line ? e.column : line.length + 1;
var hatLen = (last - s.column) || 1;
str += "\n --> " + loc + "\n"
+ filler + " |\n"
var line = src[s.line - 1];
var last = s.line === e.line ? e.column : line.length + 1;
var hatLen = (last - s.column) || 1;
str += "\n --> " + loc + "\n"
+ filler + " |\n"
- + s.line + " | " + line + "\n"
+ +
offset_
s.line + " | " + line + "\n"
+ filler + " | " + peg$padEnd("", s.column - 1, ' ')
+ peg$padEnd("", hatLen, "^");
} else {
+ filler + " | " + peg$padEnd("", s.column - 1, ' ')
+ peg$padEnd("", hatLen, "^");
} else {
@@
-308,16
+317,16
@@
function peg$parse(input, options) {
value: makeString(value),
};
};
value: makeString(value),
};
};
- var peg$currPos = 0;
- var peg$savedPos =
0
;
+ var peg$currPos =
options.peg$currPos |
0;
+ var peg$savedPos =
peg$currPos
;
var peg$posDetailsCache = [{ line: 1, column: 1 }];
var peg$posDetailsCache = [{ line: 1, column: 1 }];
- var peg$maxFailPos =
0
;
- var peg$maxFailExpected = [];
- var peg$silentFails = 0;
+ var peg$maxFailPos =
peg$currPos
;
+ var peg$maxFailExpected =
options.peg$maxFailExpected ||
[];
+ var peg$silentFails =
options.peg$silentFails |
0;
var peg$result;
var peg$result;
- if (
"startRule" in options
) {
+ if (
options.startRule
) {
if (!(options.startRule in peg$startRuleFunctions)) {
throw new Error("Can't start parsing from rule \"" + options.startRule + "\".");
}
if (!(options.startRule in peg$startRuleFunctions)) {
throw new Error("Can't start parsing from rule \"" + options.startRule + "\".");
}
@@
-392,9
+401,11
@@
function peg$parse(input, options) {
if (details) {
return details;
} else {
if (details) {
return details;
} else {
- p = pos - 1;
- while (!peg$posDetailsCache[p]) {
- p--;
+ if (pos >= peg$posDetailsCache.length) {
+ p = peg$posDetailsCache.length - 1;
+ } else {
+ p = pos;
+ while (!peg$posDetailsCache[--p]) {}
}
details = peg$posDetailsCache[p];
}
details = peg$posDetailsCache[p];
@@
-420,11
+431,11
@@
function peg$parse(input, options) {
}
}
}
}
- function peg$computeLocation(startPos, endPos) {
+ function peg$computeLocation(startPos, endPos
, offset
) {
var startPosDetails = peg$computePosDetails(startPos);
var endPosDetails = peg$computePosDetails(endPos);
var startPosDetails = peg$computePosDetails(startPos);
var endPosDetails = peg$computePosDetails(endPos);
-
return
{
+
var res =
{
source: peg$source,
start: {
offset: startPos,
source: peg$source,
start: {
offset: startPos,
@@
-437,6
+448,11
@@
function peg$parse(input, options) {
column: endPosDetails.column
}
};
column: endPosDetails.column
}
};
+ if (offset && peg$source && (typeof peg$source.offset === "function")) {
+ res.start = peg$source.offset(res.start);
+ res.end = peg$source.offset(res.end);
+ }
+ return res;
}
function peg$fail(expected) {
}
function peg$fail(expected) {
@@
-596,8
+612,8
@@
function peg$parse(input, options) {
peg$silentFails++;
s0 = peg$currPos;
s1 = [];
peg$silentFails++;
s0 = peg$currPos;
s1 = [];
- if (peg$r0.test(input.charAt(peg$currPos))) {
- s2 = input.charAt(peg$currPos);
+ s2 = input.charAt(peg$currPos);
+ if (peg$r0.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
peg$currPos++;
} else {
s2 = peg$FAILED;
@@
-606,8
+622,8
@@
function peg$parse(input, options) {
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
- if (peg$r0.test(input.charAt(peg$currPos))) {
- s2 = input.charAt(peg$currPos);
+ s2 = input.charAt(peg$currPos);
+ if (peg$r0.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
peg$currPos++;
} else {
s2 = peg$FAILED;
@@
-742,8
+758,8
@@
function peg$parse(input, options) {
peg$silentFails++;
s0 = peg$currPos;
s1 = [];
peg$silentFails++;
s0 = peg$currPos;
s1 = [];
- if (peg$r1.test(input.charAt(peg$currPos))) {
- s2 = input.charAt(peg$currPos);
+ s2 = input.charAt(peg$currPos);
+ if (peg$r1.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
peg$currPos++;
} else {
s2 = peg$FAILED;
@@
-752,8
+768,8
@@
function peg$parse(input, options) {
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
- if (peg$r1.test(input.charAt(peg$currPos))) {
- s2 = input.charAt(peg$currPos);
+ s2 = input.charAt(peg$currPos);
+ if (peg$r1.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
peg$currPos++;
} else {
s2 = peg$FAILED;
@@
-794,8
+810,8
@@
function peg$parse(input, options) {
peg$silentFails++;
s0 = peg$currPos;
peg$silentFails++;
s0 = peg$currPos;
- if (peg$r2.test(input.charAt(peg$currPos))) {
- s1 = input.charAt(peg$currPos);
+ s1 = input.charAt(peg$currPos);
+ if (peg$r2.test(s1)) {
peg$currPos++;
} else {
s1 = peg$FAILED;
peg$currPos++;
} else {
s1 = peg$FAILED;
@@
-803,8
+819,8
@@
function peg$parse(input, options) {
}
if (s1 !== peg$FAILED) {
s2 = [];
}
if (s1 !== peg$FAILED) {
s2 = [];
- if (peg$r3.test(input.charAt(peg$currPos))) {
- s3 = input.charAt(peg$currPos);
+ s3 = input.charAt(peg$currPos);
+ if (peg$r3.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
peg$currPos++;
} else {
s3 = peg$FAILED;
@@
-813,8
+829,8
@@
function peg$parse(input, options) {
if (s3 !== peg$FAILED) {
while (s3 !== peg$FAILED) {
s2.push(s3);
if (s3 !== peg$FAILED) {
while (s3 !== peg$FAILED) {
s2.push(s3);
- if (peg$r3.test(input.charAt(peg$currPos))) {
- s3 = input.charAt(peg$currPos);
+ s3 = input.charAt(peg$currPos);
+ if (peg$r3.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
peg$currPos++;
} else {
s3 = peg$FAILED;
@@
-825,8
+841,8
@@
function peg$parse(input, options) {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
- if (peg$r2.test(input.charAt(peg$currPos))) {
- s3 = input.charAt(peg$currPos);
+ s3 = input.charAt(peg$currPos);
+ if (peg$r2.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
peg$currPos++;
} else {
s3 = peg$FAILED;
@@
-850,8
+866,8
@@
function peg$parse(input, options) {
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = [];
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = [];
- if (peg$r4.test(input.charAt(peg$currPos))) {
- s2 = input.charAt(peg$currPos);
+ s2 = input.charAt(peg$currPos);
+ if (peg$r4.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
peg$currPos++;
} else {
s2 = peg$FAILED;
@@
-860,8
+876,8
@@
function peg$parse(input, options) {
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
- if (peg$r4.test(input.charAt(peg$currPos))) {
- s2 = input.charAt(peg$currPos);
+ s2 = input.charAt(peg$currPos);
+ if (peg$r4.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
peg$currPos++;
} else {
s2 = peg$FAILED;
@@
-891,8
+907,8
@@
function peg$parse(input, options) {
peg$silentFails++;
s0 = [];
peg$silentFails++;
s0 = [];
- if (peg$r5.test(input.charAt(peg$currPos))) {
- s1 = input.charAt(peg$currPos);
+ s1 = input.charAt(peg$currPos);
+ if (peg$r5.test(s1)) {
peg$currPos++;
} else {
s1 = peg$FAILED;
peg$currPos++;
} else {
s1 = peg$FAILED;
@@
-900,8
+916,8
@@
function peg$parse(input, options) {
}
while (s1 !== peg$FAILED) {
s0.push(s1);
}
while (s1 !== peg$FAILED) {
s0.push(s1);
- if (peg$r5.test(input.charAt(peg$currPos))) {
- s1 = input.charAt(peg$currPos);
+ s1 = input.charAt(peg$currPos);
+ if (peg$r5.test(s1)) {
peg$currPos++;
} else {
s1 = peg$FAILED;
peg$currPos++;
} else {
s1 = peg$FAILED;
@@
-933,8
+949,8
@@
function peg$parse(input, options) {
peg$silentFails++;
s0 = peg$currPos;
s1 = [];
peg$silentFails++;
s0 = peg$currPos;
s1 = [];
- if (peg$r6.test(input.charAt(peg$currPos))) {
- s2 = input.charAt(peg$currPos);
+ s2 = input.charAt(peg$currPos);
+ if (peg$r6.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
peg$currPos++;
} else {
s2 = peg$FAILED;
@@
-942,16
+958,16
@@
function peg$parse(input, options) {
}
while (s2 !== peg$FAILED) {
s1.push(s2);
}
while (s2 !== peg$FAILED) {
s1.push(s2);
- if (peg$r6.test(input.charAt(peg$currPos))) {
- s2 = input.charAt(peg$currPos);
+ s2 = input.charAt(peg$currPos);
+ if (peg$r6.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e23); }
}
}
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e23); }
}
}
- if (peg$r7.test(input.charAt(peg$currPos))) {
- s2 = input.charAt(peg$currPos);
+ s2 = input.charAt(peg$currPos);
+ if (peg$r7.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
peg$currPos++;
} else {
s2 = peg$FAILED;
@@
-959,8
+975,8
@@
function peg$parse(input, options) {
}
if (s2 !== peg$FAILED) {
s3 = [];
}
if (s2 !== peg$FAILED) {
s3 = [];
- if (peg$r6.test(input.charAt(peg$currPos))) {
- s4 = input.charAt(peg$currPos);
+ s4 = input.charAt(peg$currPos);
+ if (peg$r6.test(s4)) {
peg$currPos++;
} else {
s4 = peg$FAILED;
peg$currPos++;
} else {
s4 = peg$FAILED;
@@
-968,16
+984,16
@@
function peg$parse(input, options) {
}
while (s4 !== peg$FAILED) {
s3.push(s4);
}
while (s4 !== peg$FAILED) {
s3.push(s4);
- if (peg$r6.test(input.charAt(peg$currPos))) {
- s4 = input.charAt(peg$currPos);
+ s4 = input.charAt(peg$currPos);
+ if (peg$r6.test(s4)) {
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e23); }
}
}
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e23); }
}
}
- if (peg$r7.test(input.charAt(peg$currPos))) {
- s4 = input.charAt(peg$currPos);
+ s4 = input.charAt(peg$currPos);
+ if (peg$r7.test(s4)) {
peg$currPos++;
} else {
s4 = peg$FAILED;
peg$currPos++;
} else {
s4 = peg$FAILED;
@@
-1051,6
+1067,15
@@
let seenAttributes = [];
peg$result = peg$startRuleFunction();
peg$result = peg$startRuleFunction();
+ if (options.peg$library) {
+ return /** @type {any} */ ({
+ peg$result,
+ peg$currPos,
+ peg$FAILED,
+ peg$maxFailExpected,
+ peg$maxFailPos
+ });
+ }
if (peg$result !== peg$FAILED && peg$currPos === input.length) {
return peg$result;
} else {
if (peg$result !== peg$FAILED && peg$currPos === input.length) {
return peg$result;
} else {
@@
-1069,6
+1094,7
@@
let seenAttributes = [];
}
module.exports = {
}
module.exports = {
+ StartRules: ["links", "extendedValue"],
SyntaxError: peg$SyntaxError,
parse: peg$parse
};
SyntaxError: peg$SyntaxError,
parse: peg$parse
};