Initial commit
This commit is contained in:
664
node_modules/google-gax/lib/path_template_parser.js
generated
vendored
Normal file
664
node_modules/google-gax/lib/path_template_parser.js
generated
vendored
Normal file
@@ -0,0 +1,664 @@
|
||||
/* eslint-disable */
|
||||
module.exports = (function() {
|
||||
'use strict';
|
||||
|
||||
/*
|
||||
* Generated by PEG.js 0.9.0.
|
||||
*
|
||||
* http://pegjs.org/
|
||||
*/
|
||||
|
||||
function peg$subclass(child, parent) {
|
||||
function ctor() {
|
||||
this.constructor = child;
|
||||
}
|
||||
ctor.prototype = parent.prototype;
|
||||
child.prototype = new ctor();
|
||||
}
|
||||
|
||||
function peg$SyntaxError(message, expected, found, location) {
|
||||
this.message = message;
|
||||
this.expected = expected;
|
||||
this.found = found;
|
||||
this.location = location;
|
||||
this.name = 'SyntaxError';
|
||||
|
||||
if (typeof Error.captureStackTrace === 'function') {
|
||||
Error.captureStackTrace(this, peg$SyntaxError);
|
||||
}
|
||||
}
|
||||
|
||||
peg$subclass(peg$SyntaxError, Error);
|
||||
|
||||
function peg$parse(input) {
|
||||
var options = arguments.length > 1 ? arguments[1] : {},
|
||||
parser = this,
|
||||
peg$FAILED = {},
|
||||
peg$startRuleFunctions = {template: peg$parsetemplate},
|
||||
peg$startRuleFunction = peg$parsetemplate,
|
||||
peg$c0 = '/',
|
||||
peg$c1 = {type: 'literal', value: '/', description: '"/"'},
|
||||
peg$c2 = function(segments) {
|
||||
return segments;
|
||||
},
|
||||
peg$c3 = function(s, segments) {
|
||||
return s.concat(segments);
|
||||
},
|
||||
peg$c4 = function(s) {
|
||||
return s;
|
||||
},
|
||||
peg$c5 = '{',
|
||||
peg$c6 = {type: 'literal', value: '{', description: '"{"'},
|
||||
peg$c7 = '=',
|
||||
peg$c8 = {type: 'literal', value: '=', description: '"="'},
|
||||
peg$c9 = '}',
|
||||
peg$c10 = {type: 'literal', value: '}', description: '"}"'},
|
||||
peg$c11 = function(l, segments) {
|
||||
return _.flatten([
|
||||
{kind: extras.BINDING, literal: l},
|
||||
segments,
|
||||
{kind: extras.END_BINDING, literal: ''},
|
||||
]);
|
||||
},
|
||||
peg$c12 = function(l) {
|
||||
return [
|
||||
{kind: extras.BINDING, literal: l},
|
||||
{kind: extras.TERMINAL, literal: '*'},
|
||||
{kind: extras.END_BINDING, literal: ''},
|
||||
];
|
||||
},
|
||||
peg$c13 = function(t, segments) {
|
||||
return t.concat(segments);
|
||||
},
|
||||
peg$c14 = function(t) {
|
||||
if (t[0].literal === '*' || t[0].literal === '**') {
|
||||
return [
|
||||
{
|
||||
kind: extras.BINDING,
|
||||
},
|
||||
t[0],
|
||||
{kind: extras.END_BINDING, literal: ''},
|
||||
];
|
||||
} else {
|
||||
return t;
|
||||
}
|
||||
},
|
||||
peg$c15 = '**',
|
||||
peg$c16 = {type: 'literal', value: '**', description: '"**"'},
|
||||
peg$c17 = '*',
|
||||
peg$c18 = {type: 'literal', value: '*', description: '"*"'},
|
||||
peg$c19 = function(l) {
|
||||
return [{kind: extras.TERMINAL, literal: l}];
|
||||
},
|
||||
peg$c20 = /^[^*=}{\/]/,
|
||||
peg$c21 = {type: 'class', value: '[^*=}{/]', description: '[^*=}{/]'},
|
||||
peg$c22 = function(cs) {
|
||||
return cs.join('');
|
||||
},
|
||||
peg$currPos = 0,
|
||||
peg$savedPos = 0,
|
||||
peg$posDetailsCache = [{line: 1, column: 1, seenCR: false}],
|
||||
peg$maxFailPos = 0,
|
||||
peg$maxFailExpected = [],
|
||||
peg$silentFails = 0,
|
||||
peg$result;
|
||||
|
||||
if ('startRule' in options) {
|
||||
if (!(options.startRule in peg$startRuleFunctions)) {
|
||||
throw new Error(
|
||||
'Can\'t start parsing from rule "' + options.startRule + '".'
|
||||
);
|
||||
}
|
||||
|
||||
peg$startRuleFunction = peg$startRuleFunctions[options.startRule];
|
||||
}
|
||||
|
||||
function text() {
|
||||
return input.substring(peg$savedPos, peg$currPos);
|
||||
}
|
||||
|
||||
function location() {
|
||||
return peg$computeLocation(peg$savedPos, peg$currPos);
|
||||
}
|
||||
|
||||
function expected(description) {
|
||||
throw peg$buildException(
|
||||
null,
|
||||
[{type: 'other', description: description}],
|
||||
input.substring(peg$savedPos, peg$currPos),
|
||||
peg$computeLocation(peg$savedPos, peg$currPos)
|
||||
);
|
||||
}
|
||||
|
||||
function error(message) {
|
||||
throw peg$buildException(
|
||||
message,
|
||||
null,
|
||||
input.substring(peg$savedPos, peg$currPos),
|
||||
peg$computeLocation(peg$savedPos, peg$currPos)
|
||||
);
|
||||
}
|
||||
|
||||
function peg$computePosDetails(pos) {
|
||||
var details = peg$posDetailsCache[pos],
|
||||
p,
|
||||
ch;
|
||||
|
||||
if (details) {
|
||||
return details;
|
||||
} else {
|
||||
p = pos - 1;
|
||||
while (!peg$posDetailsCache[p]) {
|
||||
p--;
|
||||
}
|
||||
|
||||
details = peg$posDetailsCache[p];
|
||||
details = {
|
||||
line: details.line,
|
||||
column: details.column,
|
||||
seenCR: details.seenCR,
|
||||
};
|
||||
|
||||
while (p < pos) {
|
||||
ch = input.charAt(p);
|
||||
if (ch === '\n') {
|
||||
if (!details.seenCR) {
|
||||
details.line++;
|
||||
}
|
||||
details.column = 1;
|
||||
details.seenCR = false;
|
||||
} else if (ch === '\r' || ch === '\u2028' || ch === '\u2029') {
|
||||
details.line++;
|
||||
details.column = 1;
|
||||
details.seenCR = true;
|
||||
} else {
|
||||
details.column++;
|
||||
details.seenCR = false;
|
||||
}
|
||||
|
||||
p++;
|
||||
}
|
||||
|
||||
peg$posDetailsCache[pos] = details;
|
||||
return details;
|
||||
}
|
||||
}
|
||||
|
||||
function peg$computeLocation(startPos, endPos) {
|
||||
var startPosDetails = peg$computePosDetails(startPos),
|
||||
endPosDetails = peg$computePosDetails(endPos);
|
||||
|
||||
return {
|
||||
start: {
|
||||
offset: startPos,
|
||||
line: startPosDetails.line,
|
||||
column: startPosDetails.column,
|
||||
},
|
||||
end: {
|
||||
offset: endPos,
|
||||
line: endPosDetails.line,
|
||||
column: endPosDetails.column,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
function peg$fail(expected) {
|
||||
if (peg$currPos < peg$maxFailPos) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (peg$currPos > peg$maxFailPos) {
|
||||
peg$maxFailPos = peg$currPos;
|
||||
peg$maxFailExpected = [];
|
||||
}
|
||||
|
||||
peg$maxFailExpected.push(expected);
|
||||
}
|
||||
|
||||
function peg$buildException(message, expected, found, location) {
|
||||
function cleanupExpected(expected) {
|
||||
var i = 1;
|
||||
|
||||
expected.sort(function(a, b) {
|
||||
if (a.description < b.description) {
|
||||
return -1;
|
||||
} else if (a.description > b.description) {
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
});
|
||||
|
||||
while (i < expected.length) {
|
||||
if (expected[i - 1] === expected[i]) {
|
||||
expected.splice(i, 1);
|
||||
} else {
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function buildMessage(expected, found) {
|
||||
function stringEscape(s) {
|
||||
function hex(ch) {
|
||||
return ch
|
||||
.charCodeAt(0)
|
||||
.toString(16)
|
||||
.toUpperCase();
|
||||
}
|
||||
|
||||
return s
|
||||
.replace(/\\/g, '\\\\')
|
||||
.replace(/"/g, '\\"')
|
||||
.replace(/\x08/g, '\\b')
|
||||
.replace(/\t/g, '\\t')
|
||||
.replace(/\n/g, '\\n')
|
||||
.replace(/\f/g, '\\f')
|
||||
.replace(/\r/g, '\\r')
|
||||
.replace(/[\x00-\x07\x0B\x0E\x0F]/g, function(ch) {
|
||||
return '\\x0' + hex(ch);
|
||||
})
|
||||
.replace(/[\x10-\x1F\x80-\xFF]/g, function(ch) {
|
||||
return '\\x' + hex(ch);
|
||||
})
|
||||
.replace(/[\u0100-\u0FFF]/g, function(ch) {
|
||||
return '\\u0' + hex(ch);
|
||||
})
|
||||
.replace(/[\u1000-\uFFFF]/g, function(ch) {
|
||||
return '\\u' + hex(ch);
|
||||
});
|
||||
}
|
||||
|
||||
var expectedDescs = new Array(expected.length),
|
||||
expectedDesc,
|
||||
foundDesc,
|
||||
i;
|
||||
|
||||
for (i = 0; i < expected.length; i++) {
|
||||
expectedDescs[i] = expected[i].description;
|
||||
}
|
||||
|
||||
expectedDesc =
|
||||
expected.length > 1
|
||||
? expectedDescs.slice(0, -1).join(', ') +
|
||||
' or ' +
|
||||
expectedDescs[expected.length - 1]
|
||||
: expectedDescs[0];
|
||||
|
||||
foundDesc = found ? '"' + stringEscape(found) + '"' : 'end of input';
|
||||
|
||||
return 'Expected ' + expectedDesc + ' but ' + foundDesc + ' found.';
|
||||
}
|
||||
|
||||
if (expected !== null) {
|
||||
cleanupExpected(expected);
|
||||
}
|
||||
|
||||
return new peg$SyntaxError(
|
||||
message !== null ? message : buildMessage(expected, found),
|
||||
expected,
|
||||
found,
|
||||
location
|
||||
);
|
||||
}
|
||||
|
||||
function peg$parsetemplate() {
|
||||
var s0, s1, s2;
|
||||
|
||||
s0 = peg$currPos;
|
||||
if (input.charCodeAt(peg$currPos) === 47) {
|
||||
s1 = peg$c0;
|
||||
peg$currPos++;
|
||||
} else {
|
||||
s1 = peg$FAILED;
|
||||
if (peg$silentFails === 0) {
|
||||
peg$fail(peg$c1);
|
||||
}
|
||||
}
|
||||
if (s1 !== peg$FAILED) {
|
||||
s2 = peg$parsebound_segments();
|
||||
if (s2 !== peg$FAILED) {
|
||||
peg$savedPos = s0;
|
||||
s1 = peg$c2(s2);
|
||||
s0 = s1;
|
||||
} else {
|
||||
peg$currPos = s0;
|
||||
s0 = peg$FAILED;
|
||||
}
|
||||
} else {
|
||||
peg$currPos = s0;
|
||||
s0 = peg$FAILED;
|
||||
}
|
||||
if (s0 === peg$FAILED) {
|
||||
s0 = peg$currPos;
|
||||
s1 = peg$parsebound_segments();
|
||||
if (s1 !== peg$FAILED) {
|
||||
peg$savedPos = s0;
|
||||
s1 = peg$c2(s1);
|
||||
}
|
||||
s0 = s1;
|
||||
}
|
||||
|
||||
return s0;
|
||||
}
|
||||
|
||||
function peg$parsebound_segments() {
|
||||
var s0, s1, s2, s3;
|
||||
|
||||
s0 = peg$currPos;
|
||||
s1 = peg$parsebound_segment();
|
||||
if (s1 !== peg$FAILED) {
|
||||
if (input.charCodeAt(peg$currPos) === 47) {
|
||||
s2 = peg$c0;
|
||||
peg$currPos++;
|
||||
} else {
|
||||
s2 = peg$FAILED;
|
||||
if (peg$silentFails === 0) {
|
||||
peg$fail(peg$c1);
|
||||
}
|
||||
}
|
||||
if (s2 !== peg$FAILED) {
|
||||
s3 = peg$parsebound_segments();
|
||||
if (s3 !== peg$FAILED) {
|
||||
peg$savedPos = s0;
|
||||
s1 = peg$c3(s1, s3);
|
||||
s0 = s1;
|
||||
} else {
|
||||
peg$currPos = s0;
|
||||
s0 = peg$FAILED;
|
||||
}
|
||||
} else {
|
||||
peg$currPos = s0;
|
||||
s0 = peg$FAILED;
|
||||
}
|
||||
} else {
|
||||
peg$currPos = s0;
|
||||
s0 = peg$FAILED;
|
||||
}
|
||||
if (s0 === peg$FAILED) {
|
||||
s0 = peg$parsebound_segment();
|
||||
}
|
||||
|
||||
return s0;
|
||||
}
|
||||
|
||||
function peg$parsebound_segment() {
|
||||
var s0, s1;
|
||||
|
||||
s0 = peg$currPos;
|
||||
s1 = peg$parsebound_terminal();
|
||||
if (s1 === peg$FAILED) {
|
||||
s1 = peg$parsevariable();
|
||||
}
|
||||
if (s1 !== peg$FAILED) {
|
||||
peg$savedPos = s0;
|
||||
s1 = peg$c4(s1);
|
||||
}
|
||||
s0 = s1;
|
||||
|
||||
return s0;
|
||||
}
|
||||
|
||||
function peg$parsevariable() {
|
||||
var s0, s1, s2, s3, s4, s5;
|
||||
|
||||
s0 = peg$currPos;
|
||||
if (input.charCodeAt(peg$currPos) === 123) {
|
||||
s1 = peg$c5;
|
||||
peg$currPos++;
|
||||
} else {
|
||||
s1 = peg$FAILED;
|
||||
if (peg$silentFails === 0) {
|
||||
peg$fail(peg$c6);
|
||||
}
|
||||
}
|
||||
if (s1 !== peg$FAILED) {
|
||||
s2 = peg$parseliteral();
|
||||
if (s2 !== peg$FAILED) {
|
||||
if (input.charCodeAt(peg$currPos) === 61) {
|
||||
s3 = peg$c7;
|
||||
peg$currPos++;
|
||||
} else {
|
||||
s3 = peg$FAILED;
|
||||
if (peg$silentFails === 0) {
|
||||
peg$fail(peg$c8);
|
||||
}
|
||||
}
|
||||
if (s3 !== peg$FAILED) {
|
||||
s4 = peg$parseunbound_segments();
|
||||
if (s4 !== peg$FAILED) {
|
||||
if (input.charCodeAt(peg$currPos) === 125) {
|
||||
s5 = peg$c9;
|
||||
peg$currPos++;
|
||||
} else {
|
||||
s5 = peg$FAILED;
|
||||
if (peg$silentFails === 0) {
|
||||
peg$fail(peg$c10);
|
||||
}
|
||||
}
|
||||
if (s5 !== peg$FAILED) {
|
||||
peg$savedPos = s0;
|
||||
s1 = peg$c11(s2, s4);
|
||||
s0 = s1;
|
||||
} else {
|
||||
peg$currPos = s0;
|
||||
s0 = peg$FAILED;
|
||||
}
|
||||
} else {
|
||||
peg$currPos = s0;
|
||||
s0 = peg$FAILED;
|
||||
}
|
||||
} else {
|
||||
peg$currPos = s0;
|
||||
s0 = peg$FAILED;
|
||||
}
|
||||
} else {
|
||||
peg$currPos = s0;
|
||||
s0 = peg$FAILED;
|
||||
}
|
||||
} else {
|
||||
peg$currPos = s0;
|
||||
s0 = peg$FAILED;
|
||||
}
|
||||
if (s0 === peg$FAILED) {
|
||||
s0 = peg$currPos;
|
||||
if (input.charCodeAt(peg$currPos) === 123) {
|
||||
s1 = peg$c5;
|
||||
peg$currPos++;
|
||||
} else {
|
||||
s1 = peg$FAILED;
|
||||
if (peg$silentFails === 0) {
|
||||
peg$fail(peg$c6);
|
||||
}
|
||||
}
|
||||
if (s1 !== peg$FAILED) {
|
||||
s2 = peg$parseliteral();
|
||||
if (s2 !== peg$FAILED) {
|
||||
if (input.charCodeAt(peg$currPos) === 125) {
|
||||
s3 = peg$c9;
|
||||
peg$currPos++;
|
||||
} else {
|
||||
s3 = peg$FAILED;
|
||||
if (peg$silentFails === 0) {
|
||||
peg$fail(peg$c10);
|
||||
}
|
||||
}
|
||||
if (s3 !== peg$FAILED) {
|
||||
peg$savedPos = s0;
|
||||
s1 = peg$c12(s2);
|
||||
s0 = s1;
|
||||
} else {
|
||||
peg$currPos = s0;
|
||||
s0 = peg$FAILED;
|
||||
}
|
||||
} else {
|
||||
peg$currPos = s0;
|
||||
s0 = peg$FAILED;
|
||||
}
|
||||
} else {
|
||||
peg$currPos = s0;
|
||||
s0 = peg$FAILED;
|
||||
}
|
||||
}
|
||||
|
||||
return s0;
|
||||
}
|
||||
|
||||
function peg$parseunbound_segments() {
|
||||
var s0, s1, s2, s3;
|
||||
|
||||
s0 = peg$currPos;
|
||||
s1 = peg$parseunbound_terminal();
|
||||
if (s1 !== peg$FAILED) {
|
||||
if (input.charCodeAt(peg$currPos) === 47) {
|
||||
s2 = peg$c0;
|
||||
peg$currPos++;
|
||||
} else {
|
||||
s2 = peg$FAILED;
|
||||
if (peg$silentFails === 0) {
|
||||
peg$fail(peg$c1);
|
||||
}
|
||||
}
|
||||
if (s2 !== peg$FAILED) {
|
||||
s3 = peg$parseunbound_segments();
|
||||
if (s3 !== peg$FAILED) {
|
||||
peg$savedPos = s0;
|
||||
s1 = peg$c13(s1, s3);
|
||||
s0 = s1;
|
||||
} else {
|
||||
peg$currPos = s0;
|
||||
s0 = peg$FAILED;
|
||||
}
|
||||
} else {
|
||||
peg$currPos = s0;
|
||||
s0 = peg$FAILED;
|
||||
}
|
||||
} else {
|
||||
peg$currPos = s0;
|
||||
s0 = peg$FAILED;
|
||||
}
|
||||
if (s0 === peg$FAILED) {
|
||||
s0 = peg$parseunbound_terminal();
|
||||
}
|
||||
|
||||
return s0;
|
||||
}
|
||||
|
||||
function peg$parsebound_terminal() {
|
||||
var s0, s1;
|
||||
|
||||
s0 = peg$currPos;
|
||||
s1 = peg$parseunbound_terminal();
|
||||
if (s1 !== peg$FAILED) {
|
||||
peg$savedPos = s0;
|
||||
s1 = peg$c14(s1);
|
||||
}
|
||||
s0 = s1;
|
||||
|
||||
return s0;
|
||||
}
|
||||
|
||||
function peg$parseunbound_terminal() {
|
||||
var s0, s1;
|
||||
|
||||
s0 = peg$currPos;
|
||||
if (input.substr(peg$currPos, 2) === peg$c15) {
|
||||
s1 = peg$c15;
|
||||
peg$currPos += 2;
|
||||
} else {
|
||||
s1 = peg$FAILED;
|
||||
if (peg$silentFails === 0) {
|
||||
peg$fail(peg$c16);
|
||||
}
|
||||
}
|
||||
if (s1 === peg$FAILED) {
|
||||
if (input.charCodeAt(peg$currPos) === 42) {
|
||||
s1 = peg$c17;
|
||||
peg$currPos++;
|
||||
} else {
|
||||
s1 = peg$FAILED;
|
||||
if (peg$silentFails === 0) {
|
||||
peg$fail(peg$c18);
|
||||
}
|
||||
}
|
||||
if (s1 === peg$FAILED) {
|
||||
s1 = peg$parseliteral();
|
||||
}
|
||||
}
|
||||
if (s1 !== peg$FAILED) {
|
||||
peg$savedPos = s0;
|
||||
s1 = peg$c19(s1);
|
||||
}
|
||||
s0 = s1;
|
||||
|
||||
return s0;
|
||||
}
|
||||
|
||||
function peg$parseliteral() {
|
||||
var s0, s1, s2;
|
||||
|
||||
s0 = peg$currPos;
|
||||
s1 = [];
|
||||
if (peg$c20.test(input.charAt(peg$currPos))) {
|
||||
s2 = input.charAt(peg$currPos);
|
||||
peg$currPos++;
|
||||
} else {
|
||||
s2 = peg$FAILED;
|
||||
if (peg$silentFails === 0) {
|
||||
peg$fail(peg$c21);
|
||||
}
|
||||
}
|
||||
if (s2 !== peg$FAILED) {
|
||||
while (s2 !== peg$FAILED) {
|
||||
s1.push(s2);
|
||||
if (peg$c20.test(input.charAt(peg$currPos))) {
|
||||
s2 = input.charAt(peg$currPos);
|
||||
peg$currPos++;
|
||||
} else {
|
||||
s2 = peg$FAILED;
|
||||
if (peg$silentFails === 0) {
|
||||
peg$fail(peg$c21);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
s1 = peg$FAILED;
|
||||
}
|
||||
if (s1 !== peg$FAILED) {
|
||||
peg$savedPos = s0;
|
||||
s1 = peg$c22(s1);
|
||||
}
|
||||
s0 = s1;
|
||||
|
||||
return s0;
|
||||
}
|
||||
|
||||
var _ = require('lodash');
|
||||
var util = require('util');
|
||||
var extras = require('./parser_extras');
|
||||
|
||||
peg$result = peg$startRuleFunction();
|
||||
|
||||
if (peg$result !== peg$FAILED && peg$currPos === input.length) {
|
||||
return peg$result;
|
||||
} else {
|
||||
if (peg$result !== peg$FAILED && peg$currPos < input.length) {
|
||||
peg$fail({type: 'end', description: 'end of input'});
|
||||
}
|
||||
|
||||
throw peg$buildException(
|
||||
null,
|
||||
peg$maxFailExpected,
|
||||
peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,
|
||||
peg$maxFailPos < input.length
|
||||
? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)
|
||||
: peg$computeLocation(peg$maxFailPos, peg$maxFailPos)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
SyntaxError: peg$SyntaxError,
|
||||
parse: peg$parse,
|
||||
};
|
||||
})();
|
||||
Reference in New Issue
Block a user