diff --git a/docs/_static/js/jmespath.min.js b/docs/_static/js/jmespath.min.js index f983d51..ae76a6d 100644 --- a/docs/_static/js/jmespath.min.js +++ b/docs/_static/js/jmespath.min.js @@ -1,2 +1,2 @@ -/*! jmespath 2015-11-10 */ -!function(a){"use strict";function b(a){return null!==a?"[object Array]"===toString.call(a):!1}function c(a){return null!==a?"[object Object]"===toString.call(a):!1}function d(a,e){if(a===e)return!0;var f=toString.call(a);if(f!==toString.call(e))return!1;if(b(a)===!0){if(a.length!==e.length)return!1;for(var g=0;g":!0,"=":!0,"!":!0},r={0:!0,1:!0,2:!0,3:!0,4:!0,5:!0,6:!0,7:!0,8:!0,9:!0,"-":!0},s=g(p,r),t={" ":!0," ":!0,"\n":!0};h.prototype={tokenize:function(a){var b=[];this.current=0;for(var c,d,e;this.current"===c?"="===a[this.current]?(this.current++,{type:"GTE",value:">=",start:b}):{type:"GT",value:">",start:b}:"="===c&&"="===a[this.current]?(this.current++,{type:"EQ",value:"==",start:b}):void 0},consumeLiteral:function(a){this.current++;for(var b,c=this.current,d=a.length;"`"!==a[this.current]&&this.current=0)return!0;if(c.indexOf(a)>=0)return!0;if(!(d.indexOf(a[0])>=0))return!1;try{return JSON.parse(a),!0}catch(e){return!1}}},i.prototype={parse:function(a){this.loadTokens(a),this.index=0;var b=this.expression(0);if("EOF"!==this.lookahead(0)){var c=this.lookaheadToken(0),d=new Error("Unexpected token type: "+c.type+", value: "+c.value);throw d.name="ParserError",d}return b},loadTokens:function(a){var b=new h,c=b.tokenize(a);c.push({type:"EOF",value:"",start:a.length}),this.tokens=c},expression:function(a){var b=this.lookaheadToken(0);this.advance();for(var c="nud"+b.type,d=this[c]||this.errorToken,e=d.call(this,b),f=this.lookahead(0);ab;){if("Colon"===c)b++,this.advance();else{if("Number"!==c){var d=this.lookahead(0),e=new Error("Syntax error, unexpected token: "+d.value+"("+d.type+")");throw e.name="Parsererror",e}a[b]=this.lookaheadToken(0).value,this.advance()}c=this.lookahead(0)}return this.match("Rbracket"),{type:"Slice",children:a}},nudLbrace:function(){return this.parseMultiselectHash()},ledDot:function(a){var b,c=this.bindingPower.Dot;return"Star"!==this.lookahead(0)?(b=this.parseDotRHS(c),{type:"Subexpression",children:[a,b]}):(this.advance(),b=this.parseProjectionRHS(c),{type:"ValueProjection",children:[a,b]})},nudFilter:function(){return this.ledFilter({type:"Identity"})},ledFilter:function(a){var b,c=this.expression(0);return this.match("Rbracket"),b="Flatten"===this.lookahead(0)?{type:"Identity"}:this.parseProjectionRHS(this.bindingPower.Filter),{type:"FilterProjection",children:[a,b,c]}},ledEQ:function(a){return this.parseComparator(a,"EQ")},ledNE:function(a){return this.parseComparator(a,"NE")},ledGT:function(a){return this.parseComparator(a,"GT")},ledGTE:function(a){return this.parseComparator(a,"GTE")},ledLT:function(a){return this.parseComparator(a,"LT")},ledLTE:function(a){return this.parseComparator(a,"LTE")},parseComparator:function(a,b){var c=this.expression(this.bindingPower[b]);return{type:"Comparator",name:b,children:[a,c]}},ledLbracket:function(a){var b,c=this.lookaheadToken(0);return"Number"===c.type||"Colon"===c.type?(b=this.parseIndexExpression(),this.projectIfSlice(a,b)):(this.match("Star"),this.match("Rbracket"),b=this.parseProjectionRHS(this.bindingPower.Star),{type:"Projection",children:[a,b]})},nudFlatten:function(){var a={type:"Flatten",children:[{type:"Identity"}]},b=this.parseProjectionRHS(this.bindingPower.Flatten);return{type:"Projection",children:[a,b]}},ledFlatten:function(a){var b={type:"Flatten",children:[a]},c=this.parseProjectionRHS(this.bindingPower.Flatten);return{type:"Projection",children:[b,c]}},nudLparen:function(){for(var a,b=[];"Rparen"!==this.lookahead(0);)"Current"===this.lookahead(0)?(a={type:"Current"},this.advance()):a=this.expression(0),b.push(a);return this.match("Rparen"),b[0]},ledLparen:function(a){for(var b,c,d=a.name,e=[];"Rparen"!==this.lookahead(0);)"Current"===this.lookahead(0)?(b={type:"Current"},this.advance()):b=this.expression(0),"Comma"===this.lookahead(0)&&this.match("Comma"),e.push(b);return this.match("Rparen"),c={type:"Function",name:d,children:e}},parseDotRHS:function(a){var b=this.lookahead(0),c=["UnquotedIdentifier","QuotedIdentifier","Star"];return c.indexOf(b)>=0?this.expression(a):"Lbracket"===b?(this.match("Lbracket"),this.parseMultiselectList()):"Lbrace"===b?(this.match("Lbrace"),this.parseMultiselectHash()):void 0},parseProjectionRHS:function(a){var b;if(this.bindingPower[this.lookahead(0)]<10)b={type:"Identity"};else if("Lbracket"===this.lookahead(0))b=this.expression(a);else if("Filter"===this.lookahead(0))b=this.expression(a);else{if("Dot"!==this.lookahead(0)){var c=this.lookaheadToken(0),d=new Error("Sytanx error, unexpected token: "+c.value+"("+c.type+")");throw d.name="ParserError",d}this.match("Dot"),b=this.parseDotRHS(a)}return b},parseMultiselectList:function(){for(var a=[];"Rbracket"!==this.lookahead(0);){var b=this.expression(0);if(a.push(b),"Comma"===this.lookahead(0)&&(this.match("Comma"),"Rbracket"===this.lookahead(0)))throw new Error("Unexpected token Rbracket")}return this.match("Rbracket"),{type:"MultiSelectList",children:a}},parseMultiselectHash:function(){for(var a,b,c,d,e=[],f=["UnquotedIdentifier","QuotedIdentifier"];;){if(a=this.lookaheadToken(0),f.indexOf(a.type)<0)throw new Error("Expecting an identifier token, got: "+a.type);if(b=a.value,this.advance(),this.match("Colon"),c=this.expression(0),d={type:"KeyValuePair",name:b,value:c},e.push(d),"Comma"===this.lookahead(0))this.match("Comma");else if("Rbrace"===this.lookahead(0)){this.match("Rbrace");break}}return{type:"MultiSelectHash",children:e}}},j.prototype={search:function(a,b){return this.visit(a,b)},visit:function(a,b){var c=this["visit"+a.type];if(void 0===c)throw new Error("Unknown node type: "+a.type);return c.call(this,a,b)},visitField:function(a,b){if(null===b)return null;if(c(b)){var d=b[a.name];return void 0===d?null:d}return null},visitSubexpression:function(a,b){for(var c=this.visit(a.children[0],b),d=1;dd&&(d=c.length+d);var e=c[d];return void 0===e&&(e=null),e},visitSlice:function(a,c){if(!b(c))return null;var d,e=a.children.slice(0),f=this.computeSliceParams(c.length,e),g=f[0],h=f[1],i=f[2],j=[];if(i>0)for(d=g;h>d;d+=i)j.push(c[d]);else for(d=g;d>h;d+=i)j.push(c[d]);return j},computeSliceParams:function(a,b){var c=b[0],d=b[1],e=b[2],f=[null,null,null];if(null===e)e=1;else if(0===e){var g=new Error("Invalid slice, step cannot be 0");throw g.name="RuntimeError",g}var h=0>e?!0:!1;return c=null===c?h?a-1:0:this.capSliceRange(a,c,e),d=null===d?h?-1:a:this.capSliceRange(a,d,e),f[0]=c,f[1]=d,f[2]=e,f},capSliceRange:function(a,b,c){return 0>b?(b+=a,0>b&&(b=0>c?-1:0)):b>=a&&(b=0>c?a-1:a),b},visitProjection:function(a,c){var d=this.visit(a.children[0],c);if(!b(d))return null;for(var e=[],f=0;ff;break;case"GTE":c=e>=f;break;case"LT":c=f>e;break;case"LTE":c=f>=e;break;default:throw new Error("Unknown comparator: "+a.name)}return c},visitFlatten:function(a,c){var d=this.visit(a.children[0],c);if(!b(d))return null;for(var e=[],f=0;f=0;e--)d+=c[e];return d}var f=a[0].slice(0);return f.reverse(),f},functionAbs:function(a){return Math.abs(a[0])},functionCeil:function(a){return Math.ceil(a[0])},functionAvg:function(a){for(var b=0,c=a[0],d=0;d=0},functionFloor:function(a){return Math.floor(a[0])},functionLength:function(a){return c(a[0])?Object.keys(a[0]).length:a[0].length},functionMap:function(a){for(var b=[],c=this.interpreter,d=a[0],e=a[1],f=0;f0){var b=this.getTypeName(a[0][0]);if("number"===b)return Math.max.apply(Math,a[0]);for(var c=a[0],d=c[0],e=1;e0){var b=this.getTypeName(a[0][0]);if("number"===b)return Math.min.apply(Math,a[0]);for(var c=a[0],d=c[0],e=1;eh?1:h>g?-1:a[0]-b[0]});for(var i=0;ig&&(g=c,b=e[h]);return b},functionMinBy:function(a){for(var b,c,d=a[1],e=a[0],f=this.createKeyFunction(d,["number","string"]),g=1/0,h=0;hc&&(g=c,b=e[h]);return b},createKeyFunction:function(a,b){var c=this,d=this.interpreter,e=function(e){var f=d.visit(a,e);if(b.indexOf(c.getTypeName(f))<0){var g="TypeError: expected one of "+b+", received "+c.getTypeName(f);throw new Error(g)}return f};return e}},a.tokenize=m,a.compile=l,a.search=n,a.Parser=i,a.strictDeepEqual=d}("undefined"==typeof exports?this.jmespath={}:exports); \ No newline at end of file +/*! jmespath 2016-03-22 */ +!function(a){"use strict";function b(a){return null!==a?"[object Array]"===Object.prototype.toString.call(a):!1}function c(a){return null!==a?"[object Object]"===Object.prototype.toString.call(a):!1}function d(a,e){if(a===e)return!0;var f=Object.prototype.toString.call(a);if(f!==Object.prototype.toString.call(e))return!1;if(b(a)===!0){if(a.length!==e.length)return!1;for(var g=0;g="a"&&"z">=a||a>="A"&&"Z">=a||"_"===a}function h(a){return a>="0"&&"9">=a||"-"===a}function i(a){return a>="a"&&"z">=a||a>="A"&&"Z">=a||a>="0"&&"9">=a||"_"===a}function j(){}function k(){}function l(a){this.runtime=a}function m(a){this.a=a,this.functionTable={abs:{b:this.c,d:[{types:[r]}]},avg:{b:this.e,d:[{types:[z]}]},ceil:{b:this.f,d:[{types:[r]}]},contains:{b:this.g,d:[{types:[t,u]},{types:[s]}]},ends_with:{b:this.h,d:[{types:[t]},{types:[t]}]},floor:{b:this.i,d:[{types:[r]}]},length:{b:this.j,d:[{types:[t,u,v]}]},map:{b:this.k,d:[{types:[x]},{types:[u]}]},max:{b:this.l,d:[{types:[z,A]}]},merge:{b:this.m,d:[{types:[v],variadic:!0}]},max_by:{b:this.n,d:[{types:[u]},{types:[x]}]},sum:{b:this.o,d:[{types:[z]}]},starts_with:{b:this.p,d:[{types:[t]},{types:[t]}]},min:{b:this.q,d:[{types:[z,A]}]},min_by:{b:this.r,d:[{types:[u]},{types:[x]}]},type:{b:this.s,d:[{types:[s]}]},keys:{b:this.t,d:[{types:[v]}]},values:{b:this.u,d:[{types:[v]}]},sort:{b:this.v,d:[{types:[A,z]}]},sort_by:{b:this.w,d:[{types:[u]},{types:[x]}]},join:{b:this.x,d:[{types:[t]},{types:[A]}]},reverse:{b:this.y,d:[{types:[t,u]}]},to_array:{b:this.z,d:[{types:[s]}]},to_string:{b:this.A,d:[{types:[s]}]},to_number:{b:this.B,d:[{types:[s]}]},not_null:{b:this.C,d:[{types:[s],variadic:!0}]}}}function n(a){var b=new k,c=b.parse(a);return c}function o(a){var b=new j;return b.tokenize(a)}function p(a,b){var c=new k,d=new m,e=new l(d);d.a=e;var f=c.parse(b);return e.search(f,a)}var q;q="function"==typeof String.prototype.trimLeft?function(a){return a.trimLeft()}:function(a){return a.match(/^\s*(.*)/)[1]};var r=0,s=1,t=2,u=3,v=4,w=5,x=6,y=7,z=8,A=9,B="EOF",C="UnquotedIdentifier",D="QuotedIdentifier",E="Rbracket",F="Rparen",G="Comma",H="Colon",I="Rbrace",J="Number",K="Current",L="Expref",M="Pipe",N="Or",O="And",P="EQ",Q="GT",R="LT",S="GTE",T="LTE",U="NE",V="Flatten",W="Star",X="Filter",Y="Dot",Z="Not",$="Lbrace",_="Lbracket",aa="Lparen",ba="Literal",ca={".":Y,"*":W,",":G,":":H,"{":$,"}":I,"]":E,"(":aa,")":F,"@":K},da={"<":!0,">":!0,"=":!0,"!":!0},ea={" ":!0," ":!0,"\n":!0};j.prototype={tokenize:function(a){var b=[];this.D=0;for(var c,d,e;this.D"===c?"="===a[this.D]?(this.D++,{type:S,value:">=",start:b}):{type:Q,value:">",start:b}:"="===c&&"="===a[this.D]?(this.D++,{type:P,value:"==",start:b}):void 0},J:function(a){this.D++;for(var b,c=this.D,d=a.length;"`"!==a[this.D]&&this.D=0)return!0;if(c.indexOf(a)>=0)return!0;if(!(d.indexOf(a[0])>=0))return!1;try{return JSON.parse(a),!0}catch(e){return!1}}};var fa={};fa[B]=0,fa[C]=0,fa[D]=0,fa[E]=0,fa[F]=0,fa[G]=0,fa[I]=0,fa[J]=0,fa[K]=0,fa[L]=0,fa[M]=1,fa[N]=2,fa[O]=3,fa[P]=5,fa[Q]=5,fa[R]=5,fa[S]=5,fa[T]=5,fa[U]=5,fa[V]=9,fa[W]=20,fa[X]=21,fa[Y]=40,fa[Z]=45,fa[$]=50,fa[_]=55,fa[aa]=60,k.prototype={parse:function(a){this.M(a),this.index=0;var b=this.expression(0);if(this.N(0)!==B){var c=this.O(0),d=new Error("Unexpected token type: "+c.type+", value: "+c.value);throw d.name="ParserError",d}return b},M:function(a){var b=new j,c=b.tokenize(a);c.push({type:B,value:"",start:a.length}),this.tokens=c},expression:function(a){var b=this.O(0);this.P();for(var c=this.nud(b),d=this.N(0);ab;){if(c===H)b++,this.P();else{if(c!==J){var d=this.N(0),e=new Error("Syntax error, unexpected token: "+d.value+"("+d.type+")");throw e.name="Parsererror",e}a[b]=this.O(0).value,this.P()}c=this.N(0)}return this.V(E),{type:"Slice",children:a}},Y:function(a,b){var c=this.expression(fa[b]);return{type:"Comparator",name:b,children:[a,c]}},X:function(a){var b=this.N(0),c=[C,D,W];return c.indexOf(b)>=0?this.expression(a):b===_?(this.V(_),this.U()):b===$?(this.V($),this.R()):void 0},Q:function(a){var b;if(fa[this.N(0)]<10)b={type:"Identity"};else if(this.N(0)===_)b=this.expression(a);else if(this.N(0)===X)b=this.expression(a);else{if(this.N(0)!==Y){var c=this.O(0),d=new Error("Sytanx error, unexpected token: "+c.value+"("+c.type+")");throw d.name="ParserError",d}this.V(Y),b=this.X(a)}return b},U:function(){for(var a=[];this.N(0)!==E;){var b=this.expression(0);if(a.push(b),this.N(0)===G&&(this.V(G),this.N(0)===E))throw new Error("Unexpected token Rbracket")}return this.V(E),{type:"MultiSelectList",children:a}},R:function(){for(var a,b,c,d,e=[],f=[C,D];;){if(a=this.O(0),f.indexOf(a.type)<0)throw new Error("Expecting an identifier token, got: "+a.type);if(b=a.value,this.P(),this.V(H),c=this.expression(0),d={type:"KeyValuePair",name:b,value:c},e.push(d),this.N(0)===G)this.V(G);else if(this.N(0)===I){this.V(I);break}}return{type:"MultiSelectHash",children:e}}},l.prototype={search:function(a,b){return this.visit(a,b)},visit:function(a,g){var h,i,j,k,l,m,n,o,p,q;switch(a.type){case"Field":return null===g?null:c(g)?(m=g[a.name],void 0===m?null:m):null;case"Subexpression":for(j=this.visit(a.children[0],g),q=1;qr&&(r=g.length+r),j=g[r],void 0===j&&(j=null),j;case"Slice":if(!b(g))return null;var s=a.children.slice(0),t=this.computeSliceParams(g.length,s),u=t[0],v=t[1],w=t[2];if(j=[],w>0)for(q=u;v>q;q+=w)j.push(g[q]);else for(q=u;q>v;q+=w)j.push(g[q]);return j;case"Projection":var x=this.visit(a.children[0],g);if(!b(x))return null;for(p=[],q=0;ql;break;case S:j=k>=l;break;case R:j=l>k;break;case T:j=l>=k;break;default:throw new Error("Unknown comparator: "+a.name)}return j;case V:var C=this.visit(a.children[0],g);if(!b(C))return null;var D=[];for(q=0;qe?!0:!1;return c=null===c?h?a-1:0:this.capSliceRange(a,c,e),d=null===d?h?-1:a:this.capSliceRange(a,d,e),f[0]=c,f[1]=d,f[2]=e,f},capSliceRange:function(a,b,c){return 0>b?(b+=a,0>b&&(b=0>c?-1:0)):b>=a&&(b=0>c?a-1:a),b}},m.prototype={callFunction:function(a,b){var c=this.functionTable[a];if(void 0===c)throw new Error("Unknown function: "+a+"()");return this.$(a,b,c.d),c.b.call(this,b)},$:function(a,b,c){var d;if(c[c.length-1].variadic){if(b.length=0;e--)d+=c[e];return d}var f=a[0].slice(0);return f.reverse(),f},c:function(a){return Math.abs(a[0])},f:function(a){return Math.ceil(a[0])},e:function(a){for(var b=0,c=a[0],d=0;d=0},i:function(a){return Math.floor(a[0])},j:function(a){return c(a[0])?Object.keys(a[0]).length:a[0].length},k:function(a){for(var b=[],c=this.a,d=a[0],e=a[1],f=0;f0){var b=this._(a[0][0]);if(b===r)return Math.max.apply(Math,a[0]);for(var c=a[0],d=c[0],e=1;e0){var b=this._(a[0][0]);if(b===r)return Math.min.apply(Math,a[0]);for(var c=a[0],d=c[0],e=1;eh?1:h>g?-1:a[0]-b[0]});for(var i=0;ig&&(g=c,b=e[h]);return b},r:function(a){for(var b,c,d=a[1],e=a[0],f=this.createKeyFunction(d,[r,t]),g=1/0,h=0;hc&&(g=c,b=e[h]);return b},createKeyFunction:function(a,b){var c=this,d=this.a,e=function(e){var f=d.visit(a,e);if(b.indexOf(c._(f))<0){var g="TypeError: expected one of "+b+", received "+c._(f);throw new Error(g)}return f};return e}},a.tokenize=o,a.compile=n,a.search=p,a.strictDeepEqual=d}("undefined"==typeof exports?this.jmespath={}:exports); \ No newline at end of file