META-INF.resources.webjars.json.js.jsonlint.js Maven / Gradle / Ivy
var jsonlint = function() {
var a = !0,
b = !1,
c = {},
d = function() {
var a = {
trace: function() {},
yy: {},
symbols_: {
error: 2,
JSONString: 3,
STRING: 4,
JSONNumber: 5,
NUMBER: 6,
JSONNullLiteral: 7,
NULL: 8,
JSONBooleanLiteral: 9,
TRUE: 10,
FALSE: 11,
JSONText: 12,
JSONValue: 13,
EOF: 14,
JSONObject: 15,
JSONArray: 16,
"{": 17,
"}": 18,
JSONMemberList: 19,
JSONMember: 20,
":": 21,
",": 22,
"[": 23,
"]": 24,
JSONElementList: 25,
$accept: 0,
$end: 1
},
terminals_: {
2: "error",
4: "STRING
",
6: "NUMBER
",
8: "NULL
",
10: "TRUE
",
11: "FALSE
",
14: "EOF
",
17: "{
",
18: "}
",
21: ":
",
22: ",
",
23: "[
",
24: "]
"
},
productions_: [0, [3, 1],
[5, 1],
[7, 1],
[9, 1],
[9, 1],
[12, 2],
[13, 1],
[13, 1],
[13, 1],
[13, 1],
[13, 1],
[13, 1],
[15, 2],
[15, 3],
[20, 3],
[19, 1],
[19, 3],
[16, 2],
[16, 3],
[25, 1],
[25, 3]
],
performAction: function(b, c, d, e, f, g, h) {
var i = g.length - 1;
switch (f) {
case 1:
this.$ = b.replace(/\\(\\|")/g, "$1").replace(/\\n/g, "\n").replace(/\\r/g, "\r").replace(/\\t/g, " ").replace(/\\v/g, "").replace(/\\f/g, "\f").replace(/\\b/g, "\b");
break;
case 2:
this.$ = Number(b);
break;
case 3:
this.$ = null;
break;
case 4:
this.$ = !0;
break;
case 5:
this.$ = !1;
break;
case 6:
return this.$ = g[i - 1];
case 13:
this.$ = {};
break;
case 14:
this.$ = g[i - 1];
break;
case 15:
this.$ = [g[i - 2], g[i]];
break;
case 16:
this.$ = {}, this.$[g[i][0]] = g[i][1];
break;
case 17:
this.$ = g[i - 2], g[i - 2][g[i][0]] = g[i][1];
break;
case 18:
this.$ = [];
break;
case 19:
this.$ = g[i - 1];
break;
case 20:
this.$ = [g[i]];
break;
case 21:
this.$ = g[i - 2], g[i - 2].push(g[i])
}
},
table: [{
3: 5,
4: [1, 12],
5: 6,
6: [1, 13],
7: 3,
8: [1, 9],
9: 4,
10: [1, 10],
11: [1, 11],
12: 1,
13: 2,
15: 7,
16: 8,
17: [1, 14],
23: [1, 15]
}, {
1: [3]
}, {
14: [1, 16]
}, {
14: [2, 7],
18: [2, 7],
22: [2, 7],
24: [2, 7]
}, {
14: [2, 8],
18: [2, 8],
22: [2, 8],
24: [2, 8]
}, {
14: [2, 9],
18: [2, 9],
22: [2, 9],
24: [2, 9]
}, {
14: [2, 10],
18: [2, 10],
22: [2, 10],
24: [2, 10]
}, {
14: [2, 11],
18: [2, 11],
22: [2, 11],
24: [2, 11]
}, {
14: [2, 12],
18: [2, 12],
22: [2, 12],
24: [2, 12]
}, {
14: [2, 3],
18: [2, 3],
22: [2, 3],
24: [2, 3]
}, {
14: [2, 4],
18: [2, 4],
22: [2, 4],
24: [2, 4]
}, {
14: [2, 5],
18: [2, 5],
22: [2, 5],
24: [2, 5]
}, {
14: [2, 1],
18: [2, 1],
21: [2, 1],
22: [2, 1],
24: [2, 1]
}, {
14: [2, 2],
18: [2, 2],
22: [2, 2],
24: [2, 2]
}, {
3: 20,
4: [1, 12],
18: [1, 17],
19: 18,
20: 19
}, {
3: 5,
4: [1, 12],
5: 6,
6: [1, 13],
7: 3,
8: [1, 9],
9: 4,
10: [1, 10],
11: [1, 11],
13: 23,
15: 7,
16: 8,
17: [1, 14],
23: [1, 15],
24: [1, 21],
25: 22
}, {
1: [2, 6]
}, {
14: [2, 13],
18: [2, 13],
22: [2, 13],
24: [2, 13]
}, {
18: [1, 24],
22: [1, 25]
}, {
18: [2, 16],
22: [2, 16]
}, {
21: [1, 26]
}, {
14: [2, 18],
18: [2, 18],
22: [2, 18],
24: [2, 18]
}, {
22: [1, 28],
24: [1, 27]
}, {
22: [2, 20],
24: [2, 20]
}, {
14: [2, 14],
18: [2, 14],
22: [2, 14],
24: [2, 14]
}, {
3: 20,
4: [1, 12],
20: 29
}, {
3: 5,
4: [1, 12],
5: 6,
6: [1, 13],
7: 3,
8: [1, 9],
9: 4,
10: [1, 10],
11: [1, 11],
13: 30,
15: 7,
16: 8,
17: [1, 14],
23: [1, 15]
}, {
14: [2, 19],
18: [2, 19],
22: [2, 19],
24: [2, 19]
}, {
3: 5,
4: [1, 12],
5: 6,
6: [1, 13],
7: 3,
8: [1, 9],
9: 4,
10: [1, 10],
11: [1, 11],
13: 31,
15: 7,
16: 8,
17: [1, 14],
23: [1, 15]
}, {
18: [2, 17],
22: [2, 17]
}, {
18: [2, 15],
22: [2, 15]
}, {
22: [2, 21],
24: [2, 21]
}],
defaultActions: {
16: [2, 6]
},
parseError: function(b, c) {
throw new Error(b)
},
parse: function(b) {
function o(a) {
d.length = d.length - 2 * a, e.length = e.length - a, f.length = f.length - a
}
function p() {
var a;
return a = c.lexer.lex() || 1, typeof a != "number" && (a = c.symbols_[a] || a), a
}
var c = this,
d = [0],
e = [null],
f = [],
g = this.table,
h = "",
i = 0,
j = 0,
k = 0,
l = 2,
m = 1;
this.lexer.setInput(b), this.lexer.yy = this.yy, this.yy.lexer = this.lexer, typeof this.lexer.yylloc == "undefined" && (this.lexer.yylloc = {});
var n = this.lexer.yylloc;
f.push(n), typeof this.yy.parseError == "function" && (this.parseError = this.yy.parseError);
var q, r, s, t, u, v, w = {},
x, y, z, A;
for (;;) {
s = d[d.length - 1], this.defaultActions[s] ? t = this.defaultActions[s] : (q == null && (q = p()), t = g[s] && g[s][q]);
if (typeof t == "undefined" || !t.length || !t[0]) {
if (!k) {
A = [];
for (x in g[s]) this.terminals_[x] && x > 2 && A.push("'" + this.terminals_[x] + "'");
var B = "";
this.lexer.showPosition ? B = "在第"+ (i + 1)+"行发生解析错误 "+ ":
" + this.lexer.showPosition() + "
此处缺少" + A.join(", ") + "字符, 实际上确是一个 '" + this.terminals_[q] + "'" : B = "在第"+ (i + 1)+"行发生解析错误 " + ": 本应该是 " + (q == 1 ? "结尾输入" : "'" + (this.terminals_[q] || q) + "'"), this.parseError(B, {
text: this.lexer.match,
token: this.terminals_[q] || q,
line: this.lexer.yylineno,
loc: n,
expected: A
})
}
if (k == 3) {
if (q == m) throw new Error(B || "解析意外终止.");
j = this.lexer.yyleng, h = this.lexer.yytext, i = this.lexer.yylineno, n = this.lexer.yylloc, q = p()
}
for (;;) {
if (l.toString() in g[s]) break;
if (s == 0) throw new Error(B || "解析意外终止.");
o(1), s = d[d.length - 1]
}
r = q, q = l, s = d[d.length - 1], t = g[s] && g[s][l], k = 3
}
if (t[0] instanceof Array && t.length > 1) throw new Error("解析错误: multiple actions possible at state: " + s + ", token: " + q);
switch (t[0]) {
case 1:
d.push(q), e.push(this.lexer.yytext), f.push(this.lexer.yylloc), d.push(t[1]), q = null, r ? (q = r, r = null) : (j = this.lexer.yyleng, h = this.lexer.yytext, i = this.lexer.yylineno, n = this.lexer.yylloc, k > 0 && k--);
break;
case 2:
y = this.productions_[t[1]][1], w.$ = e[e.length - y], w._$ = {
first_line: f[f.length - (y || 1)].first_line,
last_line: f[f.length - 1].last_line,
first_column: f[f.length - (y || 1)].first_column,
last_column: f[f.length - 1].last_column
}, v = this.performAction.call(w, h, j, i, this.yy, t[1], e, f);
if (typeof v != "undefined") return v;
y && (d = d.slice(0, -1 * y * 2), e = e.slice(0, -1 * y), f = f.slice(0, -1 * y)), d.push(this.productions_[t[1]][0]), e.push(w.$), f.push(w._$), z = g[d[d.length - 2]][d[d.length - 1]], d.push(z);
break;
case 3:
return !0
}
}
return !0
}
},
b = function() {
var a = {
EOF: 1,
parseError: function(b, c) {
if (!this.yy.parseError) throw new Error(b);
this.yy.parseError(b, c)
},
setInput: function(a) {
return this._input = a, this._more = this._less = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = {
first_line: 1,
first_column: 0,
last_line: 1,
last_column: 0
}, this
},
input: function() {
var a = this._input[0];
this.yytext += a, this.yyleng++, this.match += a, this.matched += a;
var b = a.match(/\n/);
return b && this.yylineno++, this._input = this._input.slice(1), a
},
unput: function(a) {
return this._input = a + this._input, this
},
more: function() {
return this._more = !0, this
},
less: function(a) {
this._input = this.match.slice(a) + this._input
},
pastInput: function() {
var a = this.matched.substr(0, this.matched.length - this.match.length);
return (a.length > 20 ? "..." : "") + a.substr(-20).replace(/\n/g, "")
},
upcomingInput: function() {
var a = this.match;
return a.length < 20 && (a += this._input.substr(0, 20 - a.length)), (a.substr(0, 20) + (a.length > 20 ? "..." : "")).replace(/\n/g, "")
},
showPosition: function() {
var a = this.pastInput(),
b = (new Array(a.length + 1 - 5)).join(" ");
return ""+ a + this.upcomingInput() + "
" + b + ''
},
next: function() {
if (this.done) return this.EOF;
this._input || (this.done = !0);
var a, b, c, d, e, f;
this._more || (this.yytext = "", this.match = "");
var g = this._currentRules();
for (var h = 0; h < g.length; h++) {
c = this._input.match(this.rules[g[h]]);
if (c && (!b || c[0].length > b[0].length)) {
b = c, d = h;
if (!this.options.flex) break
}
}
if (b) {
f = b[0].match(/\n.*/g), f && (this.yylineno += f.length), this.yylloc = {
first_line: this.yylloc.last_line,
last_line: this.yylineno + 1,
first_column: this.yylloc.last_column,
last_column: f ? f[f.length - 1].length - 1 : this.yylloc.last_column + b[0].length
}, this.yytext += b[0], this.match += b[0], this.yyleng = this.yytext.length, this._more = !1, this._input = this._input.slice(b[0].length), this.matched += b[0], a = this.performAction.call(this, this.yy, this, g[d], this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1);
if (a) return a;
return
}
if (this._input === "") return this.EOF;
this.parseError("词汇错误发生在第" + (this.yylineno + 1) + "行. 不能识别的字符.
" + this.showPosition(), {
text: "",
token: null,
line: this.yylineno
})
},
lex: function() {
var b = this.next();
return typeof b != "undefined" ? b : this.lex()
},
begin: function(b) {
this.conditionStack.push(b)
},
popState: function() {
return this.conditionStack.pop()
},
_currentRules: function() {
return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
},
topState: function() {
return this.conditionStack[this.conditionStack.length - 2]
},
pushState: function(b) {
this.begin(b)
}
};
return a.options = {}, a.performAction = function(b, c, d, e) {
var f = e;
switch (d) {
case 0:
break;
case 1:
return 6;
case 2:
return c.yytext = c.yytext.substr(1, c.yyleng - 2), 4;
case 3:
return 17;
case 4:
return 18;
case 5:
return 23;
case 6:
return 24;
case 7:
return 22;
case 8:
return 21;
case 9:
return 10;
case 10:
return 11;
case 11:
return 8;
case 12:
return 14;
case 13:
return "INVALID"
}
}, a.rules = [/^(?:\s+)/, /^(?:(-?([0-9]|[1-9][0-9]+))(\.[0-9]+)?([eE][-+]?[0-9]+)?\b)/, /^(?:"(?:\\[\\"bfnrt/]|\\u[a-fA-F0-9]{4}|[^\\\0-\x09\x0a-\x1f"])*")/, /^(?:\{)/, /^(?:\})/, /^(?:\[)/, /^(?:\])/, /^(?:,)/, /^(?::)/, /^(?:true\b)/, /^(?:false\b)/, /^(?:null\b)/, /^(?:$)/, /^(?:.)/], a.conditions = {
INITIAL: {
rules: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13],
inclusive: !0
}
}, a
}();
return a.lexer = b, a
}();
return typeof a != "undefined" && typeof c != "undefined" && (c.parser = d, c.parse = function() {
return d.parse.apply(d, arguments)
}, c.main = function(d) {
if (!d[1]) throw new Error("Usage: " + d[0] + " FILE");
if (typeof process != "undefined") var e = a("fs").readFileSync(a("path").join(process.cwd(), d[1]), "utf8");
else var f = a("file").path(a("file").cwd()),
e = f.join(d[1]).read({
charset: "utf-8"
});
return c.parser.parse(e)
}, typeof b != "undefined" && a.main === b && c.main(typeof process != "undefined" ? process.argv.slice(1) : a("system").args)), c
}();
© 2015 - 2024 Weber Informatics LLC | Privacy Policy