diff --git a/packages/http-client/README.md b/packages/http-client/README.md index 913f8e9665c7869ea49b2f8557e6ea9c6da17e98..a942114f0ed556f81575378411846e76eca5b960 100755 --- a/packages/http-client/README.md +++ b/packages/http-client/README.md @@ -177,9 +177,11 @@ Please note at the moment, we use the new `$suspend` feature from `nb-event-serv When you call the method, it's not immediately execute the underlying HTTP call. Instead, it's holding in the `ee` object. And once the contract is received from the server, then it release all the previous executed calls. -There is a chance of bug, which is when you call an non-existed method on the server. And when the queue release, it will never +~~There is a chance of bug, which is when you call an non-existed method on the server. And when the queue release, it will never get call, but there won't be any error throw. Because `nb-event-service` treat it as a event without handler and put into the -lazy store to wait for the handler get register. We will fix this problem in the next release. +lazy store to wait for the handler get register. We will fix this problem in the next release.~~ + +The above problem is fixed in v1.3.1, if the resolver you are calling doesn't exist. Then you will see a error message from `console.error` ## Server side @@ -190,4 +192,4 @@ We have a node version client [jsonql-node-client](https://www.npmjs.com/package MIT (c) 2019 https://to1source.cn in collaboration with https://newbran.ch -Joel Chu +Joel Chu diff --git a/packages/http-client/dist/jsonql-client.umd.js b/packages/http-client/dist/jsonql-client.umd.js index d1f85847d090c04cdec6f488e934f548e1476f05..767f5871f8f8482ab8f40add9ad313355033bd3e 100644 --- a/packages/http-client/dist/jsonql-client.umd.js +++ b/packages/http-client/dist/jsonql-client.umd.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClient=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n=e(function(t,e){var r;r=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=2)}([function(t,e,r){var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports={type:function(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()},isObject:function(t,e){return e?"object"===this.type(t):t&&"object"===(void 0===t?"undefined":n(t))},isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},trim:function(t){return t.replace(/(^\s*)|(\s*$)/g,"")},encode:function(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")},formatParams:function(t){var e="",r=!0,n=this;if(!this.isObject(t))return t;return function t(o,i){var a=n.encode,u=n.type(o);if("array"==u)o.forEach(function(e,r){n.isObject(e)||(r=""),t(e,i+"%5B"+r+"%5D")});else if("object"==u)for(var c in o)t(o[c],i?i+"%5B"+a(c)+"%5D":a(c));else r||(e+="&"),r=!1,e+=i+"="+a(o)}(t,""),e},merge:function(t,e){for(var r in e)t.hasOwnProperty(r)?this.isObject(e[r],1)&&this.isObject(t[r],1)&&this.merge(t[r],e[r]):t[r]=e[r];return t}}},,function(t,e,r){var n=function(){function t(t,e){for(var r=0;r0&&(t+=(-1===t.indexOf("?")?"?":"&")+w.join("&")),a.open(r.method,t);try{a.withCredentials=!!r.withCredentials,a.timeout=r.timeout||0,"stream"!==y&&(a.responseType=y)}catch(t){}var j=r.headers[u]||r.headers[c],O="application/x-www-form-urlencoded";for(var S in o.trim((j||"").toLowerCase())===O?e=o.formatParams(e):o.isFormData(e)||-1===["object","array"].indexOf(o.type(e))||(O="application/json;charset=utf-8",e=JSON.stringify(e)),j||b||(r.headers[u]=O),r.headers)if(S===u&&o.isFormData(e))delete r.headers[S];else try{a.setRequestHeader(S,r.headers[S])}catch(t){}function k(t,e,n){v(l.p,function(){if(t){n&&(e.request=r);var o=t.call(l,e,Promise);e=void 0===o?e:o}d(e)||(e=Promise[0===n?"resolve":"reject"](e)),e.then(function(t){s(t)}).catch(function(t){h(t)})})}function E(t){t.engine=a,k(l.onerror,t,-1)}function A(t,e){this.message=t,this.status=e}a.onload=function(){try{var t=a.response||a.responseText;t&&r.parseJson&&-1!==(a.getResponseHeader(u)||"").indexOf("json")&&!o.isObject(t)&&(t=JSON.parse(t));var e=a.responseHeaders;if(!e){e={};var n=(a.getAllResponseHeaders()||"").split("\r\n");n.pop(),n.forEach(function(t){if(t){var r=t.split(":")[0];e[r]=a.getResponseHeader(r)}})}var i=a.status,c=a.statusText,s={data:t,headers:e,status:i,statusText:c};if(o.merge(s,a._response),i>=200&&i<300||304===i)s.engine=a,s.request=r,k(l.handler,s,0);else{var f=new A(c,i);f.response=s,E(f)}}catch(f){E(new A(f.msg,a.status))}},a.onerror=function(t){E(new A(t.msg||"Network Error",0))},a.ontimeout=function(){E(new A("timeout [ "+a.timeout+"ms ]",1))},a._options=r,setTimeout(function(){a.send(b?null:e)},0)}(n):s(n)},function(t){h(t)})})});return h.engine=a,h}},{key:"all",value:function(t){return Promise.all(t)}},{key:"spread",value:function(t){return function(e){return t.apply(null,e)}}}]),t}();a.default=a,["get","post","put","patch","head","delete"].forEach(function(t){a.prototype[t]=function(e,r,n){return this.request(e,r,o.merge({method:t},n))}}),["lock","unlock","clear"].forEach(function(t){a.prototype[t]=function(){this.interceptors.request[t]()}}),t.exports=a}])},t.exports=r()}),o=(r=n)&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,i=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,i=1;i=0;e--){var r=A().key(e);t(x(r),r)}},remove:function(t){return A().removeItem(t)},clearAll:function(){return A().clear()}};function A(){return k.localStorage}function x(t){return A().getItem(t)}var T=s.trim,P={name:"cookieStorage",read:function(t){if(!t||!z(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(C.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;C.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:q,remove:N,clearAll:function(){q(function(t,e){N(e)})}},C=s.Global.document;function q(t){for(var e=C.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(T(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function N(t){t&&z(t)&&(C.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function z(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(C.cookie)}var $=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var F="expire_mixin",I=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+F);return{set:function(e,r,n,o){this.hasNamespace(F)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(F)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(F)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=a%256}return r},decompressFromUint8Array:function(e){if(null==e)return i.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),a[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:i._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,i,a,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(a=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 2:return""}for(l[3]=f,i=f,g.push(f);;){if(y.index>e)return"";for(a=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(f=a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=i+i.charAt(0)}g.push(v),l[h++]=i+v.charAt(0),i=v,0==--p&&(p=Math.pow(2,d),d++)}}};return i}();null!=t&&(t.exports=e)});var B=[E,P],K=[$,I,D,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=L.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=L.compress(this._serialize(r));t(e,n)}}}],W=j.createStore(B,K),G=s.Global;function V(){return G.sessionStorage}function Y(t){return V().getItem(t)}var X=[{name:"sessionStorage",read:Y,write:function(t,e){return V().setItem(t,e)},each:function(t){for(var e=V().length-1;e>=0;e--){var r=V().key(e);t(Y(r),r)}},remove:function(t){return V().removeItem(t)},clearAll:function(){return V().clear()}},P],Q=[$,I],Z=j.createStore(X,Q),tt=W,et=Z,rt="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},nt="object"==typeof rt&&rt&&rt.Object===Object&&rt,ot="object"==typeof self&&self&&self.Object===Object&&self,it=nt||ot||Function("return this")(),at=it.Symbol,ut=Object.prototype,ct=ut.hasOwnProperty,st=ut.toString,ft=at?at.toStringTag:void 0;var lt=Object.prototype.toString;var pt="[object Null]",ht="[object Undefined]",dt=at?at.toStringTag:void 0;function vt(t){return null==t?void 0===t?ht:pt:dt&&dt in Object(t)?function(t){var e=ct.call(t,ft),r=t[ft];try{t[ft]=void 0;var n=!0}catch(t){}var o=st.call(t);return n&&(e?t[ft]=r:delete t[ft]),o}(t):function(t){return lt.call(t)}(t)}function gt(t){return null!=t&&"object"==typeof t}var yt="[object Symbol]";function bt(t){return"symbol"==typeof t||gt(t)&&vt(t)==yt}function mt(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Zt>=Vt)return arguments[0]}else Zt=0;return Qt.apply(void 0,arguments)});function ne(t){return t!=t}function oe(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=de}function ge(t){return null!=t&&ve(t.length)&&!Ct(t)}var ye=Object.prototype;function be(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||ye)}var me="[object Arguments]";function _e(t){return gt(t)&&vt(t)==me}var we=Object.prototype,je=we.hasOwnProperty,Oe=we.propertyIsEnumerable,Se=_e(function(){return arguments}())?_e:function(t){return gt(t)&&je.call(t,"callee")&&!Oe.call(t,"callee")};var ke="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ee=ke&&"object"==typeof module&&module&&!module.nodeType&&module,Ae=Ee&&Ee.exports===ke?it.Buffer:void 0,xe=(Ae?Ae.isBuffer:void 0)||function(){return!1},Te={};Te["[object Float32Array]"]=Te["[object Float64Array]"]=Te["[object Int8Array]"]=Te["[object Int16Array]"]=Te["[object Int32Array]"]=Te["[object Uint8Array]"]=Te["[object Uint8ClampedArray]"]=Te["[object Uint16Array]"]=Te["[object Uint32Array]"]=!0,Te["[object Arguments]"]=Te["[object Array]"]=Te["[object ArrayBuffer]"]=Te["[object Boolean]"]=Te["[object DataView]"]=Te["[object Date]"]=Te["[object Error]"]=Te["[object Function]"]=Te["[object Map]"]=Te["[object Number]"]=Te["[object Object]"]=Te["[object RegExp]"]=Te["[object Set]"]=Te["[object String]"]=Te["[object WeakMap]"]=!1;var Pe="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ce=Pe&&"object"==typeof module&&module&&!module.nodeType&&module,qe=Ce&&Ce.exports===Pe&&nt.process,Ne=function(){try{var t=Ce&&Ce.require&&Ce.require("util").types;return t||qe&&qe.binding&&qe.binding("util")}catch(t){}}(),ze=Ne&&Ne.isTypedArray,$e=ze?function(t){return function(e){return t(e)}}(ze):function(t){return gt(t)&&ve(t.length)&&!!Te[vt(t)]},Fe=Object.prototype.hasOwnProperty;function Ie(t,e){var r=_t(t),n=!r&&Se(t),o=!r&&!n&&xe(t),i=!r&&!n&&!o&&$e(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r-1},rr.prototype.set=function(t,e){var r=this.__data__,n=tr(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var nr=Lt(it,"Map");function or(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ir(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++nu))return!1;var s=i.get(t);if(s&&i.get(e))return s==e;var f=-1,l=!0,p=r&vn?new pn:void 0;for(i.set(t,e),i.set(e,t);++f1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=yo.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!kt(r))return!1;var n=typeof e;return!!("number"==n?ge(r)&&ue(e,r.length):"string"==n&&e in r)&&se(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&oe(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function ko(t){return!!_t(t)||null!=t&&""!==So(t)}var Eo=function(t){return!fo(t)&&!ho(parseFloat(t))},Ao=function(t){return""!==So(t)&&fo(t)},xo=function(t){return function(t){return!0===t||!1===t||gt(t)&&vt(t)==lo}(t)},To=function(t,e){return void 0===e&&(e=!0),!vo(t)&&""!==t&&""!==So(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},Po="application/vnd.api+json",Co={Accept:Po,"Content-Type":[Po,"charset=utf-8"].join(";")},qo="payload",No="condition",zo="args",$o=["POST","PUT"],Fo="continue",Io="type",Ro="optional",Jo="enumv",Mo="args",Uo="checker",Do="alias",Ho="login",Lo="logout",Bo={desc:"y"},Ko="No message",Wo=Io,Go=Ro,Vo=Jo,Yo=Mo,Xo=Uo,Qo=Do,Zo=Fo,ti=function(t){switch(t){case"number":return Eo;case"string":return Ao;case"boolean":return xo;default:return To}},ei=function(t,e){return void 0===e&&(e=""),!!_t(t)&&(""===e||""===So(e)||!(t.filter(function(t){return!ti(e)(t)}).length>0))},ri=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},ni=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!ti(e)(t)}).length)}).length:e.length>e.filter(function(t){return!ei(r,t)}).length},oi=function(t,e){if(void 0===e&&(e=null),kr(t)){if(!e)return!0;if(ei(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!vo(r)||(!1!==(e=ri(t))?!ni({arg:r},e):!ti(t)(r))}).length)}).length}return!1},ii=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),ai=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),ui=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),ci=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),si=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),fi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),li=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),pi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),hi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),di=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),vi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),gi=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),yi=Object.freeze({Jsonql406Error:ii,Jsonql500Error:ai,JsonqlAuthorisationError:ui,JsonqlContractAuthError:ci,JsonqlResolverAppError:si,JsonqlResolverNotFoundError:fi,JsonqlEnumError:li,JsonqlTypeError:pi,JsonqlCheckerError:hi,JsonqlValidationError:di,JsonqlError:vi,JsonqlServerError:gi}),bi=vi,mi=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function _i(t){if(mi(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,i=e.message||Ko,a=e.detail||e;if(o&&yi[o])throw new yi[r](i,a);throw new bi(i,a)}return t}function wi(t){if(Array.isArray(t))throw new di("",t);var e=t.message||Ko,r=t.detail||t;switch(!0){case t instanceof ii:throw new ii(e,r);case t instanceof ai:throw new ai(e,r);case t instanceof ui:throw new ui(e,r);case t instanceof ci:throw new ci(e,r);case t instanceof si:throw new si(e,r);case t instanceof fi:throw new fi(e,r);case t instanceof li:throw new li(e,r);case t instanceof pi:throw new pi(e,r);case t instanceof hi:throw new hi(e,r);case t instanceof di:throw new di(e,r);case t instanceof gi:throw new gi(e,r);default:throw new vi(e,r)}}var ji=function(t,e){var r,n,o,i,a;switch(!0){case"object"===t:return o=(n=e).arg,i=n.param,a=[o],Array.isArray(i.keys)&&i.keys.length&&a.push(i.keys),!oi.apply(null,a);case"array"===t:return!ei(e.arg);case!1!==(r=ri(t)):return!ni(e,r);default:return!ti(t)(e.arg)}},Oi=function(t,e){return vo(t)?!0!==e.optional||vo(e.defaultvalue)?null:e.defaultvalue:t},Si=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!ei(e))throw new vi("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!ei(t))throw new vi("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=ri(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new vi("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),i=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!ko(e)||r.type.length>r.type.filter(function(e){return ji(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ji(e,t)}).length)});return r?((n={}).error=i,n.data=o.map(function(t){return t.arg}),n):i},ki=function(t,e){return!!t.filter(function(t){return t===e}).length},Ei=function(t,e){var r=Object.keys(t);return ki(r,e)},Ai=function(t){return!ko(t)};function xi(t,e){var r=jo(e,function(t,e){return!t[Qo]});return Dn(r,{})?t:function(t,e){var r={};return e=to(e),no(t,function(t,n,o){ce(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,to(function(t){return t.alias===e}),no)||e})}function Ti(t,e){return go(e,function(e,r){var n,o;return vo(t[r])||!0===e[Go]&&Ai(t[r])?bo({},e,((n={})[Zo]=!0,n)):((o={})[Yo]=t[r],o[Wo]=e[Wo],o[Go]=e[Go]||!1,o[Vo]=e[Vo]||!1,o[Xo]=e[Xo]||!1,o)})}function Pi(t,e){var r=function(t,e){var r=xi(t,e);return{pristineValues:go(jo(e,function(t,e){return Ei(r,e)}),function(t){return t.args}),checkAgainstAppProps:jo(e,function(t,e){return!Ei(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[Ti(n,r.checkAgainstAppProps),o]}var Ci=function(t){return ei(t)?t:[t]};var qi=function(t,e){return!ei(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Ni=function(t,e){try{return!!Ct(e)&&e.apply(null,[t])}catch(t){return!1}};function zi(t){return function(e,r){if(e[Zo])return e[Yo];var n=function(t,e){var r,n=[[t[Yo]],[(r={},r[Wo]=Ci(t[Wo]),r[Go]=t[Go],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new pi(r,n);if(!1!==e[Vo]&&!qi(e[Yo],e[Vo]))throw new li(r);if(!1!==e[Xo]&&!Ni(e[Yo],e[Xo]))throw new hi(r);return e[Yo]}}function $i(t,e){var r=t[0],n=t[1],o=go(r,zi(e));return bo(o,n)}var Fi=function(t,e){return Promise.resolve(Pi(t,e))};var Ii=oi,Ri=Ao,Ji=ei,Mi=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var i=Si(t,e,r);return r?i.error.length?o(i.error):n(i.data):i.length?o(i):n([])})},Ui=function(t,e,r){void 0===r&&(r={});var n=r[Ro],o=r[Jo],i=r[Uo],a=r[Do];return function(t,e,r,n,o,i){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===i&&(i=!1);var a={};return a[Mo]=t,a[Io]=e,!0===r&&(a[Ro]=!0),ei(n)&&(a[Jo]=n),Ct(o)&&(a[Uo]=o),fo(i)&&(a[Do]=i),a}.apply(null,[t,e,n,o,i,a])},Di=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),Fi(t,e).then(function(t){return $i(t,n)}).then(function(t){return bo({},t,r)})}(e,r,n,t)}}(Si),Hi=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),bo($i(Pi(t,e),n),r)}(e,r,n,t)}}(Si),Li=ki,Bi=Ei,Ki=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),Ao(t)&&ei(e)){var o={};return o[zo]=e,!0===r?o:((n={})[t]=o,n)}throw new di("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Wi=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var i={};if(i[qo]=e,i[No]=r,!0===n)return i;if(Ao(t))return(o={})[t]=i,o;throw new di("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Gi=function(t){return Object.keys(t)[0]},Vi=function(){return Math.floor(Date.now()/1e3)},Yi=function(t,e){return void 0===e&&(e={}),Qi(e)?Promise.resolve(e):t.getContract()},Xi=function(t){return Bi(t,"data")&&!Bi(t,"error")?t.data:t},Qi=function(t){return t&&Ii(t)&&(Bi(t,"query")||Bi(t,"mutation"))},Zi="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ta(t){this.message=t}ta.prototype=new Error,ta.prototype.name="InvalidCharacterError";var ea="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ta("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,i=0,a="";n=e.charAt(i++);~n&&(r=o%4?64*r+n:n,o++%4)?a+=String.fromCharCode(255&r>>(-2*o&6)):0)n=Zi.indexOf(n);return a};var ra=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(ea(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return ea(e)}};function na(t){this.message=t}na.prototype=new Error,na.prototype.name="InvalidTokenError";var oa,ia,aa,ua,ca,sa,fa,la,pa,ha=function(t,e){if("string"!=typeof t)throw new na("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ra(t.split(".")[r]))}catch(t){throw new na("Invalid token specified: "+t.message)}},da=na;function va(t){if(Ri(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new vi("Token has expired on "+r,t)}return t}(ha(t));throw new vi("Token must be a string!")}ha.InvalidTokenError=da;Ui("HS256",["string"]),Ui(!1,["boolean","number","string"],((oa={})[Do]="exp",oa[Ro]=!0,oa)),Ui(!1,["boolean","number","string"],((ia={})[Do]="nbf",ia[Ro]=!0,ia)),Ui(!1,["boolean","string"],((aa={})[Do]="iss",aa[Ro]=!0,aa)),Ui(!1,["boolean","string"],((ua={})[Do]="sub",ua[Ro]=!0,ua)),Ui(!1,["boolean","string"],((ca={})[Do]="iss",ca[Ro]=!0,ca)),Ui(!1,["boolean"],((sa={})[Ro]=!0,sa)),Ui(!1,["boolean","string"],((fa={})[Ro]=!0,fa)),Ui(!1,["boolean","string"],((la={})[Ro]=!0,la)),Ui(!1,["boolean"],((pa={})[Ro]=!0,pa));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new di("WebSocket is NOT SUPPORTED!")}}();var ga=$o[0],ya=$o[1],ba=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},ma={headers:{configurable:!0}};ma.headers.set=function(t){this.extraHeader=t},ba.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=bo({},{_cb:Vi()},this.extraParams);if(this.opts.enableJsonp){var i=Gi(t);o=bo({},o,((n={}).jsonqlJsonpCallback=i,n)),t=t[i]}return this.fly.request(this.jsonqlEndpoint,t,bo({},{method:ga,params:o},e))},ba.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},ba.prototype.processJsonp=function(t){return Xi(t)},ba.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Ri(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Xi(o)},function(t){throw e.cleanUp(),console.error(t),new gi("Server side error",t)})},ba.prototype.getHeaders=function(){return this.opts.enableAuth?bo({},Co,this.getAuthHeader(),this.extraHeader):bo({},Co,this.extraHeader)},ba.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},ba.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=bo({},this.extraParams,Bo)),this.request({},{method:"GET"},this.contractHeader).then(_i).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},ba.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Ki(t,e)).then(_i)},ba.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Wi(t,e,r),{method:ya}).then(_i)},Object.defineProperties(ba.prototype,ma);var _a=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Ji(t)&&t.length>=2&&Reflect.apply(tt.set,tt,t),new di("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=tt.get("endpoint")||[];Li(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],i=tt.get(e)||[];i[this.endpointIndex||0]=n,r.push(i),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Li(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var i=parseFloat(this.opts.tokenExpired);if(!isNaN(i)&&i>0){var a=Vi();o.push(a+parseFloat(i))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(tt.set,tt,e)},r.jsonqlEndpoint.get=function(){var t=tt.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(tt.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return et.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=va)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Qi(t))throw new di("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Qi(this.opts.contract)?this.opts.contract:tt.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(ba))),wa=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.auth[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Mi(r,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(wi)}};var ja=function(t,e,r,n){var o=function(t,e,r,n){var o={query:{},mutation:{}},i=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.query[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Mi(a,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(wi)}};for(var a in n.query)i(a);var u=function(e){o.mutation[e]=function(r,o,i){void 0===i&&(i={});var a=[r,o],u=n.mutation[e].params;return Mi(a,u).then(function(){return t.mutation.apply(t,[e,r,o,i])}).catch(wi)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=wa(t,s,r,n);return a.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Ho,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=wa(t,f,r,n);return a.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Lo,t),t})}:o[f]=function(){t.postLogoutAction(Fo),e.$trigger(Lo,Fo)}}return o}(t,n,e,r);return e.enableAuth&&(o.userdata=function(){return t.userdata}),o.getToken=function(){return t.rawAuthToken},e.exposeContract&&(o.getContract=function(){return t.get()}),o.eventEmitter=n,o.version="1.3.0",o},Oa={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:Po,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Sa={hostname:Ui([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ui("jsonql",["string"]),loginHandlerName:Ui(Ho,["string"]),logoutHandlerName:Ui(Lo,["string"]),enableJsonp:Ui(!1,["boolean"]),enableAuth:Ui(!1,["boolean"]),useJwt:Ui(!0,["boolean"]),useLocalstorage:Ui(!0,["boolean"]),storageKey:Ui("storageKey",["string"]),authKey:Ui("authKey",["string"]),contractExpired:Ui(0,["number"]),keepContract:Ui(!0,["boolean"]),exposeContract:Ui(!1,["boolean"]),showContractDesc:Ui(!1,["boolean"]),contractKey:Ui(!1,["boolean"]),contractKeyName:Ui("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ui(!1,["boolean"]),timeout:Ui(5e3,["number"]),returnInstance:Ui(!1,["boolean"]),allowReturnRawToken:Ui(!1,["boolean"]),debugOn:Ui(!1,["boolean"])};function ka(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=null),function(t){var e=t.contract;return Di(t,Sa,Oa).then(function(t){return t.contract=e,t})}(e).then(function(t){return{baseClient:new _a(t,r),opts:t}}).then(function(e){var r=e.baseClient,n=e.opts;return Yi(r,n.contract).then(function(e){return ja(r,n,e,t)})})}var Ea=new WeakMap,Aa=new WeakMap;var xa=function(){};xa.prototype.watch||Object.defineProperty(xa.prototype,"watch",{enumerable:!1,configurable:!0,writable:!1,value:function(t,e){var r=this[t],n=r;delete this[t]&&Object.defineProperty(this,t,{get:function(){return n},set:function(o){return r=n,n=e.call(this,o,t,r)},enumerable:!0,configurable:!0})}});var Ta=function(t){function e(e){void 0===e&&(e={}),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={$done:{configurable:!0}};return e.prototype.logger=function(){},e.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var i=0;return o.forEach(function(o){var a=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,a,r||u),i+=n.addToNormalStore(t,"on",e,r||u)}),i},e.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],i=o[0],a=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,i,r||a),this.$off(t)},e.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,i=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==i)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(i).forEach(function(t){var o=t[0],i=t[1],a=t[2];if(a&&"only"!==a)throw new Error("You are trying to register an event already been taken by other type: "+a);n.run(e,o,r||i)}));return o},e.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var i=Array.from(o)[0],a=i[0],u=i[1],c=i[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,a,r||u),this.$off(t)}return n},e.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},e.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,i=this.normalStore;if(this.logger("$trigger",i),i.has(t)){var a=this.$queue(t,e,r,n);if(this.logger("$trigger",t,"found; add to queue: ",a),!0===a)return!1;for(var u=Array.from(i.get(t)),c=u.length,s=!1,f=0;f0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var i=n[2];this.checkTypeInLazyStore(e,i)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},e.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},e.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},e.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},e.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),i=[this.normalStore,t,o,r,n,e],a=Reflect.apply(this.addToStore,this,i),u=a[0],c=a[1];return this.normalStore=u,c}return!1},e.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var i=Reflect.apply(this.addToStore,this,o),a=i[0],u=i[1];return this.lazyStore=a,u},e.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},r.normalStore.set=function(t){Ea.set(this,t)},r.normalStore.get=function(){return Ea.get(this)},r.lazyStore.set=function(t){Aa.set(this,t)},r.lazyStore.get=function(){return Aa.get(this)},e.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(e.prototype,r),e}(function(t){function e(){t.call(this),this.suspend=null,this.queueStore=new Set,this.watch("suspend",function(t,e,r){var n=this;return this.logger(e+" set from "+r+" to "+t),!0===r&&!1===t&&setTimeout(function(){n.release()},1),t})}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={$suspend:{configurable:!0}};return r.$suspend.set=function(t){if("boolean"!=typeof t)throw new Error("$suspend only accept Boolean value!");this.suspend=t},e.prototype.$queue=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return!0===this.suspend&&this.queueStore.add(t),this.suspend},e.prototype.release=function(){var t=this,e=this.queueStore.size;if(this.logger("Release was called "+e),e>0){var r=Array.from(this.queueStore);this.queueStore.clear(),this.logger("queue",r),r.forEach(function(e){t.logger(e),Reflect.apply(t.$trigger,t,e)}),this.logger("Release size "+this.queueStore.size)}},Object.defineProperties(e.prototype,r),e}(xa)));function Pa(t,e,r){var n=e.contract,o=function(t){return Hi(t,Sa,Oa)}(e),i=new _a(o,r);return ja(i,o,n,t)}function Ca(t,e){var r,n,o=(r=t.debugOn,n=r?console.info:void 0,new Ta(n));return t.contract&&Qi(t.contract)?Pa(o,t,e):ka(o,t,e)}return function(t){return void 0===t&&(t={}),Ca(t,o)}}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClient=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n=e(function(t,e){var r;r=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=2)}([function(t,e,r){var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports={type:function(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()},isObject:function(t,e){return e?"object"===this.type(t):t&&"object"===(void 0===t?"undefined":n(t))},isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},trim:function(t){return t.replace(/(^\s*)|(\s*$)/g,"")},encode:function(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")},formatParams:function(t){var e="",r=!0,n=this;if(!this.isObject(t))return t;return function t(o,i){var a=n.encode,u=n.type(o);if("array"==u)o.forEach(function(e,r){n.isObject(e)||(r=""),t(e,i+"%5B"+r+"%5D")});else if("object"==u)for(var c in o)t(o[c],i?i+"%5B"+a(c)+"%5D":a(c));else r||(e+="&"),r=!1,e+=i+"="+a(o)}(t,""),e},merge:function(t,e){for(var r in e)t.hasOwnProperty(r)?this.isObject(e[r],1)&&this.isObject(t[r],1)&&this.merge(t[r],e[r]):t[r]=e[r];return t}}},,function(t,e,r){var n=function(){function t(t,e){for(var r=0;r0&&(t+=(-1===t.indexOf("?")?"?":"&")+w.join("&")),a.open(r.method,t);try{a.withCredentials=!!r.withCredentials,a.timeout=r.timeout||0,"stream"!==y&&(a.responseType=y)}catch(t){}var j=r.headers[u]||r.headers[c],S="application/x-www-form-urlencoded";for(var O in o.trim((j||"").toLowerCase())===S?e=o.formatParams(e):o.isFormData(e)||-1===["object","array"].indexOf(o.type(e))||(S="application/json;charset=utf-8",e=JSON.stringify(e)),j||b||(r.headers[u]=S),r.headers)if(O===u&&o.isFormData(e))delete r.headers[O];else try{a.setRequestHeader(O,r.headers[O])}catch(t){}function k(t,e,n){v(l.p,function(){if(t){n&&(e.request=r);var o=t.call(l,e,Promise);e=void 0===o?e:o}d(e)||(e=Promise[0===n?"resolve":"reject"](e)),e.then(function(t){s(t)}).catch(function(t){h(t)})})}function E(t){t.engine=a,k(l.onerror,t,-1)}function A(t,e){this.message=t,this.status=e}a.onload=function(){try{var t=a.response||a.responseText;t&&r.parseJson&&-1!==(a.getResponseHeader(u)||"").indexOf("json")&&!o.isObject(t)&&(t=JSON.parse(t));var e=a.responseHeaders;if(!e){e={};var n=(a.getAllResponseHeaders()||"").split("\r\n");n.pop(),n.forEach(function(t){if(t){var r=t.split(":")[0];e[r]=a.getResponseHeader(r)}})}var i=a.status,c=a.statusText,s={data:t,headers:e,status:i,statusText:c};if(o.merge(s,a._response),i>=200&&i<300||304===i)s.engine=a,s.request=r,k(l.handler,s,0);else{var f=new A(c,i);f.response=s,E(f)}}catch(f){E(new A(f.msg,a.status))}},a.onerror=function(t){E(new A(t.msg||"Network Error",0))},a.ontimeout=function(){E(new A("timeout [ "+a.timeout+"ms ]",1))},a._options=r,setTimeout(function(){a.send(b?null:e)},0)}(n):s(n)},function(t){h(t)})})});return h.engine=a,h}},{key:"all",value:function(t){return Promise.all(t)}},{key:"spread",value:function(t){return function(e){return t.apply(null,e)}}}]),t}();a.default=a,["get","post","put","patch","head","delete"].forEach(function(t){a.prototype[t]=function(e,r,n){return this.request(e,r,o.merge({method:t},n))}}),["lock","unlock","clear"].forEach(function(t){a.prototype[t]=function(){this.interceptors.request[t]()}}),t.exports=a}])},t.exports=r()}),o=(r=n)&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,i=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,i=1;i=0;e--){var r=A().key(e);t(x(r),r)}},remove:function(t){return A().removeItem(t)},clearAll:function(){return A().clear()}};function A(){return k.localStorage}function x(t){return A().getItem(t)}var T=s.trim,P={name:"cookieStorage",read:function(t){if(!t||!$(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(q.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;q.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:C,remove:N,clearAll:function(){C(function(t,e){N(e)})}},q=s.Global.document;function C(t){for(var e=q.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(T(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function N(t){t&&$(t)&&(q.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function $(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(q.cookie)}var z=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var F="expire_mixin",I=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+F);return{set:function(e,r,n,o){this.hasNamespace(F)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(F)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(F)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=a%256}return r},decompressFromUint8Array:function(e){if(null==e)return i.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),a[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:i._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,i,a,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(a=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 2:return""}for(l[3]=f,i=f,g.push(f);;){if(y.index>e)return"";for(a=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(f=a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=i+i.charAt(0)}g.push(v),l[h++]=i+v.charAt(0),i=v,0==--p&&(p=Math.pow(2,d),d++)}}};return i}();null!=t&&(t.exports=e)});var B=[E,P],K=[z,I,D,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=L.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=L.compress(this._serialize(r));t(e,n)}}}],W=j.createStore(B,K),G=s.Global;function V(){return G.sessionStorage}function Y(t){return V().getItem(t)}var X=[{name:"sessionStorage",read:Y,write:function(t,e){return V().setItem(t,e)},each:function(t){for(var e=V().length-1;e>=0;e--){var r=V().key(e);t(Y(r),r)}},remove:function(t){return V().removeItem(t)},clearAll:function(){return V().clear()}},P],Q=[z,I],Z=j.createStore(X,Q),tt=W,et=Z,rt="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},nt="object"==typeof rt&&rt&&rt.Object===Object&&rt,ot="object"==typeof self&&self&&self.Object===Object&&self,it=nt||ot||Function("return this")(),at=it.Symbol,ut=Object.prototype,ct=ut.hasOwnProperty,st=ut.toString,ft=at?at.toStringTag:void 0;var lt=Object.prototype.toString;var pt="[object Null]",ht="[object Undefined]",dt=at?at.toStringTag:void 0;function vt(t){return null==t?void 0===t?ht:pt:dt&&dt in Object(t)?function(t){var e=ct.call(t,ft),r=t[ft];try{t[ft]=void 0;var n=!0}catch(t){}var o=st.call(t);return n&&(e?t[ft]=r:delete t[ft]),o}(t):function(t){return lt.call(t)}(t)}function gt(t){return null!=t&&"object"==typeof t}var yt="[object Symbol]";function bt(t){return"symbol"==typeof t||gt(t)&&vt(t)==yt}function mt(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Zt>=Vt)return arguments[0]}else Zt=0;return Qt.apply(void 0,arguments)});function ne(t){return t!=t}function oe(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=de}function ge(t){return null!=t&&ve(t.length)&&!qt(t)}var ye=Object.prototype;function be(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||ye)}var me="[object Arguments]";function _e(t){return gt(t)&&vt(t)==me}var we=Object.prototype,je=we.hasOwnProperty,Se=we.propertyIsEnumerable,Oe=_e(function(){return arguments}())?_e:function(t){return gt(t)&&je.call(t,"callee")&&!Se.call(t,"callee")};var ke="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ee=ke&&"object"==typeof module&&module&&!module.nodeType&&module,Ae=Ee&&Ee.exports===ke?it.Buffer:void 0,xe=(Ae?Ae.isBuffer:void 0)||function(){return!1},Te={};Te["[object Float32Array]"]=Te["[object Float64Array]"]=Te["[object Int8Array]"]=Te["[object Int16Array]"]=Te["[object Int32Array]"]=Te["[object Uint8Array]"]=Te["[object Uint8ClampedArray]"]=Te["[object Uint16Array]"]=Te["[object Uint32Array]"]=!0,Te["[object Arguments]"]=Te["[object Array]"]=Te["[object ArrayBuffer]"]=Te["[object Boolean]"]=Te["[object DataView]"]=Te["[object Date]"]=Te["[object Error]"]=Te["[object Function]"]=Te["[object Map]"]=Te["[object Number]"]=Te["[object Object]"]=Te["[object RegExp]"]=Te["[object Set]"]=Te["[object String]"]=Te["[object WeakMap]"]=!1;var Pe="object"==typeof exports&&exports&&!exports.nodeType&&exports,qe=Pe&&"object"==typeof module&&module&&!module.nodeType&&module,Ce=qe&&qe.exports===Pe&&nt.process,Ne=function(){try{var t=qe&&qe.require&&qe.require("util").types;return t||Ce&&Ce.binding&&Ce.binding("util")}catch(t){}}(),$e=Ne&&Ne.isTypedArray,ze=$e?function(t){return function(e){return t(e)}}($e):function(t){return gt(t)&&ve(t.length)&&!!Te[vt(t)]},Fe=Object.prototype.hasOwnProperty;function Ie(t,e){var r=_t(t),n=!r&&Oe(t),o=!r&&!n&&xe(t),i=!r&&!n&&!o&&ze(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r-1},rr.prototype.set=function(t,e){var r=this.__data__,n=tr(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var nr=Lt(it,"Map");function or(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ir(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++nu))return!1;var s=i.get(t);if(s&&i.get(e))return s==e;var f=-1,l=!0,p=r&vn?new pn:void 0;for(i.set(t,e),i.set(e,t);++f1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=yo.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!kt(r))return!1;var n=typeof e;return!!("number"==n?ge(r)&&ue(e,r.length):"string"==n&&e in r)&&se(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&oe(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function ko(t){return!!_t(t)||null!=t&&""!==Oo(t)}var Eo=function(t){return!fo(t)&&!ho(parseFloat(t))},Ao=function(t){return""!==Oo(t)&&fo(t)},xo=function(t){return function(t){return!0===t||!1===t||gt(t)&&vt(t)==lo}(t)},To=function(t,e){return void 0===e&&(e=!0),!vo(t)&&""!==t&&""!==Oo(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},Po="application/vnd.api+json",qo={Accept:Po,"Content-Type":[Po,"charset=utf-8"].join(";")},Co="payload",No="condition",$o="args",zo=["POST","PUT"],Fo="continue",Io="type",Ro="optional",Jo="enumv",Mo="args",Uo="checker",Do="alias",Ho="login",Lo="logout",Bo={desc:"y"},Ko="No message",Wo=Io,Go=Ro,Vo=Jo,Yo=Mo,Xo=Uo,Qo=Do,Zo=Fo,ti=function(t){switch(t){case"number":return Eo;case"string":return Ao;case"boolean":return xo;default:return To}},ei=function(t,e){return void 0===e&&(e=""),!!_t(t)&&(""===e||""===Oo(e)||!(t.filter(function(t){return!ti(e)(t)}).length>0))},ri=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},ni=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!ti(e)(t)}).length)}).length:e.length>e.filter(function(t){return!ei(r,t)}).length},oi=function(t,e){if(void 0===e&&(e=null),kr(t)){if(!e)return!0;if(ei(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!vo(r)||(!1!==(e=ri(t))?!ni({arg:r},e):!ti(t)(r))}).length)}).length}return!1},ii=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),ai=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),ui=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),ci=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),si=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),fi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),li=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),pi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),hi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),di=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),vi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),gi=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),yi=Object.freeze({Jsonql406Error:ii,Jsonql500Error:ai,JsonqlAuthorisationError:ui,JsonqlContractAuthError:ci,JsonqlResolverAppError:si,JsonqlResolverNotFoundError:fi,JsonqlEnumError:li,JsonqlTypeError:pi,JsonqlCheckerError:hi,JsonqlValidationError:di,JsonqlError:vi,JsonqlServerError:gi}),bi=vi,mi=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function _i(t){if(mi(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,i=e.message||Ko,a=e.detail||e;if(o&&yi[o])throw new yi[r](i,a);throw new bi(i,a)}return t}function wi(t){if(Array.isArray(t))throw new di("",t);var e=t.message||Ko,r=t.detail||t;switch(!0){case t instanceof ii:throw new ii(e,r);case t instanceof ai:throw new ai(e,r);case t instanceof ui:throw new ui(e,r);case t instanceof ci:throw new ci(e,r);case t instanceof si:throw new si(e,r);case t instanceof fi:throw new fi(e,r);case t instanceof li:throw new li(e,r);case t instanceof pi:throw new pi(e,r);case t instanceof hi:throw new hi(e,r);case t instanceof di:throw new di(e,r);case t instanceof gi:throw new gi(e,r);default:throw new vi(e,r)}}var ji=function(t,e){var r,n,o,i,a;switch(!0){case"object"===t:return o=(n=e).arg,i=n.param,a=[o],Array.isArray(i.keys)&&i.keys.length&&a.push(i.keys),!oi.apply(null,a);case"array"===t:return!ei(e.arg);case!1!==(r=ri(t)):return!ni(e,r);default:return!ti(t)(e.arg)}},Si=function(t,e){return vo(t)?!0!==e.optional||vo(e.defaultvalue)?null:e.defaultvalue:t},Oi=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!ei(e))throw new vi("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!ei(t))throw new vi("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=ri(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new vi("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),i=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!ko(e)||r.type.length>r.type.filter(function(e){return ji(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ji(e,t)}).length)});return r?((n={}).error=i,n.data=o.map(function(t){return t.arg}),n):i},ki=function(t,e){return!!t.filter(function(t){return t===e}).length},Ei=function(t,e){var r=Object.keys(t);return ki(r,e)},Ai=function(t){return!ko(t)};function xi(t,e){var r=jo(e,function(t,e){return!t[Qo]});return Dn(r,{})?t:function(t,e){var r={};return e=to(e),no(t,function(t,n,o){ce(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,to(function(t){return t.alias===e}),no)||e})}function Ti(t,e){return go(e,function(e,r){var n,o;return vo(t[r])||!0===e[Go]&&Ai(t[r])?bo({},e,((n={})[Zo]=!0,n)):((o={})[Yo]=t[r],o[Wo]=e[Wo],o[Go]=e[Go]||!1,o[Vo]=e[Vo]||!1,o[Xo]=e[Xo]||!1,o)})}function Pi(t,e){var r=function(t,e){var r=xi(t,e);return{pristineValues:go(jo(e,function(t,e){return Ei(r,e)}),function(t){return t.args}),checkAgainstAppProps:jo(e,function(t,e){return!Ei(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[Ti(n,r.checkAgainstAppProps),o]}var qi=function(t){return ei(t)?t:[t]};var Ci=function(t,e){return!ei(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Ni=function(t,e){try{return!!qt(e)&&e.apply(null,[t])}catch(t){return!1}};function $i(t){return function(e,r){if(e[Zo])return e[Yo];var n=function(t,e){var r,n=[[t[Yo]],[(r={},r[Wo]=qi(t[Wo]),r[Go]=t[Go],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new pi(r,n);if(!1!==e[Vo]&&!Ci(e[Yo],e[Vo]))throw new li(r);if(!1!==e[Xo]&&!Ni(e[Yo],e[Xo]))throw new hi(r);return e[Yo]}}function zi(t,e){var r=t[0],n=t[1],o=go(r,$i(e));return bo(o,n)}var Fi=function(t,e){return Promise.resolve(Pi(t,e))};var Ii=oi,Ri=Ao,Ji=ei,Mi=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var i=Oi(t,e,r);return r?i.error.length?o(i.error):n(i.data):i.length?o(i):n([])})},Ui=function(t,e,r){void 0===r&&(r={});var n=r[Ro],o=r[Jo],i=r[Uo],a=r[Do];return function(t,e,r,n,o,i){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===i&&(i=!1);var a={};return a[Mo]=t,a[Io]=e,!0===r&&(a[Ro]=!0),ei(n)&&(a[Jo]=n),qt(o)&&(a[Uo]=o),fo(i)&&(a[Do]=i),a}.apply(null,[t,e,n,o,i,a])},Di=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),Fi(t,e).then(function(t){return zi(t,n)}).then(function(t){return bo({},t,r)})}(e,r,n,t)}}(Oi),Hi=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),bo(zi(Pi(t,e),n),r)}(e,r,n,t)}}(Oi),Li=ki,Bi=Ei,Ki=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),Ao(t)&&ei(e)){var o={};return o[$o]=e,!0===r?o:((n={})[t]=o,n)}throw new di("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Wi=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var i={};if(i[Co]=e,i[No]=r,!0===n)return i;if(Ao(t))return(o={})[t]=i,o;throw new di("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Gi=function(t){return Object.keys(t)[0]},Vi=function(){return Math.floor(Date.now()/1e3)},Yi=function(t,e){return void 0===e&&(e={}),Qi(e)?Promise.resolve(e):t.getContract()},Xi=function(t){return Bi(t,"data")&&!Bi(t,"error")?t.data:t},Qi=function(t){return t&&Ii(t)&&(Bi(t,"query")||Bi(t,"mutation"))},Zi="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ta(t){this.message=t}ta.prototype=new Error,ta.prototype.name="InvalidCharacterError";var ea="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ta("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,i=0,a="";n=e.charAt(i++);~n&&(r=o%4?64*r+n:n,o++%4)?a+=String.fromCharCode(255&r>>(-2*o&6)):0)n=Zi.indexOf(n);return a};var ra=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(ea(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return ea(e)}};function na(t){this.message=t}na.prototype=new Error,na.prototype.name="InvalidTokenError";var oa,ia,aa,ua,ca,sa,fa,la,pa,ha=function(t,e){if("string"!=typeof t)throw new na("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ra(t.split(".")[r]))}catch(t){throw new na("Invalid token specified: "+t.message)}},da=na;function va(t){if(Ri(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new vi("Token has expired on "+r,t)}return t}(ha(t));throw new vi("Token must be a string!")}ha.InvalidTokenError=da;Ui("HS256",["string"]),Ui(!1,["boolean","number","string"],((oa={})[Do]="exp",oa[Ro]=!0,oa)),Ui(!1,["boolean","number","string"],((ia={})[Do]="nbf",ia[Ro]=!0,ia)),Ui(!1,["boolean","string"],((aa={})[Do]="iss",aa[Ro]=!0,aa)),Ui(!1,["boolean","string"],((ua={})[Do]="sub",ua[Ro]=!0,ua)),Ui(!1,["boolean","string"],((ca={})[Do]="iss",ca[Ro]=!0,ca)),Ui(!1,["boolean"],((sa={})[Ro]=!0,sa)),Ui(!1,["boolean","string"],((fa={})[Ro]=!0,fa)),Ui(!1,["boolean","string"],((la={})[Ro]=!0,la)),Ui(!1,["boolean"],((pa={})[Ro]=!0,pa));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new di("WebSocket is NOT SUPPORTED!")}}();var ga=zo[0],ya=zo[1],ba=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},ma={headers:{configurable:!0}};ma.headers.set=function(t){this.extraHeader=t},ba.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=bo({},{_cb:Vi()},this.extraParams);if(this.opts.enableJsonp){var i=Gi(t);o=bo({},o,((n={}).jsonqlJsonpCallback=i,n)),t=t[i]}return this.fly.request(this.jsonqlEndpoint,t,bo({},{method:ga,params:o},e))},ba.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){var r=t.getHeaders();for(var n in t.log("request interceptor call",r),r)e.headers[n]=r[n];return e})},ba.prototype.processJsonp=function(t){return Xi(t)},ba.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Ri(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Xi(o)},function(t){throw e.cleanUp(),console.error(t),new gi("Server side error",t)})},ba.prototype.getHeaders=function(){return this.opts.enableAuth?bo({},qo,this.getAuthHeader(),this.extraHeader):bo({},qo,this.extraHeader)},ba.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},ba.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=bo({},this.extraParams,Bo)),this.request({},{method:"GET"},this.contractHeader).then(_i).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},ba.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Ki(t,e)).then(_i)},ba.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Wi(t,e,r),{method:ya}).then(_i)},Object.defineProperties(ba.prototype,ma);var _a=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Ji(t)&&t.length>=2&&Reflect.apply(tt.set,tt,t),new di("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=tt.get("endpoint")||[];Li(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],i=tt.get(e)||[];i[this.endpointIndex||0]=n,r.push(i),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Li(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var i=parseFloat(this.opts.tokenExpired);if(!isNaN(i)&&i>0){var a=Vi();o.push(a+parseFloat(i))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(tt.set,tt,e)},r.jsonqlEndpoint.get=function(){var t=tt.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(tt.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return et.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=va)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Qi(t))throw new di("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Qi(this.opts.contract)?this.opts.contract:tt.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(ba))),wa=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.auth[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Mi(r,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(wi)}};var ja=function(t,e,r,n){var o=function(t,e,r,n){var o={query:{},mutation:{}},i=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.query[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Mi(a,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(wi)}};for(var a in n.query)i(a);var u=function(e){o.mutation[e]=function(r,o,i){void 0===i&&(i={});var a=[r,o],u=n.mutation[e].params;return Mi(a,u).then(function(){return t.mutation.apply(t,[e,r,o,i])}).catch(wi)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){o.auth={};var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o.auth[s]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=wa(t,s,r,n);return a.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Ho,t),t})}),n.auth[f]?o.auth[f]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=wa(t,f,r,n);return a.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Lo,t),t})}:o.auth[f]=function(){t.postLogoutAction(Fo),e.$trigger(Lo,Fo)}}return o}(t,n,e,r);return e.enableAuth&&(o.userdata=function(){return t.userdata}),o.getToken=function(){return t.rawAuthToken},e.exposeContract&&(o.getContract=function(){return t.get()}),o.eventEmitter=n,o.version="1.3.1",o},Sa={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:Po,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Oa={hostname:Ui([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ui("jsonql",["string"]),loginHandlerName:Ui(Ho,["string"]),logoutHandlerName:Ui(Lo,["string"]),enableJsonp:Ui(!1,["boolean"]),enableAuth:Ui(!1,["boolean"]),useJwt:Ui(!0,["boolean"]),useLocalstorage:Ui(!0,["boolean"]),storageKey:Ui("storageKey",["string"]),authKey:Ui("authKey",["string"]),contractExpired:Ui(0,["number"]),keepContract:Ui(!0,["boolean"]),exposeContract:Ui(!1,["boolean"]),showContractDesc:Ui(!1,["boolean"]),contractKey:Ui(!1,["boolean"]),contractKeyName:Ui("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ui(!1,["boolean"]),timeout:Ui(5e3,["number"]),returnInstance:Ui(!1,["boolean"]),allowReturnRawToken:Ui(!1,["boolean"]),debugOn:Ui(!1,["boolean"])};function ka(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=null),function(t){var e=t.contract;return Di(t,Oa,Sa).then(function(t){return t.contract=e,t})}(e).then(function(t){return{baseClient:new _a(t,r),opts:t}}).then(function(e){var r=e.baseClient,n=e.opts;return Yi(r,n.contract).then(function(e){return ja(r,n,e,t)})})}var Ea=new WeakMap,Aa=new WeakMap;var xa=function(){this.__suspend__=null,this.queueStore=new Set},Ta={$suspend:{configurable:!0},$queues:{configurable:!0}};Ta.$suspend.set=function(t){var e=this;if("boolean"!=typeof t)throw new Error("$suspend only accept Boolean value!");var r=this.__suspend__;this.__suspend__=t,this.logger("($suspend)","Change from "+r+" --\x3e "+t),!0===r&&!1===t&&setTimeout(function(){e.release()},1)},xa.prototype.$queue=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return!0===this.__suspend__&&(this.logger("($queue)","added to $queue",t),this.queueStore.add(t)),this.__suspend__},Ta.$queues.get=function(){var t=this.queueStore.size;return this.logger("($queues)","size: "+t),t>0?Array.from(this.queueStore):[]},xa.prototype.release=function(){var t=this,e=this.queueStore.size;if(this.logger("(release)","Release was called "+e),e>0){var r=Array.from(this.queueStore);this.queueStore.clear(),this.logger("queue",r),r.forEach(function(e){t.logger(e),Reflect.apply(t.$trigger,t,e)}),this.logger("Release size "+this.queueStore.size)}},Object.defineProperties(xa.prototype,Ta);var Pa=function(t){function e(e){void 0===e&&(e={}),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={$done:{configurable:!0}};return e.prototype.logger=function(){},e.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("($on)",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("($on)",t+" found in lazy store");var i=0;return o.forEach(function(o){var a=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,a,r||u),i+=n.addToNormalStore(t,"on",e,r||u)}),i},e.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("($once)",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("($once)",n);var o=Array.from(n)[0],i=o[0],a=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,i,r||a),this.$off(t)},e.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,i=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("($only)",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==i)&&(this.logger("($only)",t+" found data in lazy store to execute"),Array.from(i).forEach(function(t){var o=t[0],i=t[1],a=t[2];if(a&&"only"!==a)throw new Error("You are trying to register an event already been taken by other type: "+a);n.run(e,o,r||i)}));return o},e.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("($onlyOnce)",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("($onlyOnce)",o);var i=Array.from(o)[0],a=i[0],u=i[1],c=i[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,a,r||u),this.$off(t)}return n},e.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},e.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,i=this.normalStore;if(this.logger("($trigger)","normalStore",i),i.has(t)){var a=this.$queue(t,e,r,n);if(this.logger("($trigger)",t,"found; add to queue: ",a),!0===a)return!1;for(var u=Array.from(i.get(t)),c=u.length,s=!1,f=0;f0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("(addToStore)",e+" existed"),r=t.get(e)):(this.logger("(addToStore)","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var i=n[2];this.checkTypeInLazyStore(e,i)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("(addToStore)","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},e.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},e.prototype.checkTypeInStore=function(t,e){this.validateEvt(t,e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},e.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t,e);var r=this.lazyStore.get(t);return this.logger("(checkTypeInLazyStore)",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},e.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("(addToNormalStore)",t,e,"try to add to normal store"),this.checkTypeInStore(t,e)){this.logger("(addToNormalStore)",e+" can add to "+t+" normal store");var o=this.hashFnToKey(r),i=[this.normalStore,t,o,r,n,e],a=Reflect.apply(this.addToStore,this,i),u=a[0],c=a[1];return this.normalStore=u,c}return!1},e.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var i=Reflect.apply(this.addToStore,this,o),a=i[0],u=i[1];return this.lazyStore=a,u},e.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},r.normalStore.set=function(t){Ea.set(this,t)},r.normalStore.get=function(){return Ea.get(this)},r.lazyStore.set=function(t){Aa.set(this,t)},r.lazyStore.get=function(){return Aa.get(this)},e.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(e.prototype,r),e}(xa));function qa(t,e,r){var n=e.contract,o=function(t){return Hi(t,Oa,Sa)}(e),i=new _a(o,r);return ja(i,o,n,t)}function Ca(t,e){var r,n=(r=t.debugOn,new Pa({logger:r?function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];t.unshift("[NBS]"),console.log.apply(null,t)}:void 0}));return t.contract&&Qi(t.contract)?qa(n,t,e):ka(n,t,e)}return function(t){return void 0===t&&(t={}),Ca(t,o)}}); //# sourceMappingURL=jsonql-client.umd.js.map diff --git a/packages/http-client/dist/slim.js b/packages/http-client/dist/slim.js index 9bf9719b99c025e9cefcac99b29f94777a02d36d..406a6ce63cc4a98589689f58fc44eb4dcff102a4 100644 --- a/packages/http-client/dist/slim.js +++ b/packages/http-client/dist/slim.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClient=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var e=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,i=1;i=0;e--){var r=S().key(e);t(O(r),r)}},remove:function(t){return S().removeItem(t)},clearAll:function(){return S().clear()}};function S(){return w.localStorage}function O(t){return S().getItem(t)}var k=i.trim,A={name:"cookieStorage",read:function(t){if(!t||!P(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(E.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;E.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:T,remove:x,clearAll:function(){T(function(t,e){x(e)})}},E=i.Global.document;function T(t){for(var e=E.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(k(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function x(t){t&&P(t)&&(E.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function P(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(E.cookie)}var C=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var q="expire_mixin",z=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+q);return{set:function(e,r,n,o){this.hasNamespace(q)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(q)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(q)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=a%256}return r},decompressFromUint8Array:function(e){if(null==e)return i.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),a[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:i._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,i,a,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(a=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 2:return""}for(l[3]=f,i=f,g.push(f);;){if(y.index>e)return"";for(a=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(f=a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=i+i.charAt(0)}g.push(v),l[h++]=i+v.charAt(0),i=v,0==--p&&(p=Math.pow(2,d),d++)}}};return i}();null!=t&&(t.exports=e)});var U=[j,A],D=[C,z,J,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=M.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=M.compress(this._serialize(r));t(e,n)}}}],H=b.createStore(U,D),L=i.Global;function B(){return L.sessionStorage}function K(t){return B().getItem(t)}var W=[{name:"sessionStorage",read:K,write:function(t,e){return B().setItem(t,e)},each:function(t){for(var e=B().length-1;e>=0;e--){var r=B().key(e);t(K(r),r)}},remove:function(t){return B().removeItem(t)},clearAll:function(){return B().clear()}},A],V=[C,z],G=b.createStore(W,V),Y=H,Q=G,X="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Z="object"==typeof X&&X&&X.Object===Object&&X,tt="object"==typeof self&&self&&self.Object===Object&&self,et=Z||tt||Function("return this")(),rt=et.Symbol,nt=Object.prototype,ot=nt.hasOwnProperty,it=nt.toString,at=rt?rt.toStringTag:void 0;var ut=Object.prototype.toString;var ct="[object Null]",st="[object Undefined]",ft=rt?rt.toStringTag:void 0;function lt(t){return null==t?void 0===t?st:ct:ft&&ft in Object(t)?function(t){var e=ot.call(t,at),r=t[at];try{t[at]=void 0;var n=!0}catch(t){}var o=it.call(t);return n&&(e?t[at]=r:delete t[at]),o}(t):function(t){return ut.call(t)}(t)}function pt(t){return null!=t&&"object"==typeof t}var ht="[object Symbol]";function dt(t){return"symbol"==typeof t||pt(t)&<(t)==ht}function vt(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Gt>=Bt)return arguments[0]}else Gt=0;return Vt.apply(void 0,arguments)});function Zt(t){return t!=t}function te(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=fe}function pe(t){return null!=t&&le(t.length)&&!Et(t)}var he=Object.prototype;function de(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||he)}var ve="[object Arguments]";function ge(t){return pt(t)&<(t)==ve}var ye=Object.prototype,be=ye.hasOwnProperty,me=ye.propertyIsEnumerable,_e=ge(function(){return arguments}())?ge:function(t){return pt(t)&&be.call(t,"callee")&&!me.call(t,"callee")};var we="object"==typeof exports&&exports&&!exports.nodeType&&exports,je=we&&"object"==typeof module&&module&&!module.nodeType&&module,Se=je&&je.exports===we?et.Buffer:void 0,Oe=(Se?Se.isBuffer:void 0)||function(){return!1},ke={};ke["[object Float32Array]"]=ke["[object Float64Array]"]=ke["[object Int8Array]"]=ke["[object Int16Array]"]=ke["[object Int32Array]"]=ke["[object Uint8Array]"]=ke["[object Uint8ClampedArray]"]=ke["[object Uint16Array]"]=ke["[object Uint32Array]"]=!0,ke["[object Arguments]"]=ke["[object Array]"]=ke["[object ArrayBuffer]"]=ke["[object Boolean]"]=ke["[object DataView]"]=ke["[object Date]"]=ke["[object Error]"]=ke["[object Function]"]=ke["[object Map]"]=ke["[object Number]"]=ke["[object Object]"]=ke["[object RegExp]"]=ke["[object Set]"]=ke["[object String]"]=ke["[object WeakMap]"]=!1;var Ae="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ee=Ae&&"object"==typeof module&&module&&!module.nodeType&&module,Te=Ee&&Ee.exports===Ae&&Z.process,xe=function(){try{var t=Ee&&Ee.require&&Ee.require("util").types;return t||Te&&Te.binding&&Te.binding("util")}catch(t){}}(),Pe=xe&&xe.isTypedArray,Ce=Pe?function(t){return function(e){return t(e)}}(Pe):function(t){return pt(t)&&le(t.length)&&!!ke[lt(t)]},qe=Object.prototype.hasOwnProperty;function ze(t,e){var r=gt(t),n=!r&&_e(t),o=!r&&!n&&Oe(t),i=!r&&!n&&!o&&Ce(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r-1},Xe.prototype.set=function(t,e){var r=this.__data__,n=Ye(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var Ze=Mt(et,"Map");function tr(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function er(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++nu))return!1;var s=i.get(t);if(s&&i.get(e))return s==e;var f=-1,l=!0,p=r&ln?new cn:void 0;for(i.set(t,e),i.set(e,t);++f1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=po.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!wt(r))return!1;var n=typeof e;return!!("number"==n?pe(r)&&ne(e,r.length):"string"==n&&e in r)&&ie(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&te(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function wo(t){return!!gt(t)||null!=t&&""!==_o(t)}var jo=function(t){return!ao(t)&&!so(parseFloat(t))},So=function(t){return""!==_o(t)&&ao(t)},Oo=function(t){return function(t){return!0===t||!1===t||pt(t)&<(t)==uo}(t)},ko=function(t,e){return void 0===e&&(e=!0),!fo(t)&&""!==t&&""!==_o(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},Ao="application/vnd.api+json",Eo={Accept:Ao,"Content-Type":[Ao,"charset=utf-8"].join(";")},To="payload",xo="condition",Po="args",Co=["POST","PUT"],qo="continue",zo="type",No="optional",$o="enumv",Fo="args",Io="checker",Jo="alias",Ro="login",Mo="logout",Uo={desc:"y"},Do="No message",Ho=zo,Lo=No,Bo=$o,Ko=Fo,Wo=Io,Vo=Jo,Go=qo,Yo=function(t){switch(t){case"number":return jo;case"string":return So;case"boolean":return Oo;default:return ko}},Qo=function(t,e){return void 0===e&&(e=""),!!gt(t)&&(""===e||""===_o(e)||!(t.filter(function(t){return!Yo(e)(t)}).length>0))},Xo=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},Zo=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!Yo(e)(t)}).length)}).length:e.length>e.filter(function(t){return!Qo(r,t)}).length},ti=function(t,e){if(void 0===e&&(e=null),wr(t)){if(!e)return!0;if(Qo(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!fo(r)||(!1!==(e=Xo(t))?!Zo({arg:r},e):!Yo(t)(r))}).length)}).length}return!1},ei=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),ri=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),ni=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),oi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),ii=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),ai=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),ui=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),ci=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),si=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),fi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),li=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),pi=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),hi=Object.freeze({Jsonql406Error:ei,Jsonql500Error:ri,JsonqlAuthorisationError:ni,JsonqlContractAuthError:oi,JsonqlResolverAppError:ii,JsonqlResolverNotFoundError:ai,JsonqlEnumError:ui,JsonqlTypeError:ci,JsonqlCheckerError:si,JsonqlValidationError:fi,JsonqlError:li,JsonqlServerError:pi}),di=li,vi=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function gi(t){if(vi(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,i=e.message||Do,a=e.detail||e;if(o&&hi[o])throw new hi[r](i,a);throw new di(i,a)}return t}function yi(t){if(Array.isArray(t))throw new fi("",t);var e=t.message||Do,r=t.detail||t;switch(!0){case t instanceof ei:throw new ei(e,r);case t instanceof ri:throw new ri(e,r);case t instanceof ni:throw new ni(e,r);case t instanceof oi:throw new oi(e,r);case t instanceof ii:throw new ii(e,r);case t instanceof ai:throw new ai(e,r);case t instanceof ui:throw new ui(e,r);case t instanceof ci:throw new ci(e,r);case t instanceof si:throw new si(e,r);case t instanceof fi:throw new fi(e,r);case t instanceof pi:throw new pi(e,r);default:throw new li(e,r)}}var bi=function(t,e){var r,n,o,i,a;switch(!0){case"object"===t:return o=(n=e).arg,i=n.param,a=[o],Array.isArray(i.keys)&&i.keys.length&&a.push(i.keys),!ti.apply(null,a);case"array"===t:return!Qo(e.arg);case!1!==(r=Xo(t)):return!Zo(e,r);default:return!Yo(t)(e.arg)}},mi=function(t,e){return fo(t)?!0!==e.optional||fo(e.defaultvalue)?null:e.defaultvalue:t},_i=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!Qo(e))throw new li("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!Qo(t))throw new li("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=Xo(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new li("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),i=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!wo(e)||r.type.length>r.type.filter(function(e){return bi(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return bi(e,t)}).length)});return r?((n={}).error=i,n.data=o.map(function(t){return t.arg}),n):i},wi=function(t,e){return!!t.filter(function(t){return t===e}).length},ji=function(t,e){var r=Object.keys(t);return wi(r,e)},Si=function(t){return!wo(t)};function Oi(t,e){var r=bo(e,function(t,e){return!t[Vo]});return Jn(r,{})?t:function(t,e){var r={};return e=Yn(e),Zn(t,function(t,n,o){oe(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,Yn(function(t){return t.alias===e}),Zn)||e})}function ki(t,e){return lo(e,function(e,r){var n,o;return fo(t[r])||!0===e[Lo]&&Si(t[r])?ho({},e,((n={})[Go]=!0,n)):((o={})[Ko]=t[r],o[Ho]=e[Ho],o[Lo]=e[Lo]||!1,o[Bo]=e[Bo]||!1,o[Wo]=e[Wo]||!1,o)})}function Ai(t,e){var r=function(t,e){var r=Oi(t,e);return{pristineValues:lo(bo(e,function(t,e){return ji(r,e)}),function(t){return t.args}),checkAgainstAppProps:bo(e,function(t,e){return!ji(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[ki(n,r.checkAgainstAppProps),o]}var Ei=function(t){return Qo(t)?t:[t]};var Ti=function(t,e){return!Qo(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},xi=function(t,e){try{return!!Et(e)&&e.apply(null,[t])}catch(t){return!1}};function Pi(t){return function(e,r){if(e[Go])return e[Ko];var n=function(t,e){var r,n=[[t[Ko]],[(r={},r[Ho]=Ei(t[Ho]),r[Lo]=t[Lo],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new ci(r,n);if(!1!==e[Bo]&&!Ti(e[Ko],e[Bo]))throw new ui(r);if(!1!==e[Wo]&&!xi(e[Ko],e[Wo]))throw new si(r);return e[Ko]}}function Ci(t,e){var r=t[0],n=t[1],o=lo(r,Pi(e));return ho(o,n)}var qi=function(t,e){return Promise.resolve(Ai(t,e))};var zi=ti,Ni=So,$i=Qo,Fi=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var i=_i(t,e,r);return r?i.error.length?o(i.error):n(i.data):i.length?o(i):n([])})},Ii=function(t,e,r){void 0===r&&(r={});var n=r[No],o=r[$o],i=r[Io],a=r[Jo];return function(t,e,r,n,o,i){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===i&&(i=!1);var a={};return a[Fo]=t,a[zo]=e,!0===r&&(a[No]=!0),Qo(n)&&(a[$o]=n),Et(o)&&(a[Io]=o),ao(i)&&(a[Jo]=i),a}.apply(null,[t,e,n,o,i,a])},Ji=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),qi(t,e).then(function(t){return Ci(t,n)}).then(function(t){return ho({},t,r)})}(e,r,n,t)}}(_i),Ri=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),ho(Ci(Ai(t,e),n),r)}(e,r,n,t)}}(_i),Mi=wi,Ui=ji,Di=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),So(t)&&Qo(e)){var o={};return o[Po]=e,!0===r?o:((n={})[t]=o,n)}throw new fi("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Hi=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var i={};if(i[To]=e,i[xo]=r,!0===n)return i;if(So(t))return(o={})[t]=i,o;throw new fi("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Li=function(t){return Object.keys(t)[0]},Bi=function(){return Math.floor(Date.now()/1e3)},Ki=function(t,e){return void 0===e&&(e={}),Vi(e)?Promise.resolve(e):t.getContract()},Wi=function(t){return Ui(t,"data")&&!Ui(t,"error")?t.data:t},Vi=function(t){return t&&zi(t)&&(Ui(t,"query")||Ui(t,"mutation"))},Gi="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function Yi(t){this.message=t}Yi.prototype=new Error,Yi.prototype.name="InvalidCharacterError";var Qi="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new Yi("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,i=0,a="";n=e.charAt(i++);~n&&(r=o%4?64*r+n:n,o++%4)?a+=String.fromCharCode(255&r>>(-2*o&6)):0)n=Gi.indexOf(n);return a};var Xi=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(Qi(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return Qi(e)}};function Zi(t){this.message=t}Zi.prototype=new Error,Zi.prototype.name="InvalidTokenError";var ta,ea,ra,na,oa,ia,aa,ua,ca,sa=function(t,e){if("string"!=typeof t)throw new Zi("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(Xi(t.split(".")[r]))}catch(t){throw new Zi("Invalid token specified: "+t.message)}},fa=Zi;function la(t){if(Ni(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new li("Token has expired on "+r,t)}return t}(sa(t));throw new li("Token must be a string!")}sa.InvalidTokenError=fa;Ii("HS256",["string"]),Ii(!1,["boolean","number","string"],((ta={})[Jo]="exp",ta[No]=!0,ta)),Ii(!1,["boolean","number","string"],((ea={})[Jo]="nbf",ea[No]=!0,ea)),Ii(!1,["boolean","string"],((ra={})[Jo]="iss",ra[No]=!0,ra)),Ii(!1,["boolean","string"],((na={})[Jo]="sub",na[No]=!0,na)),Ii(!1,["boolean","string"],((oa={})[Jo]="iss",oa[No]=!0,oa)),Ii(!1,["boolean"],((ia={})[No]=!0,ia)),Ii(!1,["boolean","string"],((aa={})[No]=!0,aa)),Ii(!1,["boolean","string"],((ua={})[No]=!0,ua)),Ii(!1,["boolean"],((ca={})[No]=!0,ca));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new fi("WebSocket is NOT SUPPORTED!")}}();var pa=Co[0],ha=Co[1],da=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},va={headers:{configurable:!0}};va.headers.set=function(t){this.extraHeader=t},da.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=ho({},{_cb:Bi()},this.extraParams);if(this.opts.enableJsonp){var i=Li(t);o=ho({},o,((n={}).jsonqlJsonpCallback=i,n)),t=t[i]}return this.fly.request(this.jsonqlEndpoint,t,ho({},{method:pa,params:o},e))},da.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},da.prototype.processJsonp=function(t){return Wi(t)},da.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Ni(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Wi(o)},function(t){throw e.cleanUp(),console.error(t),new pi("Server side error",t)})},da.prototype.getHeaders=function(){return this.opts.enableAuth?ho({},Eo,this.getAuthHeader(),this.extraHeader):ho({},Eo,this.extraHeader)},da.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},da.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=ho({},this.extraParams,Uo)),this.request({},{method:"GET"},this.contractHeader).then(gi).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},da.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Di(t,e)).then(gi)},da.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Hi(t,e,r),{method:ha}).then(gi)},Object.defineProperties(da.prototype,va);var ga=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),$i(t)&&t.length>=2&&Reflect.apply(Y.set,Y,t),new fi("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=Y.get("endpoint")||[];Mi(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],i=Y.get(e)||[];i[this.endpointIndex||0]=n,r.push(i),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Mi(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var i=parseFloat(this.opts.tokenExpired);if(!isNaN(i)&&i>0){var a=Bi();o.push(a+parseFloat(i))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(Y.set,Y,e)},r.jsonqlEndpoint.get=function(){var t=Y.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(Y.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return Q.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=la)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Vi(t))throw new fi("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Vi(this.opts.contract)?this.opts.contract:Y.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(da))),ya=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.auth[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Fi(r,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(yi)}};var ba=function(t,e,r,n){var o=function(t,e,r,n){var o={query:{},mutation:{}},i=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.query[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Fi(a,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(yi)}};for(var a in n.query)i(a);var u=function(e){o.mutation[e]=function(r,o,i){void 0===i&&(i={});var a=[r,o],u=n.mutation[e].params;return Fi(a,u).then(function(){return t.mutation.apply(t,[e,r,o,i])}).catch(yi)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=ya(t,s,r,n);return a.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Ro,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=ya(t,f,r,n);return a.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Mo,t),t})}:o[f]=function(){t.postLogoutAction(qo),e.$trigger(Mo,qo)}}return o}(t,n,e,r);return e.enableAuth&&(o.userdata=function(){return t.userdata}),o.getToken=function(){return t.rawAuthToken},e.exposeContract&&(o.getContract=function(){return t.get()}),o.eventEmitter=n,o.version="1.3.0",o},ma={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:Ao,BEARER:"Bearer",AUTH_HEADER:"Authorization"},_a={hostname:Ii([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ii("jsonql",["string"]),loginHandlerName:Ii(Ro,["string"]),logoutHandlerName:Ii(Mo,["string"]),enableJsonp:Ii(!1,["boolean"]),enableAuth:Ii(!1,["boolean"]),useJwt:Ii(!0,["boolean"]),useLocalstorage:Ii(!0,["boolean"]),storageKey:Ii("storageKey",["string"]),authKey:Ii("authKey",["string"]),contractExpired:Ii(0,["number"]),keepContract:Ii(!0,["boolean"]),exposeContract:Ii(!1,["boolean"]),showContractDesc:Ii(!1,["boolean"]),contractKey:Ii(!1,["boolean"]),contractKeyName:Ii("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ii(!1,["boolean"]),timeout:Ii(5e3,["number"]),returnInstance:Ii(!1,["boolean"]),allowReturnRawToken:Ii(!1,["boolean"]),debugOn:Ii(!1,["boolean"])};function wa(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=null),function(t){var e=t.contract;return Ji(t,_a,ma).then(function(t){return t.contract=e,t})}(e).then(function(t){return{baseClient:new ga(t,r),opts:t}}).then(function(e){var r=e.baseClient,n=e.opts;return Ki(r,n.contract).then(function(e){return ba(r,n,e,t)})})}var ja=new WeakMap,Sa=new WeakMap;var Oa=function(){};Oa.prototype.watch||Object.defineProperty(Oa.prototype,"watch",{enumerable:!1,configurable:!0,writable:!1,value:function(t,e){var r=this[t],n=r;delete this[t]&&Object.defineProperty(this,t,{get:function(){return n},set:function(o){return r=n,n=e.call(this,o,t,r)},enumerable:!0,configurable:!0})}});var ka=function(t){function e(e){void 0===e&&(e={}),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={$done:{configurable:!0}};return e.prototype.logger=function(){},e.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var i=0;return o.forEach(function(o){var a=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,a,r||u),i+=n.addToNormalStore(t,"on",e,r||u)}),i},e.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],i=o[0],a=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,i,r||a),this.$off(t)},e.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,i=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==i)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(i).forEach(function(t){var o=t[0],i=t[1],a=t[2];if(a&&"only"!==a)throw new Error("You are trying to register an event already been taken by other type: "+a);n.run(e,o,r||i)}));return o},e.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var i=Array.from(o)[0],a=i[0],u=i[1],c=i[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,a,r||u),this.$off(t)}return n},e.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},e.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,i=this.normalStore;if(this.logger("$trigger",i),i.has(t)){var a=this.$queue(t,e,r,n);if(this.logger("$trigger",t,"found; add to queue: ",a),!0===a)return!1;for(var u=Array.from(i.get(t)),c=u.length,s=!1,f=0;f0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var i=n[2];this.checkTypeInLazyStore(e,i)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},e.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},e.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},e.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},e.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),i=[this.normalStore,t,o,r,n,e],a=Reflect.apply(this.addToStore,this,i),u=a[0],c=a[1];return this.normalStore=u,c}return!1},e.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var i=Reflect.apply(this.addToStore,this,o),a=i[0],u=i[1];return this.lazyStore=a,u},e.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},r.normalStore.set=function(t){ja.set(this,t)},r.normalStore.get=function(){return ja.get(this)},r.lazyStore.set=function(t){Sa.set(this,t)},r.lazyStore.get=function(){return Sa.get(this)},e.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(e.prototype,r),e}(function(t){function e(){t.call(this),this.suspend=null,this.queueStore=new Set,this.watch("suspend",function(t,e,r){var n=this;return this.logger(e+" set from "+r+" to "+t),!0===r&&!1===t&&setTimeout(function(){n.release()},1),t})}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={$suspend:{configurable:!0}};return r.$suspend.set=function(t){if("boolean"!=typeof t)throw new Error("$suspend only accept Boolean value!");this.suspend=t},e.prototype.$queue=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return!0===this.suspend&&this.queueStore.add(t),this.suspend},e.prototype.release=function(){var t=this,e=this.queueStore.size;if(this.logger("Release was called "+e),e>0){var r=Array.from(this.queueStore);this.queueStore.clear(),this.logger("queue",r),r.forEach(function(e){t.logger(e),Reflect.apply(t.$trigger,t,e)}),this.logger("Release size "+this.queueStore.size)}},Object.defineProperties(e.prototype,r),e}(Oa)));function Aa(t,e,r){var n=e.contract,o=function(t){return Ri(t,_a,ma)}(e),i=new ga(o,r);return ba(i,o,n,t)}return function(t,e){var r,n,o=(r=t.debugOn,n=r?console.info:void 0,new ka(n));return t.contract&&Vi(t.contract)?Aa(o,t,e):wa(o,t,e)}}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClient=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var e=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,i=1;i=0;e--){var r=S().key(e);t(O(r),r)}},remove:function(t){return S().removeItem(t)},clearAll:function(){return S().clear()}};function S(){return w.localStorage}function O(t){return S().getItem(t)}var k=i.trim,A={name:"cookieStorage",read:function(t){if(!t||!q(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(E.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;E.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:T,remove:x,clearAll:function(){T(function(t,e){x(e)})}},E=i.Global.document;function T(t){for(var e=E.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(k(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function x(t){t&&q(t)&&(E.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function q(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(E.cookie)}var C=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var P="expire_mixin",z=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+P);return{set:function(e,r,n,o){this.hasNamespace(P)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(P)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(P)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=a%256}return r},decompressFromUint8Array:function(e){if(null==e)return i.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),a[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:i._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,i,a,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(a=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 2:return""}for(l[3]=f,i=f,g.push(f);;){if(y.index>e)return"";for(a=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(f=a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=i+i.charAt(0)}g.push(v),l[h++]=i+v.charAt(0),i=v,0==--p&&(p=Math.pow(2,d),d++)}}};return i}();null!=t&&(t.exports=e)});var U=[j,A],D=[C,z,J,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=M.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=M.compress(this._serialize(r));t(e,n)}}}],H=b.createStore(U,D),L=i.Global;function B(){return L.sessionStorage}function K(t){return B().getItem(t)}var W=[{name:"sessionStorage",read:K,write:function(t,e){return B().setItem(t,e)},each:function(t){for(var e=B().length-1;e>=0;e--){var r=B().key(e);t(K(r),r)}},remove:function(t){return B().removeItem(t)},clearAll:function(){return B().clear()}},A],V=[C,z],G=b.createStore(W,V),Y=H,Q=G,X="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Z="object"==typeof X&&X&&X.Object===Object&&X,tt="object"==typeof self&&self&&self.Object===Object&&self,et=Z||tt||Function("return this")(),rt=et.Symbol,nt=Object.prototype,ot=nt.hasOwnProperty,it=nt.toString,at=rt?rt.toStringTag:void 0;var ut=Object.prototype.toString;var ct="[object Null]",st="[object Undefined]",ft=rt?rt.toStringTag:void 0;function lt(t){return null==t?void 0===t?st:ct:ft&&ft in Object(t)?function(t){var e=ot.call(t,at),r=t[at];try{t[at]=void 0;var n=!0}catch(t){}var o=it.call(t);return n&&(e?t[at]=r:delete t[at]),o}(t):function(t){return ut.call(t)}(t)}function pt(t){return null!=t&&"object"==typeof t}var ht="[object Symbol]";function dt(t){return"symbol"==typeof t||pt(t)&<(t)==ht}function vt(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Gt>=Bt)return arguments[0]}else Gt=0;return Vt.apply(void 0,arguments)});function Zt(t){return t!=t}function te(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=fe}function pe(t){return null!=t&&le(t.length)&&!Et(t)}var he=Object.prototype;function de(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||he)}var ve="[object Arguments]";function ge(t){return pt(t)&<(t)==ve}var ye=Object.prototype,be=ye.hasOwnProperty,me=ye.propertyIsEnumerable,_e=ge(function(){return arguments}())?ge:function(t){return pt(t)&&be.call(t,"callee")&&!me.call(t,"callee")};var we="object"==typeof exports&&exports&&!exports.nodeType&&exports,je=we&&"object"==typeof module&&module&&!module.nodeType&&module,Se=je&&je.exports===we?et.Buffer:void 0,Oe=(Se?Se.isBuffer:void 0)||function(){return!1},ke={};ke["[object Float32Array]"]=ke["[object Float64Array]"]=ke["[object Int8Array]"]=ke["[object Int16Array]"]=ke["[object Int32Array]"]=ke["[object Uint8Array]"]=ke["[object Uint8ClampedArray]"]=ke["[object Uint16Array]"]=ke["[object Uint32Array]"]=!0,ke["[object Arguments]"]=ke["[object Array]"]=ke["[object ArrayBuffer]"]=ke["[object Boolean]"]=ke["[object DataView]"]=ke["[object Date]"]=ke["[object Error]"]=ke["[object Function]"]=ke["[object Map]"]=ke["[object Number]"]=ke["[object Object]"]=ke["[object RegExp]"]=ke["[object Set]"]=ke["[object String]"]=ke["[object WeakMap]"]=!1;var Ae="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ee=Ae&&"object"==typeof module&&module&&!module.nodeType&&module,Te=Ee&&Ee.exports===Ae&&Z.process,xe=function(){try{var t=Ee&&Ee.require&&Ee.require("util").types;return t||Te&&Te.binding&&Te.binding("util")}catch(t){}}(),qe=xe&&xe.isTypedArray,Ce=qe?function(t){return function(e){return t(e)}}(qe):function(t){return pt(t)&&le(t.length)&&!!ke[lt(t)]},Pe=Object.prototype.hasOwnProperty;function ze(t,e){var r=gt(t),n=!r&&_e(t),o=!r&&!n&&Oe(t),i=!r&&!n&&!o&&Ce(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r-1},Xe.prototype.set=function(t,e){var r=this.__data__,n=Ye(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var Ze=Mt(et,"Map");function tr(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function er(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++nu))return!1;var s=i.get(t);if(s&&i.get(e))return s==e;var f=-1,l=!0,p=r&ln?new cn:void 0;for(i.set(t,e),i.set(e,t);++f1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=po.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!wt(r))return!1;var n=typeof e;return!!("number"==n?pe(r)&&ne(e,r.length):"string"==n&&e in r)&&ie(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&te(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function wo(t){return!!gt(t)||null!=t&&""!==_o(t)}var jo=function(t){return!ao(t)&&!so(parseFloat(t))},So=function(t){return""!==_o(t)&&ao(t)},Oo=function(t){return function(t){return!0===t||!1===t||pt(t)&<(t)==uo}(t)},ko=function(t,e){return void 0===e&&(e=!0),!fo(t)&&""!==t&&""!==_o(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},Ao="application/vnd.api+json",Eo={Accept:Ao,"Content-Type":[Ao,"charset=utf-8"].join(";")},To="payload",xo="condition",qo="args",Co=["POST","PUT"],Po="continue",zo="type",$o="optional",No="enumv",Fo="args",Io="checker",Jo="alias",Ro="login",Mo="logout",Uo={desc:"y"},Do="No message",Ho=zo,Lo=$o,Bo=No,Ko=Fo,Wo=Io,Vo=Jo,Go=Po,Yo=function(t){switch(t){case"number":return jo;case"string":return So;case"boolean":return Oo;default:return ko}},Qo=function(t,e){return void 0===e&&(e=""),!!gt(t)&&(""===e||""===_o(e)||!(t.filter(function(t){return!Yo(e)(t)}).length>0))},Xo=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},Zo=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!Yo(e)(t)}).length)}).length:e.length>e.filter(function(t){return!Qo(r,t)}).length},ti=function(t,e){if(void 0===e&&(e=null),wr(t)){if(!e)return!0;if(Qo(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!fo(r)||(!1!==(e=Xo(t))?!Zo({arg:r},e):!Yo(t)(r))}).length)}).length}return!1},ei=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),ri=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),ni=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),oi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),ii=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),ai=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),ui=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),ci=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),si=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),fi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),li=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),pi=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),hi=Object.freeze({Jsonql406Error:ei,Jsonql500Error:ri,JsonqlAuthorisationError:ni,JsonqlContractAuthError:oi,JsonqlResolverAppError:ii,JsonqlResolverNotFoundError:ai,JsonqlEnumError:ui,JsonqlTypeError:ci,JsonqlCheckerError:si,JsonqlValidationError:fi,JsonqlError:li,JsonqlServerError:pi}),di=li,vi=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function gi(t){if(vi(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,i=e.message||Do,a=e.detail||e;if(o&&hi[o])throw new hi[r](i,a);throw new di(i,a)}return t}function yi(t){if(Array.isArray(t))throw new fi("",t);var e=t.message||Do,r=t.detail||t;switch(!0){case t instanceof ei:throw new ei(e,r);case t instanceof ri:throw new ri(e,r);case t instanceof ni:throw new ni(e,r);case t instanceof oi:throw new oi(e,r);case t instanceof ii:throw new ii(e,r);case t instanceof ai:throw new ai(e,r);case t instanceof ui:throw new ui(e,r);case t instanceof ci:throw new ci(e,r);case t instanceof si:throw new si(e,r);case t instanceof fi:throw new fi(e,r);case t instanceof pi:throw new pi(e,r);default:throw new li(e,r)}}var bi=function(t,e){var r,n,o,i,a;switch(!0){case"object"===t:return o=(n=e).arg,i=n.param,a=[o],Array.isArray(i.keys)&&i.keys.length&&a.push(i.keys),!ti.apply(null,a);case"array"===t:return!Qo(e.arg);case!1!==(r=Xo(t)):return!Zo(e,r);default:return!Yo(t)(e.arg)}},mi=function(t,e){return fo(t)?!0!==e.optional||fo(e.defaultvalue)?null:e.defaultvalue:t},_i=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!Qo(e))throw new li("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!Qo(t))throw new li("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=Xo(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new li("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),i=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!wo(e)||r.type.length>r.type.filter(function(e){return bi(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return bi(e,t)}).length)});return r?((n={}).error=i,n.data=o.map(function(t){return t.arg}),n):i},wi=function(t,e){return!!t.filter(function(t){return t===e}).length},ji=function(t,e){var r=Object.keys(t);return wi(r,e)},Si=function(t){return!wo(t)};function Oi(t,e){var r=bo(e,function(t,e){return!t[Vo]});return Jn(r,{})?t:function(t,e){var r={};return e=Yn(e),Zn(t,function(t,n,o){oe(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,Yn(function(t){return t.alias===e}),Zn)||e})}function ki(t,e){return lo(e,function(e,r){var n,o;return fo(t[r])||!0===e[Lo]&&Si(t[r])?ho({},e,((n={})[Go]=!0,n)):((o={})[Ko]=t[r],o[Ho]=e[Ho],o[Lo]=e[Lo]||!1,o[Bo]=e[Bo]||!1,o[Wo]=e[Wo]||!1,o)})}function Ai(t,e){var r=function(t,e){var r=Oi(t,e);return{pristineValues:lo(bo(e,function(t,e){return ji(r,e)}),function(t){return t.args}),checkAgainstAppProps:bo(e,function(t,e){return!ji(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[ki(n,r.checkAgainstAppProps),o]}var Ei=function(t){return Qo(t)?t:[t]};var Ti=function(t,e){return!Qo(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},xi=function(t,e){try{return!!Et(e)&&e.apply(null,[t])}catch(t){return!1}};function qi(t){return function(e,r){if(e[Go])return e[Ko];var n=function(t,e){var r,n=[[t[Ko]],[(r={},r[Ho]=Ei(t[Ho]),r[Lo]=t[Lo],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new ci(r,n);if(!1!==e[Bo]&&!Ti(e[Ko],e[Bo]))throw new ui(r);if(!1!==e[Wo]&&!xi(e[Ko],e[Wo]))throw new si(r);return e[Ko]}}function Ci(t,e){var r=t[0],n=t[1],o=lo(r,qi(e));return ho(o,n)}var Pi=function(t,e){return Promise.resolve(Ai(t,e))};var zi=ti,$i=So,Ni=Qo,Fi=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var i=_i(t,e,r);return r?i.error.length?o(i.error):n(i.data):i.length?o(i):n([])})},Ii=function(t,e,r){void 0===r&&(r={});var n=r[$o],o=r[No],i=r[Io],a=r[Jo];return function(t,e,r,n,o,i){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===i&&(i=!1);var a={};return a[Fo]=t,a[zo]=e,!0===r&&(a[$o]=!0),Qo(n)&&(a[No]=n),Et(o)&&(a[Io]=o),ao(i)&&(a[Jo]=i),a}.apply(null,[t,e,n,o,i,a])},Ji=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),Pi(t,e).then(function(t){return Ci(t,n)}).then(function(t){return ho({},t,r)})}(e,r,n,t)}}(_i),Ri=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),ho(Ci(Ai(t,e),n),r)}(e,r,n,t)}}(_i),Mi=wi,Ui=ji,Di=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),So(t)&&Qo(e)){var o={};return o[qo]=e,!0===r?o:((n={})[t]=o,n)}throw new fi("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Hi=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var i={};if(i[To]=e,i[xo]=r,!0===n)return i;if(So(t))return(o={})[t]=i,o;throw new fi("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Li=function(t){return Object.keys(t)[0]},Bi=function(){return Math.floor(Date.now()/1e3)},Ki=function(t,e){return void 0===e&&(e={}),Vi(e)?Promise.resolve(e):t.getContract()},Wi=function(t){return Ui(t,"data")&&!Ui(t,"error")?t.data:t},Vi=function(t){return t&&zi(t)&&(Ui(t,"query")||Ui(t,"mutation"))},Gi="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function Yi(t){this.message=t}Yi.prototype=new Error,Yi.prototype.name="InvalidCharacterError";var Qi="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new Yi("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,i=0,a="";n=e.charAt(i++);~n&&(r=o%4?64*r+n:n,o++%4)?a+=String.fromCharCode(255&r>>(-2*o&6)):0)n=Gi.indexOf(n);return a};var Xi=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(Qi(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return Qi(e)}};function Zi(t){this.message=t}Zi.prototype=new Error,Zi.prototype.name="InvalidTokenError";var ta,ea,ra,na,oa,ia,aa,ua,ca,sa=function(t,e){if("string"!=typeof t)throw new Zi("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(Xi(t.split(".")[r]))}catch(t){throw new Zi("Invalid token specified: "+t.message)}},fa=Zi;function la(t){if($i(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new li("Token has expired on "+r,t)}return t}(sa(t));throw new li("Token must be a string!")}sa.InvalidTokenError=fa;Ii("HS256",["string"]),Ii(!1,["boolean","number","string"],((ta={})[Jo]="exp",ta[$o]=!0,ta)),Ii(!1,["boolean","number","string"],((ea={})[Jo]="nbf",ea[$o]=!0,ea)),Ii(!1,["boolean","string"],((ra={})[Jo]="iss",ra[$o]=!0,ra)),Ii(!1,["boolean","string"],((na={})[Jo]="sub",na[$o]=!0,na)),Ii(!1,["boolean","string"],((oa={})[Jo]="iss",oa[$o]=!0,oa)),Ii(!1,["boolean"],((ia={})[$o]=!0,ia)),Ii(!1,["boolean","string"],((aa={})[$o]=!0,aa)),Ii(!1,["boolean","string"],((ua={})[$o]=!0,ua)),Ii(!1,["boolean"],((ca={})[$o]=!0,ca));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new fi("WebSocket is NOT SUPPORTED!")}}();var pa=Co[0],ha=Co[1],da=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},va={headers:{configurable:!0}};va.headers.set=function(t){this.extraHeader=t},da.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=ho({},{_cb:Bi()},this.extraParams);if(this.opts.enableJsonp){var i=Li(t);o=ho({},o,((n={}).jsonqlJsonpCallback=i,n)),t=t[i]}return this.fly.request(this.jsonqlEndpoint,t,ho({},{method:pa,params:o},e))},da.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){var r=t.getHeaders();for(var n in t.log("request interceptor call",r),r)e.headers[n]=r[n];return e})},da.prototype.processJsonp=function(t){return Wi(t)},da.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=$i(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Wi(o)},function(t){throw e.cleanUp(),console.error(t),new pi("Server side error",t)})},da.prototype.getHeaders=function(){return this.opts.enableAuth?ho({},Eo,this.getAuthHeader(),this.extraHeader):ho({},Eo,this.extraHeader)},da.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},da.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=ho({},this.extraParams,Uo)),this.request({},{method:"GET"},this.contractHeader).then(gi).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},da.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Di(t,e)).then(gi)},da.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Hi(t,e,r),{method:ha}).then(gi)},Object.defineProperties(da.prototype,va);var ga=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Ni(t)&&t.length>=2&&Reflect.apply(Y.set,Y,t),new fi("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=Y.get("endpoint")||[];Mi(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],i=Y.get(e)||[];i[this.endpointIndex||0]=n,r.push(i),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Mi(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var i=parseFloat(this.opts.tokenExpired);if(!isNaN(i)&&i>0){var a=Bi();o.push(a+parseFloat(i))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(Y.set,Y,e)},r.jsonqlEndpoint.get=function(){var t=Y.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(Y.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return Q.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=la)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Vi(t))throw new fi("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Vi(this.opts.contract)?this.opts.contract:Y.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(da))),ya=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.auth[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Fi(r,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(yi)}};var ba=function(t,e,r,n){var o=function(t,e,r,n){var o={query:{},mutation:{}},i=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.query[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Fi(a,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(yi)}};for(var a in n.query)i(a);var u=function(e){o.mutation[e]=function(r,o,i){void 0===i&&(i={});var a=[r,o],u=n.mutation[e].params;return Fi(a,u).then(function(){return t.mutation.apply(t,[e,r,o,i])}).catch(yi)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){o.auth={};var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o.auth[s]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=ya(t,s,r,n);return a.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Ro,t),t})}),n.auth[f]?o.auth[f]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=ya(t,f,r,n);return a.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Mo,t),t})}:o.auth[f]=function(){t.postLogoutAction(Po),e.$trigger(Mo,Po)}}return o}(t,n,e,r);return e.enableAuth&&(o.userdata=function(){return t.userdata}),o.getToken=function(){return t.rawAuthToken},e.exposeContract&&(o.getContract=function(){return t.get()}),o.eventEmitter=n,o.version="1.3.1",o},ma={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:Ao,BEARER:"Bearer",AUTH_HEADER:"Authorization"},_a={hostname:Ii([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ii("jsonql",["string"]),loginHandlerName:Ii(Ro,["string"]),logoutHandlerName:Ii(Mo,["string"]),enableJsonp:Ii(!1,["boolean"]),enableAuth:Ii(!1,["boolean"]),useJwt:Ii(!0,["boolean"]),useLocalstorage:Ii(!0,["boolean"]),storageKey:Ii("storageKey",["string"]),authKey:Ii("authKey",["string"]),contractExpired:Ii(0,["number"]),keepContract:Ii(!0,["boolean"]),exposeContract:Ii(!1,["boolean"]),showContractDesc:Ii(!1,["boolean"]),contractKey:Ii(!1,["boolean"]),contractKeyName:Ii("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ii(!1,["boolean"]),timeout:Ii(5e3,["number"]),returnInstance:Ii(!1,["boolean"]),allowReturnRawToken:Ii(!1,["boolean"]),debugOn:Ii(!1,["boolean"])};function wa(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=null),function(t){var e=t.contract;return Ji(t,_a,ma).then(function(t){return t.contract=e,t})}(e).then(function(t){return{baseClient:new ga(t,r),opts:t}}).then(function(e){var r=e.baseClient,n=e.opts;return Ki(r,n.contract).then(function(e){return ba(r,n,e,t)})})}var ja=new WeakMap,Sa=new WeakMap;var Oa=function(){this.__suspend__=null,this.queueStore=new Set},ka={$suspend:{configurable:!0},$queues:{configurable:!0}};ka.$suspend.set=function(t){var e=this;if("boolean"!=typeof t)throw new Error("$suspend only accept Boolean value!");var r=this.__suspend__;this.__suspend__=t,this.logger("($suspend)","Change from "+r+" --\x3e "+t),!0===r&&!1===t&&setTimeout(function(){e.release()},1)},Oa.prototype.$queue=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return!0===this.__suspend__&&(this.logger("($queue)","added to $queue",t),this.queueStore.add(t)),this.__suspend__},ka.$queues.get=function(){var t=this.queueStore.size;return this.logger("($queues)","size: "+t),t>0?Array.from(this.queueStore):[]},Oa.prototype.release=function(){var t=this,e=this.queueStore.size;if(this.logger("(release)","Release was called "+e),e>0){var r=Array.from(this.queueStore);this.queueStore.clear(),this.logger("queue",r),r.forEach(function(e){t.logger(e),Reflect.apply(t.$trigger,t,e)}),this.logger("Release size "+this.queueStore.size)}},Object.defineProperties(Oa.prototype,ka);var Aa=function(t){function e(e){void 0===e&&(e={}),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={$done:{configurable:!0}};return e.prototype.logger=function(){},e.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("($on)",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("($on)",t+" found in lazy store");var i=0;return o.forEach(function(o){var a=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,a,r||u),i+=n.addToNormalStore(t,"on",e,r||u)}),i},e.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("($once)",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("($once)",n);var o=Array.from(n)[0],i=o[0],a=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,i,r||a),this.$off(t)},e.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,i=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("($only)",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==i)&&(this.logger("($only)",t+" found data in lazy store to execute"),Array.from(i).forEach(function(t){var o=t[0],i=t[1],a=t[2];if(a&&"only"!==a)throw new Error("You are trying to register an event already been taken by other type: "+a);n.run(e,o,r||i)}));return o},e.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("($onlyOnce)",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("($onlyOnce)",o);var i=Array.from(o)[0],a=i[0],u=i[1],c=i[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,a,r||u),this.$off(t)}return n},e.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},e.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,i=this.normalStore;if(this.logger("($trigger)","normalStore",i),i.has(t)){var a=this.$queue(t,e,r,n);if(this.logger("($trigger)",t,"found; add to queue: ",a),!0===a)return!1;for(var u=Array.from(i.get(t)),c=u.length,s=!1,f=0;f0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("(addToStore)",e+" existed"),r=t.get(e)):(this.logger("(addToStore)","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var i=n[2];this.checkTypeInLazyStore(e,i)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("(addToStore)","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},e.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},e.prototype.checkTypeInStore=function(t,e){this.validateEvt(t,e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},e.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t,e);var r=this.lazyStore.get(t);return this.logger("(checkTypeInLazyStore)",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},e.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("(addToNormalStore)",t,e,"try to add to normal store"),this.checkTypeInStore(t,e)){this.logger("(addToNormalStore)",e+" can add to "+t+" normal store");var o=this.hashFnToKey(r),i=[this.normalStore,t,o,r,n,e],a=Reflect.apply(this.addToStore,this,i),u=a[0],c=a[1];return this.normalStore=u,c}return!1},e.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var i=Reflect.apply(this.addToStore,this,o),a=i[0],u=i[1];return this.lazyStore=a,u},e.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},r.normalStore.set=function(t){ja.set(this,t)},r.normalStore.get=function(){return ja.get(this)},r.lazyStore.set=function(t){Sa.set(this,t)},r.lazyStore.get=function(){return Sa.get(this)},e.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(e.prototype,r),e}(Oa));function Ea(t,e,r){var n=e.contract,o=function(t){return Ri(t,_a,ma)}(e),i=new ga(o,r);return ba(i,o,n,t)}return function(t,e){var r,n=(r=t.debugOn,new Aa({logger:r?function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];t.unshift("[NBS]"),console.log.apply(null,t)}:void 0}));return t.contract&&Vi(t.contract)?Ea(n,t,e):wa(n,t,e)}}); //# sourceMappingURL=slim.js.map diff --git a/packages/http-client/dist/static.js b/packages/http-client/dist/static.js index 08fff6002dd0be590ef15d260f2abd1f3c9b9978..80366b74220e6fe5cc962281e839efbee309306a 100644 --- a/packages/http-client/dist/static.js +++ b/packages/http-client/dist/static.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClientStatic=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n=e(function(t,e){var r;r=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=2)}([function(t,e,r){var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports={type:function(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()},isObject:function(t,e){return e?"object"===this.type(t):t&&"object"===(void 0===t?"undefined":n(t))},isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},trim:function(t){return t.replace(/(^\s*)|(\s*$)/g,"")},encode:function(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")},formatParams:function(t){var e="",r=!0,n=this;if(!this.isObject(t))return t;return function t(o,i){var a=n.encode,u=n.type(o);if("array"==u)o.forEach(function(e,r){n.isObject(e)||(r=""),t(e,i+"%5B"+r+"%5D")});else if("object"==u)for(var c in o)t(o[c],i?i+"%5B"+a(c)+"%5D":a(c));else r||(e+="&"),r=!1,e+=i+"="+a(o)}(t,""),e},merge:function(t,e){for(var r in e)t.hasOwnProperty(r)?this.isObject(e[r],1)&&this.isObject(t[r],1)&&this.merge(t[r],e[r]):t[r]=e[r];return t}}},,function(t,e,r){var n=function(){function t(t,e){for(var r=0;r0&&(t+=(-1===t.indexOf("?")?"?":"&")+w.join("&")),a.open(r.method,t);try{a.withCredentials=!!r.withCredentials,a.timeout=r.timeout||0,"stream"!==y&&(a.responseType=y)}catch(t){}var j=r.headers[u]||r.headers[c],O="application/x-www-form-urlencoded";for(var S in o.trim((j||"").toLowerCase())===O?e=o.formatParams(e):o.isFormData(e)||-1===["object","array"].indexOf(o.type(e))||(O="application/json;charset=utf-8",e=JSON.stringify(e)),j||b||(r.headers[u]=O),r.headers)if(S===u&&o.isFormData(e))delete r.headers[S];else try{a.setRequestHeader(S,r.headers[S])}catch(t){}function k(t,e,n){v(l.p,function(){if(t){n&&(e.request=r);var o=t.call(l,e,Promise);e=void 0===o?e:o}d(e)||(e=Promise[0===n?"resolve":"reject"](e)),e.then(function(t){s(t)}).catch(function(t){h(t)})})}function E(t){t.engine=a,k(l.onerror,t,-1)}function A(t,e){this.message=t,this.status=e}a.onload=function(){try{var t=a.response||a.responseText;t&&r.parseJson&&-1!==(a.getResponseHeader(u)||"").indexOf("json")&&!o.isObject(t)&&(t=JSON.parse(t));var e=a.responseHeaders;if(!e){e={};var n=(a.getAllResponseHeaders()||"").split("\r\n");n.pop(),n.forEach(function(t){if(t){var r=t.split(":")[0];e[r]=a.getResponseHeader(r)}})}var i=a.status,c=a.statusText,s={data:t,headers:e,status:i,statusText:c};if(o.merge(s,a._response),i>=200&&i<300||304===i)s.engine=a,s.request=r,k(l.handler,s,0);else{var f=new A(c,i);f.response=s,E(f)}}catch(f){E(new A(f.msg,a.status))}},a.onerror=function(t){E(new A(t.msg||"Network Error",0))},a.ontimeout=function(){E(new A("timeout [ "+a.timeout+"ms ]",1))},a._options=r,setTimeout(function(){a.send(b?null:e)},0)}(n):s(n)},function(t){h(t)})})});return h.engine=a,h}},{key:"all",value:function(t){return Promise.all(t)}},{key:"spread",value:function(t){return function(e){return t.apply(null,e)}}}]),t}();a.default=a,["get","post","put","patch","head","delete"].forEach(function(t){a.prototype[t]=function(e,r,n){return this.request(e,r,o.merge({method:t},n))}}),["lock","unlock","clear"].forEach(function(t){a.prototype[t]=function(){this.interceptors.request[t]()}}),t.exports=a}])},t.exports=r()}),o=(r=n)&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,i="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},a="object"==typeof i&&i&&i.Object===Object&&i,u="object"==typeof self&&self&&self.Object===Object&&self,c=a||u||Function("return this")(),s=c.Symbol,f=Object.prototype,l=f.hasOwnProperty,p=f.toString,h=s?s.toStringTag:void 0;var d=Object.prototype.toString;var v="[object Null]",g="[object Undefined]",y=s?s.toStringTag:void 0;function b(t){return null==t?void 0===t?g:v:y&&y in Object(t)?function(t){var e=l.call(t,h),r=t[h];try{t[h]=void 0;var n=!0}catch(t){}var o=p.call(t);return n&&(e?t[h]=r:delete t[h]),o}(t):function(t){return d.call(t)}(t)}function m(t){return null!=t&&"object"==typeof t}var _="[object Symbol]";function w(t){return"symbol"==typeof t||m(t)&&b(t)==_}function j(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++rt>=Q)return arguments[0]}else rt=0;return et.apply(void 0,arguments)});function at(t){return t!=t}function ut(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=yt}function mt(t){return null!=t&&bt(t.length)&&!N(t)}var _t=Object.prototype;function wt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||_t)}var jt="[object Arguments]";function Ot(t){return m(t)&&b(t)==jt}var St=Object.prototype,kt=St.hasOwnProperty,Et=St.propertyIsEnumerable,At=Ot(function(){return arguments}())?Ot:function(t){return m(t)&&kt.call(t,"callee")&&!Et.call(t,"callee")};var xt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Tt=xt&&"object"==typeof module&&module&&!module.nodeType&&module,Pt=Tt&&Tt.exports===xt?c.Buffer:void 0,qt=(Pt?Pt.isBuffer:void 0)||function(){return!1},Ct={};Ct["[object Float32Array]"]=Ct["[object Float64Array]"]=Ct["[object Int8Array]"]=Ct["[object Int16Array]"]=Ct["[object Int32Array]"]=Ct["[object Uint8Array]"]=Ct["[object Uint8ClampedArray]"]=Ct["[object Uint16Array]"]=Ct["[object Uint32Array]"]=!0,Ct["[object Arguments]"]=Ct["[object Array]"]=Ct["[object ArrayBuffer]"]=Ct["[object Boolean]"]=Ct["[object DataView]"]=Ct["[object Date]"]=Ct["[object Error]"]=Ct["[object Function]"]=Ct["[object Map]"]=Ct["[object Number]"]=Ct["[object Object]"]=Ct["[object RegExp]"]=Ct["[object Set]"]=Ct["[object String]"]=Ct["[object WeakMap]"]=!1;var $t="object"==typeof exports&&exports&&!exports.nodeType&&exports,Nt=$t&&"object"==typeof module&&module&&!module.nodeType&&module,zt=Nt&&Nt.exports===$t&&a.process,Ft=function(){try{var t=Nt&&Nt.require&&Nt.require("util").types;return t||zt&&zt.binding&&zt.binding("util")}catch(t){}}(),It=Ft&&Ft.isTypedArray,Rt=It?function(t){return function(e){return t(e)}}(It):function(t){return m(t)&&bt(t.length)&&!!Ct[b(t)]},Jt=Object.prototype.hasOwnProperty;function Mt(t,e){var r=O(t),n=!r&&At(t),o=!r&&!n&&qt(t),i=!r&&!n&&!o&&Rt(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r-1},ie.prototype.set=function(t,e){var r=this.__data__,n=ne(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var ae=W(c,"Map");function ue(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ce(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++nu))return!1;var s=i.get(t);if(s&&i.get(e))return s==e;var f=-1,l=!0,p=r&yr?new dr:void 0;for(i.set(t,e),i.set(e,t);++f1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=mn.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!x(r))return!1;var n=typeof e;return!!("number"==n?mt(r)&&ft(e,r.length):"string"==n&&e in r)&&pt(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&ut(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function An(t){return!!O(t)||null!=t&&""!==En(t)}var xn=function(t){return!hn(t)&&!gn(parseFloat(t))},Tn=function(t){return""!==En(t)&&hn(t)},Pn=function(t){return function(t){return!0===t||!1===t||m(t)&&b(t)==dn}(t)},qn=function(t,e){return void 0===e&&(e=!0),!yn(t)&&""!==t&&""!==En(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},Cn="application/vnd.api+json",$n={Accept:Cn,"Content-Type":[Cn,"charset=utf-8"].join(";")},Nn="payload",zn="condition",Fn="args",In=["POST","PUT"],Rn="continue",Jn="type",Mn="optional",Un="enumv",Dn="args",Hn="checker",Ln="alias",Bn="login",Kn="logout",Wn={desc:"y"},Gn="No message",Vn=Jn,Yn=Mn,Xn=Un,Qn=Dn,Zn=Hn,to=Ln,eo=Rn,ro=function(t){switch(t){case"number":return xn;case"string":return Tn;case"boolean":return Pn;default:return qn}},no=function(t,e){return void 0===e&&(e=""),!!O(t)&&(""===e||""===En(e)||!(t.filter(function(t){return!ro(e)(t)}).length>0))},oo=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},io=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!ro(e)(t)}).length)}).length:e.length>e.filter(function(t){return!no(r,t)}).length},ao=function(t,e){if(void 0===e&&(e=null),xe(t)){if(!e)return!0;if(no(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!yn(r)||(!1!==(e=oo(t))?!io({arg:r},e):!ro(t)(r))}).length)}).length}return!1},uo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),co=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),so=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),fo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),lo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),po=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),ho=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),vo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),go=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),yo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),bo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),mo=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),_o=Object.freeze({Jsonql406Error:uo,Jsonql500Error:co,JsonqlAuthorisationError:so,JsonqlContractAuthError:fo,JsonqlResolverAppError:lo,JsonqlResolverNotFoundError:po,JsonqlEnumError:ho,JsonqlTypeError:vo,JsonqlCheckerError:go,JsonqlValidationError:yo,JsonqlError:bo,JsonqlServerError:mo}),wo=bo,jo=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function Oo(t){if(jo(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,i=e.message||Gn,a=e.detail||e;if(o&&_o[o])throw new _o[r](i,a);throw new wo(i,a)}return t}function So(t){if(Array.isArray(t))throw new yo("",t);var e=t.message||Gn,r=t.detail||t;switch(!0){case t instanceof uo:throw new uo(e,r);case t instanceof co:throw new co(e,r);case t instanceof so:throw new so(e,r);case t instanceof fo:throw new fo(e,r);case t instanceof lo:throw new lo(e,r);case t instanceof po:throw new po(e,r);case t instanceof ho:throw new ho(e,r);case t instanceof vo:throw new vo(e,r);case t instanceof go:throw new go(e,r);case t instanceof yo:throw new yo(e,r);case t instanceof mo:throw new mo(e,r);default:throw new bo(e,r)}}var ko=function(t,e){var r,n,o,i,a;switch(!0){case"object"===t:return o=(n=e).arg,i=n.param,a=[o],Array.isArray(i.keys)&&i.keys.length&&a.push(i.keys),!ao.apply(null,a);case"array"===t:return!no(e.arg);case!1!==(r=oo(t)):return!io(e,r);default:return!ro(t)(e.arg)}},Eo=function(t,e){return yn(t)?!0!==e.optional||yn(e.defaultvalue)?null:e.defaultvalue:t},Ao=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!no(e))throw new bo("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!no(t))throw new bo("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=oo(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new bo("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),i=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!An(e)||r.type.length>r.type.filter(function(e){return ko(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ko(e,t)}).length)});return r?((n={}).error=i,n.data=o.map(function(t){return t.arg}),n):i},xo=function(t,e){return!!t.filter(function(t){return t===e}).length},To=function(t,e){var r=Object.keys(t);return xo(r,e)},Po=function(t){return!An(t)};function qo(t,e){var r=Sn(e,function(t,e){return!t[to]});return Lr(r,{})?t:function(t,e){var r={};return e=rn(e),an(t,function(t,n,o){lt(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,rn(function(t){return t.alias===e}),an)||e})}function Co(t,e){return bn(e,function(e,r){var n,o;return yn(t[r])||!0===e[Yn]&&Po(t[r])?_n({},e,((n={})[eo]=!0,n)):((o={})[Qn]=t[r],o[Vn]=e[Vn],o[Yn]=e[Yn]||!1,o[Xn]=e[Xn]||!1,o[Zn]=e[Zn]||!1,o)})}function $o(t,e){var r=function(t,e){var r=qo(t,e);return{pristineValues:bn(Sn(e,function(t,e){return To(r,e)}),function(t){return t.args}),checkAgainstAppProps:Sn(e,function(t,e){return!To(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[Co(n,r.checkAgainstAppProps),o]}var No=function(t){return no(t)?t:[t]};var zo=function(t,e){return!no(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Fo=function(t,e){try{return!!N(e)&&e.apply(null,[t])}catch(t){return!1}};function Io(t){return function(e,r){if(e[eo])return e[Qn];var n=function(t,e){var r,n=[[t[Qn]],[(r={},r[Vn]=No(t[Vn]),r[Yn]=t[Yn],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new vo(r,n);if(!1!==e[Xn]&&!zo(e[Qn],e[Xn]))throw new ho(r);if(!1!==e[Zn]&&!Fo(e[Qn],e[Zn]))throw new go(r);return e[Qn]}}function Ro(t,e,r,n){return void 0===t&&(t={}),_n(function(t,e){var r=t[0],n=t[1],o=bn(r,Io(e));return _n(o,n)}($o(t,e),n),r)}var Jo=ao,Mo=Tn,Uo=no,Do=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var i=Ao(t,e,r);return r?i.error.length?o(i.error):n(i.data):i.length?o(i):n([])})},Ho=function(t,e,r){void 0===r&&(r={});var n=r[Mn],o=r[Un],i=r[Hn],a=r[Ln];return function(t,e,r,n,o,i){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===i&&(i=!1);var a={};return a[Dn]=t,a[Jn]=e,!0===r&&(a[Mn]=!0),no(n)&&(a[Un]=n),N(o)&&(a[Hn]=o),hn(i)&&(a[Ln]=i),a}.apply(null,[t,e,n,o,i,a])},Lo=function(t){return function(e,r,n){return void 0===n&&(n={}),Ro(e,r,n,t)}}(Ao),Bo=xo,Ko=To,Wo=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),Tn(t)&&no(e)){var o={};return o[Fn]=e,!0===r?o:((n={})[t]=o,n)}throw new yo("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Go=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var i={};if(i[Nn]=e,i[zn]=r,!0===n)return i;if(Tn(t))return(o={})[t]=i,o;throw new yo("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Vo=function(t){return Object.keys(t)[0]},Yo=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.auth[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Do(r,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(So)}};var Xo=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return t.join("_")},Qo=function(){return Math.floor(Date.now()/1e3)},Zo=function(t,e){return void 0===e&&(e={}),ei(e)?Promise.resolve(e):t.getContract()},ti=function(t){return Ko(t,"data")&&!Ko(t,"error")?t.data:t},ei=function(t){return t&&Jo(t)&&(Ko(t,"query")||Ko(t,"mutation"))},ri="result",ni="error",oi=function(t,e){return function(r){for(var n=[],o=arguments.length-1;o-- >0;)n[o]=arguments[o+1];return new Promise(function(o,i){t.$only(Xo(e,r,ri),o),t.$only(Xo(e,+r,ni),i),t.$trigger(e,{resolverName:r,args:n})})}};function ii(t,e,r,n){var o=function(t,e,r,n){var o={query:{},mutation:{}},i=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.query[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Do(a,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(So)}};for(var a in n.query)i(a);var u=function(e){o.mutation[e]=function(r,o,i){void 0===i&&(i={});var a=[r,o],u=n.mutation[e].params;return Do(a,u).then(function(){return t.mutation.apply(t,[e,r,o,i])}).catch(So)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Yo(t,s,r,n);return a.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Bn,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Yo(t,f,r,n);return a.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Kn,t),t})}:o[f]=function(){t.postLogoutAction(Rn),e.$trigger(Kn,Rn)}}return o}(e,t,r,n),i=function(e){t.$only(e,function(r){var n=r.resolverName,i=r.args;o[e][n]&&Reflect.apply(o[e][n],null,i).then(function(r){t.$trigger(Xo(e,n,ri),r)}).catch(function(r){t.$trigger(Xo(e,n,ni),error)})})};for(var a in o)i(a);t.$suspend=!1}var ai=function(t,e,r,n){n.$suspend=!0;var o={query:oi(n,"query"),mutation:oi(n,"mutation"),auth:oi(n,"auth"),getToken:function(){return t.rawAuthToken}};return e.exposeContract&&(o.getContract=function(){return t.get()}),e.enableAuth&&(o.userdata=function(){return t.userdata}),r.then(function(r){ii(n,t,e,r)}),o.version="1.3.0",o},ui=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,i=1;i=0;e--){var r=Ti().key(e);t(Pi(r),r)}},remove:function(t){return Ti().removeItem(t)},clearAll:function(){return Ti().clear()}};function Ti(){return Ai.localStorage}function Pi(t){return Ti().getItem(t)}var qi=li.trim,Ci={name:"cookieStorage",read:function(t){if(!t||!Fi(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape($i.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;$i.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:Ni,remove:zi,clearAll:function(){Ni(function(t,e){zi(e)})}},$i=li.Global.document;function Ni(t){for(var e=$i.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(qi(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function zi(t){t&&Fi(t)&&($i.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function Fi(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test($i.cookie)}var Ii=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var Ri="expire_mixin",Ji=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+Ri);return{set:function(e,r,n,o){this.hasNamespace(Ri)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(Ri)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(Ri)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=a%256}return r},decompressFromUint8Array:function(e){if(null==e)return i.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),a[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:i._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,i,a,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(a=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 2:return""}for(l[3]=f,i=f,g.push(f);;){if(y.index>e)return"";for(a=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(f=a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=i+i.charAt(0)}g.push(v),l[h++]=i+v.charAt(0),i=v,0==--p&&(p=Math.pow(2,d),d++)}}};return i}();null!=t&&(t.exports=e)});var Wi=[xi,Ci],Gi=[Ii,Ji,Li,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=Ki.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=Ki.compress(this._serialize(r));t(e,n)}}}],Vi=Si.createStore(Wi,Gi),Yi=li.Global;function Xi(){return Yi.sessionStorage}function Qi(t){return Xi().getItem(t)}var Zi=[{name:"sessionStorage",read:Qi,write:function(t,e){return Xi().setItem(t,e)},each:function(t){for(var e=Xi().length-1;e>=0;e--){var r=Xi().key(e);t(Qi(r),r)}},remove:function(t){return Xi().removeItem(t)},clearAll:function(){return Xi().clear()}},Ci],ta=[Ii,Ji],ea=Si.createStore(Zi,ta),ra=Vi,na=ea,oa="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ia(t){this.message=t}ia.prototype=new Error,ia.prototype.name="InvalidCharacterError";var aa="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ia("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,i=0,a="";n=e.charAt(i++);~n&&(r=o%4?64*r+n:n,o++%4)?a+=String.fromCharCode(255&r>>(-2*o&6)):0)n=oa.indexOf(n);return a};var ua=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(aa(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return aa(e)}};function ca(t){this.message=t}ca.prototype=new Error,ca.prototype.name="InvalidTokenError";var sa,fa,la,pa,ha,da,va,ga,ya,ba=function(t,e){if("string"!=typeof t)throw new ca("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ua(t.split(".")[r]))}catch(t){throw new ca("Invalid token specified: "+t.message)}},ma=ca;function _a(t){if(Mo(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new bo("Token has expired on "+r,t)}return t}(ba(t));throw new bo("Token must be a string!")}ba.InvalidTokenError=ma;Ho("HS256",["string"]),Ho(!1,["boolean","number","string"],((sa={})[Ln]="exp",sa[Mn]=!0,sa)),Ho(!1,["boolean","number","string"],((fa={})[Ln]="nbf",fa[Mn]=!0,fa)),Ho(!1,["boolean","string"],((la={})[Ln]="iss",la[Mn]=!0,la)),Ho(!1,["boolean","string"],((pa={})[Ln]="sub",pa[Mn]=!0,pa)),Ho(!1,["boolean","string"],((ha={})[Ln]="iss",ha[Mn]=!0,ha)),Ho(!1,["boolean"],((da={})[Mn]=!0,da)),Ho(!1,["boolean","string"],((va={})[Mn]=!0,va)),Ho(!1,["boolean","string"],((ga={})[Mn]=!0,ga)),Ho(!1,["boolean"],((ya={})[Mn]=!0,ya));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new yo("WebSocket is NOT SUPPORTED!")}}();var wa=In[0],ja=In[1],Oa=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},Sa={headers:{configurable:!0}};Sa.headers.set=function(t){this.extraHeader=t},Oa.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=_n({},{_cb:Qo()},this.extraParams);if(this.opts.enableJsonp){var i=Vo(t);o=_n({},o,((n={}).jsonqlJsonpCallback=i,n)),t=t[i]}return this.fly.request(this.jsonqlEndpoint,t,_n({},{method:wa,params:o},e))},Oa.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},Oa.prototype.processJsonp=function(t){return ti(t)},Oa.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Mo(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):ti(o)},function(t){throw e.cleanUp(),console.error(t),new mo("Server side error",t)})},Oa.prototype.getHeaders=function(){return this.opts.enableAuth?_n({},$n,this.getAuthHeader(),this.extraHeader):_n({},$n,this.extraHeader)},Oa.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},Oa.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=_n({},this.extraParams,Wn)),this.request({},{method:"GET"},this.contractHeader).then(Oo).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},Oa.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Wo(t,e)).then(Oo)},Oa.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Go(t,e,r),{method:ja}).then(Oo)},Object.defineProperties(Oa.prototype,Sa);var ka=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Uo(t)&&t.length>=2&&Reflect.apply(ra.set,ra,t),new yo("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=ra.get("endpoint")||[];Bo(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],i=ra.get(e)||[];i[this.endpointIndex||0]=n,r.push(i),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Bo(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var i=parseFloat(this.opts.tokenExpired);if(!isNaN(i)&&i>0){var a=Qo();o.push(a+parseFloat(i))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(ra.set,ra,e)},r.jsonqlEndpoint.get=function(){var t=ra.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(ra.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return na.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=_a)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!ei(t))throw new yo("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return ei(this.opts.contract)?this.opts.contract:ra.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(Oa))),Ea={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:Cn,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Aa={hostname:Ho([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ho("jsonql",["string"]),loginHandlerName:Ho(Bn,["string"]),logoutHandlerName:Ho(Kn,["string"]),enableJsonp:Ho(!1,["boolean"]),enableAuth:Ho(!1,["boolean"]),useJwt:Ho(!0,["boolean"]),useLocalstorage:Ho(!0,["boolean"]),storageKey:Ho("storageKey",["string"]),authKey:Ho("authKey",["string"]),contractExpired:Ho(0,["number"]),keepContract:Ho(!0,["boolean"]),exposeContract:Ho(!1,["boolean"]),showContractDesc:Ho(!1,["boolean"]),contractKey:Ho(!1,["boolean"]),contractKeyName:Ho("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ho(!1,["boolean"]),timeout:Ho(5e3,["number"]),returnInstance:Ho(!1,["boolean"]),allowReturnRawToken:Ho(!1,["boolean"]),debugOn:Ho(!1,["boolean"])};var xa=new WeakMap,Ta=new WeakMap;var Pa=function(){};Pa.prototype.watch||Object.defineProperty(Pa.prototype,"watch",{enumerable:!1,configurable:!0,writable:!1,value:function(t,e){var r=this[t],n=r;delete this[t]&&Object.defineProperty(this,t,{get:function(){return n},set:function(o){return r=n,n=e.call(this,o,t,r)},enumerable:!0,configurable:!0})}});var qa=function(t){function e(e){void 0===e&&(e={}),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={$done:{configurable:!0}};return e.prototype.logger=function(){},e.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var i=0;return o.forEach(function(o){var a=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,a,r||u),i+=n.addToNormalStore(t,"on",e,r||u)}),i},e.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],i=o[0],a=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,i,r||a),this.$off(t)},e.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,i=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==i)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(i).forEach(function(t){var o=t[0],i=t[1],a=t[2];if(a&&"only"!==a)throw new Error("You are trying to register an event already been taken by other type: "+a);n.run(e,o,r||i)}));return o},e.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var i=Array.from(o)[0],a=i[0],u=i[1],c=i[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,a,r||u),this.$off(t)}return n},e.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},e.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,i=this.normalStore;if(this.logger("$trigger",i),i.has(t)){var a=this.$queue(t,e,r,n);if(this.logger("$trigger",t,"found; add to queue: ",a),!0===a)return!1;for(var u=Array.from(i.get(t)),c=u.length,s=!1,f=0;f0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var i=n[2];this.checkTypeInLazyStore(e,i)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},e.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},e.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},e.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},e.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),i=[this.normalStore,t,o,r,n,e],a=Reflect.apply(this.addToStore,this,i),u=a[0],c=a[1];return this.normalStore=u,c}return!1},e.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var i=Reflect.apply(this.addToStore,this,o),a=i[0],u=i[1];return this.lazyStore=a,u},e.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},r.normalStore.set=function(t){xa.set(this,t)},r.normalStore.get=function(){return xa.get(this)},r.lazyStore.set=function(t){Ta.set(this,t)},r.lazyStore.get=function(){return Ta.get(this)},e.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(e.prototype,r),e}(function(t){function e(){t.call(this),this.suspend=null,this.queueStore=new Set,this.watch("suspend",function(t,e,r){var n=this;return this.logger(e+" set from "+r+" to "+t),!0===r&&!1===t&&setTimeout(function(){n.release()},1),t})}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={$suspend:{configurable:!0}};return r.$suspend.set=function(t){if("boolean"!=typeof t)throw new Error("$suspend only accept Boolean value!");this.suspend=t},e.prototype.$queue=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return!0===this.suspend&&this.queueStore.add(t),this.suspend},e.prototype.release=function(){var t=this,e=this.queueStore.size;if(this.logger("Release was called "+e),e>0){var r=Array.from(this.queueStore);this.queueStore.clear(),this.logger("queue",r),r.forEach(function(e){t.logger(e),Reflect.apply(t.$trigger,t,e)}),this.logger("Release size "+this.queueStore.size)}},Object.defineProperties(e.prototype,r),e}(Pa)));function Ca(t,e){void 0===t&&(t={});var r,n,o=t.contract,i=function(t){return Lo(t,Aa,Ea)}(t),a=new ka(i,e),u=Zo(a,o),c=(r=i.debugOn,n=r?console.info:void 0,new qa(n)),s=ai(a,i,u,c);return s.eventEmitter=c,s}return function(t){return void 0===t&&(t={}),Ca(t,o)}}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClientStatic=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n=e(function(t,e){var r;r=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=2)}([function(t,e,r){var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports={type:function(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()},isObject:function(t,e){return e?"object"===this.type(t):t&&"object"===(void 0===t?"undefined":n(t))},isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},trim:function(t){return t.replace(/(^\s*)|(\s*$)/g,"")},encode:function(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")},formatParams:function(t){var e="",r=!0,n=this;if(!this.isObject(t))return t;return function t(o,i){var a=n.encode,u=n.type(o);if("array"==u)o.forEach(function(e,r){n.isObject(e)||(r=""),t(e,i+"%5B"+r+"%5D")});else if("object"==u)for(var c in o)t(o[c],i?i+"%5B"+a(c)+"%5D":a(c));else r||(e+="&"),r=!1,e+=i+"="+a(o)}(t,""),e},merge:function(t,e){for(var r in e)t.hasOwnProperty(r)?this.isObject(e[r],1)&&this.isObject(t[r],1)&&this.merge(t[r],e[r]):t[r]=e[r];return t}}},,function(t,e,r){var n=function(){function t(t,e){for(var r=0;r0&&(t+=(-1===t.indexOf("?")?"?":"&")+w.join("&")),a.open(r.method,t);try{a.withCredentials=!!r.withCredentials,a.timeout=r.timeout||0,"stream"!==y&&(a.responseType=y)}catch(t){}var j=r.headers[u]||r.headers[c],S="application/x-www-form-urlencoded";for(var O in o.trim((j||"").toLowerCase())===S?e=o.formatParams(e):o.isFormData(e)||-1===["object","array"].indexOf(o.type(e))||(S="application/json;charset=utf-8",e=JSON.stringify(e)),j||b||(r.headers[u]=S),r.headers)if(O===u&&o.isFormData(e))delete r.headers[O];else try{a.setRequestHeader(O,r.headers[O])}catch(t){}function E(t,e,n){v(l.p,function(){if(t){n&&(e.request=r);var o=t.call(l,e,Promise);e=void 0===o?e:o}d(e)||(e=Promise[0===n?"resolve":"reject"](e)),e.then(function(t){s(t)}).catch(function(t){h(t)})})}function k(t){t.engine=a,E(l.onerror,t,-1)}function A(t,e){this.message=t,this.status=e}a.onload=function(){try{var t=a.response||a.responseText;t&&r.parseJson&&-1!==(a.getResponseHeader(u)||"").indexOf("json")&&!o.isObject(t)&&(t=JSON.parse(t));var e=a.responseHeaders;if(!e){e={};var n=(a.getAllResponseHeaders()||"").split("\r\n");n.pop(),n.forEach(function(t){if(t){var r=t.split(":")[0];e[r]=a.getResponseHeader(r)}})}var i=a.status,c=a.statusText,s={data:t,headers:e,status:i,statusText:c};if(o.merge(s,a._response),i>=200&&i<300||304===i)s.engine=a,s.request=r,E(l.handler,s,0);else{var f=new A(c,i);f.response=s,k(f)}}catch(f){k(new A(f.msg,a.status))}},a.onerror=function(t){k(new A(t.msg||"Network Error",0))},a.ontimeout=function(){k(new A("timeout [ "+a.timeout+"ms ]",1))},a._options=r,setTimeout(function(){a.send(b?null:e)},0)}(n):s(n)},function(t){h(t)})})});return h.engine=a,h}},{key:"all",value:function(t){return Promise.all(t)}},{key:"spread",value:function(t){return function(e){return t.apply(null,e)}}}]),t}();a.default=a,["get","post","put","patch","head","delete"].forEach(function(t){a.prototype[t]=function(e,r,n){return this.request(e,r,o.merge({method:t},n))}}),["lock","unlock","clear"].forEach(function(t){a.prototype[t]=function(){this.interceptors.request[t]()}}),t.exports=a}])},t.exports=r()}),o=(r=n)&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,i="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},a="object"==typeof i&&i&&i.Object===Object&&i,u="object"==typeof self&&self&&self.Object===Object&&self,c=a||u||Function("return this")(),s=c.Symbol,f=Object.prototype,l=f.hasOwnProperty,p=f.toString,h=s?s.toStringTag:void 0;var d=Object.prototype.toString;var v="[object Null]",g="[object Undefined]",y=s?s.toStringTag:void 0;function b(t){return null==t?void 0===t?g:v:y&&y in Object(t)?function(t){var e=l.call(t,h),r=t[h];try{t[h]=void 0;var n=!0}catch(t){}var o=p.call(t);return n&&(e?t[h]=r:delete t[h]),o}(t):function(t){return d.call(t)}(t)}function m(t){return null!=t&&"object"==typeof t}var _="[object Symbol]";function w(t){return"symbol"==typeof t||m(t)&&b(t)==_}function j(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++rt>=Q)return arguments[0]}else rt=0;return et.apply(void 0,arguments)});function at(t){return t!=t}function ut(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=yt}function mt(t){return null!=t&&bt(t.length)&&!N(t)}var _t=Object.prototype;function wt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||_t)}var jt="[object Arguments]";function St(t){return m(t)&&b(t)==jt}var Ot=Object.prototype,Et=Ot.hasOwnProperty,kt=Ot.propertyIsEnumerable,At=St(function(){return arguments}())?St:function(t){return m(t)&&Et.call(t,"callee")&&!kt.call(t,"callee")};var xt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Tt=xt&&"object"==typeof module&&module&&!module.nodeType&&module,qt=Tt&&Tt.exports===xt?c.Buffer:void 0,Pt=(qt?qt.isBuffer:void 0)||function(){return!1},Ct={};Ct["[object Float32Array]"]=Ct["[object Float64Array]"]=Ct["[object Int8Array]"]=Ct["[object Int16Array]"]=Ct["[object Int32Array]"]=Ct["[object Uint8Array]"]=Ct["[object Uint8ClampedArray]"]=Ct["[object Uint16Array]"]=Ct["[object Uint32Array]"]=!0,Ct["[object Arguments]"]=Ct["[object Array]"]=Ct["[object ArrayBuffer]"]=Ct["[object Boolean]"]=Ct["[object DataView]"]=Ct["[object Date]"]=Ct["[object Error]"]=Ct["[object Function]"]=Ct["[object Map]"]=Ct["[object Number]"]=Ct["[object Object]"]=Ct["[object RegExp]"]=Ct["[object Set]"]=Ct["[object String]"]=Ct["[object WeakMap]"]=!1;var $t="object"==typeof exports&&exports&&!exports.nodeType&&exports,Nt=$t&&"object"==typeof module&&module&&!module.nodeType&&module,zt=Nt&&Nt.exports===$t&&a.process,Ft=function(){try{var t=Nt&&Nt.require&&Nt.require("util").types;return t||zt&&zt.binding&&zt.binding("util")}catch(t){}}(),Rt=Ft&&Ft.isTypedArray,It=Rt?function(t){return function(e){return t(e)}}(Rt):function(t){return m(t)&&bt(t.length)&&!!Ct[b(t)]},Jt=Object.prototype.hasOwnProperty;function Mt(t,e){var r=S(t),n=!r&&At(t),o=!r&&!n&&Pt(t),i=!r&&!n&&!o&&It(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r-1},ie.prototype.set=function(t,e){var r=this.__data__,n=ne(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var ae=W(c,"Map");function ue(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ce(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++nu))return!1;var s=i.get(t);if(s&&i.get(e))return s==e;var f=-1,l=!0,p=r&yr?new dr:void 0;for(i.set(t,e),i.set(e,t);++f1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=mn.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!x(r))return!1;var n=typeof e;return!!("number"==n?mt(r)&&ft(e,r.length):"string"==n&&e in r)&&pt(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&ut(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function An(t){return!!S(t)||null!=t&&""!==kn(t)}var xn=function(t){return!hn(t)&&!gn(parseFloat(t))},Tn=function(t){return""!==kn(t)&&hn(t)},qn=function(t){return function(t){return!0===t||!1===t||m(t)&&b(t)==dn}(t)},Pn=function(t,e){return void 0===e&&(e=!0),!yn(t)&&""!==t&&""!==kn(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},Cn="application/vnd.api+json",$n={Accept:Cn,"Content-Type":[Cn,"charset=utf-8"].join(";")},Nn="payload",zn="condition",Fn="args",Rn=["POST","PUT"],In="continue",Jn="type",Mn="optional",Un="enumv",Dn="args",Hn="checker",Ln="alias",Bn="login",Kn="logout",Wn={desc:"y"},Gn="No message",Vn="onResult",Yn="onError",Xn=Jn,Qn=Mn,Zn=Un,to=Dn,eo=Hn,ro=Ln,no=In,oo=function(t){switch(t){case"number":return xn;case"string":return Tn;case"boolean":return qn;default:return Pn}},io=function(t,e){return void 0===e&&(e=""),!!S(t)&&(""===e||""===kn(e)||!(t.filter(function(t){return!oo(e)(t)}).length>0))},ao=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},uo=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!oo(e)(t)}).length)}).length:e.length>e.filter(function(t){return!io(r,t)}).length},co=function(t,e){if(void 0===e&&(e=null),xe(t)){if(!e)return!0;if(io(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!yn(r)||(!1!==(e=ao(t))?!uo({arg:r},e):!oo(t)(r))}).length)}).length}return!1},so=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),fo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),lo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),po=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),ho=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),vo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),go=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),yo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),bo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),mo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),_o=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),wo=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),jo=Object.freeze({Jsonql406Error:so,Jsonql500Error:fo,JsonqlAuthorisationError:lo,JsonqlContractAuthError:po,JsonqlResolverAppError:ho,JsonqlResolverNotFoundError:vo,JsonqlEnumError:go,JsonqlTypeError:yo,JsonqlCheckerError:bo,JsonqlValidationError:mo,JsonqlError:_o,JsonqlServerError:wo}),So=_o,Oo=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function Eo(t){if(Oo(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,i=e.message||Gn,a=e.detail||e;if(o&&jo[o])throw new jo[r](i,a);throw new So(i,a)}return t}function ko(t){if(Array.isArray(t))throw new mo("",t);var e=t.message||Gn,r=t.detail||t;switch(!0){case t instanceof so:throw new so(e,r);case t instanceof fo:throw new fo(e,r);case t instanceof lo:throw new lo(e,r);case t instanceof po:throw new po(e,r);case t instanceof ho:throw new ho(e,r);case t instanceof vo:throw new vo(e,r);case t instanceof go:throw new go(e,r);case t instanceof yo:throw new yo(e,r);case t instanceof bo:throw new bo(e,r);case t instanceof mo:throw new mo(e,r);case t instanceof wo:throw new wo(e,r);default:throw new _o(e,r)}}var Ao=function(t,e){var r,n,o,i,a;switch(!0){case"object"===t:return o=(n=e).arg,i=n.param,a=[o],Array.isArray(i.keys)&&i.keys.length&&a.push(i.keys),!co.apply(null,a);case"array"===t:return!io(e.arg);case!1!==(r=ao(t)):return!uo(e,r);default:return!oo(t)(e.arg)}},xo=function(t,e){return yn(t)?!0!==e.optional||yn(e.defaultvalue)?null:e.defaultvalue:t},To=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!io(e))throw new _o("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!io(t))throw new _o("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=ao(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new _o("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),i=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!An(e)||r.type.length>r.type.filter(function(e){return Ao(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return Ao(e,t)}).length)});return r?((n={}).error=i,n.data=o.map(function(t){return t.arg}),n):i},qo=function(t,e){return!!t.filter(function(t){return t===e}).length},Po=function(t,e){var r=Object.keys(t);return qo(r,e)},Co=function(t){return!An(t)};function $o(t,e){var r=On(e,function(t,e){return!t[ro]});return Lr(r,{})?t:function(t,e){var r={};return e=rn(e),an(t,function(t,n,o){lt(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,rn(function(t){return t.alias===e}),an)||e})}function No(t,e){return bn(e,function(e,r){var n,o;return yn(t[r])||!0===e[Qn]&&Co(t[r])?_n({},e,((n={})[no]=!0,n)):((o={})[to]=t[r],o[Xn]=e[Xn],o[Qn]=e[Qn]||!1,o[Zn]=e[Zn]||!1,o[eo]=e[eo]||!1,o)})}function zo(t,e){var r=function(t,e){var r=$o(t,e);return{pristineValues:bn(On(e,function(t,e){return Po(r,e)}),function(t){return t.args}),checkAgainstAppProps:On(e,function(t,e){return!Po(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[No(n,r.checkAgainstAppProps),o]}var Fo=function(t){return io(t)?t:[t]};var Ro=function(t,e){return!io(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Io=function(t,e){try{return!!N(e)&&e.apply(null,[t])}catch(t){return!1}};function Jo(t){return function(e,r){if(e[no])return e[to];var n=function(t,e){var r,n=[[t[to]],[(r={},r[Xn]=Fo(t[Xn]),r[Qn]=t[Qn],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new yo(r,n);if(!1!==e[Zn]&&!Ro(e[to],e[Zn]))throw new go(r);if(!1!==e[eo]&&!Io(e[to],e[eo]))throw new bo(r);return e[to]}}function Mo(t,e,r,n){return void 0===t&&(t={}),_n(function(t,e){var r=t[0],n=t[1],o=bn(r,Jo(e));return _n(o,n)}(zo(t,e),n),r)}var Uo=co,Do=Tn,Ho=io,Lo=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var i=To(t,e,r);return r?i.error.length?o(i.error):n(i.data):i.length?o(i):n([])})},Bo=function(t,e,r){void 0===r&&(r={});var n=r[Mn],o=r[Un],i=r[Hn],a=r[Ln];return function(t,e,r,n,o,i){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===i&&(i=!1);var a={};return a[Dn]=t,a[Jn]=e,!0===r&&(a[Mn]=!0),io(n)&&(a[Un]=n),N(o)&&(a[Hn]=o),hn(i)&&(a[Ln]=i),a}.apply(null,[t,e,n,o,i,a])},Ko=function(t){return function(e,r,n){return void 0===n&&(n={}),Mo(e,r,n,t)}}(To),Wo=qo,Go=Po,Vo=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),Tn(t)&&io(e)){var o={};return o[Fn]=e,!0===r?o:((n={})[t]=o,n)}throw new mo("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Yo=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var i={};if(i[Nn]=e,i[zn]=r,!0===n)return i;if(Tn(t))return(o={})[t]=i,o;throw new mo("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Xo=function(t){return Object.keys(t)[0]},Qo=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.auth[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Lo(r,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(ko)}};var Zo=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return t.join("_")},ti=function(){return Math.floor(Date.now()/1e3)},ei=function(t,e){return void 0===e&&(e={}),ni(e)?Promise.resolve(e):t.getContract()},ri=function(t){return Go(t,"data")&&!Go(t,"error")?t.data:t},ni=function(t){return t&&Uo(t)&&(Go(t,"query")||Go(t,"mutation"))},oi=function(t,e){return function(r){for(var n=[],o=arguments.length-1;o-- >0;)n[o]=arguments[o+1];return new Promise(function(o,i){t.$only(Zo(e,r,Vn),o),t.$only(Zo(e,r,Yn),i),t.$trigger(e,{resolverName:r,args:n})})}},ii=function(t,e,r){var n=t.$queues,o=r.debugOn;o&&console.info("(validateRegisteredEvents)","storedEvt",n),n.forEach(function(t){var r=t[0],n=t[1].resolverName;if(o&&console.info("(validateRegisteredEvents)",r,n),!e[r][n])throw new Error(r+"."+n+" not existed in contract!")})};function ai(t,e,r,n){var o=function(t,e,r,n){var o={query:{},mutation:{}},i=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.query[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Lo(a,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(ko)}};for(var a in n.query)i(a);var u=function(e){o.mutation[e]=function(r,o,i){void 0===i&&(i={});var a=[r,o],u=n.mutation[e].params;return Lo(a,u).then(function(){return t.mutation.apply(t,[e,r,o,i])}).catch(ko)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){o.auth={};var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o.auth[s]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Qo(t,s,r,n);return a.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Bn,t),t})}),n.auth[f]?o.auth[f]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Qo(t,f,r,n);return a.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Kn,t),t})}:o.auth[f]=function(){t.postLogoutAction(In),e.$trigger(Kn,In)}}return o}(t,e,r,n);ii(e,n,r);var i=function(t){e.$only(t,function(r){var n=r.resolverName,i=r.args;o[t][n]?Reflect.apply(o[t][n],null,i).then(function(r){e.$trigger(Zo(t,n,Vn),r)}).catch(function(r){e.$trigger(Zo(t,n,Yn),r)}):console.error(n+" is not defined in the contract!")})};for(var a in o)i(a);setTimeout(function(){e.$suspend=!1},1)}var ui=function(t,e,r,n){n.$suspend=!0,r.then(function(r){ai(t,n,e,r)});var o={query:oi(n,"query"),mutation:oi(n,"mutation"),auth:oi(n,"auth"),getToken:function(){return t.rawAuthToken}};return e.exposeContract&&(o.getContract=function(){return t.get()}),e.enableAuth&&(o.userdata=function(){return t.userdata}),o.version="1.3.1",o},ci=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,i=1;i=0;e--){var r=qi().key(e);t(Pi(r),r)}},remove:function(t){return qi().removeItem(t)},clearAll:function(){return qi().clear()}};function qi(){return xi.localStorage}function Pi(t){return qi().getItem(t)}var Ci=pi.trim,$i={name:"cookieStorage",read:function(t){if(!t||!Ri(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(Ni.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;Ni.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:zi,remove:Fi,clearAll:function(){zi(function(t,e){Fi(e)})}},Ni=pi.Global.document;function zi(t){for(var e=Ni.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(Ci(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function Fi(t){t&&Ri(t)&&(Ni.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function Ri(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(Ni.cookie)}var Ii=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var Ji="expire_mixin",Mi=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+Ji);return{set:function(e,r,n,o){this.hasNamespace(Ji)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(Ji)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(Ji)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=a%256}return r},decompressFromUint8Array:function(e){if(null==e)return i.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),a[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:i._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,i,a,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(a=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 2:return""}for(l[3]=f,i=f,g.push(f);;){if(y.index>e)return"";for(a=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(f=a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=i+i.charAt(0)}g.push(v),l[h++]=i+v.charAt(0),i=v,0==--p&&(p=Math.pow(2,d),d++)}}};return i}();null!=t&&(t.exports=e)});var Gi=[Ti,$i],Vi=[Ii,Mi,Bi,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=Wi.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=Wi.compress(this._serialize(r));t(e,n)}}}],Yi=Ei.createStore(Gi,Vi),Xi=pi.Global;function Qi(){return Xi.sessionStorage}function Zi(t){return Qi().getItem(t)}var ta=[{name:"sessionStorage",read:Zi,write:function(t,e){return Qi().setItem(t,e)},each:function(t){for(var e=Qi().length-1;e>=0;e--){var r=Qi().key(e);t(Zi(r),r)}},remove:function(t){return Qi().removeItem(t)},clearAll:function(){return Qi().clear()}},$i],ea=[Ii,Mi],ra=Ei.createStore(ta,ea),na=Yi,oa=ra,ia="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function aa(t){this.message=t}aa.prototype=new Error,aa.prototype.name="InvalidCharacterError";var ua="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new aa("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,i=0,a="";n=e.charAt(i++);~n&&(r=o%4?64*r+n:n,o++%4)?a+=String.fromCharCode(255&r>>(-2*o&6)):0)n=ia.indexOf(n);return a};var ca=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(ua(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return ua(e)}};function sa(t){this.message=t}sa.prototype=new Error,sa.prototype.name="InvalidTokenError";var fa,la,pa,ha,da,va,ga,ya,ba,ma=function(t,e){if("string"!=typeof t)throw new sa("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ca(t.split(".")[r]))}catch(t){throw new sa("Invalid token specified: "+t.message)}},_a=sa;function wa(t){if(Do(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new _o("Token has expired on "+r,t)}return t}(ma(t));throw new _o("Token must be a string!")}ma.InvalidTokenError=_a;Bo("HS256",["string"]),Bo(!1,["boolean","number","string"],((fa={})[Ln]="exp",fa[Mn]=!0,fa)),Bo(!1,["boolean","number","string"],((la={})[Ln]="nbf",la[Mn]=!0,la)),Bo(!1,["boolean","string"],((pa={})[Ln]="iss",pa[Mn]=!0,pa)),Bo(!1,["boolean","string"],((ha={})[Ln]="sub",ha[Mn]=!0,ha)),Bo(!1,["boolean","string"],((da={})[Ln]="iss",da[Mn]=!0,da)),Bo(!1,["boolean"],((va={})[Mn]=!0,va)),Bo(!1,["boolean","string"],((ga={})[Mn]=!0,ga)),Bo(!1,["boolean","string"],((ya={})[Mn]=!0,ya)),Bo(!1,["boolean"],((ba={})[Mn]=!0,ba));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new mo("WebSocket is NOT SUPPORTED!")}}();var ja=Rn[0],Sa=Rn[1],Oa=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},Ea={headers:{configurable:!0}};Ea.headers.set=function(t){this.extraHeader=t},Oa.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=_n({},{_cb:ti()},this.extraParams);if(this.opts.enableJsonp){var i=Xo(t);o=_n({},o,((n={}).jsonqlJsonpCallback=i,n)),t=t[i]}return this.fly.request(this.jsonqlEndpoint,t,_n({},{method:ja,params:o},e))},Oa.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){var r=t.getHeaders();for(var n in t.log("request interceptor call",r),r)e.headers[n]=r[n];return e})},Oa.prototype.processJsonp=function(t){return ri(t)},Oa.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Do(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):ri(o)},function(t){throw e.cleanUp(),console.error(t),new wo("Server side error",t)})},Oa.prototype.getHeaders=function(){return this.opts.enableAuth?_n({},$n,this.getAuthHeader(),this.extraHeader):_n({},$n,this.extraHeader)},Oa.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},Oa.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=_n({},this.extraParams,Wn)),this.request({},{method:"GET"},this.contractHeader).then(Eo).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},Oa.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Vo(t,e)).then(Eo)},Oa.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Yo(t,e,r),{method:Sa}).then(Eo)},Object.defineProperties(Oa.prototype,Ea);var ka=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Ho(t)&&t.length>=2&&Reflect.apply(na.set,na,t),new mo("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=na.get("endpoint")||[];Wo(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],i=na.get(e)||[];i[this.endpointIndex||0]=n,r.push(i),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Wo(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var i=parseFloat(this.opts.tokenExpired);if(!isNaN(i)&&i>0){var a=ti();o.push(a+parseFloat(i))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(na.set,na,e)},r.jsonqlEndpoint.get=function(){var t=na.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(na.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return oa.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=wa)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!ni(t))throw new mo("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return ni(this.opts.contract)?this.opts.contract:na.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(Oa))),Aa={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:Cn,BEARER:"Bearer",AUTH_HEADER:"Authorization"},xa={hostname:Bo([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Bo("jsonql",["string"]),loginHandlerName:Bo(Bn,["string"]),logoutHandlerName:Bo(Kn,["string"]),enableJsonp:Bo(!1,["boolean"]),enableAuth:Bo(!1,["boolean"]),useJwt:Bo(!0,["boolean"]),useLocalstorage:Bo(!0,["boolean"]),storageKey:Bo("storageKey",["string"]),authKey:Bo("authKey",["string"]),contractExpired:Bo(0,["number"]),keepContract:Bo(!0,["boolean"]),exposeContract:Bo(!1,["boolean"]),showContractDesc:Bo(!1,["boolean"]),contractKey:Bo(!1,["boolean"]),contractKeyName:Bo("X-JSONQL-CV-KEY",["string"]),enableTimeout:Bo(!1,["boolean"]),timeout:Bo(5e3,["number"]),returnInstance:Bo(!1,["boolean"]),allowReturnRawToken:Bo(!1,["boolean"]),debugOn:Bo(!1,["boolean"])};var Ta=new WeakMap,qa=new WeakMap;var Pa=function(){this.__suspend__=null,this.queueStore=new Set},Ca={$suspend:{configurable:!0},$queues:{configurable:!0}};Ca.$suspend.set=function(t){var e=this;if("boolean"!=typeof t)throw new Error("$suspend only accept Boolean value!");var r=this.__suspend__;this.__suspend__=t,this.logger("($suspend)","Change from "+r+" --\x3e "+t),!0===r&&!1===t&&setTimeout(function(){e.release()},1)},Pa.prototype.$queue=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return!0===this.__suspend__&&(this.logger("($queue)","added to $queue",t),this.queueStore.add(t)),this.__suspend__},Ca.$queues.get=function(){var t=this.queueStore.size;return this.logger("($queues)","size: "+t),t>0?Array.from(this.queueStore):[]},Pa.prototype.release=function(){var t=this,e=this.queueStore.size;if(this.logger("(release)","Release was called "+e),e>0){var r=Array.from(this.queueStore);this.queueStore.clear(),this.logger("queue",r),r.forEach(function(e){t.logger(e),Reflect.apply(t.$trigger,t,e)}),this.logger("Release size "+this.queueStore.size)}},Object.defineProperties(Pa.prototype,Ca);var $a=function(t){function e(e){void 0===e&&(e={}),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={$done:{configurable:!0}};return e.prototype.logger=function(){},e.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("($on)",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("($on)",t+" found in lazy store");var i=0;return o.forEach(function(o){var a=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,a,r||u),i+=n.addToNormalStore(t,"on",e,r||u)}),i},e.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("($once)",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("($once)",n);var o=Array.from(n)[0],i=o[0],a=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,i,r||a),this.$off(t)},e.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,i=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("($only)",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==i)&&(this.logger("($only)",t+" found data in lazy store to execute"),Array.from(i).forEach(function(t){var o=t[0],i=t[1],a=t[2];if(a&&"only"!==a)throw new Error("You are trying to register an event already been taken by other type: "+a);n.run(e,o,r||i)}));return o},e.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("($onlyOnce)",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("($onlyOnce)",o);var i=Array.from(o)[0],a=i[0],u=i[1],c=i[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,a,r||u),this.$off(t)}return n},e.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},e.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,i=this.normalStore;if(this.logger("($trigger)","normalStore",i),i.has(t)){var a=this.$queue(t,e,r,n);if(this.logger("($trigger)",t,"found; add to queue: ",a),!0===a)return!1;for(var u=Array.from(i.get(t)),c=u.length,s=!1,f=0;f0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("(addToStore)",e+" existed"),r=t.get(e)):(this.logger("(addToStore)","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var i=n[2];this.checkTypeInLazyStore(e,i)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("(addToStore)","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},e.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},e.prototype.checkTypeInStore=function(t,e){this.validateEvt(t,e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},e.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t,e);var r=this.lazyStore.get(t);return this.logger("(checkTypeInLazyStore)",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},e.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("(addToNormalStore)",t,e,"try to add to normal store"),this.checkTypeInStore(t,e)){this.logger("(addToNormalStore)",e+" can add to "+t+" normal store");var o=this.hashFnToKey(r),i=[this.normalStore,t,o,r,n,e],a=Reflect.apply(this.addToStore,this,i),u=a[0],c=a[1];return this.normalStore=u,c}return!1},e.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var i=Reflect.apply(this.addToStore,this,o),a=i[0],u=i[1];return this.lazyStore=a,u},e.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},r.normalStore.set=function(t){Ta.set(this,t)},r.normalStore.get=function(){return Ta.get(this)},r.lazyStore.set=function(t){qa.set(this,t)},r.lazyStore.get=function(){return qa.get(this)},e.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(e.prototype,r),e}(Pa));function Na(t,e){void 0===t&&(t={});var r,n=t.contract,o=function(t){return Ko(t,xa,Aa)}(t),i=new ka(o,e),a=ei(i,n),u=(r=o.debugOn,new $a({logger:r?function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];t.unshift("[NBS]"),console.log.apply(null,t)}:void 0})),c=ui(i,o,a,u);return c.eventEmitter=u,c}return function(t){return void 0===t&&(t={}),Na(t,o)}}); //# sourceMappingURL=static.js.map diff --git a/packages/http-client/dist/static.js.map b/packages/http-client/dist/static.js.map index b58339609b18f409d5b7c88919a9236d884c6238..ede2d7ba164b8a6b296923e80f82fc80d0f5fa8f 100644 --- a/packages/http-client/dist/static.js.map +++ b/packages/http-client/dist/static.js.map @@ -1 +1 @@ -{"version":3,"file":"static.js","sources":["../node_modules/store/plugins/defaults.js","../node_modules/store/plugins/expire.js"],"sourcesContent":["module.exports = defaultsPlugin\n\nfunction defaultsPlugin() {\n\tvar defaultValues = {}\n\t\n\treturn {\n\t\tdefaults: defaults,\n\t\tget: get\n\t}\n\t\n\tfunction defaults(_, values) {\n\t\tdefaultValues = values\n\t}\n\t\n\tfunction get(super_fn, key) {\n\t\tvar val = super_fn()\n\t\treturn (val !== undefined ? val : defaultValues[key])\n\t}\n}\n","var namespace = 'expire_mixin'\n\nmodule.exports = expirePlugin\n\nfunction expirePlugin() {\n\tvar expirations = this.createStore(this.storage, null, this._namespacePrefix+namespace)\n\t\n\treturn {\n\t\tset: expire_set,\n\t\tget: expire_get,\n\t\tremove: expire_remove,\n\t\tgetExpiration: getExpiration,\n\t\tremoveExpiredKeys: removeExpiredKeys\n\t}\n\t\n\tfunction expire_set(super_fn, key, val, expiration) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\texpirations.set(key, expiration)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction expire_get(super_fn, key) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\t_checkExpiration.call(this, key)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction expire_remove(super_fn, key) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\texpirations.remove(key)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction getExpiration(_, key) {\n\t\treturn expirations.get(key)\n\t}\n\t\n\tfunction removeExpiredKeys(_) {\n\t\tvar keys = []\n\t\tthis.each(function(val, key) {\n\t\t\tkeys.push(key)\n\t\t})\n\t\tfor (var i=0; i0){if(++Q>=W)return arguments[0]}else Q=0;return Y.apply(void 0,arguments)});function et(t){return t!=t}function rt(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=pt}function dt(t){return null!=t&&ht(t.length)&&!x(t)}var vt=Object.prototype;function gt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||vt)}var yt="[object Arguments]";function bt(t){return d(t)&&h(t)==yt}var mt=Object.prototype,_t=mt.hasOwnProperty,wt=mt.propertyIsEnumerable,jt=bt(function(){return arguments}())?bt:function(t){return d(t)&&_t.call(t,"callee")&&!wt.call(t,"callee")};var St="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ot=St&&"object"==typeof module&&module&&!module.nodeType&&module,kt=Ot&&Ot.exports===St?n.Buffer:void 0,At=(kt?kt.isBuffer:void 0)||function(){return!1},Et={};Et["[object Float32Array]"]=Et["[object Float64Array]"]=Et["[object Int8Array]"]=Et["[object Int16Array]"]=Et["[object Int32Array]"]=Et["[object Uint8Array]"]=Et["[object Uint8ClampedArray]"]=Et["[object Uint16Array]"]=Et["[object Uint32Array]"]=!0,Et["[object Arguments]"]=Et["[object Array]"]=Et["[object ArrayBuffer]"]=Et["[object Boolean]"]=Et["[object DataView]"]=Et["[object Date]"]=Et["[object Error]"]=Et["[object Function]"]=Et["[object Map]"]=Et["[object Number]"]=Et["[object Object]"]=Et["[object RegExp]"]=Et["[object Set]"]=Et["[object String]"]=Et["[object WeakMap]"]=!1;var Tt="object"==typeof exports&&exports&&!exports.nodeType&&exports,xt=Tt&&"object"==typeof module&&module&&!module.nodeType&&module,Pt=xt&&xt.exports===Tt&&e.process,qt=function(){try{var t=xt&&xt.require&&xt.require("util").types;return t||Pt&&Pt.binding&&Pt.binding("util")}catch(t){}}(),Ct=qt&&qt.isTypedArray,$t=Ct?function(t){return function(e){return t(e)}}(Ct):function(t){return d(t)&&ht(t.length)&&!!Et[h(t)]},zt=Object.prototype.hasOwnProperty;function Nt(t,e){var r=b(t),n=!r&&jt(t),o=!r&&!n&&At(t),i=!r&&!n&&!o&&$t(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r-1},te.prototype.set=function(t,e){var r=this.__data__,n=Xt(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var ee=D(n,"Map");function re(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ne(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++nu))return!1;var s=i.get(t);if(s&&i.get(e))return s==e;var f=-1,l=!0,p=r&pr?new sr:void 0;for(i.set(t,e),i.set(e,t);++f1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=dn.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!S(r))return!1;var n=typeof e;return!!("number"==n?dt(r)&&it(e,r.length):"string"==n&&e in r)&&ut(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&rt(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function jn(t){return!!b(t)||null!=t&&""!==wn(t)}var Sn=function(t){return!cn(t)&&!ln(parseFloat(t))},On=function(t){return""!==wn(t)&&cn(t)},kn=function(t){return function(t){return!0===t||!1===t||d(t)&&h(t)==sn}(t)},An=function(t,e){return void 0===e&&(e=!0),!pn(t)&&""!==t&&""!==wn(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},En="application/vnd.api+json",Tn={Accept:En,"Content-Type":[En,"charset=utf-8"].join(";")},xn="payload",Pn="condition",qn="args",Cn=["POST","PUT"],$n="continue",zn="type",Nn="optional",Fn="enumv",In="args",Jn="checker",Rn="alias",Mn="login",Un="logout",Dn={desc:"y"},Hn="No message",Ln=zn,Bn=Nn,Kn=Fn,Wn=In,Vn=Jn,Gn=Rn,Yn=$n,Qn=function(t){switch(t){case"number":return Sn;case"string":return On;case"boolean":return kn;default:return An}},Xn=function(t,e){return void 0===e&&(e=""),!!b(t)&&(""===e||""===wn(e)||!(t.filter(function(t){return!Qn(e)(t)}).length>0))},Zn=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},to=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!Qn(e)(t)}).length)}).length:e.length>e.filter(function(t){return!Xn(r,t)}).length},eo=function(t,e){if(void 0===e&&(e=null),Se(t)){if(!e)return!0;if(Xn(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!pn(r)||(!1!==(e=Zn(t))?!to({arg:r},e):!Qn(t)(r))}).length)}).length}return!1},ro=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),no=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),oo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),io=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),ao=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),uo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),co=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),so=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),fo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),lo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),po=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),ho=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),vo=Object.freeze({Jsonql406Error:ro,Jsonql500Error:no,JsonqlAuthorisationError:oo,JsonqlContractAuthError:io,JsonqlResolverAppError:ao,JsonqlResolverNotFoundError:uo,JsonqlEnumError:co,JsonqlTypeError:so,JsonqlCheckerError:fo,JsonqlValidationError:lo,JsonqlError:po,JsonqlServerError:ho}),go=po,yo=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function bo(t){if(yo(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,i=e.message||Hn,a=e.detail||e;if(o&&vo[o])throw new vo[r](i,a);throw new go(i,a)}return t}function mo(t){if(Array.isArray(t))throw new lo("",t);var e=t.message||Hn,r=t.detail||t;switch(!0){case t instanceof ro:throw new ro(e,r);case t instanceof no:throw new no(e,r);case t instanceof oo:throw new oo(e,r);case t instanceof io:throw new io(e,r);case t instanceof ao:throw new ao(e,r);case t instanceof uo:throw new uo(e,r);case t instanceof co:throw new co(e,r);case t instanceof so:throw new so(e,r);case t instanceof fo:throw new fo(e,r);case t instanceof lo:throw new lo(e,r);case t instanceof ho:throw new ho(e,r);default:throw new po(e,r)}}var _o=function(t,e){var r,n,o,i,a;switch(!0){case"object"===t:return o=(n=e).arg,i=n.param,a=[o],Array.isArray(i.keys)&&i.keys.length&&a.push(i.keys),!eo.apply(null,a);case"array"===t:return!Xn(e.arg);case!1!==(r=Zn(t)):return!to(e,r);default:return!Qn(t)(e.arg)}},wo=function(t,e){return pn(t)?!0!==e.optional||pn(e.defaultvalue)?null:e.defaultvalue:t},jo=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!Xn(e))throw new po("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!Xn(t))throw new po("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=Zn(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new po("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),i=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!jn(e)||r.type.length>r.type.filter(function(e){return _o(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return _o(e,t)}).length)});return r?((n={}).error=i,n.data=o.map(function(t){return t.arg}),n):i},So=function(t,e){return!!t.filter(function(t){return t===e}).length},Oo=function(t,e){var r=Object.keys(t);return So(r,e)},ko=function(t){return!jn(t)};function Ao(t,e){var r=mn(e,function(t,e){return!t[Gn]});return Rr(r,{})?t:function(t,e){var r={};return e=Qr(e),tn(t,function(t,n,o){at(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,Qr(function(t){return t.alias===e}),tn)||e})}function Eo(t,e){return hn(e,function(e,r){var n,o;return pn(t[r])||!0===e[Bn]&&ko(t[r])?vn({},e,((n={})[Yn]=!0,n)):((o={})[Wn]=t[r],o[Ln]=e[Ln],o[Bn]=e[Bn]||!1,o[Kn]=e[Kn]||!1,o[Vn]=e[Vn]||!1,o)})}function To(t,e){var r=function(t,e){var r=Ao(t,e);return{pristineValues:hn(mn(e,function(t,e){return Oo(r,e)}),function(t){return t.args}),checkAgainstAppProps:mn(e,function(t,e){return!Oo(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[Eo(n,r.checkAgainstAppProps),o]}var xo=function(t){return Xn(t)?t:[t]};var Po=function(t,e){return!Xn(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},qo=function(t,e){try{return!!x(e)&&e.apply(null,[t])}catch(t){return!1}};function Co(t){return function(e,r){if(e[Yn])return e[Wn];var n=function(t,e){var r,n=[[t[Wn]],[(r={},r[Ln]=xo(t[Ln]),r[Bn]=t[Bn],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new so(r,n);if(!1!==e[Kn]&&!Po(e[Wn],e[Kn]))throw new co(r);if(!1!==e[Vn]&&!qo(e[Wn],e[Vn]))throw new fo(r);return e[Wn]}}function $o(t,e,r,n){return void 0===t&&(t={}),vn(function(t,e){var r=t[0],n=t[1],o=hn(r,Co(e));return vn(o,n)}(To(t,e),n),r)}var zo=eo,No=On,Fo=Xn,Io=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var i=jo(t,e,r);return r?i.error.length?o(i.error):n(i.data):i.length?o(i):n([])})},Jo=function(t,e,r){void 0===r&&(r={});var n=r[Nn],o=r[Fn],i=r[Jn],a=r[Rn];return function(t,e,r,n,o,i){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===i&&(i=!1);var a={};return a[In]=t,a[zn]=e,!0===r&&(a[Nn]=!0),Xn(n)&&(a[Fn]=n),x(o)&&(a[Jn]=o),cn(i)&&(a[Rn]=i),a}.apply(null,[t,e,n,o,i,a])},Ro=function(t){return function(e,r,n){return void 0===n&&(n={}),$o(e,r,n,t)}}(jo),Mo=So,Uo=Oo,Do=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),On(t)&&Xn(e)){var o={};return o[qn]=e,!0===r?o:((n={})[t]=o,n)}throw new lo("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Ho=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var i={};if(i[xn]=e,i[Pn]=r,!0===n)return i;if(On(t))return(o={})[t]=i,o;throw new lo("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Lo=function(t){return Object.keys(t)[0]},Bo=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.auth[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Io(r,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(mo)}};var Ko=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return t.join("_")},Wo=function(){return Math.floor(Date.now()/1e3)},Vo=function(t,e){return void 0===e&&(e={}),Yo(e)?Promise.resolve(e):t.getContract()},Go=function(t){return Uo(t,"data")&&!Uo(t,"error")?t.data:t},Yo=function(t){return t&&zo(t)&&(Uo(t,"query")||Uo(t,"mutation"))},Qo="result",Xo="error",Zo=function(t,e){return function(r){for(var n=[],o=arguments.length-1;o-- >0;)n[o]=arguments[o+1];return new Promise(function(o,i){t.$only(Ko(e,r,Qo),o),t.$only(Ko(e,+r,Xo),i),t.$trigger(e,{resolverName:r,args:n})})}};function ti(t,e,r,n){var o=function(t,e,r,n){var o={query:{},mutation:{}},i=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.query[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Io(a,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(mo)}};for(var a in n.query)i(a);var u=function(e){o.mutation[e]=function(r,o,i){void 0===i&&(i={});var a=[r,o],u=n.mutation[e].params;return Io(a,u).then(function(){return t.mutation.apply(t,[e,r,o,i])}).catch(mo)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Bo(t,s,r,n);return a.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Mn,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Bo(t,f,r,n);return a.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Un,t),t})}:o[f]=function(){t.postLogoutAction($n),e.$trigger(Un,$n)}}return o}(e,t,r,n),i=function(e){t.$only(e,function(r){var n=r.resolverName,i=r.args;o[e][n]&&Reflect.apply(o[e][n],null,i).then(function(r){t.$trigger(Ko(e,n,Qo),r)}).catch(function(r){t.$trigger(Ko(e,n,Xo),error)})})};for(var a in o)i(a);t.$suspend=!1}var ei=function(t,e,r,n){n.$suspend=!0;var o={query:Zo(n,"query"),mutation:Zo(n,"mutation"),auth:Zo(n,"auth"),getToken:function(){return t.rawAuthToken}};return e.exposeContract&&(o.getContract=function(){return t.get()}),e.enableAuth&&(o.userdata=function(){return t.userdata}),r.then(function(r){ti(n,t,e,r)}),o.version="1.3.0",o},ri="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var ni=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,i=1;i=0;e--){var r=ki().key(e);t(Ai(r),r)}},remove:function(t){return ki().removeItem(t)},clearAll:function(){return ki().clear()}};function ki(){return Si.localStorage}function Ai(t){return ki().getItem(t)}var Ei=ui.trim,Ti={name:"cookieStorage",read:function(t){if(!t||!Ci(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(xi.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;xi.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:Pi,remove:qi,clearAll:function(){Pi(function(t,e){qi(e)})}},xi=ui.Global.document;function Pi(t){for(var e=xi.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(Ei(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function qi(t){t&&Ci(t)&&(xi.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function Ci(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(xi.cookie)}var $i=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var zi="expire_mixin",Ni=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+zi);return{set:function(e,r,n,o){this.hasNamespace(zi)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(zi)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(zi)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=a%256}return r},decompressFromUint8Array:function(e){if(null==e)return i.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),a[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:i._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,i,a,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(a=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 2:return""}for(l[3]=f,i=f,g.push(f);;){if(y.index>e)return"";for(a=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(f=a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=i+i.charAt(0)}g.push(v),l[h++]=i+v.charAt(0),i=v,0==--p&&(p=Math.pow(2,d),d++)}}};return i}();null!=t&&(t.exports=e)});var Hi=[Oi,Ti],Li=[$i,Ni,Mi,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=Di.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=Di.compress(this._serialize(r));t(e,n)}}}],Bi=_i.createStore(Hi,Li),Ki=ui.Global;function Wi(){return Ki.sessionStorage}function Vi(t){return Wi().getItem(t)}var Gi=[{name:"sessionStorage",read:Vi,write:function(t,e){return Wi().setItem(t,e)},each:function(t){for(var e=Wi().length-1;e>=0;e--){var r=Wi().key(e);t(Vi(r),r)}},remove:function(t){return Wi().removeItem(t)},clearAll:function(){return Wi().clear()}},Ti],Yi=[$i,Ni],Qi=_i.createStore(Gi,Yi),Xi=Bi,Zi=Qi,ta="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ea(t){this.message=t}ea.prototype=new Error,ea.prototype.name="InvalidCharacterError";var ra="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ea("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,i=0,a="";n=e.charAt(i++);~n&&(r=o%4?64*r+n:n,o++%4)?a+=String.fromCharCode(255&r>>(-2*o&6)):0)n=ta.indexOf(n);return a};var na=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(ra(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return ra(e)}};function oa(t){this.message=t}oa.prototype=new Error,oa.prototype.name="InvalidTokenError";var ia,aa,ua,ca,sa,fa,la,pa,ha,da=function(t,e){if("string"!=typeof t)throw new oa("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(na(t.split(".")[r]))}catch(t){throw new oa("Invalid token specified: "+t.message)}},va=oa;function ga(t){if(No(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new po("Token has expired on "+r,t)}return t}(da(t));throw new po("Token must be a string!")}da.InvalidTokenError=va;Jo("HS256",["string"]),Jo(!1,["boolean","number","string"],((ia={})[Rn]="exp",ia[Nn]=!0,ia)),Jo(!1,["boolean","number","string"],((aa={})[Rn]="nbf",aa[Nn]=!0,aa)),Jo(!1,["boolean","string"],((ua={})[Rn]="iss",ua[Nn]=!0,ua)),Jo(!1,["boolean","string"],((ca={})[Rn]="sub",ca[Nn]=!0,ca)),Jo(!1,["boolean","string"],((sa={})[Rn]="iss",sa[Nn]=!0,sa)),Jo(!1,["boolean"],((fa={})[Nn]=!0,fa)),Jo(!1,["boolean","string"],((la={})[Nn]=!0,la)),Jo(!1,["boolean","string"],((pa={})[Nn]=!0,pa)),Jo(!1,["boolean"],((ha={})[Nn]=!0,ha));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new lo("WebSocket is NOT SUPPORTED!")}}();var ya=Cn[0],ba=Cn[1],ma=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},_a={headers:{configurable:!0}};_a.headers.set=function(t){this.extraHeader=t},ma.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=vn({},{_cb:Wo()},this.extraParams);if(this.opts.enableJsonp){var i=Lo(t);o=vn({},o,((n={}).jsonqlJsonpCallback=i,n)),t=t[i]}return this.fly.request(this.jsonqlEndpoint,t,vn({},{method:ya,params:o},e))},ma.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},ma.prototype.processJsonp=function(t){return Go(t)},ma.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=No(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Go(o)},function(t){throw e.cleanUp(),console.error(t),new ho("Server side error",t)})},ma.prototype.getHeaders=function(){return this.opts.enableAuth?vn({},Tn,this.getAuthHeader(),this.extraHeader):vn({},Tn,this.extraHeader)},ma.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},ma.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=vn({},this.extraParams,Dn)),this.request({},{method:"GET"},this.contractHeader).then(bo).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},ma.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Do(t,e)).then(bo)},ma.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Ho(t,e,r),{method:ba}).then(bo)},Object.defineProperties(ma.prototype,_a);var wa=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Fo(t)&&t.length>=2&&Reflect.apply(Xi.set,Xi,t),new lo("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=Xi.get("endpoint")||[];Mo(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],i=Xi.get(e)||[];i[this.endpointIndex||0]=n,r.push(i),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Mo(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var i=parseFloat(this.opts.tokenExpired);if(!isNaN(i)&&i>0){var a=Wo();o.push(a+parseFloat(i))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(Xi.set,Xi,e)},r.jsonqlEndpoint.get=function(){var t=Xi.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(Xi.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return Zi.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=ga)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Yo(t))throw new lo("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Yo(this.opts.contract)?this.opts.contract:Xi.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(ma))),ja={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:En,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Sa={hostname:Jo([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Jo("jsonql",["string"]),loginHandlerName:Jo(Mn,["string"]),logoutHandlerName:Jo(Un,["string"]),enableJsonp:Jo(!1,["boolean"]),enableAuth:Jo(!1,["boolean"]),useJwt:Jo(!0,["boolean"]),useLocalstorage:Jo(!0,["boolean"]),storageKey:Jo("storageKey",["string"]),authKey:Jo("authKey",["string"]),contractExpired:Jo(0,["number"]),keepContract:Jo(!0,["boolean"]),exposeContract:Jo(!1,["boolean"]),showContractDesc:Jo(!1,["boolean"]),contractKey:Jo(!1,["boolean"]),contractKeyName:Jo("X-JSONQL-CV-KEY",["string"]),enableTimeout:Jo(!1,["boolean"]),timeout:Jo(5e3,["number"]),returnInstance:Jo(!1,["boolean"]),allowReturnRawToken:Jo(!1,["boolean"]),debugOn:Jo(!1,["boolean"])};var Oa=new WeakMap,ka=new WeakMap;var Aa=function(){};Aa.prototype.watch||Object.defineProperty(Aa.prototype,"watch",{enumerable:!1,configurable:!0,writable:!1,value:function(t,e){var r=this[t],n=r;delete this[t]&&Object.defineProperty(this,t,{get:function(){return n},set:function(o){return r=n,n=e.call(this,o,t,r)},enumerable:!0,configurable:!0})}});var Ea=function(t){function e(e){void 0===e&&(e={}),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={$done:{configurable:!0}};return e.prototype.logger=function(){},e.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var i=0;return o.forEach(function(o){var a=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,a,r||u),i+=n.addToNormalStore(t,"on",e,r||u)}),i},e.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],i=o[0],a=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,i,r||a),this.$off(t)},e.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,i=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==i)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(i).forEach(function(t){var o=t[0],i=t[1],a=t[2];if(a&&"only"!==a)throw new Error("You are trying to register an event already been taken by other type: "+a);n.run(e,o,r||i)}));return o},e.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var i=Array.from(o)[0],a=i[0],u=i[1],c=i[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,a,r||u),this.$off(t)}return n},e.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},e.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,i=this.normalStore;if(this.logger("$trigger",i),i.has(t)){var a=this.$queue(t,e,r,n);if(this.logger("$trigger",t,"found; add to queue: ",a),!0===a)return!1;for(var u=Array.from(i.get(t)),c=u.length,s=!1,f=0;f0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var i=n[2];this.checkTypeInLazyStore(e,i)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},e.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},e.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},e.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},e.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),i=[this.normalStore,t,o,r,n,e],a=Reflect.apply(this.addToStore,this,i),u=a[0],c=a[1];return this.normalStore=u,c}return!1},e.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var i=Reflect.apply(this.addToStore,this,o),a=i[0],u=i[1];return this.lazyStore=a,u},e.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},r.normalStore.set=function(t){Oa.set(this,t)},r.normalStore.get=function(){return Oa.get(this)},r.lazyStore.set=function(t){ka.set(this,t)},r.lazyStore.get=function(){return ka.get(this)},e.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(e.prototype,r),e}(function(t){function e(){t.call(this),this.suspend=null,this.queueStore=new Set,this.watch("suspend",function(t,e,r){var n=this;return this.logger(e+" set from "+r+" to "+t),!0===r&&!1===t&&setTimeout(function(){n.release()},1),t})}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={$suspend:{configurable:!0}};return r.$suspend.set=function(t){if("boolean"!=typeof t)throw new Error("$suspend only accept Boolean value!");this.suspend=t},e.prototype.$queue=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return!0===this.suspend&&this.queueStore.add(t),this.suspend},e.prototype.release=function(){var t=this,e=this.queueStore.size;if(this.logger("Release was called "+e),e>0){var r=Array.from(this.queueStore);this.queueStore.clear(),this.logger("queue",r),r.forEach(function(e){t.logger(e),Reflect.apply(t.$trigger,t,e)}),this.logger("Release size "+this.queueStore.size)}},Object.defineProperties(e.prototype,r),e}(Aa)));return function(t,e){void 0===t&&(t={});var r,n,o=t.contract,i=function(t){return Ro(t,Sa,ja)}(t),a=new wa(i,e),u=Vo(a,o),c=(r=i.debugOn,n=r?console.info:void 0,new Ea(n)),s=ei(a,i,u,c);return s.eventEmitter=c,s}}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClientStatic=e()}(this,function(){"use strict";var t="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e="object"==typeof t&&t&&t.Object===Object&&t,r="object"==typeof self&&self&&self.Object===Object&&self,n=e||r||Function("return this")(),o=n.Symbol,i=Object.prototype,a=i.hasOwnProperty,u=i.toString,c=o?o.toStringTag:void 0;var s=Object.prototype.toString;var f="[object Null]",l="[object Undefined]",p=o?o.toStringTag:void 0;function h(t){return null==t?void 0===t?l:f:p&&p in Object(t)?function(t){var e=a.call(t,c),r=t[c];try{t[c]=void 0;var n=!0}catch(t){}var o=u.call(t);return n&&(e?t[c]=r:delete t[c]),o}(t):function(t){return s.call(t)}(t)}function d(t){return null!=t&&"object"==typeof t}var v="[object Symbol]";function g(t){return"symbol"==typeof t||d(t)&&h(t)==v}function y(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Q>=W)return arguments[0]}else Q=0;return Y.apply(void 0,arguments)});function et(t){return t!=t}function rt(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=pt}function dt(t){return null!=t&&ht(t.length)&&!x(t)}var vt=Object.prototype;function gt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||vt)}var yt="[object Arguments]";function bt(t){return d(t)&&h(t)==yt}var mt=Object.prototype,_t=mt.hasOwnProperty,wt=mt.propertyIsEnumerable,jt=bt(function(){return arguments}())?bt:function(t){return d(t)&&_t.call(t,"callee")&&!wt.call(t,"callee")};var St="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ot=St&&"object"==typeof module&&module&&!module.nodeType&&module,Et=Ot&&Ot.exports===St?n.Buffer:void 0,kt=(Et?Et.isBuffer:void 0)||function(){return!1},At={};At["[object Float32Array]"]=At["[object Float64Array]"]=At["[object Int8Array]"]=At["[object Int16Array]"]=At["[object Int32Array]"]=At["[object Uint8Array]"]=At["[object Uint8ClampedArray]"]=At["[object Uint16Array]"]=At["[object Uint32Array]"]=!0,At["[object Arguments]"]=At["[object Array]"]=At["[object ArrayBuffer]"]=At["[object Boolean]"]=At["[object DataView]"]=At["[object Date]"]=At["[object Error]"]=At["[object Function]"]=At["[object Map]"]=At["[object Number]"]=At["[object Object]"]=At["[object RegExp]"]=At["[object Set]"]=At["[object String]"]=At["[object WeakMap]"]=!1;var Tt="object"==typeof exports&&exports&&!exports.nodeType&&exports,xt=Tt&&"object"==typeof module&&module&&!module.nodeType&&module,qt=xt&&xt.exports===Tt&&e.process,Pt=function(){try{var t=xt&&xt.require&&xt.require("util").types;return t||qt&&qt.binding&&qt.binding("util")}catch(t){}}(),Ct=Pt&&Pt.isTypedArray,$t=Ct?function(t){return function(e){return t(e)}}(Ct):function(t){return d(t)&&ht(t.length)&&!!At[h(t)]},zt=Object.prototype.hasOwnProperty;function Nt(t,e){var r=b(t),n=!r&&jt(t),o=!r&&!n&&kt(t),i=!r&&!n&&!o&&$t(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r-1},te.prototype.set=function(t,e){var r=this.__data__,n=Xt(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var ee=D(n,"Map");function re(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ne(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++nu))return!1;var s=i.get(t);if(s&&i.get(e))return s==e;var f=-1,l=!0,p=r&pr?new sr:void 0;for(i.set(t,e),i.set(e,t);++f1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=dn.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!S(r))return!1;var n=typeof e;return!!("number"==n?dt(r)&&it(e,r.length):"string"==n&&e in r)&&ut(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&rt(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function jn(t){return!!b(t)||null!=t&&""!==wn(t)}var Sn=function(t){return!cn(t)&&!ln(parseFloat(t))},On=function(t){return""!==wn(t)&&cn(t)},En=function(t){return function(t){return!0===t||!1===t||d(t)&&h(t)==sn}(t)},kn=function(t,e){return void 0===e&&(e=!0),!pn(t)&&""!==t&&""!==wn(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},An="application/vnd.api+json",Tn={Accept:An,"Content-Type":[An,"charset=utf-8"].join(";")},xn="payload",qn="condition",Pn="args",Cn=["POST","PUT"],$n="continue",zn="type",Nn="optional",Fn="enumv",In="args",Rn="checker",Jn="alias",Mn="login",Un="logout",Dn={desc:"y"},Hn="No message",Ln="onResult",Bn="onError",Kn=zn,Wn=Nn,Vn=Fn,Gn=In,Yn=Rn,Qn=Jn,Xn=$n,Zn=function(t){switch(t){case"number":return Sn;case"string":return On;case"boolean":return En;default:return kn}},to=function(t,e){return void 0===e&&(e=""),!!b(t)&&(""===e||""===wn(e)||!(t.filter(function(t){return!Zn(e)(t)}).length>0))},eo=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},ro=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!Zn(e)(t)}).length)}).length:e.length>e.filter(function(t){return!to(r,t)}).length},no=function(t,e){if(void 0===e&&(e=null),Se(t)){if(!e)return!0;if(to(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!pn(r)||(!1!==(e=eo(t))?!ro({arg:r},e):!Zn(t)(r))}).length)}).length}return!1},oo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),io=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),ao=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),uo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),co=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),so=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),fo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),lo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),po=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),ho=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),vo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),go=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),yo=Object.freeze({Jsonql406Error:oo,Jsonql500Error:io,JsonqlAuthorisationError:ao,JsonqlContractAuthError:uo,JsonqlResolverAppError:co,JsonqlResolverNotFoundError:so,JsonqlEnumError:fo,JsonqlTypeError:lo,JsonqlCheckerError:po,JsonqlValidationError:ho,JsonqlError:vo,JsonqlServerError:go}),bo=vo,mo=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function _o(t){if(mo(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,i=e.message||Hn,a=e.detail||e;if(o&&yo[o])throw new yo[r](i,a);throw new bo(i,a)}return t}function wo(t){if(Array.isArray(t))throw new ho("",t);var e=t.message||Hn,r=t.detail||t;switch(!0){case t instanceof oo:throw new oo(e,r);case t instanceof io:throw new io(e,r);case t instanceof ao:throw new ao(e,r);case t instanceof uo:throw new uo(e,r);case t instanceof co:throw new co(e,r);case t instanceof so:throw new so(e,r);case t instanceof fo:throw new fo(e,r);case t instanceof lo:throw new lo(e,r);case t instanceof po:throw new po(e,r);case t instanceof ho:throw new ho(e,r);case t instanceof go:throw new go(e,r);default:throw new vo(e,r)}}var jo=function(t,e){var r,n,o,i,a;switch(!0){case"object"===t:return o=(n=e).arg,i=n.param,a=[o],Array.isArray(i.keys)&&i.keys.length&&a.push(i.keys),!no.apply(null,a);case"array"===t:return!to(e.arg);case!1!==(r=eo(t)):return!ro(e,r);default:return!Zn(t)(e.arg)}},So=function(t,e){return pn(t)?!0!==e.optional||pn(e.defaultvalue)?null:e.defaultvalue:t},Oo=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!to(e))throw new vo("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!to(t))throw new vo("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=eo(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new vo("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),i=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!jn(e)||r.type.length>r.type.filter(function(e){return jo(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return jo(e,t)}).length)});return r?((n={}).error=i,n.data=o.map(function(t){return t.arg}),n):i},Eo=function(t,e){return!!t.filter(function(t){return t===e}).length},ko=function(t,e){var r=Object.keys(t);return Eo(r,e)},Ao=function(t){return!jn(t)};function To(t,e){var r=mn(e,function(t,e){return!t[Qn]});return Jr(r,{})?t:function(t,e){var r={};return e=Qr(e),tn(t,function(t,n,o){at(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,Qr(function(t){return t.alias===e}),tn)||e})}function xo(t,e){return hn(e,function(e,r){var n,o;return pn(t[r])||!0===e[Wn]&&Ao(t[r])?vn({},e,((n={})[Xn]=!0,n)):((o={})[Gn]=t[r],o[Kn]=e[Kn],o[Wn]=e[Wn]||!1,o[Vn]=e[Vn]||!1,o[Yn]=e[Yn]||!1,o)})}function qo(t,e){var r=function(t,e){var r=To(t,e);return{pristineValues:hn(mn(e,function(t,e){return ko(r,e)}),function(t){return t.args}),checkAgainstAppProps:mn(e,function(t,e){return!ko(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[xo(n,r.checkAgainstAppProps),o]}var Po=function(t){return to(t)?t:[t]};var Co=function(t,e){return!to(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},$o=function(t,e){try{return!!x(e)&&e.apply(null,[t])}catch(t){return!1}};function zo(t){return function(e,r){if(e[Xn])return e[Gn];var n=function(t,e){var r,n=[[t[Gn]],[(r={},r[Kn]=Po(t[Kn]),r[Wn]=t[Wn],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new lo(r,n);if(!1!==e[Vn]&&!Co(e[Gn],e[Vn]))throw new fo(r);if(!1!==e[Yn]&&!$o(e[Gn],e[Yn]))throw new po(r);return e[Gn]}}function No(t,e,r,n){return void 0===t&&(t={}),vn(function(t,e){var r=t[0],n=t[1],o=hn(r,zo(e));return vn(o,n)}(qo(t,e),n),r)}var Fo=no,Io=On,Ro=to,Jo=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var i=Oo(t,e,r);return r?i.error.length?o(i.error):n(i.data):i.length?o(i):n([])})},Mo=function(t,e,r){void 0===r&&(r={});var n=r[Nn],o=r[Fn],i=r[Rn],a=r[Jn];return function(t,e,r,n,o,i){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===i&&(i=!1);var a={};return a[In]=t,a[zn]=e,!0===r&&(a[Nn]=!0),to(n)&&(a[Fn]=n),x(o)&&(a[Rn]=o),cn(i)&&(a[Jn]=i),a}.apply(null,[t,e,n,o,i,a])},Uo=function(t){return function(e,r,n){return void 0===n&&(n={}),No(e,r,n,t)}}(Oo),Do=Eo,Ho=ko,Lo=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),On(t)&&to(e)){var o={};return o[Pn]=e,!0===r?o:((n={})[t]=o,n)}throw new ho("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Bo=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var i={};if(i[xn]=e,i[qn]=r,!0===n)return i;if(On(t))return(o={})[t]=i,o;throw new ho("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Ko=function(t){return Object.keys(t)[0]},Wo=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.auth[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Jo(r,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(wo)}};var Vo=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return t.join("_")},Go=function(){return Math.floor(Date.now()/1e3)},Yo=function(t,e){return void 0===e&&(e={}),Xo(e)?Promise.resolve(e):t.getContract()},Qo=function(t){return Ho(t,"data")&&!Ho(t,"error")?t.data:t},Xo=function(t){return t&&Fo(t)&&(Ho(t,"query")||Ho(t,"mutation"))},Zo=function(t,e){return function(r){for(var n=[],o=arguments.length-1;o-- >0;)n[o]=arguments[o+1];return new Promise(function(o,i){t.$only(Vo(e,r,Ln),o),t.$only(Vo(e,r,Bn),i),t.$trigger(e,{resolverName:r,args:n})})}},ti=function(t,e,r){var n=t.$queues,o=r.debugOn;o&&console.info("(validateRegisteredEvents)","storedEvt",n),n.forEach(function(t){var r=t[0],n=t[1].resolverName;if(o&&console.info("(validateRegisteredEvents)",r,n),!e[r][n])throw new Error(r+"."+n+" not existed in contract!")})};function ei(t,e,r,n){var o=function(t,e,r,n){var o={query:{},mutation:{}},i=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.query[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Jo(a,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(wo)}};for(var a in n.query)i(a);var u=function(e){o.mutation[e]=function(r,o,i){void 0===i&&(i={});var a=[r,o],u=n.mutation[e].params;return Jo(a,u).then(function(){return t.mutation.apply(t,[e,r,o,i])}).catch(wo)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){o.auth={};var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o.auth[s]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Wo(t,s,r,n);return a.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Mn,t),t})}),n.auth[f]?o.auth[f]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Wo(t,f,r,n);return a.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Un,t),t})}:o.auth[f]=function(){t.postLogoutAction($n),e.$trigger(Un,$n)}}return o}(t,e,r,n);ti(e,n,r);var i=function(t){e.$only(t,function(r){var n=r.resolverName,i=r.args;o[t][n]?Reflect.apply(o[t][n],null,i).then(function(r){e.$trigger(Vo(t,n,Ln),r)}).catch(function(r){e.$trigger(Vo(t,n,Bn),r)}):console.error(n+" is not defined in the contract!")})};for(var a in o)i(a);setTimeout(function(){e.$suspend=!1},1)}var ri=function(t,e,r,n){n.$suspend=!0,r.then(function(r){ei(t,n,e,r)});var o={query:Zo(n,"query"),mutation:Zo(n,"mutation"),auth:Zo(n,"auth"),getToken:function(){return t.rawAuthToken}};return e.exposeContract&&(o.getContract=function(){return t.get()}),e.enableAuth&&(o.userdata=function(){return t.userdata}),o.version="1.3.1",o},ni="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var oi=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,i=1;i=0;e--){var r=ki().key(e);t(Ai(r),r)}},remove:function(t){return ki().removeItem(t)},clearAll:function(){return ki().clear()}};function ki(){return Oi.localStorage}function Ai(t){return ki().getItem(t)}var Ti=ci.trim,xi={name:"cookieStorage",read:function(t){if(!t||!$i(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(qi.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;qi.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:Pi,remove:Ci,clearAll:function(){Pi(function(t,e){Ci(e)})}},qi=ci.Global.document;function Pi(t){for(var e=qi.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(Ti(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function Ci(t){t&&$i(t)&&(qi.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function $i(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(qi.cookie)}var zi=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var Ni="expire_mixin",Fi=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+Ni);return{set:function(e,r,n,o){this.hasNamespace(Ni)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(Ni)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(Ni)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=a%256}return r},decompressFromUint8Array:function(e){if(null==e)return i.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),a[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:i._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,i,a,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(a=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 2:return""}for(l[3]=f,i=f,g.push(f);;){if(y.index>e)return"";for(a=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(f=a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=i+i.charAt(0)}g.push(v),l[h++]=i+v.charAt(0),i=v,0==--p&&(p=Math.pow(2,d),d++)}}};return i}();null!=t&&(t.exports=e)});var Li=[Ei,xi],Bi=[zi,Fi,Ui,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=Hi.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=Hi.compress(this._serialize(r));t(e,n)}}}],Ki=wi.createStore(Li,Bi),Wi=ci.Global;function Vi(){return Wi.sessionStorage}function Gi(t){return Vi().getItem(t)}var Yi=[{name:"sessionStorage",read:Gi,write:function(t,e){return Vi().setItem(t,e)},each:function(t){for(var e=Vi().length-1;e>=0;e--){var r=Vi().key(e);t(Gi(r),r)}},remove:function(t){return Vi().removeItem(t)},clearAll:function(){return Vi().clear()}},xi],Qi=[zi,Fi],Xi=wi.createStore(Yi,Qi),Zi=Ki,ta=Xi,ea="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ra(t){this.message=t}ra.prototype=new Error,ra.prototype.name="InvalidCharacterError";var na="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ra("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,i=0,a="";n=e.charAt(i++);~n&&(r=o%4?64*r+n:n,o++%4)?a+=String.fromCharCode(255&r>>(-2*o&6)):0)n=ea.indexOf(n);return a};var oa=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(na(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return na(e)}};function ia(t){this.message=t}ia.prototype=new Error,ia.prototype.name="InvalidTokenError";var aa,ua,ca,sa,fa,la,pa,ha,da,va=function(t,e){if("string"!=typeof t)throw new ia("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(oa(t.split(".")[r]))}catch(t){throw new ia("Invalid token specified: "+t.message)}},ga=ia;function ya(t){if(Io(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new vo("Token has expired on "+r,t)}return t}(va(t));throw new vo("Token must be a string!")}va.InvalidTokenError=ga;Mo("HS256",["string"]),Mo(!1,["boolean","number","string"],((aa={})[Jn]="exp",aa[Nn]=!0,aa)),Mo(!1,["boolean","number","string"],((ua={})[Jn]="nbf",ua[Nn]=!0,ua)),Mo(!1,["boolean","string"],((ca={})[Jn]="iss",ca[Nn]=!0,ca)),Mo(!1,["boolean","string"],((sa={})[Jn]="sub",sa[Nn]=!0,sa)),Mo(!1,["boolean","string"],((fa={})[Jn]="iss",fa[Nn]=!0,fa)),Mo(!1,["boolean"],((la={})[Nn]=!0,la)),Mo(!1,["boolean","string"],((pa={})[Nn]=!0,pa)),Mo(!1,["boolean","string"],((ha={})[Nn]=!0,ha)),Mo(!1,["boolean"],((da={})[Nn]=!0,da));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new ho("WebSocket is NOT SUPPORTED!")}}();var ba=Cn[0],ma=Cn[1],_a=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},wa={headers:{configurable:!0}};wa.headers.set=function(t){this.extraHeader=t},_a.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=vn({},{_cb:Go()},this.extraParams);if(this.opts.enableJsonp){var i=Ko(t);o=vn({},o,((n={}).jsonqlJsonpCallback=i,n)),t=t[i]}return this.fly.request(this.jsonqlEndpoint,t,vn({},{method:ba,params:o},e))},_a.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){var r=t.getHeaders();for(var n in t.log("request interceptor call",r),r)e.headers[n]=r[n];return e})},_a.prototype.processJsonp=function(t){return Qo(t)},_a.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Io(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Qo(o)},function(t){throw e.cleanUp(),console.error(t),new go("Server side error",t)})},_a.prototype.getHeaders=function(){return this.opts.enableAuth?vn({},Tn,this.getAuthHeader(),this.extraHeader):vn({},Tn,this.extraHeader)},_a.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},_a.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=vn({},this.extraParams,Dn)),this.request({},{method:"GET"},this.contractHeader).then(_o).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},_a.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Lo(t,e)).then(_o)},_a.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Bo(t,e,r),{method:ma}).then(_o)},Object.defineProperties(_a.prototype,wa);var ja=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Ro(t)&&t.length>=2&&Reflect.apply(Zi.set,Zi,t),new ho("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=Zi.get("endpoint")||[];Do(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],i=Zi.get(e)||[];i[this.endpointIndex||0]=n,r.push(i),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Do(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var i=parseFloat(this.opts.tokenExpired);if(!isNaN(i)&&i>0){var a=Go();o.push(a+parseFloat(i))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(Zi.set,Zi,e)},r.jsonqlEndpoint.get=function(){var t=Zi.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(Zi.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return ta.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=ya)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Xo(t))throw new ho("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Xo(this.opts.contract)?this.opts.contract:Zi.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(_a))),Sa={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:An,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Oa={hostname:Mo([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Mo("jsonql",["string"]),loginHandlerName:Mo(Mn,["string"]),logoutHandlerName:Mo(Un,["string"]),enableJsonp:Mo(!1,["boolean"]),enableAuth:Mo(!1,["boolean"]),useJwt:Mo(!0,["boolean"]),useLocalstorage:Mo(!0,["boolean"]),storageKey:Mo("storageKey",["string"]),authKey:Mo("authKey",["string"]),contractExpired:Mo(0,["number"]),keepContract:Mo(!0,["boolean"]),exposeContract:Mo(!1,["boolean"]),showContractDesc:Mo(!1,["boolean"]),contractKey:Mo(!1,["boolean"]),contractKeyName:Mo("X-JSONQL-CV-KEY",["string"]),enableTimeout:Mo(!1,["boolean"]),timeout:Mo(5e3,["number"]),returnInstance:Mo(!1,["boolean"]),allowReturnRawToken:Mo(!1,["boolean"]),debugOn:Mo(!1,["boolean"])};var Ea=new WeakMap,ka=new WeakMap;var Aa=function(){this.__suspend__=null,this.queueStore=new Set},Ta={$suspend:{configurable:!0},$queues:{configurable:!0}};Ta.$suspend.set=function(t){var e=this;if("boolean"!=typeof t)throw new Error("$suspend only accept Boolean value!");var r=this.__suspend__;this.__suspend__=t,this.logger("($suspend)","Change from "+r+" --\x3e "+t),!0===r&&!1===t&&setTimeout(function(){e.release()},1)},Aa.prototype.$queue=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return!0===this.__suspend__&&(this.logger("($queue)","added to $queue",t),this.queueStore.add(t)),this.__suspend__},Ta.$queues.get=function(){var t=this.queueStore.size;return this.logger("($queues)","size: "+t),t>0?Array.from(this.queueStore):[]},Aa.prototype.release=function(){var t=this,e=this.queueStore.size;if(this.logger("(release)","Release was called "+e),e>0){var r=Array.from(this.queueStore);this.queueStore.clear(),this.logger("queue",r),r.forEach(function(e){t.logger(e),Reflect.apply(t.$trigger,t,e)}),this.logger("Release size "+this.queueStore.size)}},Object.defineProperties(Aa.prototype,Ta);var xa=function(t){function e(e){void 0===e&&(e={}),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={$done:{configurable:!0}};return e.prototype.logger=function(){},e.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("($on)",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("($on)",t+" found in lazy store");var i=0;return o.forEach(function(o){var a=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,a,r||u),i+=n.addToNormalStore(t,"on",e,r||u)}),i},e.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("($once)",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("($once)",n);var o=Array.from(n)[0],i=o[0],a=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,i,r||a),this.$off(t)},e.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,i=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("($only)",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==i)&&(this.logger("($only)",t+" found data in lazy store to execute"),Array.from(i).forEach(function(t){var o=t[0],i=t[1],a=t[2];if(a&&"only"!==a)throw new Error("You are trying to register an event already been taken by other type: "+a);n.run(e,o,r||i)}));return o},e.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("($onlyOnce)",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("($onlyOnce)",o);var i=Array.from(o)[0],a=i[0],u=i[1],c=i[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,a,r||u),this.$off(t)}return n},e.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},e.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,i=this.normalStore;if(this.logger("($trigger)","normalStore",i),i.has(t)){var a=this.$queue(t,e,r,n);if(this.logger("($trigger)",t,"found; add to queue: ",a),!0===a)return!1;for(var u=Array.from(i.get(t)),c=u.length,s=!1,f=0;f0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("(addToStore)",e+" existed"),r=t.get(e)):(this.logger("(addToStore)","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var i=n[2];this.checkTypeInLazyStore(e,i)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("(addToStore)","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},e.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},e.prototype.checkTypeInStore=function(t,e){this.validateEvt(t,e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},e.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t,e);var r=this.lazyStore.get(t);return this.logger("(checkTypeInLazyStore)",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},e.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("(addToNormalStore)",t,e,"try to add to normal store"),this.checkTypeInStore(t,e)){this.logger("(addToNormalStore)",e+" can add to "+t+" normal store");var o=this.hashFnToKey(r),i=[this.normalStore,t,o,r,n,e],a=Reflect.apply(this.addToStore,this,i),u=a[0],c=a[1];return this.normalStore=u,c}return!1},e.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var i=Reflect.apply(this.addToStore,this,o),a=i[0],u=i[1];return this.lazyStore=a,u},e.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},r.normalStore.set=function(t){Ea.set(this,t)},r.normalStore.get=function(){return Ea.get(this)},r.lazyStore.set=function(t){ka.set(this,t)},r.lazyStore.get=function(){return ka.get(this)},e.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(e.prototype,r),e}(Aa));return function(t,e){void 0===t&&(t={});var r,n=t.contract,o=function(t){return Uo(t,Oa,Sa)}(t),i=new ja(o,e),a=Yo(i,n),u=(r=o.debugOn,new xa({logger:r?function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];t.unshift("[NBS]"),console.log.apply(null,t)}:void 0})),c=ri(i,o,a,u);return c.eventEmitter=u,c}}); //# sourceMappingURL=statics.js.map diff --git a/packages/http-client/dist/statics.js.map b/packages/http-client/dist/statics.js.map index 66541e02faed8165c4e0a84dbe6b6b7078a8bed9..5ef9a6ac5bbd5599c9f2b0bb7edde04fd16ff0b8 100644 --- a/packages/http-client/dist/statics.js.map +++ b/packages/http-client/dist/statics.js.map @@ -1 +1 @@ -{"version":3,"file":"statics.js","sources":["../node_modules/store/plugins/defaults.js","../node_modules/store/plugins/expire.js"],"sourcesContent":["module.exports = defaultsPlugin\n\nfunction defaultsPlugin() {\n\tvar defaultValues = {}\n\t\n\treturn {\n\t\tdefaults: defaults,\n\t\tget: get\n\t}\n\t\n\tfunction defaults(_, values) {\n\t\tdefaultValues = values\n\t}\n\t\n\tfunction get(super_fn, key) {\n\t\tvar val = super_fn()\n\t\treturn (val !== undefined ? val : defaultValues[key])\n\t}\n}\n","var namespace = 'expire_mixin'\n\nmodule.exports = expirePlugin\n\nfunction expirePlugin() {\n\tvar expirations = this.createStore(this.storage, null, this._namespacePrefix+namespace)\n\t\n\treturn {\n\t\tset: expire_set,\n\t\tget: expire_get,\n\t\tremove: expire_remove,\n\t\tgetExpiration: getExpiration,\n\t\tremoveExpiredKeys: removeExpiredKeys\n\t}\n\t\n\tfunction expire_set(super_fn, key, val, expiration) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\texpirations.set(key, expiration)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction expire_get(super_fn, key) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\t_checkExpiration.call(this, key)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction expire_remove(super_fn, key) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\texpirations.remove(key)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction getExpiration(_, key) {\n\t\treturn expirations.get(key)\n\t}\n\t\n\tfunction removeExpiredKeys(_) {\n\t\tvar keys = []\n\t\tthis.each(function(val, key) {\n\t\t\tkeys.push(key)\n\t\t})\n\t\tfor (var i=0; i { - this.log('request interceptor call') const headers = this.getHeaders(); + this.log('request interceptor call', headers) + for (let key in headers) { req.headers[key] = headers[key]; } diff --git a/packages/http-client/src/lib/ee.js b/packages/http-client/src/lib/ee.js index 7ef99cbd7a823f61dc8db96d580c3b98475e84f1..f4835072d48d2d8d42c1a7ea6c4c9b71f7b09df0 100644 --- a/packages/http-client/src/lib/ee.js +++ b/packages/http-client/src/lib/ee.js @@ -2,6 +2,9 @@ import NBEventService from 'nb-event-service' // output export default function(debugOn) { - let logger = debugOn ? console.info : undefined; - return new NBEventService(logger) + let logger = debugOn ? (...args) => { + args.unshift('[NBS]') + console.log.apply(null, args) + }: undefined; + return new NBEventService({ logger }) } diff --git a/packages/http-client/src/lib/jsonql-static-generator.js b/packages/http-client/src/lib/jsonql-static-generator.js index d87d385217aebcab01b0e5f9d6cfd6f4f71ab15a..fd7d8a95e750badbc605f47e0903c5bd79a6393b 100644 --- a/packages/http-client/src/lib/jsonql-static-generator.js +++ b/packages/http-client/src/lib/jsonql-static-generator.js @@ -2,9 +2,7 @@ // with default methods import methodsGenerator from './methods-generator' import { createEvt } from './utils' -const RESULT = 'result' -const ERROR = 'error' - +import { RESULT_PROP_NAME, ERROR_PROP_NAME } from 'jsonql-constants' /** * Group all the same methods together * @param {object} ee event emitter @@ -17,39 +15,70 @@ const handler = (ee, type) => { // we don't run validate here because we want until the contract is ready return (resolverName, ...args) => ( new Promise((resolver, rejecter) => { - ee.$only(createEvt(type, resolverName, RESULT), resolver) - ee.$only(createEvt(type, + resolverName, ERROR), rejecter) - ee.$trigger(type, { resolverName, args}) + // this are the callbacks + ee.$only(createEvt(type, resolverName, RESULT_PROP_NAME), resolver) + ee.$only(createEvt(type, resolverName, ERROR_PROP_NAME), rejecter) + // this is the main call + ee.$trigger(type, { resolverName, args }) }) ) } +/** + * @param {object} ee eventEmitter + * @param {object} contract the map + * @param {object} config configuration + */ +const validateRegisteredEvents = (ee, contract, config) => { + const storedEvt = ee.$queues; + const debug = config.debugOn; + if (debug) { + console.info('(validateRegisteredEvents)', 'storedEvt', storedEvt) + } + storedEvt.forEach(args => { + let [type, payload] = args; + let { resolverName } = payload; + if (debug) { + console.info('(validateRegisteredEvents)', type, resolverName) + } + if (!contract[type][resolverName]) { + throw new Error(`${type}.${resolverName} not existed in contract!`) + } + }) +} + /** * set up all the event handlers once the contract is ready - * @param {object} ee event emitter * @param {object} jsonqlInstance what the name said + * @param {object} ee event emitter * @param {object} config the configuration * @param {object} contract the map * @return {void} nothing */ -function setupEventHandlers(ee, jsonqlInstance, config, contract) { +function setupEventHandlers(jsonqlInstance, ee, config, contract) { let methods = methodsGenerator(jsonqlInstance, ee, config, contract) + validateRegisteredEvents(ee, contract, config) + // create handler for (let type in methods) { // setup event listeners - only one listener per type ee.$only(type, function({resolverName, args}) { if (methods[type][resolverName]) { Reflect.apply(methods[type][resolverName], null, args) .then(result => { - ee.$trigger(createEvt(type, resolverName, RESULT), result) + ee.$trigger(createEvt(type, resolverName, RESULT_PROP_NAME), result) }) .catch(err => { - ee.$trigger(createEvt(type, resolverName, ERROR), error) + ee.$trigger(createEvt(type, resolverName, ERROR_PROP_NAME), err) }) + } else { + console.error(`${resolverName} is not defined in the contract!`) } }) } // all done now release the queue if any - ee.$suspend = false; + setTimeout(() => { + ee.$suspend = false; + }, 1) } /** @@ -61,6 +90,11 @@ function setupEventHandlers(ee, jsonqlInstance, config, contract) { */ const generator = (jsonqlInstance, config, contractPromise, ee) => { ee.$suspend = true; // hold all the calls + // wait for the promise to resolve + contractPromise.then(contract => { + setupEventHandlers(jsonqlInstance, ee, config, contract) + }) + // construct the api let obj = { query: handler(ee, 'query'), mutation: handler(ee, 'mutation'), @@ -77,10 +111,6 @@ const generator = (jsonqlInstance, config, contractPromise, ee) => { if (config.enableAuth) { obj.userdata = () => jsonqlInstance.userdata; } - // wait for the promise to resolve - contractPromise.then(contract => { - setupEventHandlers(ee, jsonqlInstance, config, contract) - }) obj.version = '__VERSION__'; // output return obj; diff --git a/packages/http-client/src/lib/methods-generator.js b/packages/http-client/src/lib/methods-generator.js index 79d76510e1a61c6d70859fe1689bc35af17ec4ab..d19294dcfb30b2f8193f4671404e884c3bb44207 100644 --- a/packages/http-client/src/lib/methods-generator.js +++ b/packages/http-client/src/lib/methods-generator.js @@ -77,10 +77,11 @@ export default function methodsGenerator(jsonqlInstance, ee, config, contract) { } // there is only one call issuer we want here if (config.enableAuth && contract.auth) { + obj.auth = {} // v1.3.1 add back the auth prop name const { loginHandlerName, logoutHandlerName } = config; if (contract.auth[loginHandlerName]) { // changing to the name the config specify - obj[loginHandlerName] = (...args) => { + obj.auth[loginHandlerName] = (...args) => { const fn = authMethodGenerator(jsonqlInstance, loginHandlerName, config, contract) return fn.apply(null, args) .then(jsonqlInstance.postLoginAction) @@ -91,7 +92,7 @@ export default function methodsGenerator(jsonqlInstance, ee, config, contract) { } } if (contract.auth[logoutHandlerName]) { - obj[logoutHandlerName] = (...args) => { + obj.auth[logoutHandlerName] = (...args) => { const fn = authMethodGenerator(jsonqlInstance, logoutHandlerName, config, contract) return fn.apply(null, args) .then(jsonqlInstance.postLogoutAction) @@ -101,7 +102,7 @@ export default function methodsGenerator(jsonqlInstance, ee, config, contract) { }) } } else { - obj[logoutHandlerName] = () => { + obj.auth[logoutHandlerName] = () => { jsonqlInstance.postLogoutAction(KEY_WORD) ee.$trigger(LOGOUT_NAME, KEY_WORD) } diff --git a/packages/http-client/tests/assign.test.js b/packages/http-client/tests/assign.test.js new file mode 100644 index 0000000000000000000000000000000000000000..f77ac3e030ae920b1e1770b9bd4d1d58690e09df --- /dev/null +++ b/packages/http-client/tests/assign.test.js @@ -0,0 +1,22 @@ +// just testing the DIY assign +const test = require('ava') + +const list = [ + ['query', 'helloWorld'], + ['query', 'getSomething'], + ['mutation', 'saveSomething'] +] + +test('It should able to merge this array together', t => { + let obj = list.map(l => ( + { [l[0]]: [ l[1] ] } + )) + .reduce((first, next) => { + return Object.assign(first, next) + }, {}) + + console.info(obj) + + t.pass() + +}) diff --git a/packages/http-client/tests/contract-lock.test.js b/packages/http-client/tests/contract-lock.test.js deleted file mode 100755 index 510e9616419c9b91a9ce8cbf33c8bb4348c76bb1..0000000000000000000000000000000000000000 --- a/packages/http-client/tests/contract-lock.test.js +++ /dev/null @@ -1,41 +0,0 @@ -// This will hook up to the jsonql-koa for proper e2e testing including the security cert test -const { join } = require('path'); -const { inspect } = require('util'); -const test = require('ava'); -// const superagent = require('superagent'); -// const Promise = require('promise-polyfill'); -const debug = require('debug')('jsonql:client:test'); -const Window = require('window'); -const window = new Window(); -// window.superagent = superagent; -window.localStorage = {}; -window.sessionStorage = {}; -// window.Promise = Promise; -// window['promise-polyfill'] = Promise; -const JsonqlClient = require(join(__dirname, '..', 'lib' , 'jsonql-client.js')); -const options = require('./fixtures/options.json'); -const server = require('./fixtures/server'); - -test.before(t => { - t.context.stop = server({ - contractKey: options.auth.contractKey - }); -}); - -test.after(t => { - t.context.stop(); -}); - -test('Try to fetch the contract from the server when its lock by a key', async (t) => { - const client = await JsonqlClient({ - hostname: ['http://localhost', options.server.port].join(':'), - contractKey: options.auth.contractKey - }); - - const { jsonqlClient } = client; - const contract = jsonqlClient.getContract(); - - debug('received contract', contract); - - t.is(true, typeof contract === 'object'); -}); diff --git a/packages/http-client/tests/fixtures/resolvers/auth/validator.js b/packages/http-client/tests/fixtures/resolvers/auth/validator.js index 890a4dbebedaaa0a313c9f7d71ed450ae4df68cc..ab17b33b3d8e7785db3e7b0836453bd1e8369c55 100755 --- a/packages/http-client/tests/fixtures/resolvers/auth/validator.js +++ b/packages/http-client/tests/fixtures/resolvers/auth/validator.js @@ -5,9 +5,12 @@ const debug = require('debug')('jsonql-client:auth:validator'); * @return {boolean} true on success */ module.exports = function(key) { - console.log('got a key', key); + debug('got a key', key) + return true; + /* if (key) { return key.substr(0, 3) === '123'; } return false; + */ } diff --git a/packages/http-client/tests/fixtures/resolvers/query/get-something.js b/packages/http-client/tests/fixtures/resolvers/query/get-something.js index 89a0d879be44312a1265e2dd43882cafb0a2f141..e0f0e4d1cadca3d6281cc84607f0999b4e0d2dee 100644 --- a/packages/http-client/tests/fixtures/resolvers/query/get-something.js +++ b/packages/http-client/tests/fixtures/resolvers/query/get-something.js @@ -1,12 +1,12 @@ /** * This is a new query that require parameters for testing - * @param {string} key key + * @param {string} key key * @param {string} [value='world'] optional value * @return {object} put key / value together into an object */ module.exports = function(key, value = 'world') { return { [key]: value - }; -} \ No newline at end of file + } +} diff --git a/packages/http-client/tests/fixtures/server.js b/packages/http-client/tests/fixtures/server.js index 9f4264ac06aaff2e30321529772367dd16402d61..6515251ecc49652c1faf600b041eca671c40a79f 100755 --- a/packages/http-client/tests/fixtures/server.js +++ b/packages/http-client/tests/fixtures/server.js @@ -19,8 +19,6 @@ const dummy = () => { } } - - module.exports = function(config = {}) { const { stop } = serverIoCore({ webroot: [ @@ -34,7 +32,7 @@ module.exports = function(config = {}) { // reload: true, //env !== 'test', @BUG it keep reload not sure what is the problem at the moment middlewares: [ favicon(join(__dirname, 'favicon.ico')), - dummy(), + // dummy(), jsonqlMiddleware(Object.assign({ // enableAuth: true, resolverDir: join(__dirname, 'resolvers'), diff --git a/packages/http-client/tests/main.test.js b/packages/http-client/tests/main.test.js deleted file mode 100755 index 3ff652c505099123d14a76d6469bd7e4fadce6d5..0000000000000000000000000000000000000000 --- a/packages/http-client/tests/main.test.js +++ /dev/null @@ -1,45 +0,0 @@ -const { join } = require('path'); -const { inspect } = require('util'); -const test = require('ava'); -// const superagent = require('superagent'); -const debug = require('debug')('jsonql:client:test'); -const Window = require('window'); -const window = new Window(); -window.localStorage = {}; -window.sessionStorage = {}; - -const JsonqlClient = require(join(__dirname, '..', 'lib' , 'jsonql-client.js')); -// window.superagent = superagent; -const options = require('./fixtures/options.json'); -const contractJson = require('./fixtures/contract.json'); -const server = require('./fixtures/server'); - -test.before(t => { - t.context.stop = server(); -}); - -test.after(t => { - t.context.stop(); -}); - -test('It should able to use the client to contact the server with static contract', async (t) => { - //@BUG @TODO The problem is the dynamic retrieving contract - const request = await JsonqlClient({ - hostname: ['http://localhost', options.server.port].join(':'), - contract: contractJson - }); - const res = await request.query.helloWorld(); - t.is('Hello world!', res.data); -}); - -test('It should able to use the client to contact the server with just in time contract', async (t) => { - //@BUG @TODO The problem is the dynamic retrieving contract - const request = await JsonqlClient({ - hostname: ['http://localhost', options.server.port].join(':'), - }); - - debug('request', inspect(request, null, false)); - const res = await request.query.helloWorld(); - debug('status', res.status); - t.is('Hello world!', res.data); -}); diff --git a/packages/http-client/tests/qunit/run-qunit-setup.js b/packages/http-client/tests/qunit/run-qunit-setup.js index 0b64703b88a1db09d93f5d8e4c3816c51b974130..7292ca80e4a1831e376306c10ce0cef131208c3b 100644 --- a/packages/http-client/tests/qunit/run-qunit-setup.js +++ b/packages/http-client/tests/qunit/run-qunit-setup.js @@ -11,12 +11,10 @@ const jsonqlKoaDir = join(__dirname, '..', 'fixtures') */ const getConfig = (config) => { const baseDir = join(config.baseDir, 'qunit', 'tests') - console.info('baseDir', baseDir, config.testFilePattern) + // console.info('baseDir', baseDir, config.testFilePattern) return new Promise((resolver, rejecter) => { glob(join(baseDir, config.testFilePattern), function(err, files) { - - console.info('files found', files) - + // console.info('files found', files) if (err || !files.length) { console.error('FAILED TO FETCH ANY TEST FILES!') return rejecter(err) @@ -35,9 +33,9 @@ const getConfig = (config) => { }, middlewares: [ jsonqlKoa({ - enableAuth: true, - useJwt: true, - keysDir: join(jsonqlKoaDir, 'keys'), + // enableAuth: true, + // useJwt: true, + // keysDir: join(jsonqlKoaDir, 'keys'), resolverDir: join(jsonqlKoaDir, 'resolvers'), contractDir: join(jsonqlKoaDir, 'contracts', 'tmp') }) diff --git a/packages/http-client/tests/qunit/tests/base-test.js b/packages/http-client/tests/qunit/tests/base-test.js index bf8ee79f764da67762a40215c1c436514b828b78..1cff15984cb09357033c233a1c8d0c8d1c43736f 100644 --- a/packages/http-client/tests/qunit/tests/base-test.js +++ b/packages/http-client/tests/qunit/tests/base-test.js @@ -8,7 +8,7 @@ QUnit.test('jsonqlClient should able to connect to server', function(assert) { hostname: 'http://localhost:8081', showContractDesc: true, keepContract: false, - debugOn: true + debugOn: false }) .then(function(client) { diff --git a/packages/http-client/tests/qunit/tests/static-test.js b/packages/http-client/tests/qunit/tests/static-test.js index 8f7b4d2bd874c86f741c7bc9befe28a32f02f7cf..0c1cbf16501fcc509d418cf7c33efa48730d597a 100644 --- a/packages/http-client/tests/qunit/tests/static-test.js +++ b/packages/http-client/tests/qunit/tests/static-test.js @@ -2,22 +2,41 @@ QUnit.test('jsonqlClientStatic should able to connect to server', function(assert) { var done1 = assert.async() - - console.info(jsonqlClientStatic) - - jsonqlClientStatic({ + var done2 = assert.async() + // init client + var client = jsonqlClientStatic({ hostname: 'http://localhost:8081', showContractDesc: true, keepContract: false, debugOn: true - }).query('helloWorld') + }) + + client.query('getSomethingNonExisted', 'whatever') + .then(function(result) { + console.log('[Qunit]', 'getSomething result', result) + }) + + client.query('getSomething', 'whatever', 'shit') + .then(function(result) { + console.log('[Qunit]', 'getSomething result', result) + assert.equal(true, typeof result.whatever === 'string', 'just passing this one') + done2() + }) + .catch(function(error) { + console.error('[Qunit]', 'some error happend?', error) + done2() + }) + + client.query('helloWorld') .then(function(result) { console.info(result) assert.equal('Hello world!', result, "Hello world test done") done1() }) .catch(function(error) { - console.error('catch', error) + console.error('[Qunit]', 'catch', error) done1() }) + + }) diff --git a/packages/http-client/tests/validation.test.js b/packages/http-client/tests/validation.test.js deleted file mode 100644 index 1fcd4ef482095070c8844578d396241fdca2cfe8..0000000000000000000000000000000000000000 --- a/packages/http-client/tests/validation.test.js +++ /dev/null @@ -1,12 +0,0 @@ -// testing the validation -const test = require('ava'); -const client = require('../lib/jsonql-client.js'); -const contractJson = require('./fixtures/public-contract.json'); - -test.before(async t => { - -}); - -test("It should pass the query valdiation", async t => { - t.pass(); -});