Files

4 lines
87 KiB
JavaScript
Raw Permalink Normal View History

/*! jsonpath 1.3.0 */
!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b.jsonpath=a()}}(function(){var a;return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c||a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({"./aesprim":[function(b,c,d){!function(b,c){"use strict";"function"==typeof a&&a.amd?a(["exports"],c):c(void 0!==d?d:b.esprima={})}(this,function(a){"use strict";function b(a,b){if(!a)throw new Error("ASSERT: "+b)}function c(a){return a>=48&&a<=57}function d(a){return"0123456789abcdefABCDEF".indexOf(a)>=0}function e(a){return"01234567".indexOf(a)>=0}function f(a){return 32===a||9===a||11===a||12===a||160===a||a>=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(a)>=0}function g(a){return 10===a||13===a||8232===a||8233===a}function h(a){return 64==a||36===a||95===a||a>=65&&a<=90||a>=97&&a<=122||92===a||a>=128&&fb.NonAsciiIdentifierStart.test(String.fromCharCode(a))}function i(a){return 36===a||95===a||a>=65&&a<=90||a>=97&&a<=122||a>=48&&a<=57||92===a||a>=128&&fb.NonAsciiIdentifierPart.test(String.fromCharCode(a))}function j(a){switch(a){case"class":case"enum":case"export":case"extends":case"import":case"super":return!0;default:return!1}}function k(a){switch(a){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"yield":case"let":return!0;default:return!1}}function l(a){return"eval"===a||"arguments"===a}function m(a){if(ib&&k(a))return!0;switch(a.length){case 2:return"if"===a||"in"===a||"do"===a;case 3:return"var"===a||"for"===a||"new"===a||"try"===a||"let"===a;case 4:return"this"===a||"else"===a||"case"===a||"void"===a||"with"===a||"enum"===a;case 5:return"while"===a||"break"===a||"catch"===a||"throw"===a||"const"===a||"yield"===a||"class"===a||"super"===a;case 6:return"return"===a||"typeof"===a||"delete"===a||"switch"===a||"export"===a||"import"===a;case 7:return"default"===a||"finally"===a||"extends"===a;case 8:return"function"===a||"continue"===a||"debugger"===a;case 10:return"instanceof"===a;default:return!1}}function n(a,c,d,e,f){var g;b("number"==typeof d,"Comment must have valid position"),pb.lastCommentStart>=d||(pb.lastCommentStart=d,g={type:a,value:c},qb.range&&(g.range=[d,e]),qb.loc&&(g.loc=f),qb.comments.push(g),qb.attachComment&&(qb.leadingComments.push(g),qb.trailingComments.push(g)))}function o(a){var b,c,d,e;for(b=jb-a,c={start:{line:kb,column:jb-lb-a}};jb<mb;)if(d=hb.charCodeAt(jb),++jb,g(d))return qb.comments&&(e=hb.slice(b+a,jb-1),c.end={line:kb,column:jb-lb-1},n("Line",e,b,jb-1,c)),13===d&&10===hb.charCodeAt(jb)&&++jb,++kb,void(lb=jb);qb.comments&&(e=hb.slice(b+a,jb),c.end={line:kb,column:jb-lb},n("Line",e,b,jb,c))}function p(){var a,b,c,d;for(qb.comments&&(a=jb-2,b={start:{line:kb,column:jb-lb-2}});jb<mb;)if(c=hb.charCodeAt(jb),g(c))13===c&&10===hb.charCodeAt(jb+1)&&++jb,++kb,++jb,lb=jb,jb>=mb&&P({},eb.UnexpectedToken,"ILLEGAL");else if(42===c){if(47===hb.charCodeAt(jb+1))return++jb,++jb,void(qb.comments&&(d=hb.slice(a+2,jb-2),b.end={line:kb,column:jb-lb},n("Block",d,a,jb,b)));++jb}else++jb;P({},eb.UnexpectedToken,"ILLEGAL")}function q(){var a,b;for(b=0===jb;jb<mb;)if(a=hb.charCodeAt(jb),f(a))++jb;else if(g(a))++jb,13===a&&10===hb.charCodeAt(jb)&&++jb,++kb,lb=jb,b=!0;else if(47===a)if(47===(a=hb.charCodeAt(jb+1)))++jb,++jb,o(2),b=!0;else{if(42!==a)break;++jb,++jb,p()}else if(b&&45===a){if(45!==hb.charCodeAt(jb+1)||62!==hb.charCodeAt(jb+2))break;jb+=3,o(3)}else{if(60!==a)break;if("!--"!==hb.slice(jb+1,jb+4))break;++jb,++jb,++jb,++jb,o(4)}}function r(a){var b,c,e,f=0;fo
StrictDelete:"Delete of an unqualified identifier in strict mode.",StrictDuplicateProperty:"Duplicate data property in object literal not allowed in strict mode",AccessorDataProperty:"Object literal may not have data and accessor property with the same name",AccessorGetSet:"Object literal may not have multiple get/set accessors with the same name",StrictLHSAssignment:"Assignment to eval or arguments is not allowed in strict mode",StrictLHSPostfix:"Postfix increment/decrement may not have eval or arguments operand in strict mode",StrictLHSPrefix:"Prefix increment/decrement may not have eval or arguments operand in strict mode",StrictReservedWord:"Use of future reserved word in strict mode"},fb={NonAsciiIdentifierStart:new RegExp("[ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԧԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠࢢ-ࢬऄ-हऽॐक़-ॡॱ-ॷॹ-ॿঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ--ℝℤΩℨK--ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚗꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꪀ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA--zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]"),NonAsciiIdentifierPart:new RegExp("[ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮ̀-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁ҃-҇Ҋ-ԧԱ-Ֆՙա-և֑-ׇֽֿׁׂׅׄא-תװ-ײؐ-ؚؠ-٩ٮ-ۓە-ۜ۟-۪ۨ-ۼۿܐ-݊ݍ-ޱ߀-ߵߺࠀ--ࢠࢢ----९ॱ-ॷॹ-ॿ--ঌএঐও-নপ-রলশ---ড়ঢ়য়----ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹ---ੜਫ਼੦---ઍએ-ઑઓ-નપ-રલળવ----ૐૠ----ଌଏଐଓ-ନପ-ରଲଳଵ---ଡ଼ଢ଼ୟ--୯ୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-------ఌఎ-ఐఒ-నప-ళవ-హఽ---ౘౙౠ---ಌಎ-ಐಒ-ನಪ-ಳವ----ೞೠ--೯ೱೲ-ഌഎ-ഐഒ-ഺഽ-----൯ൺ-ൿ-ඖක-නඳ-රලව------๙ກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ--ຽເ-ໄໆ--໙ໜ-ໟༀ-
f.equal(typeof c,"function","fn needs to be function");var d=this.nodes(a,b).sort(function(a,b){return b.path.length-a.path.length});return d.forEach(function(b){this._assert_safe_path_keys(b.path);var d=b.path.pop(),e=this.value(a,this.stringify(b.path)),f=b.value=c.call(a,e[d]);e[d]=f},this),d},j.prototype.value=function(a,b,c){if(f.ok(a instanceof Object,"obj needs to be an object"),f.ok(b,"we need a path"),arguments.length>=3){var d=this.nodes(a,b).shift();if(!d)return this._vivify(a,b,c);this._assert_safe_path_keys(d.path);var e=d.path.slice(-1).shift();this.parent(a,this.stringify(d.path))[e]=c}return this.query(a,this.stringify(b),1).shift()},j.prototype._vivify=function(a,b,c){var d=this;f.ok(a instanceof Object,"obj needs to be an object"),f.ok(b,"we need a path");var e=this.parser.parse(b).map(function(a){return a.expression.value});this._assert_safe_path_keys(e);var g=function(b,c){var e=b.pop(),f=d.value(a,b);f||(g(b.concat(),"string"==typeof e?{}:[]),f=d.value(a,b)),d._assert_safe_key(e),f[e]=c};return g(e,c),this.query(a,b)[0]},j.prototype.query=function(a,b,c){return f.ok(a instanceof Object,"obj needs to be an object"),f.ok(d(b),"we need a path"),this.nodes(a,b,c).map(function(a){return a.value})},j.prototype.paths=function(a,b,c){return f.ok(a instanceof Object,"obj needs to be an object"),f.ok(b,"we need a path"),this.nodes(a,b,c).map(function(a){return a.path})},j.prototype.nodes=function(a,b,c){if(f.ok(a instanceof Object,"obj needs to be an object"),f.ok(b,"we need a path"),0===c)return[];var d=this.parser.parse(b);this._assert_safe_components(d);var e=this.handlers,g=[{path:["$"],value:a}],h=[];return d.length&&"root"==d[0].expression.type&&d.shift(),d.length?(d.forEach(function(a,b){if(!(h.length>=c)){var f=e.resolve(a),i=[];g.forEach(function(e){if(!(h.length>=c)){var g=f(a,e,c);b==d.length-1?h=h.concat(g||[]):i=i.concat(g||[])}}),g=i}}),c?h.slice(0,c):h):g},j.prototype.stringify=function(a){f.ok(a,"we need a path");var b="$",c={"descendant-member":"..{{value}}","child-member":".{{value}}","descendant-subscript":"..[{{value}}]","child-subscript":"[{{value}}]"};return a=this._normalize(a),a.forEach(function(a){if("root"!=a.expression.type){var d,e=[a.scope,a.operation].join("-"),f=c[e];if(d="string_literal"==a.expression.type?JSON.stringify(a.expression.value):a.expression.value,!f)throw new Error("couldn't find template "+e);b+=f.replace(/{{value}}/,d)}}),b},j.prototype._normalize=function(a){if(f.ok(a,"we need a path"),"string"==typeof a)return this.parser.parse(a);if(Array.isArray(a)&&"string"==typeof a[0]){var b=[{expression:{type:"root",value:"$"}}];return a.forEach(function(a,c){if("$"!=a||0!==c)if("string"==typeof a&&a.match("^"+g.identifier+"$"))this._assert_safe_key(a),b.push({operation:"member",scope:"child",expression:{value:a,type:"identifier"}});else{var d="number"==typeof a?"numeric_literal":"string_literal";"string_literal"===d&&this._assert_safe_key(a),b.push({operation:"subscript",scope:"child",expression:{value:a,type:d}})}},this),b}if(Array.isArray(a)&&"object"==typeof a[0])return a;throw new Error("couldn't understand path "+a)},j.prototype._assert_safe_key=function(a){if(e(a))throw new Error("Unsafe key in JSONPath: "+a)},j.prototype._assert_safe_path_keys=function(a){Array.isArray(a)&&a.forEach(function(a){"$"!==a&&"string"==typeof a&&this._assert_safe_key(a)},this)},j.prototype._assert_safe_components=function(a){var b=this;if(Array.isArray(a)){var c=function(a){if(a)return"identifier"===a.type||"string_literal"===a.type?void b._assert_safe_key(a.value):void("union"===a.type&&Array.isArray(a.value)&&a.value.forEach(function(a){a&&a.expression&&c(a.expression)}))};a.forEach(function(a){a&&a.expression&&c(a.expression)})}},j.Handlers=i,j.Parser=h;var k=new j;k.JSONPath=j,b.exports=k},{"./dict":2,"./handlers":4,"./parser":6,assert:8}],6:[function(a,b,c){var d=a("./grammar"),e=a("../generated/parser"),f=function(){var a=new e.Parser,b=a.parseError;return a.yy.parseError=function(){a.yy.ast&&a.yy.ast.initialize(),b.apply(a,arguments)},a};f.grammar=d,b.exports=f},{"../generated/pa