From 8725ffd4a6d55ee6010edf0d471a781fa7e73751 Mon Sep 17 00:00:00 2001 From: joelchu Date: Sat, 14 Mar 2020 12:44:55 +0800 Subject: [PATCH 1/7] start jsonql-vaidator 1.6.0 branch with return result check --- packages/contract-cli/package.json | 6 ++-- packages/validator/package.json | 6 ++-- packages/validator/src/returns.js | 45 +++++++++++++++++++++++++++++ packages/validator/src/validator.js | 2 +- 4 files changed, 52 insertions(+), 7 deletions(-) create mode 100644 packages/validator/src/returns.js diff --git a/packages/contract-cli/package.json b/packages/contract-cli/package.json index 6fec3e75..b73772ca 100755 --- a/packages/contract-cli/package.json +++ b/packages/contract-cli/package.json @@ -53,10 +53,10 @@ "fs-extra": "^8.1.0", "glob": "^7.1.6", "jsdoc-api": "^5.0.4", - "jsonql-constants": "^1.9.8", + "jsonql-constants": "^1.9.10", "jsonql-errors": "^1.1.10", - "jsonql-params-validator": "^1.5.2", - "jsonql-utils": "^1.0.6", + "jsonql-params-validator": "^1.5.3", + "jsonql-utils": "^1.1.3", "kefir": "^3.8.6", "lodash": "^4.17.15", "nb-split-tasks": "^0.6.0", diff --git a/packages/validator/package.json b/packages/validator/package.json index 75b7c091..df47da00 100644 --- a/packages/validator/package.json +++ b/packages/validator/package.json @@ -1,6 +1,6 @@ { "name": "jsonql-params-validator", - "version": "1.5.3", + "version": "1.6.0", "description": "JSONQL parameters validator written in ES6+ to use with the client / server", "module": "index.js", "browser": "dist/jsonql-params-validator.umd.js", @@ -37,7 +37,7 @@ "jsonql" ], "dependencies": { - "jsonql-constants": "^1.9.8", + "jsonql-constants": "^1.9.10", "jsonql-errors": "^1.1.10", "lodash-es": "^4.17.15" }, @@ -51,7 +51,7 @@ }, "optionalDependencies": { "acorn": "^7.1.1", - "rollup": "^2.0.3", + "rollup": "^2.0.6", "rollup-plugin-alias": "^2.2.0", "rollup-plugin-async": "^1.2.0", "rollup-plugin-buble": "^0.19.8", diff --git a/packages/validator/src/returns.js b/packages/validator/src/returns.js new file mode 100644 index 00000000..cb7738a2 --- /dev/null +++ b/packages/validator/src/returns.js @@ -0,0 +1,45 @@ +// validate the return result using the contract defintion +import { validateSync, validateAsync } from './validator' + +/** + * The core validation method + * @param {array} args the return result from resolver + * @param {array} params the `returns` part from the resolverName.returns + */ +export function checkReturns(args, params) { + +} + +/** + * Async version of checkReturns + * @param {array} args + * @param {array} params + */ +export function checkReturnsAsync(args, params) { + +} + +/** + * The combine method for use to check the resolver returns with contract + * @param {string} resolverType type of resolver (query, mutation, socket, auth) + * @param {string} resolverName name of the resolver + * @param {array} args the return results + * @param {object} contract the full contract json + * @return {*} + */ +export function checkResolverReturns(resolverType, resolverName, args, contract) { + +} + +/** + * The async version of checkResolverReturns + * @param {string} resolverType type of resolver (query, mutation, socket, auth) + * @param {string} resolverName name of the resolver + * @param {array} args the return results + * @param {object} contract the full contract json + * @return {*} + */ +export function checkResolverReturnsAsync(resolverType, resolverName, args, contract) { + +} + diff --git a/packages/validator/src/validator.js b/packages/validator/src/validator.js index f119fcc9..2185246c 100644 --- a/packages/validator/src/validator.js +++ b/packages/validator/src/validator.js @@ -32,7 +32,7 @@ import JsonqlError from 'jsonql-errors/src/error' * @return {boolean} for filter operation false is actually OK */ const optionalHandler = function( params ) { - const { arg, param } = params; + const { arg, param } = params if (notEmpty(arg)) { // debug('call optional handler', arg, params); // loop through the type in param -- Gitee From 5b7f02c88937b686c00767be3028d3f76bec7322 Mon Sep 17 00:00:00 2001 From: joelchu Date: Sat, 14 Mar 2020 13:04:52 +0800 Subject: [PATCH 2/7] sort out the returns --- packages/validator/index.js | 90 +++++++++++++------ packages/validator/src/returns.js | 32 +++++-- .../validator/tests/validate-result.test.js | 11 ++- 3 files changed, 100 insertions(+), 33 deletions(-) diff --git a/packages/validator/index.js b/packages/validator/index.js index 5b249b67..4a13bc15 100644 --- a/packages/validator/index.js +++ b/packages/validator/index.js @@ -8,36 +8,76 @@ import { checkIsNumber, checkIsArray } from './src' -// PIA syntax -export const isObject = checkIsObject -export const isAny = checkIsAny -export const isString = checkIsString -export const isBoolean = checkIsBoolean -export const isNumber = checkIsNumber -export const isArray = checkIsArray -export const isNotEmpty = notEmpty - import * as validator from './src/validator' - -export const normalizeArgs = validator.normalizeArgs -export const validateSync = validator.validateSync -export const validateAsync = validator.validateAsync - // configuration checking - import * as jsonqlOptions from './src/options' +// the two extra functions +import isInArray from './src/is-in-array' +import isObjectHasKeyFn from './src/is-key-in-object' + +const isObject = checkIsObject +const isAny = checkIsAny +const isString = checkIsString +const isBoolean = checkIsBoolean +const isNumber = checkIsNumber +const isArray = checkIsArray +const isNotEmpty = notEmpty + +const normalizeArgs = validator.normalizeArgs +const validateSync = validator.validateSync +const validateAsync = validator.validateAsync -export const JSONQL_PARAMS_VALIDATOR_INFO = jsonqlOptions.JSONQL_PARAMS_VALIDATOR_INFO +const JSONQL_PARAMS_VALIDATOR_INFO = jsonqlOptions.JSONQL_PARAMS_VALIDATOR_INFO -export const createConfig = jsonqlOptions.createConfig -export const constructConfig = jsonqlOptions.constructConfigFn +const createConfig = jsonqlOptions.createConfig +const constructConfig = jsonqlOptions.constructConfigFn // construct the final output 1.5.2 -export const checkConfigAsync = jsonqlOptions.getCheckConfigAsync(validator.validateSync) -export const checkConfig = jsonqlOptions.getCheckConfig(validator.validateSync) +const checkConfigAsync = jsonqlOptions.getCheckConfigAsync(validator.validateSync) +const checkConfig = jsonqlOptions.getCheckConfig(validator.validateSync) + +const inArray = isInArray +const isObjectHasKey = isObjectHasKeyFn + +// check returns methods +import { + checkReturns, + checkReturnsAsync, + checkResolverReturns, + checkResolverReturnsAsync +} from './src/returns' + + +// group the in one +export { + JSONQL_PARAMS_VALIDATOR_INFO, + + isObject, + isAny, + isString, + isBoolean, + isNumber, + isArray, + isNotEmpty, + + inArray, + isObjectHasKey, + + normalizeArgs, + validateSync, + validateAsync, + + createConfig, + constructConfig, + checkConfig, + checkConfigAsync, + + checkReturns, + checkReturnsAsync, + checkResolverReturns, + checkResolverReturnsAsync +} + + + -// export the two extra functions -import isInArray from './src/is-in-array' -import isObjectHasKeyFn from './src/is-key-in-object' -export const inArray = isInArray -export const isObjectHasKey = isObjectHasKeyFn diff --git a/packages/validator/src/returns.js b/packages/validator/src/returns.js index cb7738a2..1f87523c 100644 --- a/packages/validator/src/returns.js +++ b/packages/validator/src/returns.js @@ -1,14 +1,30 @@ // validate the return result using the contract defintion import { validateSync, validateAsync } from './validator' - +const RETURNS_NAME = 'returns' + +/** + * extra the defintion from contract using resolverType --> resolverName + * @param {string} resolverType type of resolver + * @param {string} resolverName name of resolver + * @param {object} contract json + * @return {object|boolean} or false when not found + */ +function getDefFromContract(resolverType, resolverName, contract) { + if (contract[resolverType] && contract[resolverType][resolverName]) { + return contract[resolverType][resolverName] + } + return false +} + + /** - * The core validation method + * Basically it's an alias to the validateSync * @param {array} args the return result from resolver * @param {array} params the `returns` part from the resolverName.returns */ export function checkReturns(args, params) { - -} + return validateSync(args, params) +} /** * Async version of checkReturns @@ -16,7 +32,7 @@ export function checkReturns(args, params) { * @param {array} params */ export function checkReturnsAsync(args, params) { - + return validateAsync(args, params) } /** @@ -28,7 +44,8 @@ export function checkReturnsAsync(args, params) { * @return {*} */ export function checkResolverReturns(resolverType, resolverName, args, contract) { - + const def = getDefFromContract(resolverType, resolverName) + return checkResolverReturns(args, def[RETURNS_NAME]) } /** @@ -40,6 +57,7 @@ export function checkResolverReturns(resolverType, resolverName, args, contract) * @return {*} */ export function checkResolverReturnsAsync(resolverType, resolverName, args, contract) { - + const def = getDefFromContract(resolverType, resolverName) + return checkResolverReturnsAsync(args, def[RETURNS_NAME]) } diff --git a/packages/validator/tests/validate-result.test.js b/packages/validator/tests/validate-result.test.js index 58baca1c..dd7cf09c 100644 --- a/packages/validator/tests/validate-result.test.js +++ b/packages/validator/tests/validate-result.test.js @@ -4,7 +4,10 @@ const { join } = require('path') const fsx = require('fs-extra') const { DATA_KEY, ERROR_KEY } = require('jsonql-constants') const contract = fsx.readJsonSync(join(__dirname, 'fixtures', 'contract.json')) -const { validateSync, validateAsync } = require('../dist/jsonql-params-validator.cjs') +const { + validateSync, + validateAsync +} = require('../dist/jsonql-params-validator.cjs') const debug = require('debug')('jsonql-params-validator:test:validate-result') @@ -37,3 +40,9 @@ test.cb('It should able to do the same with validate async but just resolve the t.end() }) }) + +// put the new checkReturns method test here @1.6.0 +test(`Should able to check the return result`, t => { + + +}) -- Gitee From 645febcf4716d02090271fa5af4962ad7ecf5aeb Mon Sep 17 00:00:00 2001 From: joelchu Date: Sat, 14 Mar 2020 13:05:13 +0800 Subject: [PATCH 3/7] new test build for 1.6.0 --- packages/validator/dist/jsonql-params-validator.cjs.js | 2 +- packages/validator/dist/jsonql-params-validator.umd.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/validator/dist/jsonql-params-validator.cjs.js b/packages/validator/dist/jsonql-params-validator.cjs.js index b6300778..a67c9cf5 100644 --- a/packages/validator/dist/jsonql-params-validator.cjs.js +++ b/packages/validator/dist/jsonql-params-validator.cjs.js @@ -1,2 +1,2 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},r="object"==typeof t&&t&&t.Object===Object&&t,e="object"==typeof self&&self&&self.Object===Object&&self,n=r||e||Function("return this")(),o=n.Symbol;function u(t,r){for(var e=-1,n=null==t?0:t.length,o=Array(n);++e=n?t:function(t,r,e){var n=-1,o=t.length;r<0&&(r=-r>o?0:o+r),(e=e>o?o:e)<0&&(e+=o),o=r>e?0:e-r>>>0,r>>>=0;for(var u=Array(o);++n-1;);return e}(n,o),function(t,r){for(var e=t.length;e--&&m(r,t[e],0)>-1;);return e}(n,o)+1).join("")}var D=function(t){return!!i(t)||null!=t&&""!==$(t)};function R(t){return function(t){return"number"==typeof t||h(t)&&"[object Number]"==v(t)}(t)&&t!=+t}function B(t){return"string"==typeof t||!i(t)&&h(t)&&"[object String]"==v(t)}var V=function(t){return!B(t)&&!R(parseFloat(t))},I=function(t){return""!==$(t)&&B(t)},L=function(t){return null!=t&&"boolean"==typeof t},q=function(t,r){return void 0===r&&(r=!0),void 0!==t&&""!==t&&""!==$(t)&&(!1===r||!0===r&&null!==t)},U=function(t){switch(t){case"number":return V;case"string":return I;case"boolean":return L;default:return q}},J=function(t,r){return void 0===r&&(r=""),!!i(t)&&(""===r||""===$(r)||!(t.filter((function(t){return!U(r)(t)})).length>0))},W=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var r=t.replace("array.<","").replace(">","");return r.indexOf("|")?r.split("|"):[r]}return!1},G=function(t,r){var e=t.arg;return r.length>1?!e.filter((function(t){return!(r.length>r.filter((function(r){return!U(r)(t)})).length)})).length:r.length>r.filter((function(t){return!J(e,t)})).length};function H(t,r){return function(e){return t(r(e))}}var K=H(Object.getPrototypeOf,Object),Q=Function.prototype,Y=Object.prototype,X=Q.toString,Z=Y.hasOwnProperty,tt=X.call(Object);function rt(t){if(!h(t)||"[object Object]"!=v(t))return!1;var r=K(t);if(null===r)return!0;var e=Z.call(r,"constructor")&&r.constructor;return"function"==typeof e&&e instanceof e&&X.call(e)==tt}var et,nt=function(t,r,e){for(var n=-1,o=Object(t),u=e(t),i=u.length;i--;){var a=u[et?i:++n];if(!1===r(o[a],a,o))break}return t};function ot(t){return h(t)&&"[object Arguments]"==v(t)}var ut=Object.prototype,it=ut.hasOwnProperty,at=ut.propertyIsEnumerable,ct=ot(function(){return arguments}())?ot:function(t){return h(t)&&it.call(t,"callee")&&!at.call(t,"callee")};var ft="object"==typeof exports&&exports&&!exports.nodeType&&exports,st=ft&&"object"==typeof module&&module&&!module.nodeType&&module,lt=st&&st.exports===ft?n.Buffer:void 0,pt=(lt?lt.isBuffer:void 0)||function(){return!1},vt=/^(?:0|[1-9]\d*)$/;function ht(t,r){var e=typeof t;return!!(r=null==r?9007199254740991:r)&&("number"==e||"symbol"!=e&&vt.test(t))&&t>-1&&t%1==0&&t-1&&t%1==0&&t<=9007199254740991}var dt={};dt["[object Float32Array]"]=dt["[object Float64Array]"]=dt["[object Int8Array]"]=dt["[object Int16Array]"]=dt["[object Int32Array]"]=dt["[object Uint8Array]"]=dt["[object Uint8ClampedArray]"]=dt["[object Uint16Array]"]=dt["[object Uint32Array]"]=!0,dt["[object Arguments]"]=dt["[object Array]"]=dt["[object ArrayBuffer]"]=dt["[object Boolean]"]=dt["[object DataView]"]=dt["[object Date]"]=dt["[object Error]"]=dt["[object Function]"]=dt["[object Map]"]=dt["[object Number]"]=dt["[object Object]"]=dt["[object RegExp]"]=dt["[object Set]"]=dt["[object String]"]=dt["[object WeakMap]"]=!1;var bt,gt="object"==typeof exports&&exports&&!exports.nodeType&&exports,_t=gt&&"object"==typeof module&&module&&!module.nodeType&&module,jt=_t&&_t.exports===gt&&r.process,mt=function(){try{var t=_t&&_t.require&&_t.require("util").types;return t||jt&&jt.binding&&jt.binding("util")}catch(t){}}(),Ot=mt&&mt.isTypedArray,wt=Ot?(bt=Ot,function(t){return bt(t)}):function(t){return h(t)&&yt(t.length)&&!!dt[v(t)]},At=Object.prototype.hasOwnProperty;function xt(t,r){var e=i(t),n=!e&&ct(t),o=!e&&!n&&pt(t),u=!e&&!n&&!o&&wt(t),a=e||n||o||u,c=a?function(t,r){for(var e=-1,n=Array(t);++e-1},Rt.prototype.set=function(t,r){var e=this.__data__,n=$t(e,t);return n<0?(++this.size,e.push([t,r])):e[n][1]=r,this};var Bt,Vt=n["__core-js_shared__"],It=(Bt=/[^.]+$/.exec(Vt&&Vt.keys&&Vt.keys.IE_PROTO||""))?"Symbol(src)_1."+Bt:"";var Lt=Function.prototype.toString;function qt(t){if(null!=t){try{return Lt.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var Ut=/^\[object .+?Constructor\]$/,Jt=Function.prototype,Wt=Object.prototype,Gt=Jt.toString,Ht=Wt.hasOwnProperty,Kt=RegExp("^"+Gt.call(Ht).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Qt(t){return!(!zt(t)||function(t){return!!It&&It in t}(t))&&(Tt(t)?Kt:Ut).test(qt(t))}function Yt(t,r){var e=function(t,r){return null==t?void 0:t[r]}(t,r);return Qt(e)?e:void 0}var Xt=Yt(n,"Map"),Zt=Yt(Object,"create");var tr=Object.prototype.hasOwnProperty;var rr=Object.prototype.hasOwnProperty;function er(t){var r=-1,e=null==t?0:t.length;for(this.clear();++ra))return!1;var f=u.get(t);if(f&&u.get(r))return f==r;var s=-1,l=!0,p=2&e?new ir:void 0;for(u.set(t,r),u.set(r,t);++sr.type.filter((function(t){var r;return void 0===e||(!1!==(r=W(t))?!G({arg:e},r):!U(t)(e))})).length)})).length}return!1},ee=function(t){function r(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];t.apply(this,e),this.message=e[0],this.detail=e[1],this.className=r.name,t.captureStackTrace&&t.captureStackTrace(this,r)}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var e={name:{configurable:!0}};return e.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(r,e),r}(Error),ne=function(t){function r(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];t.apply(this,e),this.message=e[0],this.detail=e[1],this.className=r.name,t.captureStackTrace&&t.captureStackTrace(this,r)}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var e={name:{configurable:!0},statusCode:{configurable:!0}};return e.name.get=function(){return"JsonqlError"},e.statusCode.get=function(){return-1},Object.defineProperties(r,e),r}(Error),oe=function(t,r){var e,n,o,u,i;switch(!0){case"object"===t:return o=(n=r).arg,u=n.param,i=[o],Array.isArray(u.keys)&&u.keys.length&&i.push(u.keys),!Reflect.apply(re,null,i);case"array"===t:return!J(r.arg);case!1!==(e=W(t)):return!G(r,e);default:return!U(t)(r.arg)}},ue=function(t,r){return void 0!==t?t:!0===r.optional&&void 0!==r.defaultvalue?r.defaultvalue:null},ie=function(t,r){if(!J(r))throw new ee("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===r.length)return[];if(!J(t))throw new ee("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==r.length:return t.map((function(t,e){return{arg:t,index:e,param:r[e]}}));case!0===r[0].variable:var e=r[0].type;return t.map((function(t,n){return{arg:t,index:n,param:r[n]||{type:e,name:"_"}}}));case t.lengthr.length:var n=r.length,o=["any"];return t.map((function(t,e){var u=e>=n||!!r[e].optional,i=r[e]||{type:o,name:"_"+e};return{arg:u?ue(t,i):t,index:e,param:i,optional:u}}));default:throw new ne("Could not understand your arguments and parameter structure!",{args:t,params:r})}},ae=function(t,r,e){var n;void 0===e&&(e=!1);var o=ie(t,r),u=o.filter((function(t){return!0===t.optional||!0===t.param.optional?function(t){var r=t.arg,e=t.param;return!!D(r)&&!(e.type.length>e.type.filter((function(r){return oe(r,t)})).length)}(t):!(t.param.type.length>t.param.type.filter((function(r){return oe(r,t)})).length)}));return e?((n={}).error=u,n.data=o.map((function(t){return t.arg})),n):u},ce=function(){try{var t=Yt(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();function fe(t,r,e){"__proto__"==r&&ce?ce(t,r,{configurable:!0,enumerable:!0,value:e,writable:!0}):t[r]=e}function se(t,r,e){(void 0===e||Mt(t[r],e))&&(void 0!==e||r in t)||fe(t,r,e)}var le="object"==typeof exports&&exports&&!exports.nodeType&&exports,pe=le&&"object"==typeof module&&module&&!module.nodeType&&module,ve=pe&&pe.exports===le?n.Buffer:void 0,he=ve?ve.allocUnsafe:void 0;function ye(t,r){var e,n,o=r?(e=t.buffer,n=new e.constructor(e.byteLength),new fr(n).set(new fr(e)),n):t.buffer;return new t.constructor(o,t.byteOffset,t.length)}var de=Object.create,be=function(){function t(){}return function(r){if(!zt(r))return{};if(de)return de(r);t.prototype=r;var e=new t;return t.prototype=void 0,e}}();function ge(t,r){if(("constructor"!==r||"function"!=typeof t[r])&&"__proto__"!=r)return t[r]}var _e=Object.prototype.hasOwnProperty;function je(t,r,e){var n=t[r];_e.call(t,r)&&Mt(n,e)&&(void 0!==e||r in t)||fe(t,r,e)}var me=Object.prototype.hasOwnProperty;function Oe(t){if(!zt(t))return function(t){var r=[];if(null!=t)for(var e in Object(t))r.push(e);return r}(t);var r=kt(t),e=[];for(var n in t)("constructor"!=n||!r&&me.call(t,n))&&e.push(n);return e}function we(t){return Ct(t)?xt(t,!0):Oe(t)}function Ae(t){return function(t,r,e,n){var o=!e;e||(e={});for(var u=-1,i=r.length;++u0){if(++r>=800)return arguments[0]}else r=0;return t.apply(void 0,arguments)}}(Ee);function Ce(t,r){return Te(function(t,r,e){return r=Pe(void 0===r?t.length-1:r,0),function(){for(var n=arguments,o=-1,u=Pe(n.length-r,0),i=Array(u);++o1?r[n-1]:void 0,u=n>2?r[2]:void 0;for(o=Ne.length>3&&"function"==typeof o?(n--,o):void 0,u&&function(t,r,e){if(!zt(e))return!1;var n=typeof r;return!!("number"==n?Ct(e)&&ht(r,e.length):"string"==n&&r in e)&&Mt(e[r],t)}(r[0],r[1],u)&&(o=n<3?void 0:o,n=1),t=Object(t);++e=n?t:function(t,r,e){var n=-1,o=t.length;r<0&&(r=-r>o?0:o+r),(e=e>o?o:e)<0&&(e+=o),o=r>e?0:e-r>>>0,r>>>=0;for(var u=Array(o);++n-1;);return e}(n,o),function(t,r){for(var e=t.length;e--&&m(r,t[e],0)>-1;);return e}(n,o)+1).join("")}var $=function(t){return!!i(t)||null!=t&&""!==M(t)};function D(t){return function(t){return"number"==typeof t||h(t)&&"[object Number]"==v(t)}(t)&&t!=+t}function B(t){return"string"==typeof t||!i(t)&&h(t)&&"[object String]"==v(t)}var V=function(t){return!B(t)&&!D(parseFloat(t))},I=function(t){return""!==M(t)&&B(t)},L=function(t){return null!=t&&"boolean"==typeof t},q=function(t,r){return void 0===r&&(r=!0),void 0!==t&&""!==t&&""!==M(t)&&(!1===r||!0===r&&null!==t)},U=function(t){switch(t){case"number":return V;case"string":return I;case"boolean":return L;default:return q}},J=function(t,r){return void 0===r&&(r=""),!!i(t)&&(""===r||""===M(r)||!(t.filter((function(t){return!U(r)(t)})).length>0))},W=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var r=t.replace("array.<","").replace(">","");return r.indexOf("|")?r.split("|"):[r]}return!1},G=function(t,r){var e=t.arg;return r.length>1?!e.filter((function(t){return!(r.length>r.filter((function(r){return!U(r)(t)})).length)})).length:r.length>r.filter((function(t){return!J(e,t)})).length};function H(t,r){return function(e){return t(r(e))}}var K=H(Object.getPrototypeOf,Object),Q=Function.prototype,Y=Object.prototype,X=Q.toString,Z=Y.hasOwnProperty,tt=X.call(Object);function rt(t){if(!h(t)||"[object Object]"!=v(t))return!1;var r=K(t);if(null===r)return!0;var e=Z.call(r,"constructor")&&r.constructor;return"function"==typeof e&&e instanceof e&&X.call(e)==tt}var et,nt=function(t,r,e){for(var n=-1,o=Object(t),u=e(t),i=u.length;i--;){var a=u[et?i:++n];if(!1===r(o[a],a,o))break}return t};function ot(t){return h(t)&&"[object Arguments]"==v(t)}var ut=Object.prototype,it=ut.hasOwnProperty,at=ut.propertyIsEnumerable,ct=ot(function(){return arguments}())?ot:function(t){return h(t)&&it.call(t,"callee")&&!at.call(t,"callee")};var ft="object"==typeof exports&&exports&&!exports.nodeType&&exports,st=ft&&"object"==typeof module&&module&&!module.nodeType&&module,lt=st&&st.exports===ft?n.Buffer:void 0,pt=(lt?lt.isBuffer:void 0)||function(){return!1},vt=/^(?:0|[1-9]\d*)$/;function ht(t,r){var e=typeof t;return!!(r=null==r?9007199254740991:r)&&("number"==e||"symbol"!=e&&vt.test(t))&&t>-1&&t%1==0&&t-1&&t%1==0&&t<=9007199254740991}var dt={};dt["[object Float32Array]"]=dt["[object Float64Array]"]=dt["[object Int8Array]"]=dt["[object Int16Array]"]=dt["[object Int32Array]"]=dt["[object Uint8Array]"]=dt["[object Uint8ClampedArray]"]=dt["[object Uint16Array]"]=dt["[object Uint32Array]"]=!0,dt["[object Arguments]"]=dt["[object Array]"]=dt["[object ArrayBuffer]"]=dt["[object Boolean]"]=dt["[object DataView]"]=dt["[object Date]"]=dt["[object Error]"]=dt["[object Function]"]=dt["[object Map]"]=dt["[object Number]"]=dt["[object Object]"]=dt["[object RegExp]"]=dt["[object Set]"]=dt["[object String]"]=dt["[object WeakMap]"]=!1;var bt,gt="object"==typeof exports&&exports&&!exports.nodeType&&exports,_t=gt&&"object"==typeof module&&module&&!module.nodeType&&module,jt=_t&&_t.exports===gt&&r.process,mt=function(){try{var t=_t&&_t.require&&_t.require("util").types;return t||jt&&jt.binding&&jt.binding("util")}catch(t){}}(),Ot=mt&&mt.isTypedArray,wt=Ot?(bt=Ot,function(t){return bt(t)}):function(t){return h(t)&&yt(t.length)&&!!dt[v(t)]},xt=Object.prototype.hasOwnProperty;function At(t,r){var e=i(t),n=!e&&ct(t),o=!e&&!n&&pt(t),u=!e&&!n&&!o&&wt(t),a=e||n||o||u,c=a?function(t,r){for(var e=-1,n=Array(t);++e-1},Dt.prototype.set=function(t,r){var e=this.__data__,n=Mt(e,t);return n<0?(++this.size,e.push([t,r])):e[n][1]=r,this};var Bt,Vt=n["__core-js_shared__"],It=(Bt=/[^.]+$/.exec(Vt&&Vt.keys&&Vt.keys.IE_PROTO||""))?"Symbol(src)_1."+Bt:"";var Lt=Function.prototype.toString;function qt(t){if(null!=t){try{return Lt.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var Ut=/^\[object .+?Constructor\]$/,Jt=Function.prototype,Wt=Object.prototype,Gt=Jt.toString,Ht=Wt.hasOwnProperty,Kt=RegExp("^"+Gt.call(Ht).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Qt(t){return!(!zt(t)||function(t){return!!It&&It in t}(t))&&(Tt(t)?Kt:Ut).test(qt(t))}function Yt(t,r){var e=function(t,r){return null==t?void 0:t[r]}(t,r);return Qt(e)?e:void 0}var Xt=Yt(n,"Map"),Zt=Yt(Object,"create");var tr=Object.prototype.hasOwnProperty;var rr=Object.prototype.hasOwnProperty;function er(t){var r=-1,e=null==t?0:t.length;for(this.clear();++ra))return!1;var f=u.get(t);if(f&&u.get(r))return f==r;var s=-1,l=!0,p=2&e?new ir:void 0;for(u.set(t,r),u.set(r,t);++sr.type.filter((function(t){var r;return void 0===e||(!1!==(r=W(t))?!G({arg:e},r):!U(t)(e))})).length)})).length}return!1},ee=function(t){function r(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];t.apply(this,e),this.message=e[0],this.detail=e[1],this.className=r.name,t.captureStackTrace&&t.captureStackTrace(this,r)}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var e={name:{configurable:!0}};return e.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(r,e),r}(Error),ne=function(t){function r(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];t.apply(this,e),this.message=e[0],this.detail=e[1],this.className=r.name,t.captureStackTrace&&t.captureStackTrace(this,r)}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var e={name:{configurable:!0},statusCode:{configurable:!0}};return e.name.get=function(){return"JsonqlError"},e.statusCode.get=function(){return-1},Object.defineProperties(r,e),r}(Error),oe=function(t,r){var e,n,o,u,i;switch(!0){case"object"===t:return o=(n=r).arg,u=n.param,i=[o],Array.isArray(u.keys)&&u.keys.length&&i.push(u.keys),!Reflect.apply(re,null,i);case"array"===t:return!J(r.arg);case!1!==(e=W(t)):return!G(r,e);default:return!U(t)(r.arg)}},ue=function(t,r){return void 0!==t?t:!0===r.optional&&void 0!==r.defaultvalue?r.defaultvalue:null},ie=function(t,r){if(!J(r))throw new ee("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===r.length)return[];if(!J(t))throw new ee("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==r.length:return t.map((function(t,e){return{arg:t,index:e,param:r[e]}}));case!0===r[0].variable:var e=r[0].type;return t.map((function(t,n){return{arg:t,index:n,param:r[n]||{type:e,name:"_"}}}));case t.lengthr.length:var n=r.length,o=["any"];return t.map((function(t,e){var u=e>=n||!!r[e].optional,i=r[e]||{type:o,name:"_"+e};return{arg:u?ue(t,i):t,index:e,param:i,optional:u}}));default:throw new ne("Could not understand your arguments and parameter structure!",{args:t,params:r})}},ae=function(t,r,e){var n;void 0===e&&(e=!1);var o=ie(t,r),u=o.filter((function(t){return!0===t.optional||!0===t.param.optional?function(t){var r=t.arg,e=t.param;return!!$(r)&&!(e.type.length>e.type.filter((function(r){return oe(r,t)})).length)}(t):!(t.param.type.length>t.param.type.filter((function(r){return oe(r,t)})).length)}));return e?((n={}).error=u,n.data=o.map((function(t){return t.arg})),n):u},ce=function(t,r,e){return void 0===e&&(e=!1),new Promise((function(n,o){var u=ae(t,r,e);return e?u.error.length?o(u.error):n(u.data):u.length?o(u):n([])}))},fe=function(){try{var t=Yt(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();function se(t,r,e){"__proto__"==r&&fe?fe(t,r,{configurable:!0,enumerable:!0,value:e,writable:!0}):t[r]=e}function le(t,r,e){(void 0===e||Ft(t[r],e))&&(void 0!==e||r in t)||se(t,r,e)}var pe="object"==typeof exports&&exports&&!exports.nodeType&&exports,ve=pe&&"object"==typeof module&&module&&!module.nodeType&&module,he=ve&&ve.exports===pe?n.Buffer:void 0,ye=he?he.allocUnsafe:void 0;function de(t,r){var e,n,o=r?(e=t.buffer,n=new e.constructor(e.byteLength),new fr(n).set(new fr(e)),n):t.buffer;return new t.constructor(o,t.byteOffset,t.length)}var be=Object.create,ge=function(){function t(){}return function(r){if(!zt(r))return{};if(be)return be(r);t.prototype=r;var e=new t;return t.prototype=void 0,e}}();function _e(t,r){if(("constructor"!==r||"function"!=typeof t[r])&&"__proto__"!=r)return t[r]}var je=Object.prototype.hasOwnProperty;function me(t,r,e){var n=t[r];je.call(t,r)&&Ft(n,e)&&(void 0!==e||r in t)||se(t,r,e)}var Oe=Object.prototype.hasOwnProperty;function we(t){if(!zt(t))return function(t){var r=[];if(null!=t)for(var e in Object(t))r.push(e);return r}(t);var r=St(t),e=[];for(var n in t)("constructor"!=n||!r&&Oe.call(t,n))&&e.push(n);return e}function xe(t){return Rt(t)?At(t,!0):we(t)}function Ae(t){return function(t,r,e,n){var o=!e;e||(e={});for(var u=-1,i=r.length;++u0){if(++r>=800)return arguments[0]}else r=0;return t.apply(void 0,arguments)}}(ze);function Ce(t,r){return Re(function(t,r,e){return r=Ee(void 0===r?t.length-1:r,0),function(){for(var n=arguments,o=-1,u=Ee(n.length-r,0),i=Array(u);++o1?r[n-1]:void 0,u=n>2?r[2]:void 0;for(o=Ne.length>3&&"function"==typeof o?(n--,o):void 0,u&&function(t,r,e){if(!zt(e))return!1;var n=typeof r;return!!("number"==n?Rt(e)&&ht(r,e.length):"string"==n&&r in e)&&Ft(e[r],t)}(r[0],r[1],u)&&(o=n<3?void 0:o,n=1),t=Object(t);++e=n?t:function(t,r,e){var n=-1,o=t.length;r<0&&(r=-r>o?0:o+r),(e=e>o?o:e)<0&&(e+=o),o=r>e?0:e-r>>>0,r>>>=0;for(var u=Array(o);++n-1;);return e}(n,o),function(t,r){for(var e=t.length;e--&&O(r,t[e],0)>-1;);return e}(n,o)+1).join("")}var R=function(t){return!!a(t)||null!=t&&""!==D(t)};function V(t){return function(t){return"number"==typeof t||y(t)&&"[object Number]"==h(t)}(t)&&t!=+t}function B(t){return"string"==typeof t||!a(t)&&y(t)&&"[object String]"==h(t)}var q=function(t){return!B(t)&&!V(parseFloat(t))},I=function(t){return""!==D(t)&&B(t)},L=function(t){return null!=t&&"boolean"==typeof t},U=function(t,r){return void 0===r&&(r=!0),void 0!==t&&""!==t&&""!==D(t)&&(!1===r||!0===r&&null!==t)},J=function(t){switch(t){case"number":return q;case"string":return I;case"boolean":return L;default:return U}},W=function(t,r){return void 0===r&&(r=""),!!a(t)&&(""===r||""===D(r)||!(t.filter((function(t){return!J(r)(t)})).length>0))},G=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var r=t.replace("array.<","").replace(">","");return r.indexOf("|")?r.split("|"):[r]}return!1},H=function(t,r){var e=t.arg;return r.length>1?!e.filter((function(t){return!(r.length>r.filter((function(r){return!J(r)(t)})).length)})).length:r.length>r.filter((function(t){return!W(e,t)})).length};function K(t,r){return function(e){return t(r(e))}}var Q=K(Object.getPrototypeOf,Object),Y=Function.prototype,X=Object.prototype,Z=Y.toString,tt=X.hasOwnProperty,rt=Z.call(Object);function et(t){if(!y(t)||"[object Object]"!=h(t))return!1;var r=Q(t);if(null===r)return!0;var e=tt.call(r,"constructor")&&r.constructor;return"function"==typeof e&&e instanceof e&&Z.call(e)==rt}var nt,ot=function(t,r,e){for(var n=-1,o=Object(t),u=e(t),i=u.length;i--;){var a=u[nt?i:++n];if(!1===r(o[a],a,o))break}return t};function ut(t){return y(t)&&"[object Arguments]"==h(t)}var it=Object.prototype,at=it.hasOwnProperty,ct=it.propertyIsEnumerable,ft=ut(function(){return arguments}())?ut:function(t){return y(t)&&at.call(t,"callee")&&!ct.call(t,"callee")};var lt="object"==typeof t&&t&&!t.nodeType&&t,st=lt&&"object"==typeof module&&module&&!module.nodeType&&module,pt=st&&st.exports===lt?o.Buffer:void 0,vt=(pt?pt.isBuffer:void 0)||function(){return!1},ht=/^(?:0|[1-9]\d*)$/;function yt(t,r){var e=typeof t;return!!(r=null==r?9007199254740991:r)&&("number"==e||"symbol"!=e&&ht.test(t))&&t>-1&&t%1==0&&t-1&&t%1==0&&t<=9007199254740991}var bt={};bt["[object Float32Array]"]=bt["[object Float64Array]"]=bt["[object Int8Array]"]=bt["[object Int16Array]"]=bt["[object Int32Array]"]=bt["[object Uint8Array]"]=bt["[object Uint8ClampedArray]"]=bt["[object Uint16Array]"]=bt["[object Uint32Array]"]=!0,bt["[object Arguments]"]=bt["[object Array]"]=bt["[object ArrayBuffer]"]=bt["[object Boolean]"]=bt["[object DataView]"]=bt["[object Date]"]=bt["[object Error]"]=bt["[object Function]"]=bt["[object Map]"]=bt["[object Number]"]=bt["[object Object]"]=bt["[object RegExp]"]=bt["[object Set]"]=bt["[object String]"]=bt["[object WeakMap]"]=!1;var gt,_t="object"==typeof t&&t&&!t.nodeType&&t,jt=_t&&"object"==typeof module&&module&&!module.nodeType&&module,mt=jt&&jt.exports===_t&&e.process,Ot=function(){try{var t=jt&&jt.require&&jt.require("util").types;return t||mt&&mt.binding&&mt.binding("util")}catch(t){}}(),wt=Ot&&Ot.isTypedArray,At=wt?(gt=wt,function(t){return gt(t)}):function(t){return y(t)&&dt(t.length)&&!!bt[h(t)]},St=Object.prototype.hasOwnProperty;function kt(t,r){var e=a(t),n=!e&&ft(t),o=!e&&!n&&vt(t),u=!e&&!n&&!o&&At(t),i=e||n||o||u,c=i?function(t,r){for(var e=-1,n=Array(t);++e-1},Vt.prototype.set=function(t,r){var e=this.__data__,n=Dt(e,t);return n<0?(++this.size,e.push([t,r])):e[n][1]=r,this};var Bt,qt=o["__core-js_shared__"],It=(Bt=/[^.]+$/.exec(qt&&qt.keys&&qt.keys.IE_PROTO||""))?"Symbol(src)_1."+Bt:"";var Lt=Function.prototype.toString;function Ut(t){if(null!=t){try{return Lt.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var Jt=/^\[object .+?Constructor\]$/,Wt=Function.prototype,Gt=Object.prototype,Ht=Wt.toString,Kt=Gt.hasOwnProperty,Qt=RegExp("^"+Ht.call(Kt).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Yt(t){return!(!xt(t)||function(t){return!!It&&It in t}(t))&&(Ct(t)?Qt:Jt).test(Ut(t))}function Xt(t,r){var e=function(t,r){return null==t?void 0:t[r]}(t,r);return Yt(e)?e:void 0}var Zt=Xt(o,"Map"),tr=Xt(Object,"create");var rr=Object.prototype.hasOwnProperty;var er=Object.prototype.hasOwnProperty;function nr(t){var r=-1,e=null==t?0:t.length;for(this.clear();++ra))return!1;var f=u.get(t);if(f&&u.get(r))return f==r;var l=-1,s=!0,p=2&e?new ar:void 0;for(u.set(t,r),u.set(r,t);++lr.type.filter((function(t){var r;return void 0===e||(!1!==(r=G(t))?!H({arg:e},r):!J(t)(e))})).length)})).length}return!1},ne=function(t){function r(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];t.apply(this,e),this.message=e[0],this.detail=e[1],this.className=r.name,t.captureStackTrace&&t.captureStackTrace(this,r)}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var e={name:{configurable:!0}};return e.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(r,e),r}(Error),oe=function(t){function r(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];t.apply(this,e),this.message=e[0],this.detail=e[1],this.className=r.name,t.captureStackTrace&&t.captureStackTrace(this,r)}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var e={name:{configurable:!0},statusCode:{configurable:!0}};return e.name.get=function(){return"JsonqlError"},e.statusCode.get=function(){return-1},Object.defineProperties(r,e),r}(Error),ue=function(t,r){var e,n,o,u,i;switch(!0){case"object"===t:return o=(n=r).arg,u=n.param,i=[o],Array.isArray(u.keys)&&u.keys.length&&i.push(u.keys),!Reflect.apply(ee,null,i);case"array"===t:return!W(r.arg);case!1!==(e=G(t)):return!H(r,e);default:return!J(t)(r.arg)}},ie=function(t,r){return void 0!==t?t:!0===r.optional&&void 0!==r.defaultvalue?r.defaultvalue:null},ae=function(t,r){if(!W(r))throw new ne("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===r.length)return[];if(!W(t))throw new ne("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==r.length:return t.map((function(t,e){return{arg:t,index:e,param:r[e]}}));case!0===r[0].variable:var e=r[0].type;return t.map((function(t,n){return{arg:t,index:n,param:r[n]||{type:e,name:"_"}}}));case t.lengthr.length:var n=r.length,o=["any"];return t.map((function(t,e){var u=e>=n||!!r[e].optional,i=r[e]||{type:o,name:"_"+e};return{arg:u?ie(t,i):t,index:e,param:i,optional:u}}));default:throw new oe("Could not understand your arguments and parameter structure!",{args:t,params:r})}},ce=function(t,r,e){var n;void 0===e&&(e=!1);var o=ae(t,r),u=o.filter((function(t){return!0===t.optional||!0===t.param.optional?function(t){var r=t.arg,e=t.param;return!!R(r)&&!(e.type.length>e.type.filter((function(r){return ue(r,t)})).length)}(t):!(t.param.type.length>t.param.type.filter((function(r){return ue(r,t)})).length)}));return e?((n={}).error=u,n.data=o.map((function(t){return t.arg})),n):u},fe=function(){try{var t=Xt(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();function le(t,r,e){"__proto__"==r&&fe?fe(t,r,{configurable:!0,enumerable:!0,value:e,writable:!0}):t[r]=e}function se(t,r,e){(void 0===e||$t(t[r],e))&&(void 0!==e||r in t)||le(t,r,e)}var pe="object"==typeof t&&t&&!t.nodeType&&t,ve=pe&&"object"==typeof module&&module&&!module.nodeType&&module,he=ve&&ve.exports===pe?o.Buffer:void 0,ye=he?he.allocUnsafe:void 0;function de(t,r){var e,n,o=r?(e=t.buffer,n=new e.constructor(e.byteLength),new lr(n).set(new lr(e)),n):t.buffer;return new t.constructor(o,t.byteOffset,t.length)}var be=Object.create,ge=function(){function t(){}return function(r){if(!xt(r))return{};if(be)return be(r);t.prototype=r;var e=new t;return t.prototype=void 0,e}}();function _e(t,r){if(("constructor"!==r||"function"!=typeof t[r])&&"__proto__"!=r)return t[r]}var je=Object.prototype.hasOwnProperty;function me(t,r,e){var n=t[r];je.call(t,r)&&$t(n,e)&&(void 0!==e||r in t)||le(t,r,e)}var Oe=Object.prototype.hasOwnProperty;function we(t){if(!xt(t))return function(t){var r=[];if(null!=t)for(var e in Object(t))r.push(e);return r}(t);var r=Et(t),e=[];for(var n in t)("constructor"!=n||!r&&Oe.call(t,n))&&e.push(n);return e}function Ae(t){return Nt(t)?kt(t,!0):we(t)}function Se(t){return function(t,r,e,n){var o=!e;e||(e={});for(var u=-1,i=r.length;++u0){if(++r>=800)return arguments[0]}else r=0;return t.apply(void 0,arguments)}}(Te);function Ne(t,r){return Ce(function(t,r,e){return r=ze(void 0===r?t.length-1:r,0),function(){for(var n=arguments,o=-1,u=ze(n.length-r,0),i=Array(u);++o1?r[n-1]:void 0,u=n>2?r[2]:void 0;for(o=Fe.length>3&&"function"==typeof o?(n--,o):void 0,u&&function(t,r,e){if(!xt(e))return!1;var n=typeof r;return!!("number"==n?Nt(e)&&yt(r,e.length):"string"==n&&r in e)&&$t(e[r],t)}(r[0],r[1],u)&&(o=n<3?void 0:o,n=1),t=Object(t);++e=e?t:function(t,r,n){var e=-1,o=t.length;r<0&&(r=-r>o?0:o+r),(n=n>o?o:n)<0&&(n+=o),o=r>n?0:n-r>>>0,r>>>=0;for(var u=Array(o);++e-1;);return n}(e,o),function(t,r){for(var n=t.length;n--&&O(r,t[n],0)>-1;);return n}(e,o)+1).join("")}var D=function(t){return!!a(t)||null!=t&&""!==$(t)};function V(t){return function(t){return"number"==typeof t||y(t)&&"[object Number]"==h(t)}(t)&&t!=+t}function B(t){return"string"==typeof t||!a(t)&&y(t)&&"[object String]"==h(t)}var q=function(t){return!B(t)&&!V(parseFloat(t))},I=function(t){return""!==$(t)&&B(t)},L=function(t){return null!=t&&"boolean"==typeof t},U=function(t,r){return void 0===r&&(r=!0),void 0!==t&&""!==t&&""!==$(t)&&(!1===r||!0===r&&null!==t)},J=function(t){switch(t){case"number":return q;case"string":return I;case"boolean":return L;default:return U}},W=function(t,r){return void 0===r&&(r=""),!!a(t)&&(""===r||""===$(r)||!(t.filter((function(t){return!J(r)(t)})).length>0))},G=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var r=t.replace("array.<","").replace(">","");return r.indexOf("|")?r.split("|"):[r]}return!1},H=function(t,r){var n=t.arg;return r.length>1?!n.filter((function(t){return!(r.length>r.filter((function(r){return!J(r)(t)})).length)})).length:r.length>r.filter((function(t){return!W(n,t)})).length};function K(t,r){return function(n){return t(r(n))}}var Q=K(Object.getPrototypeOf,Object),Y=Function.prototype,X=Object.prototype,Z=Y.toString,tt=X.hasOwnProperty,rt=Z.call(Object);function nt(t){if(!y(t)||"[object Object]"!=h(t))return!1;var r=Q(t);if(null===r)return!0;var n=tt.call(r,"constructor")&&r.constructor;return"function"==typeof n&&n instanceof n&&Z.call(n)==rt}var et,ot=function(t,r,n){for(var e=-1,o=Object(t),u=n(t),i=u.length;i--;){var a=u[et?i:++e];if(!1===r(o[a],a,o))break}return t};function ut(t){return y(t)&&"[object Arguments]"==h(t)}var it=Object.prototype,at=it.hasOwnProperty,ct=it.propertyIsEnumerable,ft=ut(function(){return arguments}())?ut:function(t){return y(t)&&at.call(t,"callee")&&!ct.call(t,"callee")};var lt="object"==typeof t&&t&&!t.nodeType&&t,st=lt&&"object"==typeof module&&module&&!module.nodeType&&module,pt=st&&st.exports===lt?o.Buffer:void 0,vt=(pt?pt.isBuffer:void 0)||function(){return!1},ht=/^(?:0|[1-9]\d*)$/;function yt(t,r){var n=typeof t;return!!(r=null==r?9007199254740991:r)&&("number"==n||"symbol"!=n&&ht.test(t))&&t>-1&&t%1==0&&t-1&&t%1==0&&t<=9007199254740991}var bt={};bt["[object Float32Array]"]=bt["[object Float64Array]"]=bt["[object Int8Array]"]=bt["[object Int16Array]"]=bt["[object Int32Array]"]=bt["[object Uint8Array]"]=bt["[object Uint8ClampedArray]"]=bt["[object Uint16Array]"]=bt["[object Uint32Array]"]=!0,bt["[object Arguments]"]=bt["[object Array]"]=bt["[object ArrayBuffer]"]=bt["[object Boolean]"]=bt["[object DataView]"]=bt["[object Date]"]=bt["[object Error]"]=bt["[object Function]"]=bt["[object Map]"]=bt["[object Number]"]=bt["[object Object]"]=bt["[object RegExp]"]=bt["[object Set]"]=bt["[object String]"]=bt["[object WeakMap]"]=!1;var gt,_t="object"==typeof t&&t&&!t.nodeType&&t,jt=_t&&"object"==typeof module&&module&&!module.nodeType&&module,mt=jt&&jt.exports===_t&&n.process,Ot=function(){try{var t=jt&&jt.require&&jt.require("util").types;return t||mt&&mt.binding&&mt.binding("util")}catch(t){}}(),wt=Ot&&Ot.isTypedArray,At=wt?(gt=wt,function(t){return gt(t)}):function(t){return y(t)&&dt(t.length)&&!!bt[h(t)]},kt=Object.prototype.hasOwnProperty;function St(t,r){var n=a(t),e=!n&&ft(t),o=!n&&!e&&vt(t),u=!n&&!e&&!o&&At(t),i=n||e||o||u,c=i?function(t,r){for(var n=-1,e=Array(t);++n-1},Vt.prototype.set=function(t,r){var n=this.__data__,e=$t(n,t);return e<0?(++this.size,n.push([t,r])):n[e][1]=r,this};var Bt,qt=o["__core-js_shared__"],It=(Bt=/[^.]+$/.exec(qt&&qt.keys&&qt.keys.IE_PROTO||""))?"Symbol(src)_1."+Bt:"";var Lt=Function.prototype.toString;function Ut(t){if(null!=t){try{return Lt.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var Jt=/^\[object .+?Constructor\]$/,Wt=Function.prototype,Gt=Object.prototype,Ht=Wt.toString,Kt=Gt.hasOwnProperty,Qt=RegExp("^"+Ht.call(Kt).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Yt(t){return!(!xt(t)||function(t){return!!It&&It in t}(t))&&(Rt(t)?Qt:Jt).test(Ut(t))}function Xt(t,r){var n=function(t,r){return null==t?void 0:t[r]}(t,r);return Yt(n)?n:void 0}var Zt=Xt(o,"Map"),tr=Xt(Object,"create");var rr=Object.prototype.hasOwnProperty;var nr=Object.prototype.hasOwnProperty;function er(t){var r=-1,n=null==t?0:t.length;for(this.clear();++ra))return!1;var f=u.get(t);if(f&&u.get(r))return f==r;var l=-1,s=!0,p=2&n?new ar:void 0;for(u.set(t,r),u.set(r,t);++lr.type.filter((function(t){var r;return void 0===n||(!1!==(r=G(t))?!H({arg:n},r):!J(t)(n))})).length)})).length}return!1},en=function(t){function r(){for(var n=[],e=arguments.length;e--;)n[e]=arguments[e];t.apply(this,n),this.message=n[0],this.detail=n[1],this.className=r.name,t.captureStackTrace&&t.captureStackTrace(this,r)}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var n={name:{configurable:!0}};return n.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(r,n),r}(Error),on=function(t){function r(){for(var n=[],e=arguments.length;e--;)n[e]=arguments[e];t.apply(this,n),this.message=n[0],this.detail=n[1],this.className=r.name,t.captureStackTrace&&t.captureStackTrace(this,r)}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var n={name:{configurable:!0},statusCode:{configurable:!0}};return n.name.get=function(){return"JsonqlError"},n.statusCode.get=function(){return-1},Object.defineProperties(r,n),r}(Error),un=function(t,r){var n,e,o,u,i;switch(!0){case"object"===t:return o=(e=r).arg,u=e.param,i=[o],Array.isArray(u.keys)&&u.keys.length&&i.push(u.keys),!Reflect.apply(nn,null,i);case"array"===t:return!W(r.arg);case!1!==(n=G(t)):return!H(r,n);default:return!J(t)(r.arg)}},an=function(t,r){return void 0!==t?t:!0===r.optional&&void 0!==r.defaultvalue?r.defaultvalue:null},cn=function(t,r){if(!W(r))throw new en("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===r.length)return[];if(!W(t))throw new en("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==r.length:return t.map((function(t,n){return{arg:t,index:n,param:r[n]}}));case!0===r[0].variable:var n=r[0].type;return t.map((function(t,e){return{arg:t,index:e,param:r[e]||{type:n,name:"_"}}}));case t.lengthr.length:var e=r.length,o=["any"];return t.map((function(t,n){var u=n>=e||!!r[n].optional,i=r[n]||{type:o,name:"_"+n};return{arg:u?an(t,i):t,index:n,param:i,optional:u}}));default:throw new on("Could not understand your arguments and parameter structure!",{args:t,params:r})}},fn=function(t,r,n){var e;void 0===n&&(n=!1);var o=cn(t,r),u=o.filter((function(t){return!0===t.optional||!0===t.param.optional?function(t){var r=t.arg,n=t.param;return!!D(r)&&!(n.type.length>n.type.filter((function(r){return un(r,t)})).length)}(t):!(t.param.type.length>t.param.type.filter((function(r){return un(r,t)})).length)}));return n?((e={}).error=u,e.data=o.map((function(t){return t.arg})),e):u},ln=function(t,r,n){return void 0===n&&(n=!1),new Promise((function(e,o){var u=fn(t,r,n);return n?u.error.length?o(u.error):e(u.data):u.length?o(u):e([])}))},sn=function(){try{var t=Xt(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();function pn(t,r,n){"__proto__"==r&&sn?sn(t,r,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[r]=n}function vn(t,r,n){(void 0===n||Mt(t[r],n))&&(void 0!==n||r in t)||pn(t,r,n)}var hn="object"==typeof t&&t&&!t.nodeType&&t,yn=hn&&"object"==typeof module&&module&&!module.nodeType&&module,dn=yn&&yn.exports===hn?o.Buffer:void 0,bn=dn?dn.allocUnsafe:void 0;function gn(t,r){var n,e,o=r?(n=t.buffer,e=new n.constructor(n.byteLength),new lr(e).set(new lr(n)),e):t.buffer;return new t.constructor(o,t.byteOffset,t.length)}var _n=Object.create,jn=function(){function t(){}return function(r){if(!xt(r))return{};if(_n)return _n(r);t.prototype=r;var n=new t;return t.prototype=void 0,n}}();function mn(t,r){if(("constructor"!==r||"function"!=typeof t[r])&&"__proto__"!=r)return t[r]}var On=Object.prototype.hasOwnProperty;function wn(t,r,n){var e=t[r];On.call(t,r)&&Mt(e,n)&&(void 0!==n||r in t)||pn(t,r,n)}var An=Object.prototype.hasOwnProperty;function kn(t){if(!xt(t))return function(t){var r=[];if(null!=t)for(var n in Object(t))r.push(n);return r}(t);var r=Et(t),n=[];for(var e in t)("constructor"!=e||!r&&An.call(t,e))&&n.push(e);return n}function Sn(t){return Ct(t)?St(t,!0):kn(t)}function Pn(t){return function(t,r,n,e){var o=!n;n||(n={});for(var u=-1,i=r.length;++u0){if(++r>=800)return arguments[0]}else r=0;return t.apply(void 0,arguments)}}(Rn);function Fn(t,r){return Nn(function(t,r,n){return r=xn(void 0===r?t.length-1:r,0),function(){for(var e=arguments,o=-1,u=xn(e.length-r,0),i=Array(u);++o1?r[e-1]:void 0,u=e>2?r[2]:void 0;for(o=Mn.length>3&&"function"==typeof o?(e--,o):void 0,u&&function(t,r,n){if(!xt(n))return!1;var e=typeof r;return!!("number"==e?Ct(n)&&yt(r,n.length):"string"==e&&r in n)&&Mt(n[r],t)}(r[0],r[1],u)&&(o=e<3?void 0:o,e=1),t=Object(t);++n Date: Sat, 14 Mar 2020 13:27:27 +0800 Subject: [PATCH 4/7] add extra check inside the checkResolverReturns* --- .../dist/jsonql-params-validator.cjs.js | 2 +- .../dist/jsonql-params-validator.umd.js | 2 +- packages/validator/src/returns.js | 29 +++++++++++++------ .../validator/tests/validate-result.test.js | 20 ++++++++++--- 4 files changed, 38 insertions(+), 15 deletions(-) diff --git a/packages/validator/dist/jsonql-params-validator.cjs.js b/packages/validator/dist/jsonql-params-validator.cjs.js index a67c9cf5..6846fc4a 100644 --- a/packages/validator/dist/jsonql-params-validator.cjs.js +++ b/packages/validator/dist/jsonql-params-validator.cjs.js @@ -1,2 +1,2 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},r="object"==typeof t&&t&&t.Object===Object&&t,e="object"==typeof self&&self&&self.Object===Object&&self,n=r||e||Function("return this")(),o=n.Symbol;function u(t,r){for(var e=-1,n=null==t?0:t.length,o=Array(n);++e=n?t:function(t,r,e){var n=-1,o=t.length;r<0&&(r=-r>o?0:o+r),(e=e>o?o:e)<0&&(e+=o),o=r>e?0:e-r>>>0,r>>>=0;for(var u=Array(o);++n-1;);return e}(n,o),function(t,r){for(var e=t.length;e--&&m(r,t[e],0)>-1;);return e}(n,o)+1).join("")}var $=function(t){return!!i(t)||null!=t&&""!==M(t)};function D(t){return function(t){return"number"==typeof t||h(t)&&"[object Number]"==v(t)}(t)&&t!=+t}function B(t){return"string"==typeof t||!i(t)&&h(t)&&"[object String]"==v(t)}var V=function(t){return!B(t)&&!D(parseFloat(t))},I=function(t){return""!==M(t)&&B(t)},L=function(t){return null!=t&&"boolean"==typeof t},q=function(t,r){return void 0===r&&(r=!0),void 0!==t&&""!==t&&""!==M(t)&&(!1===r||!0===r&&null!==t)},U=function(t){switch(t){case"number":return V;case"string":return I;case"boolean":return L;default:return q}},J=function(t,r){return void 0===r&&(r=""),!!i(t)&&(""===r||""===M(r)||!(t.filter((function(t){return!U(r)(t)})).length>0))},W=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var r=t.replace("array.<","").replace(">","");return r.indexOf("|")?r.split("|"):[r]}return!1},G=function(t,r){var e=t.arg;return r.length>1?!e.filter((function(t){return!(r.length>r.filter((function(r){return!U(r)(t)})).length)})).length:r.length>r.filter((function(t){return!J(e,t)})).length};function H(t,r){return function(e){return t(r(e))}}var K=H(Object.getPrototypeOf,Object),Q=Function.prototype,Y=Object.prototype,X=Q.toString,Z=Y.hasOwnProperty,tt=X.call(Object);function rt(t){if(!h(t)||"[object Object]"!=v(t))return!1;var r=K(t);if(null===r)return!0;var e=Z.call(r,"constructor")&&r.constructor;return"function"==typeof e&&e instanceof e&&X.call(e)==tt}var et,nt=function(t,r,e){for(var n=-1,o=Object(t),u=e(t),i=u.length;i--;){var a=u[et?i:++n];if(!1===r(o[a],a,o))break}return t};function ot(t){return h(t)&&"[object Arguments]"==v(t)}var ut=Object.prototype,it=ut.hasOwnProperty,at=ut.propertyIsEnumerable,ct=ot(function(){return arguments}())?ot:function(t){return h(t)&&it.call(t,"callee")&&!at.call(t,"callee")};var ft="object"==typeof exports&&exports&&!exports.nodeType&&exports,st=ft&&"object"==typeof module&&module&&!module.nodeType&&module,lt=st&&st.exports===ft?n.Buffer:void 0,pt=(lt?lt.isBuffer:void 0)||function(){return!1},vt=/^(?:0|[1-9]\d*)$/;function ht(t,r){var e=typeof t;return!!(r=null==r?9007199254740991:r)&&("number"==e||"symbol"!=e&&vt.test(t))&&t>-1&&t%1==0&&t-1&&t%1==0&&t<=9007199254740991}var dt={};dt["[object Float32Array]"]=dt["[object Float64Array]"]=dt["[object Int8Array]"]=dt["[object Int16Array]"]=dt["[object Int32Array]"]=dt["[object Uint8Array]"]=dt["[object Uint8ClampedArray]"]=dt["[object Uint16Array]"]=dt["[object Uint32Array]"]=!0,dt["[object Arguments]"]=dt["[object Array]"]=dt["[object ArrayBuffer]"]=dt["[object Boolean]"]=dt["[object DataView]"]=dt["[object Date]"]=dt["[object Error]"]=dt["[object Function]"]=dt["[object Map]"]=dt["[object Number]"]=dt["[object Object]"]=dt["[object RegExp]"]=dt["[object Set]"]=dt["[object String]"]=dt["[object WeakMap]"]=!1;var bt,gt="object"==typeof exports&&exports&&!exports.nodeType&&exports,_t=gt&&"object"==typeof module&&module&&!module.nodeType&&module,jt=_t&&_t.exports===gt&&r.process,mt=function(){try{var t=_t&&_t.require&&_t.require("util").types;return t||jt&&jt.binding&&jt.binding("util")}catch(t){}}(),Ot=mt&&mt.isTypedArray,wt=Ot?(bt=Ot,function(t){return bt(t)}):function(t){return h(t)&&yt(t.length)&&!!dt[v(t)]},xt=Object.prototype.hasOwnProperty;function At(t,r){var e=i(t),n=!e&&ct(t),o=!e&&!n&&pt(t),u=!e&&!n&&!o&&wt(t),a=e||n||o||u,c=a?function(t,r){for(var e=-1,n=Array(t);++e-1},Dt.prototype.set=function(t,r){var e=this.__data__,n=Mt(e,t);return n<0?(++this.size,e.push([t,r])):e[n][1]=r,this};var Bt,Vt=n["__core-js_shared__"],It=(Bt=/[^.]+$/.exec(Vt&&Vt.keys&&Vt.keys.IE_PROTO||""))?"Symbol(src)_1."+Bt:"";var Lt=Function.prototype.toString;function qt(t){if(null!=t){try{return Lt.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var Ut=/^\[object .+?Constructor\]$/,Jt=Function.prototype,Wt=Object.prototype,Gt=Jt.toString,Ht=Wt.hasOwnProperty,Kt=RegExp("^"+Gt.call(Ht).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Qt(t){return!(!zt(t)||function(t){return!!It&&It in t}(t))&&(Tt(t)?Kt:Ut).test(qt(t))}function Yt(t,r){var e=function(t,r){return null==t?void 0:t[r]}(t,r);return Qt(e)?e:void 0}var Xt=Yt(n,"Map"),Zt=Yt(Object,"create");var tr=Object.prototype.hasOwnProperty;var rr=Object.prototype.hasOwnProperty;function er(t){var r=-1,e=null==t?0:t.length;for(this.clear();++ra))return!1;var f=u.get(t);if(f&&u.get(r))return f==r;var s=-1,l=!0,p=2&e?new ir:void 0;for(u.set(t,r),u.set(r,t);++sr.type.filter((function(t){var r;return void 0===e||(!1!==(r=W(t))?!G({arg:e},r):!U(t)(e))})).length)})).length}return!1},ee=function(t){function r(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];t.apply(this,e),this.message=e[0],this.detail=e[1],this.className=r.name,t.captureStackTrace&&t.captureStackTrace(this,r)}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var e={name:{configurable:!0}};return e.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(r,e),r}(Error),ne=function(t){function r(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];t.apply(this,e),this.message=e[0],this.detail=e[1],this.className=r.name,t.captureStackTrace&&t.captureStackTrace(this,r)}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var e={name:{configurable:!0},statusCode:{configurable:!0}};return e.name.get=function(){return"JsonqlError"},e.statusCode.get=function(){return-1},Object.defineProperties(r,e),r}(Error),oe=function(t,r){var e,n,o,u,i;switch(!0){case"object"===t:return o=(n=r).arg,u=n.param,i=[o],Array.isArray(u.keys)&&u.keys.length&&i.push(u.keys),!Reflect.apply(re,null,i);case"array"===t:return!J(r.arg);case!1!==(e=W(t)):return!G(r,e);default:return!U(t)(r.arg)}},ue=function(t,r){return void 0!==t?t:!0===r.optional&&void 0!==r.defaultvalue?r.defaultvalue:null},ie=function(t,r){if(!J(r))throw new ee("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===r.length)return[];if(!J(t))throw new ee("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==r.length:return t.map((function(t,e){return{arg:t,index:e,param:r[e]}}));case!0===r[0].variable:var e=r[0].type;return t.map((function(t,n){return{arg:t,index:n,param:r[n]||{type:e,name:"_"}}}));case t.lengthr.length:var n=r.length,o=["any"];return t.map((function(t,e){var u=e>=n||!!r[e].optional,i=r[e]||{type:o,name:"_"+e};return{arg:u?ue(t,i):t,index:e,param:i,optional:u}}));default:throw new ne("Could not understand your arguments and parameter structure!",{args:t,params:r})}},ae=function(t,r,e){var n;void 0===e&&(e=!1);var o=ie(t,r),u=o.filter((function(t){return!0===t.optional||!0===t.param.optional?function(t){var r=t.arg,e=t.param;return!!$(r)&&!(e.type.length>e.type.filter((function(r){return oe(r,t)})).length)}(t):!(t.param.type.length>t.param.type.filter((function(r){return oe(r,t)})).length)}));return e?((n={}).error=u,n.data=o.map((function(t){return t.arg})),n):u},ce=function(t,r,e){return void 0===e&&(e=!1),new Promise((function(n,o){var u=ae(t,r,e);return e?u.error.length?o(u.error):n(u.data):u.length?o(u):n([])}))},fe=function(){try{var t=Yt(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();function se(t,r,e){"__proto__"==r&&fe?fe(t,r,{configurable:!0,enumerable:!0,value:e,writable:!0}):t[r]=e}function le(t,r,e){(void 0===e||Ft(t[r],e))&&(void 0!==e||r in t)||se(t,r,e)}var pe="object"==typeof exports&&exports&&!exports.nodeType&&exports,ve=pe&&"object"==typeof module&&module&&!module.nodeType&&module,he=ve&&ve.exports===pe?n.Buffer:void 0,ye=he?he.allocUnsafe:void 0;function de(t,r){var e,n,o=r?(e=t.buffer,n=new e.constructor(e.byteLength),new fr(n).set(new fr(e)),n):t.buffer;return new t.constructor(o,t.byteOffset,t.length)}var be=Object.create,ge=function(){function t(){}return function(r){if(!zt(r))return{};if(be)return be(r);t.prototype=r;var e=new t;return t.prototype=void 0,e}}();function _e(t,r){if(("constructor"!==r||"function"!=typeof t[r])&&"__proto__"!=r)return t[r]}var je=Object.prototype.hasOwnProperty;function me(t,r,e){var n=t[r];je.call(t,r)&&Ft(n,e)&&(void 0!==e||r in t)||se(t,r,e)}var Oe=Object.prototype.hasOwnProperty;function we(t){if(!zt(t))return function(t){var r=[];if(null!=t)for(var e in Object(t))r.push(e);return r}(t);var r=St(t),e=[];for(var n in t)("constructor"!=n||!r&&Oe.call(t,n))&&e.push(n);return e}function xe(t){return Rt(t)?At(t,!0):we(t)}function Ae(t){return function(t,r,e,n){var o=!e;e||(e={});for(var u=-1,i=r.length;++u0){if(++r>=800)return arguments[0]}else r=0;return t.apply(void 0,arguments)}}(ze);function Ce(t,r){return Re(function(t,r,e){return r=Ee(void 0===r?t.length-1:r,0),function(){for(var n=arguments,o=-1,u=Ee(n.length-r,0),i=Array(u);++o1?r[n-1]:void 0,u=n>2?r[2]:void 0;for(o=Ne.length>3&&"function"==typeof o?(n--,o):void 0,u&&function(t,r,e){if(!zt(e))return!1;var n=typeof r;return!!("number"==n?Rt(e)&&ht(r,e.length):"string"==n&&r in e)&&Ft(e[r],t)}(r[0],r[1],u)&&(o=n<3?void 0:o,n=1),t=Object(t);++e=n?t:function(t,r,e){var n=-1,o=t.length;r<0&&(r=-r>o?0:o+r),(e=e>o?o:e)<0&&(e+=o),o=r>e?0:e-r>>>0,r>>>=0;for(var u=Array(o);++n-1;);return e}(n,o),function(t,r){for(var e=t.length;e--&&m(r,t[e],0)>-1;);return e}(n,o)+1).join("")}var $=function(t){return!!i(t)||null!=t&&""!==M(t)};function D(t){return function(t){return"number"==typeof t||h(t)&&"[object Number]"==v(t)}(t)&&t!=+t}function B(t){return"string"==typeof t||!i(t)&&h(t)&&"[object String]"==v(t)}var V=function(t){return!B(t)&&!D(parseFloat(t))},I=function(t){return""!==M(t)&&B(t)},L=function(t){return null!=t&&"boolean"==typeof t},q=function(t,r){return void 0===r&&(r=!0),void 0!==t&&""!==t&&""!==M(t)&&(!1===r||!0===r&&null!==t)},U=function(t){switch(t){case"number":return V;case"string":return I;case"boolean":return L;default:return q}},J=function(t,r){return void 0===r&&(r=""),!!i(t)&&(""===r||""===M(r)||!(t.filter((function(t){return!U(r)(t)})).length>0))},W=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var r=t.replace("array.<","").replace(">","");return r.indexOf("|")?r.split("|"):[r]}return!1},G=function(t,r){var e=t.arg;return r.length>1?!e.filter((function(t){return!(r.length>r.filter((function(r){return!U(r)(t)})).length)})).length:r.length>r.filter((function(t){return!J(e,t)})).length};function H(t,r){return function(e){return t(r(e))}}var K=H(Object.getPrototypeOf,Object),Q=Function.prototype,Y=Object.prototype,X=Q.toString,Z=Y.hasOwnProperty,tt=X.call(Object);function rt(t){if(!h(t)||"[object Object]"!=v(t))return!1;var r=K(t);if(null===r)return!0;var e=Z.call(r,"constructor")&&r.constructor;return"function"==typeof e&&e instanceof e&&X.call(e)==tt}var et,nt=function(t,r,e){for(var n=-1,o=Object(t),u=e(t),i=u.length;i--;){var a=u[et?i:++n];if(!1===r(o[a],a,o))break}return t};function ot(t){return h(t)&&"[object Arguments]"==v(t)}var ut=Object.prototype,it=ut.hasOwnProperty,at=ut.propertyIsEnumerable,ct=ot(function(){return arguments}())?ot:function(t){return h(t)&&it.call(t,"callee")&&!at.call(t,"callee")};var ft="object"==typeof exports&&exports&&!exports.nodeType&&exports,st=ft&&"object"==typeof module&&module&&!module.nodeType&&module,lt=st&&st.exports===ft?n.Buffer:void 0,pt=(lt?lt.isBuffer:void 0)||function(){return!1},vt=/^(?:0|[1-9]\d*)$/;function ht(t,r){var e=typeof t;return!!(r=null==r?9007199254740991:r)&&("number"==e||"symbol"!=e&&vt.test(t))&&t>-1&&t%1==0&&t-1&&t%1==0&&t<=9007199254740991}var dt={};dt["[object Float32Array]"]=dt["[object Float64Array]"]=dt["[object Int8Array]"]=dt["[object Int16Array]"]=dt["[object Int32Array]"]=dt["[object Uint8Array]"]=dt["[object Uint8ClampedArray]"]=dt["[object Uint16Array]"]=dt["[object Uint32Array]"]=!0,dt["[object Arguments]"]=dt["[object Array]"]=dt["[object ArrayBuffer]"]=dt["[object Boolean]"]=dt["[object DataView]"]=dt["[object Date]"]=dt["[object Error]"]=dt["[object Function]"]=dt["[object Map]"]=dt["[object Number]"]=dt["[object Object]"]=dt["[object RegExp]"]=dt["[object Set]"]=dt["[object String]"]=dt["[object WeakMap]"]=!1;var bt,gt="object"==typeof exports&&exports&&!exports.nodeType&&exports,_t=gt&&"object"==typeof module&&module&&!module.nodeType&&module,jt=_t&&_t.exports===gt&&r.process,mt=function(){try{var t=_t&&_t.require&&_t.require("util").types;return t||jt&&jt.binding&&jt.binding("util")}catch(t){}}(),Ot=mt&&mt.isTypedArray,wt=Ot?(bt=Ot,function(t){return bt(t)}):function(t){return h(t)&&yt(t.length)&&!!dt[v(t)]},xt=Object.prototype.hasOwnProperty;function At(t,r){var e=i(t),n=!e&&ct(t),o=!e&&!n&&pt(t),u=!e&&!n&&!o&&wt(t),a=e||n||o||u,c=a?function(t,r){for(var e=-1,n=Array(t);++e-1},Dt.prototype.set=function(t,r){var e=this.__data__,n=Mt(e,t);return n<0?(++this.size,e.push([t,r])):e[n][1]=r,this};var Bt,Vt=n["__core-js_shared__"],It=(Bt=/[^.]+$/.exec(Vt&&Vt.keys&&Vt.keys.IE_PROTO||""))?"Symbol(src)_1."+Bt:"";var Lt=Function.prototype.toString;function qt(t){if(null!=t){try{return Lt.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var Ut=/^\[object .+?Constructor\]$/,Jt=Function.prototype,Wt=Object.prototype,Gt=Jt.toString,Ht=Wt.hasOwnProperty,Kt=RegExp("^"+Gt.call(Ht).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Qt(t){return!(!zt(t)||function(t){return!!It&&It in t}(t))&&(Tt(t)?Kt:Ut).test(qt(t))}function Yt(t,r){var e=function(t,r){return null==t?void 0:t[r]}(t,r);return Qt(e)?e:void 0}var Xt=Yt(n,"Map"),Zt=Yt(Object,"create");var tr=Object.prototype.hasOwnProperty;var rr=Object.prototype.hasOwnProperty;function er(t){var r=-1,e=null==t?0:t.length;for(this.clear();++ra))return!1;var f=u.get(t);if(f&&u.get(r))return f==r;var s=-1,l=!0,p=2&e?new ir:void 0;for(u.set(t,r),u.set(r,t);++sr.type.filter((function(t){var r;return void 0===e||(!1!==(r=W(t))?!G({arg:e},r):!U(t)(e))})).length)})).length}return!1},ee=function(t){function r(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];t.apply(this,e),this.message=e[0],this.detail=e[1],this.className=r.name,t.captureStackTrace&&t.captureStackTrace(this,r)}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var e={name:{configurable:!0}};return e.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(r,e),r}(Error),ne=function(t){function r(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];t.apply(this,e),this.message=e[0],this.detail=e[1],this.className=r.name,t.captureStackTrace&&t.captureStackTrace(this,r)}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var e={name:{configurable:!0},statusCode:{configurable:!0}};return e.name.get=function(){return"JsonqlError"},e.statusCode.get=function(){return-1},Object.defineProperties(r,e),r}(Error),oe=function(t,r){var e,n,o,u,i;switch(!0){case"object"===t:return o=(n=r).arg,u=n.param,i=[o],Array.isArray(u.keys)&&u.keys.length&&i.push(u.keys),!Reflect.apply(re,null,i);case"array"===t:return!J(r.arg);case!1!==(e=W(t)):return!G(r,e);default:return!U(t)(r.arg)}},ue=function(t,r){return void 0!==t?t:!0===r.optional&&void 0!==r.defaultvalue?r.defaultvalue:null},ie=function(t,r){if(!J(r))throw new ee("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===r.length)return[];if(!J(t))throw new ee("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==r.length:return t.map((function(t,e){return{arg:t,index:e,param:r[e]}}));case!0===r[0].variable:var e=r[0].type;return t.map((function(t,n){return{arg:t,index:n,param:r[n]||{type:e,name:"_"}}}));case t.lengthr.length:var n=r.length,o=["any"];return t.map((function(t,e){var u=e>=n||!!r[e].optional,i=r[e]||{type:o,name:"_"+e};return{arg:u?ue(t,i):t,index:e,param:i,optional:u}}));default:throw new ne("Could not understand your arguments and parameter structure!",{args:t,params:r})}},ae=function(t,r,e){var n;void 0===e&&(e=!1);var o=ie(t,r),u=o.filter((function(t){return!0===t.optional||!0===t.param.optional?function(t){var r=t.arg,e=t.param;return!!$(r)&&!(e.type.length>e.type.filter((function(r){return oe(r,t)})).length)}(t):!(t.param.type.length>t.param.type.filter((function(r){return oe(r,t)})).length)}));return e?((n={}).error=u,n.data=o.map((function(t){return t.arg})),n):u},ce=function(t,r,e){return void 0===e&&(e=!1),new Promise((function(n,o){var u=ae(t,r,e);return e?u.error.length?o(u.error):n(u.data):u.length?o(u):n([])}))},fe=function(){try{var t=Yt(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();function se(t,r,e){"__proto__"==r&&fe?fe(t,r,{configurable:!0,enumerable:!0,value:e,writable:!0}):t[r]=e}function le(t,r,e){(void 0===e||Ft(t[r],e))&&(void 0!==e||r in t)||se(t,r,e)}var pe="object"==typeof exports&&exports&&!exports.nodeType&&exports,ve=pe&&"object"==typeof module&&module&&!module.nodeType&&module,he=ve&&ve.exports===pe?n.Buffer:void 0,ye=he?he.allocUnsafe:void 0;function de(t,r){var e,n,o=r?(e=t.buffer,n=new e.constructor(e.byteLength),new fr(n).set(new fr(e)),n):t.buffer;return new t.constructor(o,t.byteOffset,t.length)}var be=Object.create,ge=function(){function t(){}return function(r){if(!zt(r))return{};if(be)return be(r);t.prototype=r;var e=new t;return t.prototype=void 0,e}}();function _e(t,r){if(("constructor"!==r||"function"!=typeof t[r])&&"__proto__"!=r)return t[r]}var je=Object.prototype.hasOwnProperty;function me(t,r,e){var n=t[r];je.call(t,r)&&Ft(n,e)&&(void 0!==e||r in t)||se(t,r,e)}var Oe=Object.prototype.hasOwnProperty;function we(t){if(!zt(t))return function(t){var r=[];if(null!=t)for(var e in Object(t))r.push(e);return r}(t);var r=St(t),e=[];for(var n in t)("constructor"!=n||!r&&Oe.call(t,n))&&e.push(n);return e}function xe(t){return Rt(t)?At(t,!0):we(t)}function Ae(t){return function(t,r,e,n){var o=!e;e||(e={});for(var u=-1,i=r.length;++u0){if(++r>=800)return arguments[0]}else r=0;return t.apply(void 0,arguments)}}(ze);function Ce(t,r){return Re(function(t,r,e){return r=Ee(void 0===r?t.length-1:r,0),function(){for(var n=arguments,o=-1,u=Ee(n.length-r,0),i=Array(u);++o1?r[n-1]:void 0,u=n>2?r[2]:void 0;for(o=Ne.length>3&&"function"==typeof o?(n--,o):void 0,u&&function(t,r,e){if(!zt(e))return!1;var n=typeof r;return!!("number"==n?Rt(e)&&ht(r,e.length):"string"==n&&r in e)&&Ft(e[r],t)}(r[0],r[1],u)&&(o=n<3?void 0:o,n=1),t=Object(t);++e=e?t:function(t,r,n){var e=-1,o=t.length;r<0&&(r=-r>o?0:o+r),(n=n>o?o:n)<0&&(n+=o),o=r>n?0:n-r>>>0,r>>>=0;for(var u=Array(o);++e-1;);return n}(e,o),function(t,r){for(var n=t.length;n--&&O(r,t[n],0)>-1;);return n}(e,o)+1).join("")}var D=function(t){return!!a(t)||null!=t&&""!==$(t)};function V(t){return function(t){return"number"==typeof t||y(t)&&"[object Number]"==h(t)}(t)&&t!=+t}function B(t){return"string"==typeof t||!a(t)&&y(t)&&"[object String]"==h(t)}var q=function(t){return!B(t)&&!V(parseFloat(t))},I=function(t){return""!==$(t)&&B(t)},L=function(t){return null!=t&&"boolean"==typeof t},U=function(t,r){return void 0===r&&(r=!0),void 0!==t&&""!==t&&""!==$(t)&&(!1===r||!0===r&&null!==t)},J=function(t){switch(t){case"number":return q;case"string":return I;case"boolean":return L;default:return U}},W=function(t,r){return void 0===r&&(r=""),!!a(t)&&(""===r||""===$(r)||!(t.filter((function(t){return!J(r)(t)})).length>0))},G=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var r=t.replace("array.<","").replace(">","");return r.indexOf("|")?r.split("|"):[r]}return!1},H=function(t,r){var n=t.arg;return r.length>1?!n.filter((function(t){return!(r.length>r.filter((function(r){return!J(r)(t)})).length)})).length:r.length>r.filter((function(t){return!W(n,t)})).length};function K(t,r){return function(n){return t(r(n))}}var Q=K(Object.getPrototypeOf,Object),Y=Function.prototype,X=Object.prototype,Z=Y.toString,tt=X.hasOwnProperty,rt=Z.call(Object);function nt(t){if(!y(t)||"[object Object]"!=h(t))return!1;var r=Q(t);if(null===r)return!0;var n=tt.call(r,"constructor")&&r.constructor;return"function"==typeof n&&n instanceof n&&Z.call(n)==rt}var et,ot=function(t,r,n){for(var e=-1,o=Object(t),u=n(t),i=u.length;i--;){var a=u[et?i:++e];if(!1===r(o[a],a,o))break}return t};function ut(t){return y(t)&&"[object Arguments]"==h(t)}var it=Object.prototype,at=it.hasOwnProperty,ct=it.propertyIsEnumerable,ft=ut(function(){return arguments}())?ut:function(t){return y(t)&&at.call(t,"callee")&&!ct.call(t,"callee")};var lt="object"==typeof t&&t&&!t.nodeType&&t,st=lt&&"object"==typeof module&&module&&!module.nodeType&&module,pt=st&&st.exports===lt?o.Buffer:void 0,vt=(pt?pt.isBuffer:void 0)||function(){return!1},ht=/^(?:0|[1-9]\d*)$/;function yt(t,r){var n=typeof t;return!!(r=null==r?9007199254740991:r)&&("number"==n||"symbol"!=n&&ht.test(t))&&t>-1&&t%1==0&&t-1&&t%1==0&&t<=9007199254740991}var bt={};bt["[object Float32Array]"]=bt["[object Float64Array]"]=bt["[object Int8Array]"]=bt["[object Int16Array]"]=bt["[object Int32Array]"]=bt["[object Uint8Array]"]=bt["[object Uint8ClampedArray]"]=bt["[object Uint16Array]"]=bt["[object Uint32Array]"]=!0,bt["[object Arguments]"]=bt["[object Array]"]=bt["[object ArrayBuffer]"]=bt["[object Boolean]"]=bt["[object DataView]"]=bt["[object Date]"]=bt["[object Error]"]=bt["[object Function]"]=bt["[object Map]"]=bt["[object Number]"]=bt["[object Object]"]=bt["[object RegExp]"]=bt["[object Set]"]=bt["[object String]"]=bt["[object WeakMap]"]=!1;var gt,_t="object"==typeof t&&t&&!t.nodeType&&t,jt=_t&&"object"==typeof module&&module&&!module.nodeType&&module,mt=jt&&jt.exports===_t&&n.process,Ot=function(){try{var t=jt&&jt.require&&jt.require("util").types;return t||mt&&mt.binding&&mt.binding("util")}catch(t){}}(),wt=Ot&&Ot.isTypedArray,At=wt?(gt=wt,function(t){return gt(t)}):function(t){return y(t)&&dt(t.length)&&!!bt[h(t)]},kt=Object.prototype.hasOwnProperty;function St(t,r){var n=a(t),e=!n&&ft(t),o=!n&&!e&&vt(t),u=!n&&!e&&!o&&At(t),i=n||e||o||u,c=i?function(t,r){for(var n=-1,e=Array(t);++n-1},Vt.prototype.set=function(t,r){var n=this.__data__,e=$t(n,t);return e<0?(++this.size,n.push([t,r])):n[e][1]=r,this};var Bt,qt=o["__core-js_shared__"],It=(Bt=/[^.]+$/.exec(qt&&qt.keys&&qt.keys.IE_PROTO||""))?"Symbol(src)_1."+Bt:"";var Lt=Function.prototype.toString;function Ut(t){if(null!=t){try{return Lt.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var Jt=/^\[object .+?Constructor\]$/,Wt=Function.prototype,Gt=Object.prototype,Ht=Wt.toString,Kt=Gt.hasOwnProperty,Qt=RegExp("^"+Ht.call(Kt).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Yt(t){return!(!xt(t)||function(t){return!!It&&It in t}(t))&&(Rt(t)?Qt:Jt).test(Ut(t))}function Xt(t,r){var n=function(t,r){return null==t?void 0:t[r]}(t,r);return Yt(n)?n:void 0}var Zt=Xt(o,"Map"),tr=Xt(Object,"create");var rr=Object.prototype.hasOwnProperty;var nr=Object.prototype.hasOwnProperty;function er(t){var r=-1,n=null==t?0:t.length;for(this.clear();++ra))return!1;var f=u.get(t);if(f&&u.get(r))return f==r;var l=-1,s=!0,p=2&n?new ar:void 0;for(u.set(t,r),u.set(r,t);++lr.type.filter((function(t){var r;return void 0===n||(!1!==(r=G(t))?!H({arg:n},r):!J(t)(n))})).length)})).length}return!1},en=function(t){function r(){for(var n=[],e=arguments.length;e--;)n[e]=arguments[e];t.apply(this,n),this.message=n[0],this.detail=n[1],this.className=r.name,t.captureStackTrace&&t.captureStackTrace(this,r)}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var n={name:{configurable:!0}};return n.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(r,n),r}(Error),on=function(t){function r(){for(var n=[],e=arguments.length;e--;)n[e]=arguments[e];t.apply(this,n),this.message=n[0],this.detail=n[1],this.className=r.name,t.captureStackTrace&&t.captureStackTrace(this,r)}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var n={name:{configurable:!0},statusCode:{configurable:!0}};return n.name.get=function(){return"JsonqlError"},n.statusCode.get=function(){return-1},Object.defineProperties(r,n),r}(Error),un=function(t,r){var n,e,o,u,i;switch(!0){case"object"===t:return o=(e=r).arg,u=e.param,i=[o],Array.isArray(u.keys)&&u.keys.length&&i.push(u.keys),!Reflect.apply(nn,null,i);case"array"===t:return!W(r.arg);case!1!==(n=G(t)):return!H(r,n);default:return!J(t)(r.arg)}},an=function(t,r){return void 0!==t?t:!0===r.optional&&void 0!==r.defaultvalue?r.defaultvalue:null},cn=function(t,r){if(!W(r))throw new en("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===r.length)return[];if(!W(t))throw new en("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==r.length:return t.map((function(t,n){return{arg:t,index:n,param:r[n]}}));case!0===r[0].variable:var n=r[0].type;return t.map((function(t,e){return{arg:t,index:e,param:r[e]||{type:n,name:"_"}}}));case t.lengthr.length:var e=r.length,o=["any"];return t.map((function(t,n){var u=n>=e||!!r[n].optional,i=r[n]||{type:o,name:"_"+n};return{arg:u?an(t,i):t,index:n,param:i,optional:u}}));default:throw new on("Could not understand your arguments and parameter structure!",{args:t,params:r})}},fn=function(t,r,n){var e;void 0===n&&(n=!1);var o=cn(t,r),u=o.filter((function(t){return!0===t.optional||!0===t.param.optional?function(t){var r=t.arg,n=t.param;return!!D(r)&&!(n.type.length>n.type.filter((function(r){return un(r,t)})).length)}(t):!(t.param.type.length>t.param.type.filter((function(r){return un(r,t)})).length)}));return n?((e={}).error=u,e.data=o.map((function(t){return t.arg})),e):u},ln=function(t,r,n){return void 0===n&&(n=!1),new Promise((function(e,o){var u=fn(t,r,n);return n?u.error.length?o(u.error):e(u.data):u.length?o(u):e([])}))},sn=function(){try{var t=Xt(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();function pn(t,r,n){"__proto__"==r&&sn?sn(t,r,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[r]=n}function vn(t,r,n){(void 0===n||Mt(t[r],n))&&(void 0!==n||r in t)||pn(t,r,n)}var hn="object"==typeof t&&t&&!t.nodeType&&t,yn=hn&&"object"==typeof module&&module&&!module.nodeType&&module,dn=yn&&yn.exports===hn?o.Buffer:void 0,bn=dn?dn.allocUnsafe:void 0;function gn(t,r){var n,e,o=r?(n=t.buffer,e=new n.constructor(n.byteLength),new lr(e).set(new lr(n)),e):t.buffer;return new t.constructor(o,t.byteOffset,t.length)}var _n=Object.create,jn=function(){function t(){}return function(r){if(!xt(r))return{};if(_n)return _n(r);t.prototype=r;var n=new t;return t.prototype=void 0,n}}();function mn(t,r){if(("constructor"!==r||"function"!=typeof t[r])&&"__proto__"!=r)return t[r]}var On=Object.prototype.hasOwnProperty;function wn(t,r,n){var e=t[r];On.call(t,r)&&Mt(e,n)&&(void 0!==n||r in t)||pn(t,r,n)}var An=Object.prototype.hasOwnProperty;function kn(t){if(!xt(t))return function(t){var r=[];if(null!=t)for(var n in Object(t))r.push(n);return r}(t);var r=Et(t),n=[];for(var e in t)("constructor"!=e||!r&&An.call(t,e))&&n.push(e);return n}function Sn(t){return Ct(t)?St(t,!0):kn(t)}function Pn(t){return function(t,r,n,e){var o=!n;n||(n={});for(var u=-1,i=r.length;++u0){if(++r>=800)return arguments[0]}else r=0;return t.apply(void 0,arguments)}}(Rn);function Fn(t,r){return Nn(function(t,r,n){return r=xn(void 0===r?t.length-1:r,0),function(){for(var e=arguments,o=-1,u=xn(e.length-r,0),i=Array(u);++o1?r[e-1]:void 0,u=e>2?r[2]:void 0;for(o=Mn.length>3&&"function"==typeof o?(e--,o):void 0,u&&function(t,r,n){if(!xt(n))return!1;var e=typeof r;return!!("number"==e?Ct(n)&&yt(r,n.length):"string"==e&&r in n)&&Mt(n[r],t)}(r[0],r[1],u)&&(o=e<3?void 0:o,e=1),t=Object(t);++n=n?t:function(t,r,e){var n=-1,o=t.length;r<0&&(r=-r>o?0:o+r),(e=e>o?o:e)<0&&(e+=o),o=r>e?0:e-r>>>0,r>>>=0;for(var u=Array(o);++n-1;);return e}(n,o),function(t,r){for(var e=t.length;e--&&O(r,t[e],0)>-1;);return e}(n,o)+1).join("")}var D=function(t){return!!a(t)||null!=t&&""!==$(t)};function V(t){return function(t){return"number"==typeof t||y(t)&&"[object Number]"==h(t)}(t)&&t!=+t}function B(t){return"string"==typeof t||!a(t)&&y(t)&&"[object String]"==h(t)}var q=function(t){return!B(t)&&!V(parseFloat(t))},I=function(t){return""!==$(t)&&B(t)},L=function(t){return null!=t&&"boolean"==typeof t},U=function(t,r){return void 0===r&&(r=!0),void 0!==t&&""!==t&&""!==$(t)&&(!1===r||!0===r&&null!==t)},J=function(t){switch(t){case"number":return q;case"string":return I;case"boolean":return L;default:return U}},W=function(t,r){return void 0===r&&(r=""),!!a(t)&&(""===r||""===$(r)||!(t.filter((function(t){return!J(r)(t)})).length>0))},G=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var r=t.replace("array.<","").replace(">","");return r.indexOf("|")?r.split("|"):[r]}return!1},H=function(t,r){var e=t.arg;return r.length>1?!e.filter((function(t){return!(r.length>r.filter((function(r){return!J(r)(t)})).length)})).length:r.length>r.filter((function(t){return!W(e,t)})).length};function K(t,r){return function(e){return t(r(e))}}var Q=K(Object.getPrototypeOf,Object),Y=Function.prototype,X=Object.prototype,Z=Y.toString,tt=X.hasOwnProperty,rt=Z.call(Object);function et(t){if(!y(t)||"[object Object]"!=h(t))return!1;var r=Q(t);if(null===r)return!0;var e=tt.call(r,"constructor")&&r.constructor;return"function"==typeof e&&e instanceof e&&Z.call(e)==rt}var nt,ot=function(t,r,e){for(var n=-1,o=Object(t),u=e(t),i=u.length;i--;){var a=u[nt?i:++n];if(!1===r(o[a],a,o))break}return t};function ut(t){return y(t)&&"[object Arguments]"==h(t)}var it=Object.prototype,at=it.hasOwnProperty,ct=it.propertyIsEnumerable,ft=ut(function(){return arguments}())?ut:function(t){return y(t)&&at.call(t,"callee")&&!ct.call(t,"callee")};var lt="object"==typeof t&&t&&!t.nodeType&&t,st=lt&&"object"==typeof module&&module&&!module.nodeType&&module,pt=st&&st.exports===lt?o.Buffer:void 0,vt=(pt?pt.isBuffer:void 0)||function(){return!1},ht=/^(?:0|[1-9]\d*)$/;function yt(t,r){var e=typeof t;return!!(r=null==r?9007199254740991:r)&&("number"==e||"symbol"!=e&&ht.test(t))&&t>-1&&t%1==0&&t-1&&t%1==0&&t<=9007199254740991}var bt={};bt["[object Float32Array]"]=bt["[object Float64Array]"]=bt["[object Int8Array]"]=bt["[object Int16Array]"]=bt["[object Int32Array]"]=bt["[object Uint8Array]"]=bt["[object Uint8ClampedArray]"]=bt["[object Uint16Array]"]=bt["[object Uint32Array]"]=!0,bt["[object Arguments]"]=bt["[object Array]"]=bt["[object ArrayBuffer]"]=bt["[object Boolean]"]=bt["[object DataView]"]=bt["[object Date]"]=bt["[object Error]"]=bt["[object Function]"]=bt["[object Map]"]=bt["[object Number]"]=bt["[object Object]"]=bt["[object RegExp]"]=bt["[object Set]"]=bt["[object String]"]=bt["[object WeakMap]"]=!1;var gt,_t="object"==typeof t&&t&&!t.nodeType&&t,jt=_t&&"object"==typeof module&&module&&!module.nodeType&&module,mt=jt&&jt.exports===_t&&e.process,Ot=function(){try{var t=jt&&jt.require&&jt.require("util").types;return t||mt&&mt.binding&&mt.binding("util")}catch(t){}}(),wt=Ot&&Ot.isTypedArray,At=wt?(gt=wt,function(t){return gt(t)}):function(t){return y(t)&&dt(t.length)&&!!bt[h(t)]},kt=Object.prototype.hasOwnProperty;function St(t,r){var e=a(t),n=!e&&ft(t),o=!e&&!n&&vt(t),u=!e&&!n&&!o&&At(t),i=e||n||o||u,c=i?function(t,r){for(var e=-1,n=Array(t);++e-1},Vt.prototype.set=function(t,r){var e=this.__data__,n=$t(e,t);return n<0?(++this.size,e.push([t,r])):e[n][1]=r,this};var Bt,qt=o["__core-js_shared__"],It=(Bt=/[^.]+$/.exec(qt&&qt.keys&&qt.keys.IE_PROTO||""))?"Symbol(src)_1."+Bt:"";var Lt=Function.prototype.toString;function Ut(t){if(null!=t){try{return Lt.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var Jt=/^\[object .+?Constructor\]$/,Wt=Function.prototype,Gt=Object.prototype,Ht=Wt.toString,Kt=Gt.hasOwnProperty,Qt=RegExp("^"+Ht.call(Kt).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Yt(t){return!(!xt(t)||function(t){return!!It&&It in t}(t))&&(Rt(t)?Qt:Jt).test(Ut(t))}function Xt(t,r){var e=function(t,r){return null==t?void 0:t[r]}(t,r);return Yt(e)?e:void 0}var Zt=Xt(o,"Map"),tr=Xt(Object,"create");var rr=Object.prototype.hasOwnProperty;var er=Object.prototype.hasOwnProperty;function nr(t){var r=-1,e=null==t?0:t.length;for(this.clear();++ra))return!1;var f=u.get(t);if(f&&u.get(r))return f==r;var l=-1,s=!0,p=2&e?new ar:void 0;for(u.set(t,r),u.set(r,t);++lr.type.filter((function(t){var r;return void 0===e||(!1!==(r=G(t))?!H({arg:e},r):!J(t)(e))})).length)})).length}return!1},ne=function(t){function r(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];t.apply(this,e),this.message=e[0],this.detail=e[1],this.className=r.name,t.captureStackTrace&&t.captureStackTrace(this,r)}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var e={name:{configurable:!0}};return e.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(r,e),r}(Error),oe=function(t){function r(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];t.apply(this,e),this.message=e[0],this.detail=e[1],this.className=r.name,t.captureStackTrace&&t.captureStackTrace(this,r)}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var e={name:{configurable:!0},statusCode:{configurable:!0}};return e.name.get=function(){return"JsonqlError"},e.statusCode.get=function(){return-1},Object.defineProperties(r,e),r}(Error),ue=function(t,r){var e,n,o,u,i;switch(!0){case"object"===t:return o=(n=r).arg,u=n.param,i=[o],Array.isArray(u.keys)&&u.keys.length&&i.push(u.keys),!Reflect.apply(ee,null,i);case"array"===t:return!W(r.arg);case!1!==(e=G(t)):return!H(r,e);default:return!J(t)(r.arg)}},ie=function(t,r){return void 0!==t?t:!0===r.optional&&void 0!==r.defaultvalue?r.defaultvalue:null},ae=function(t,r){if(!W(r))throw new ne("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===r.length)return[];if(!W(t))throw new ne("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==r.length:return t.map((function(t,e){return{arg:t,index:e,param:r[e]}}));case!0===r[0].variable:var e=r[0].type;return t.map((function(t,n){return{arg:t,index:n,param:r[n]||{type:e,name:"_"}}}));case t.lengthr.length:var n=r.length,o=["any"];return t.map((function(t,e){var u=e>=n||!!r[e].optional,i=r[e]||{type:o,name:"_"+e};return{arg:u?ie(t,i):t,index:e,param:i,optional:u}}));default:throw new oe("Could not understand your arguments and parameter structure!",{args:t,params:r})}},ce=function(t,r,e){var n;void 0===e&&(e=!1);var o=ae(t,r),u=o.filter((function(t){return!0===t.optional||!0===t.param.optional?function(t){var r=t.arg,e=t.param;return!!D(r)&&!(e.type.length>e.type.filter((function(r){return ue(r,t)})).length)}(t):!(t.param.type.length>t.param.type.filter((function(r){return ue(r,t)})).length)}));return e?((n={}).error=u,n.data=o.map((function(t){return t.arg})),n):u},fe=function(t,r,e){return void 0===e&&(e=!1),new Promise((function(n,o){var u=ce(t,r,e);return e?u.error.length?o(u.error):n(u.data):u.length?o(u):n([])}))},le=function(){try{var t=Xt(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();function se(t,r,e){"__proto__"==r&&le?le(t,r,{configurable:!0,enumerable:!0,value:e,writable:!0}):t[r]=e}function pe(t,r,e){(void 0===e||Mt(t[r],e))&&(void 0!==e||r in t)||se(t,r,e)}var ve="object"==typeof t&&t&&!t.nodeType&&t,he=ve&&"object"==typeof module&&module&&!module.nodeType&&module,ye=he&&he.exports===ve?o.Buffer:void 0,de=ye?ye.allocUnsafe:void 0;function be(t,r){var e,n,o=r?(e=t.buffer,n=new e.constructor(e.byteLength),new lr(n).set(new lr(e)),n):t.buffer;return new t.constructor(o,t.byteOffset,t.length)}var ge=Object.create,_e=function(){function t(){}return function(r){if(!xt(r))return{};if(ge)return ge(r);t.prototype=r;var e=new t;return t.prototype=void 0,e}}();function je(t,r){if(("constructor"!==r||"function"!=typeof t[r])&&"__proto__"!=r)return t[r]}var me=Object.prototype.hasOwnProperty;function Oe(t,r,e){var n=t[r];me.call(t,r)&&Mt(n,e)&&(void 0!==e||r in t)||se(t,r,e)}var we=Object.prototype.hasOwnProperty;function Ae(t){if(!xt(t))return function(t){var r=[];if(null!=t)for(var e in Object(t))r.push(e);return r}(t);var r=Et(t),e=[];for(var n in t)("constructor"!=n||!r&&we.call(t,n))&&e.push(n);return e}function ke(t){return Ct(t)?St(t,!0):Ae(t)}function Se(t){return function(t,r,e,n){var o=!e;e||(e={});for(var u=-1,i=r.length;++u0){if(++r>=800)return arguments[0]}else r=0;return t.apply(void 0,arguments)}}(xe);function Ne(t,r){return Ce(function(t,r,e){return r=Te(void 0===r?t.length-1:r,0),function(){for(var n=arguments,o=-1,u=Te(n.length-r,0),i=Array(u);++o1?r[n-1]:void 0,u=n>2?r[2]:void 0;for(o=Fe.length>3&&"function"==typeof o?(n--,o):void 0,u&&function(t,r,e){if(!xt(e))return!1;var n=typeof r;return!!("number"==n?Ct(e)&&yt(r,e.length):"string"==n&&r in e)&&Mt(e[r],t)}(r[0],r[1],u)&&(o=n<3?void 0:o,n=1),t=Object(t);++e { - t.context.params = contract.query.getSomethingElse.params; + t.context.contract = contract + t.context.params = contract.query.getSomethingElse.params }) test('It should able to return the full argument even some of them are not pass', t => { @@ -42,7 +45,16 @@ test.cb('It should able to do the same with validate async but just resolve the }) // put the new checkReturns method test here @1.6.0 -test(`Should able to check the return result`, t => { +test.only(`Should able to check the return result using checkResolverReturns`, t => { + // debug(t.context.contract) + + const result = checkResolverReturns('query', 'helloWorld', t.context.contract, [HELLO]) + + t.pass() + + // debug('hello result', result) }) + +test.todo(`Should able to check the return result using checkResolverReturnsAsync`) -- Gitee From 92f34ee9e1608ea879c8acf687529f4c885e9041 Mon Sep 17 00:00:00 2001 From: joelchu Date: Sat, 14 Mar 2020 13:34:29 +0800 Subject: [PATCH 5/7] Fix the stock helloWorld returns def --- packages/contract-cli/src/public-contract/hello-world.json | 4 +++- packages/validator/dist/jsonql-params-validator.cjs.js | 2 +- packages/validator/dist/jsonql-params-validator.umd.js | 2 +- packages/validator/package.json | 2 +- packages/validator/src/returns.js | 6 +++--- packages/validator/tests/fixtures/contract.json | 2 +- 6 files changed, 10 insertions(+), 8 deletions(-) diff --git a/packages/contract-cli/src/public-contract/hello-world.json b/packages/contract-cli/src/public-contract/hello-world.json index 3d8e3b68..cebe1fc8 100755 --- a/packages/contract-cli/src/public-contract/hello-world.json +++ b/packages/contract-cli/src/public-contract/hello-world.json @@ -5,7 +5,9 @@ "params": [], "returns": [ { - "type": "string", + "type": [ + "string" + ], "description": "stock message" } ] diff --git a/packages/validator/dist/jsonql-params-validator.cjs.js b/packages/validator/dist/jsonql-params-validator.cjs.js index 6846fc4a..4b8cccf3 100644 --- a/packages/validator/dist/jsonql-params-validator.cjs.js +++ b/packages/validator/dist/jsonql-params-validator.cjs.js @@ -1,2 +1,2 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},r="object"==typeof t&&t&&t.Object===Object&&t,e="object"==typeof self&&self&&self.Object===Object&&self,n=r||e||Function("return this")(),o=n.Symbol;function u(t,r){for(var e=-1,n=null==t?0:t.length,o=Array(n);++e=n?t:function(t,r,e){var n=-1,o=t.length;r<0&&(r=-r>o?0:o+r),(e=e>o?o:e)<0&&(e+=o),o=r>e?0:e-r>>>0,r>>>=0;for(var u=Array(o);++n-1;);return e}(n,o),function(t,r){for(var e=t.length;e--&&m(r,t[e],0)>-1;);return e}(n,o)+1).join("")}var $=function(t){return!!i(t)||null!=t&&""!==M(t)};function D(t){return function(t){return"number"==typeof t||h(t)&&"[object Number]"==v(t)}(t)&&t!=+t}function B(t){return"string"==typeof t||!i(t)&&h(t)&&"[object String]"==v(t)}var V=function(t){return!B(t)&&!D(parseFloat(t))},I=function(t){return""!==M(t)&&B(t)},L=function(t){return null!=t&&"boolean"==typeof t},q=function(t,r){return void 0===r&&(r=!0),void 0!==t&&""!==t&&""!==M(t)&&(!1===r||!0===r&&null!==t)},U=function(t){switch(t){case"number":return V;case"string":return I;case"boolean":return L;default:return q}},J=function(t,r){return void 0===r&&(r=""),!!i(t)&&(""===r||""===M(r)||!(t.filter((function(t){return!U(r)(t)})).length>0))},W=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var r=t.replace("array.<","").replace(">","");return r.indexOf("|")?r.split("|"):[r]}return!1},G=function(t,r){var e=t.arg;return r.length>1?!e.filter((function(t){return!(r.length>r.filter((function(r){return!U(r)(t)})).length)})).length:r.length>r.filter((function(t){return!J(e,t)})).length};function H(t,r){return function(e){return t(r(e))}}var K=H(Object.getPrototypeOf,Object),Q=Function.prototype,Y=Object.prototype,X=Q.toString,Z=Y.hasOwnProperty,tt=X.call(Object);function rt(t){if(!h(t)||"[object Object]"!=v(t))return!1;var r=K(t);if(null===r)return!0;var e=Z.call(r,"constructor")&&r.constructor;return"function"==typeof e&&e instanceof e&&X.call(e)==tt}var et,nt=function(t,r,e){for(var n=-1,o=Object(t),u=e(t),i=u.length;i--;){var a=u[et?i:++n];if(!1===r(o[a],a,o))break}return t};function ot(t){return h(t)&&"[object Arguments]"==v(t)}var ut=Object.prototype,it=ut.hasOwnProperty,at=ut.propertyIsEnumerable,ct=ot(function(){return arguments}())?ot:function(t){return h(t)&&it.call(t,"callee")&&!at.call(t,"callee")};var ft="object"==typeof exports&&exports&&!exports.nodeType&&exports,st=ft&&"object"==typeof module&&module&&!module.nodeType&&module,lt=st&&st.exports===ft?n.Buffer:void 0,pt=(lt?lt.isBuffer:void 0)||function(){return!1},vt=/^(?:0|[1-9]\d*)$/;function ht(t,r){var e=typeof t;return!!(r=null==r?9007199254740991:r)&&("number"==e||"symbol"!=e&&vt.test(t))&&t>-1&&t%1==0&&t-1&&t%1==0&&t<=9007199254740991}var dt={};dt["[object Float32Array]"]=dt["[object Float64Array]"]=dt["[object Int8Array]"]=dt["[object Int16Array]"]=dt["[object Int32Array]"]=dt["[object Uint8Array]"]=dt["[object Uint8ClampedArray]"]=dt["[object Uint16Array]"]=dt["[object Uint32Array]"]=!0,dt["[object Arguments]"]=dt["[object Array]"]=dt["[object ArrayBuffer]"]=dt["[object Boolean]"]=dt["[object DataView]"]=dt["[object Date]"]=dt["[object Error]"]=dt["[object Function]"]=dt["[object Map]"]=dt["[object Number]"]=dt["[object Object]"]=dt["[object RegExp]"]=dt["[object Set]"]=dt["[object String]"]=dt["[object WeakMap]"]=!1;var bt,gt="object"==typeof exports&&exports&&!exports.nodeType&&exports,_t=gt&&"object"==typeof module&&module&&!module.nodeType&&module,jt=_t&&_t.exports===gt&&r.process,mt=function(){try{var t=_t&&_t.require&&_t.require("util").types;return t||jt&&jt.binding&&jt.binding("util")}catch(t){}}(),Ot=mt&&mt.isTypedArray,wt=Ot?(bt=Ot,function(t){return bt(t)}):function(t){return h(t)&&yt(t.length)&&!!dt[v(t)]},xt=Object.prototype.hasOwnProperty;function At(t,r){var e=i(t),n=!e&&ct(t),o=!e&&!n&&pt(t),u=!e&&!n&&!o&&wt(t),a=e||n||o||u,c=a?function(t,r){for(var e=-1,n=Array(t);++e-1},Dt.prototype.set=function(t,r){var e=this.__data__,n=Mt(e,t);return n<0?(++this.size,e.push([t,r])):e[n][1]=r,this};var Bt,Vt=n["__core-js_shared__"],It=(Bt=/[^.]+$/.exec(Vt&&Vt.keys&&Vt.keys.IE_PROTO||""))?"Symbol(src)_1."+Bt:"";var Lt=Function.prototype.toString;function qt(t){if(null!=t){try{return Lt.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var Ut=/^\[object .+?Constructor\]$/,Jt=Function.prototype,Wt=Object.prototype,Gt=Jt.toString,Ht=Wt.hasOwnProperty,Kt=RegExp("^"+Gt.call(Ht).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Qt(t){return!(!zt(t)||function(t){return!!It&&It in t}(t))&&(Tt(t)?Kt:Ut).test(qt(t))}function Yt(t,r){var e=function(t,r){return null==t?void 0:t[r]}(t,r);return Qt(e)?e:void 0}var Xt=Yt(n,"Map"),Zt=Yt(Object,"create");var tr=Object.prototype.hasOwnProperty;var rr=Object.prototype.hasOwnProperty;function er(t){var r=-1,e=null==t?0:t.length;for(this.clear();++ra))return!1;var f=u.get(t);if(f&&u.get(r))return f==r;var s=-1,l=!0,p=2&e?new ir:void 0;for(u.set(t,r),u.set(r,t);++sr.type.filter((function(t){var r;return void 0===e||(!1!==(r=W(t))?!G({arg:e},r):!U(t)(e))})).length)})).length}return!1},ee=function(t){function r(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];t.apply(this,e),this.message=e[0],this.detail=e[1],this.className=r.name,t.captureStackTrace&&t.captureStackTrace(this,r)}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var e={name:{configurable:!0}};return e.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(r,e),r}(Error),ne=function(t){function r(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];t.apply(this,e),this.message=e[0],this.detail=e[1],this.className=r.name,t.captureStackTrace&&t.captureStackTrace(this,r)}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var e={name:{configurable:!0},statusCode:{configurable:!0}};return e.name.get=function(){return"JsonqlError"},e.statusCode.get=function(){return-1},Object.defineProperties(r,e),r}(Error),oe=function(t,r){var e,n,o,u,i;switch(!0){case"object"===t:return o=(n=r).arg,u=n.param,i=[o],Array.isArray(u.keys)&&u.keys.length&&i.push(u.keys),!Reflect.apply(re,null,i);case"array"===t:return!J(r.arg);case!1!==(e=W(t)):return!G(r,e);default:return!U(t)(r.arg)}},ue=function(t,r){return void 0!==t?t:!0===r.optional&&void 0!==r.defaultvalue?r.defaultvalue:null},ie=function(t,r){if(!J(r))throw new ee("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===r.length)return[];if(!J(t))throw new ee("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==r.length:return t.map((function(t,e){return{arg:t,index:e,param:r[e]}}));case!0===r[0].variable:var e=r[0].type;return t.map((function(t,n){return{arg:t,index:n,param:r[n]||{type:e,name:"_"}}}));case t.lengthr.length:var n=r.length,o=["any"];return t.map((function(t,e){var u=e>=n||!!r[e].optional,i=r[e]||{type:o,name:"_"+e};return{arg:u?ue(t,i):t,index:e,param:i,optional:u}}));default:throw new ne("Could not understand your arguments and parameter structure!",{args:t,params:r})}},ae=function(t,r,e){var n;void 0===e&&(e=!1);var o=ie(t,r),u=o.filter((function(t){return!0===t.optional||!0===t.param.optional?function(t){var r=t.arg,e=t.param;return!!$(r)&&!(e.type.length>e.type.filter((function(r){return oe(r,t)})).length)}(t):!(t.param.type.length>t.param.type.filter((function(r){return oe(r,t)})).length)}));return e?((n={}).error=u,n.data=o.map((function(t){return t.arg})),n):u},ce=function(t,r,e){return void 0===e&&(e=!1),new Promise((function(n,o){var u=ae(t,r,e);return e?u.error.length?o(u.error):n(u.data):u.length?o(u):n([])}))},fe=function(){try{var t=Yt(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();function se(t,r,e){"__proto__"==r&&fe?fe(t,r,{configurable:!0,enumerable:!0,value:e,writable:!0}):t[r]=e}function le(t,r,e){(void 0===e||Ft(t[r],e))&&(void 0!==e||r in t)||se(t,r,e)}var pe="object"==typeof exports&&exports&&!exports.nodeType&&exports,ve=pe&&"object"==typeof module&&module&&!module.nodeType&&module,he=ve&&ve.exports===pe?n.Buffer:void 0,ye=he?he.allocUnsafe:void 0;function de(t,r){var e,n,o=r?(e=t.buffer,n=new e.constructor(e.byteLength),new fr(n).set(new fr(e)),n):t.buffer;return new t.constructor(o,t.byteOffset,t.length)}var be=Object.create,ge=function(){function t(){}return function(r){if(!zt(r))return{};if(be)return be(r);t.prototype=r;var e=new t;return t.prototype=void 0,e}}();function _e(t,r){if(("constructor"!==r||"function"!=typeof t[r])&&"__proto__"!=r)return t[r]}var je=Object.prototype.hasOwnProperty;function me(t,r,e){var n=t[r];je.call(t,r)&&Ft(n,e)&&(void 0!==e||r in t)||se(t,r,e)}var Oe=Object.prototype.hasOwnProperty;function we(t){if(!zt(t))return function(t){var r=[];if(null!=t)for(var e in Object(t))r.push(e);return r}(t);var r=St(t),e=[];for(var n in t)("constructor"!=n||!r&&Oe.call(t,n))&&e.push(n);return e}function xe(t){return Rt(t)?At(t,!0):we(t)}function Ae(t){return function(t,r,e,n){var o=!e;e||(e={});for(var u=-1,i=r.length;++u0){if(++r>=800)return arguments[0]}else r=0;return t.apply(void 0,arguments)}}(ze);function Ce(t,r){return Re(function(t,r,e){return r=Ee(void 0===r?t.length-1:r,0),function(){for(var n=arguments,o=-1,u=Ee(n.length-r,0),i=Array(u);++o1?r[n-1]:void 0,u=n>2?r[2]:void 0;for(o=Ne.length>3&&"function"==typeof o?(n--,o):void 0,u&&function(t,r,e){if(!zt(e))return!1;var n=typeof r;return!!("number"==n?Rt(e)&&ht(r,e.length):"string"==n&&r in e)&&Ft(e[r],t)}(r[0],r[1],u)&&(o=n<3?void 0:o,n=1),t=Object(t);++e=n?t:function(t,r,e){var n=-1,o=t.length;r<0&&(r=-r>o?0:o+r),(e=e>o?o:e)<0&&(e+=o),o=r>e?0:e-r>>>0,r>>>=0;for(var u=Array(o);++n-1;);return e}(n,o),function(t,r){for(var e=t.length;e--&&m(r,t[e],0)>-1;);return e}(n,o)+1).join("")}var $=function(t){return!!i(t)||null!=t&&""!==M(t)};function D(t){return function(t){return"number"==typeof t||h(t)&&"[object Number]"==v(t)}(t)&&t!=+t}function B(t){return"string"==typeof t||!i(t)&&h(t)&&"[object String]"==v(t)}var V=function(t){return!B(t)&&!D(parseFloat(t))},I=function(t){return""!==M(t)&&B(t)},L=function(t){return null!=t&&"boolean"==typeof t},q=function(t,r){return void 0===r&&(r=!0),void 0!==t&&""!==t&&""!==M(t)&&(!1===r||!0===r&&null!==t)},U=function(t){switch(t){case"number":return V;case"string":return I;case"boolean":return L;default:return q}},J=function(t,r){return void 0===r&&(r=""),!!i(t)&&(""===r||""===M(r)||!(t.filter((function(t){return!U(r)(t)})).length>0))},W=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var r=t.replace("array.<","").replace(">","");return r.indexOf("|")?r.split("|"):[r]}return!1},G=function(t,r){var e=t.arg;return r.length>1?!e.filter((function(t){return!(r.length>r.filter((function(r){return!U(r)(t)})).length)})).length:r.length>r.filter((function(t){return!J(e,t)})).length};function H(t,r){return function(e){return t(r(e))}}var K=H(Object.getPrototypeOf,Object),Q=Function.prototype,Y=Object.prototype,X=Q.toString,Z=Y.hasOwnProperty,tt=X.call(Object);function rt(t){if(!h(t)||"[object Object]"!=v(t))return!1;var r=K(t);if(null===r)return!0;var e=Z.call(r,"constructor")&&r.constructor;return"function"==typeof e&&e instanceof e&&X.call(e)==tt}var et,nt=function(t,r,e){for(var n=-1,o=Object(t),u=e(t),i=u.length;i--;){var a=u[et?i:++n];if(!1===r(o[a],a,o))break}return t};function ot(t){return h(t)&&"[object Arguments]"==v(t)}var ut=Object.prototype,it=ut.hasOwnProperty,at=ut.propertyIsEnumerable,ct=ot(function(){return arguments}())?ot:function(t){return h(t)&&it.call(t,"callee")&&!at.call(t,"callee")};var ft="object"==typeof exports&&exports&&!exports.nodeType&&exports,st=ft&&"object"==typeof module&&module&&!module.nodeType&&module,lt=st&&st.exports===ft?n.Buffer:void 0,pt=(lt?lt.isBuffer:void 0)||function(){return!1},vt=/^(?:0|[1-9]\d*)$/;function ht(t,r){var e=typeof t;return!!(r=null==r?9007199254740991:r)&&("number"==e||"symbol"!=e&&vt.test(t))&&t>-1&&t%1==0&&t-1&&t%1==0&&t<=9007199254740991}var dt={};dt["[object Float32Array]"]=dt["[object Float64Array]"]=dt["[object Int8Array]"]=dt["[object Int16Array]"]=dt["[object Int32Array]"]=dt["[object Uint8Array]"]=dt["[object Uint8ClampedArray]"]=dt["[object Uint16Array]"]=dt["[object Uint32Array]"]=!0,dt["[object Arguments]"]=dt["[object Array]"]=dt["[object ArrayBuffer]"]=dt["[object Boolean]"]=dt["[object DataView]"]=dt["[object Date]"]=dt["[object Error]"]=dt["[object Function]"]=dt["[object Map]"]=dt["[object Number]"]=dt["[object Object]"]=dt["[object RegExp]"]=dt["[object Set]"]=dt["[object String]"]=dt["[object WeakMap]"]=!1;var bt,gt="object"==typeof exports&&exports&&!exports.nodeType&&exports,_t=gt&&"object"==typeof module&&module&&!module.nodeType&&module,jt=_t&&_t.exports===gt&&r.process,mt=function(){try{var t=_t&&_t.require&&_t.require("util").types;return t||jt&&jt.binding&&jt.binding("util")}catch(t){}}(),Ot=mt&&mt.isTypedArray,wt=Ot?(bt=Ot,function(t){return bt(t)}):function(t){return h(t)&&yt(t.length)&&!!dt[v(t)]},xt=Object.prototype.hasOwnProperty;function At(t,r){var e=i(t),n=!e&&ct(t),o=!e&&!n&&pt(t),u=!e&&!n&&!o&&wt(t),a=e||n||o||u,c=a?function(t,r){for(var e=-1,n=Array(t);++e-1},Dt.prototype.set=function(t,r){var e=this.__data__,n=Mt(e,t);return n<0?(++this.size,e.push([t,r])):e[n][1]=r,this};var Bt,Vt=n["__core-js_shared__"],It=(Bt=/[^.]+$/.exec(Vt&&Vt.keys&&Vt.keys.IE_PROTO||""))?"Symbol(src)_1."+Bt:"";var Lt=Function.prototype.toString;function qt(t){if(null!=t){try{return Lt.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var Ut=/^\[object .+?Constructor\]$/,Jt=Function.prototype,Wt=Object.prototype,Gt=Jt.toString,Ht=Wt.hasOwnProperty,Kt=RegExp("^"+Gt.call(Ht).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Qt(t){return!(!zt(t)||function(t){return!!It&&It in t}(t))&&(Tt(t)?Kt:Ut).test(qt(t))}function Yt(t,r){var e=function(t,r){return null==t?void 0:t[r]}(t,r);return Qt(e)?e:void 0}var Xt=Yt(n,"Map"),Zt=Yt(Object,"create");var tr=Object.prototype.hasOwnProperty;var rr=Object.prototype.hasOwnProperty;function er(t){var r=-1,e=null==t?0:t.length;for(this.clear();++ra))return!1;var f=u.get(t);if(f&&u.get(r))return f==r;var s=-1,l=!0,p=2&e?new ir:void 0;for(u.set(t,r),u.set(r,t);++sr.type.filter((function(t){var r;return void 0===e||(!1!==(r=W(t))?!G({arg:e},r):!U(t)(e))})).length)})).length}return!1},ee=function(t){function r(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];t.apply(this,e),this.message=e[0],this.detail=e[1],this.className=r.name,t.captureStackTrace&&t.captureStackTrace(this,r)}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var e={name:{configurable:!0}};return e.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(r,e),r}(Error),ne=function(t){function r(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];t.apply(this,e),this.message=e[0],this.detail=e[1],this.className=r.name,t.captureStackTrace&&t.captureStackTrace(this,r)}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var e={name:{configurable:!0},statusCode:{configurable:!0}};return e.name.get=function(){return"JsonqlError"},e.statusCode.get=function(){return-1},Object.defineProperties(r,e),r}(Error),oe=function(t,r){var e,n,o,u,i;switch(!0){case"object"===t:return o=(n=r).arg,u=n.param,i=[o],Array.isArray(u.keys)&&u.keys.length&&i.push(u.keys),!Reflect.apply(re,null,i);case"array"===t:return!J(r.arg);case!1!==(e=W(t)):return!G(r,e);default:return!U(t)(r.arg)}},ue=function(t,r){return void 0!==t?t:!0===r.optional&&void 0!==r.defaultvalue?r.defaultvalue:null},ie=function(t,r){if(!J(r))throw new ee("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===r.length)return[];if(!J(t))throw new ee("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==r.length:return t.map((function(t,e){return{arg:t,index:e,param:r[e]}}));case!0===r[0].variable:var e=r[0].type;return t.map((function(t,n){return{arg:t,index:n,param:r[n]||{type:e,name:"_"}}}));case t.lengthr.length:var n=r.length,o=["any"];return t.map((function(t,e){var u=e>=n||!!r[e].optional,i=r[e]||{type:o,name:"_"+e};return{arg:u?ue(t,i):t,index:e,param:i,optional:u}}));default:throw new ne("Could not understand your arguments and parameter structure!",{args:t,params:r})}},ae=function(t,r,e){var n;void 0===e&&(e=!1);var o=ie(t,r),u=o.filter((function(t){return!0===t.optional||!0===t.param.optional?function(t){var r=t.arg,e=t.param;return!!$(r)&&!(e.type.length>e.type.filter((function(r){return oe(r,t)})).length)}(t):!(t.param.type.length>t.param.type.filter((function(r){return oe(r,t)})).length)}));return e?((n={}).error=u,n.data=o.map((function(t){return t.arg})),n):u},ce=function(t,r,e){return void 0===e&&(e=!1),new Promise((function(n,o){var u=ae(t,r,e);return e?u.error.length?o(u.error):n(u.data):u.length?o(u):n([])}))},fe=function(){try{var t=Yt(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();function se(t,r,e){"__proto__"==r&&fe?fe(t,r,{configurable:!0,enumerable:!0,value:e,writable:!0}):t[r]=e}function le(t,r,e){(void 0===e||Ft(t[r],e))&&(void 0!==e||r in t)||se(t,r,e)}var pe="object"==typeof exports&&exports&&!exports.nodeType&&exports,ve=pe&&"object"==typeof module&&module&&!module.nodeType&&module,he=ve&&ve.exports===pe?n.Buffer:void 0,ye=he?he.allocUnsafe:void 0;function de(t,r){var e,n,o=r?(e=t.buffer,n=new e.constructor(e.byteLength),new fr(n).set(new fr(e)),n):t.buffer;return new t.constructor(o,t.byteOffset,t.length)}var be=Object.create,ge=function(){function t(){}return function(r){if(!zt(r))return{};if(be)return be(r);t.prototype=r;var e=new t;return t.prototype=void 0,e}}();function _e(t,r){if(("constructor"!==r||"function"!=typeof t[r])&&"__proto__"!=r)return t[r]}var je=Object.prototype.hasOwnProperty;function me(t,r,e){var n=t[r];je.call(t,r)&&Ft(n,e)&&(void 0!==e||r in t)||se(t,r,e)}var Oe=Object.prototype.hasOwnProperty;function we(t){if(!zt(t))return function(t){var r=[];if(null!=t)for(var e in Object(t))r.push(e);return r}(t);var r=St(t),e=[];for(var n in t)("constructor"!=n||!r&&Oe.call(t,n))&&e.push(n);return e}function xe(t){return Rt(t)?At(t,!0):we(t)}function Ae(t){return function(t,r,e,n){var o=!e;e||(e={});for(var u=-1,i=r.length;++u0){if(++r>=800)return arguments[0]}else r=0;return t.apply(void 0,arguments)}}(ze);function Ce(t,r){return Re(function(t,r,e){return r=Ee(void 0===r?t.length-1:r,0),function(){for(var n=arguments,o=-1,u=Ee(n.length-r,0),i=Array(u);++o1?r[n-1]:void 0,u=n>2?r[2]:void 0;for(o=Ne.length>3&&"function"==typeof o?(n--,o):void 0,u&&function(t,r,e){if(!zt(e))return!1;var n=typeof r;return!!("number"==n?Rt(e)&&ht(r,e.length):"string"==n&&r in e)&&Ft(e[r],t)}(r[0],r[1],u)&&(o=n<3?void 0:o,n=1),t=Object(t);++e=n?t:function(t,r,e){var n=-1,o=t.length;r<0&&(r=-r>o?0:o+r),(e=e>o?o:e)<0&&(e+=o),o=r>e?0:e-r>>>0,r>>>=0;for(var u=Array(o);++n-1;);return e}(n,o),function(t,r){for(var e=t.length;e--&&O(r,t[e],0)>-1;);return e}(n,o)+1).join("")}var D=function(t){return!!a(t)||null!=t&&""!==$(t)};function V(t){return function(t){return"number"==typeof t||y(t)&&"[object Number]"==h(t)}(t)&&t!=+t}function B(t){return"string"==typeof t||!a(t)&&y(t)&&"[object String]"==h(t)}var q=function(t){return!B(t)&&!V(parseFloat(t))},I=function(t){return""!==$(t)&&B(t)},L=function(t){return null!=t&&"boolean"==typeof t},U=function(t,r){return void 0===r&&(r=!0),void 0!==t&&""!==t&&""!==$(t)&&(!1===r||!0===r&&null!==t)},J=function(t){switch(t){case"number":return q;case"string":return I;case"boolean":return L;default:return U}},W=function(t,r){return void 0===r&&(r=""),!!a(t)&&(""===r||""===$(r)||!(t.filter((function(t){return!J(r)(t)})).length>0))},G=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var r=t.replace("array.<","").replace(">","");return r.indexOf("|")?r.split("|"):[r]}return!1},H=function(t,r){var e=t.arg;return r.length>1?!e.filter((function(t){return!(r.length>r.filter((function(r){return!J(r)(t)})).length)})).length:r.length>r.filter((function(t){return!W(e,t)})).length};function K(t,r){return function(e){return t(r(e))}}var Q=K(Object.getPrototypeOf,Object),Y=Function.prototype,X=Object.prototype,Z=Y.toString,tt=X.hasOwnProperty,rt=Z.call(Object);function et(t){if(!y(t)||"[object Object]"!=h(t))return!1;var r=Q(t);if(null===r)return!0;var e=tt.call(r,"constructor")&&r.constructor;return"function"==typeof e&&e instanceof e&&Z.call(e)==rt}var nt,ot=function(t,r,e){for(var n=-1,o=Object(t),u=e(t),i=u.length;i--;){var a=u[nt?i:++n];if(!1===r(o[a],a,o))break}return t};function ut(t){return y(t)&&"[object Arguments]"==h(t)}var it=Object.prototype,at=it.hasOwnProperty,ct=it.propertyIsEnumerable,ft=ut(function(){return arguments}())?ut:function(t){return y(t)&&at.call(t,"callee")&&!ct.call(t,"callee")};var lt="object"==typeof t&&t&&!t.nodeType&&t,st=lt&&"object"==typeof module&&module&&!module.nodeType&&module,pt=st&&st.exports===lt?o.Buffer:void 0,vt=(pt?pt.isBuffer:void 0)||function(){return!1},ht=/^(?:0|[1-9]\d*)$/;function yt(t,r){var e=typeof t;return!!(r=null==r?9007199254740991:r)&&("number"==e||"symbol"!=e&&ht.test(t))&&t>-1&&t%1==0&&t-1&&t%1==0&&t<=9007199254740991}var bt={};bt["[object Float32Array]"]=bt["[object Float64Array]"]=bt["[object Int8Array]"]=bt["[object Int16Array]"]=bt["[object Int32Array]"]=bt["[object Uint8Array]"]=bt["[object Uint8ClampedArray]"]=bt["[object Uint16Array]"]=bt["[object Uint32Array]"]=!0,bt["[object Arguments]"]=bt["[object Array]"]=bt["[object ArrayBuffer]"]=bt["[object Boolean]"]=bt["[object DataView]"]=bt["[object Date]"]=bt["[object Error]"]=bt["[object Function]"]=bt["[object Map]"]=bt["[object Number]"]=bt["[object Object]"]=bt["[object RegExp]"]=bt["[object Set]"]=bt["[object String]"]=bt["[object WeakMap]"]=!1;var gt,_t="object"==typeof t&&t&&!t.nodeType&&t,jt=_t&&"object"==typeof module&&module&&!module.nodeType&&module,mt=jt&&jt.exports===_t&&e.process,Ot=function(){try{var t=jt&&jt.require&&jt.require("util").types;return t||mt&&mt.binding&&mt.binding("util")}catch(t){}}(),wt=Ot&&Ot.isTypedArray,At=wt?(gt=wt,function(t){return gt(t)}):function(t){return y(t)&&dt(t.length)&&!!bt[h(t)]},kt=Object.prototype.hasOwnProperty;function St(t,r){var e=a(t),n=!e&&ft(t),o=!e&&!n&&vt(t),u=!e&&!n&&!o&&At(t),i=e||n||o||u,c=i?function(t,r){for(var e=-1,n=Array(t);++e-1},Vt.prototype.set=function(t,r){var e=this.__data__,n=$t(e,t);return n<0?(++this.size,e.push([t,r])):e[n][1]=r,this};var Bt,qt=o["__core-js_shared__"],It=(Bt=/[^.]+$/.exec(qt&&qt.keys&&qt.keys.IE_PROTO||""))?"Symbol(src)_1."+Bt:"";var Lt=Function.prototype.toString;function Ut(t){if(null!=t){try{return Lt.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var Jt=/^\[object .+?Constructor\]$/,Wt=Function.prototype,Gt=Object.prototype,Ht=Wt.toString,Kt=Gt.hasOwnProperty,Qt=RegExp("^"+Ht.call(Kt).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Yt(t){return!(!xt(t)||function(t){return!!It&&It in t}(t))&&(Rt(t)?Qt:Jt).test(Ut(t))}function Xt(t,r){var e=function(t,r){return null==t?void 0:t[r]}(t,r);return Yt(e)?e:void 0}var Zt=Xt(o,"Map"),tr=Xt(Object,"create");var rr=Object.prototype.hasOwnProperty;var er=Object.prototype.hasOwnProperty;function nr(t){var r=-1,e=null==t?0:t.length;for(this.clear();++ra))return!1;var f=u.get(t);if(f&&u.get(r))return f==r;var l=-1,s=!0,p=2&e?new ar:void 0;for(u.set(t,r),u.set(r,t);++lr.type.filter((function(t){var r;return void 0===e||(!1!==(r=G(t))?!H({arg:e},r):!J(t)(e))})).length)})).length}return!1},ne=function(t){function r(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];t.apply(this,e),this.message=e[0],this.detail=e[1],this.className=r.name,t.captureStackTrace&&t.captureStackTrace(this,r)}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var e={name:{configurable:!0}};return e.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(r,e),r}(Error),oe=function(t){function r(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];t.apply(this,e),this.message=e[0],this.detail=e[1],this.className=r.name,t.captureStackTrace&&t.captureStackTrace(this,r)}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var e={name:{configurable:!0},statusCode:{configurable:!0}};return e.name.get=function(){return"JsonqlError"},e.statusCode.get=function(){return-1},Object.defineProperties(r,e),r}(Error),ue=function(t,r){var e,n,o,u,i;switch(!0){case"object"===t:return o=(n=r).arg,u=n.param,i=[o],Array.isArray(u.keys)&&u.keys.length&&i.push(u.keys),!Reflect.apply(ee,null,i);case"array"===t:return!W(r.arg);case!1!==(e=G(t)):return!H(r,e);default:return!J(t)(r.arg)}},ie=function(t,r){return void 0!==t?t:!0===r.optional&&void 0!==r.defaultvalue?r.defaultvalue:null},ae=function(t,r){if(!W(r))throw new ne("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===r.length)return[];if(!W(t))throw new ne("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==r.length:return t.map((function(t,e){return{arg:t,index:e,param:r[e]}}));case!0===r[0].variable:var e=r[0].type;return t.map((function(t,n){return{arg:t,index:n,param:r[n]||{type:e,name:"_"}}}));case t.lengthr.length:var n=r.length,o=["any"];return t.map((function(t,e){var u=e>=n||!!r[e].optional,i=r[e]||{type:o,name:"_"+e};return{arg:u?ie(t,i):t,index:e,param:i,optional:u}}));default:throw new oe("Could not understand your arguments and parameter structure!",{args:t,params:r})}},ce=function(t,r,e){var n;void 0===e&&(e=!1);var o=ae(t,r),u=o.filter((function(t){return!0===t.optional||!0===t.param.optional?function(t){var r=t.arg,e=t.param;return!!D(r)&&!(e.type.length>e.type.filter((function(r){return ue(r,t)})).length)}(t):!(t.param.type.length>t.param.type.filter((function(r){return ue(r,t)})).length)}));return e?((n={}).error=u,n.data=o.map((function(t){return t.arg})),n):u},fe=function(t,r,e){return void 0===e&&(e=!1),new Promise((function(n,o){var u=ce(t,r,e);return e?u.error.length?o(u.error):n(u.data):u.length?o(u):n([])}))},le=function(){try{var t=Xt(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();function se(t,r,e){"__proto__"==r&&le?le(t,r,{configurable:!0,enumerable:!0,value:e,writable:!0}):t[r]=e}function pe(t,r,e){(void 0===e||Mt(t[r],e))&&(void 0!==e||r in t)||se(t,r,e)}var ve="object"==typeof t&&t&&!t.nodeType&&t,he=ve&&"object"==typeof module&&module&&!module.nodeType&&module,ye=he&&he.exports===ve?o.Buffer:void 0,de=ye?ye.allocUnsafe:void 0;function be(t,r){var e,n,o=r?(e=t.buffer,n=new e.constructor(e.byteLength),new lr(n).set(new lr(e)),n):t.buffer;return new t.constructor(o,t.byteOffset,t.length)}var ge=Object.create,_e=function(){function t(){}return function(r){if(!xt(r))return{};if(ge)return ge(r);t.prototype=r;var e=new t;return t.prototype=void 0,e}}();function je(t,r){if(("constructor"!==r||"function"!=typeof t[r])&&"__proto__"!=r)return t[r]}var me=Object.prototype.hasOwnProperty;function Oe(t,r,e){var n=t[r];me.call(t,r)&&Mt(n,e)&&(void 0!==e||r in t)||se(t,r,e)}var we=Object.prototype.hasOwnProperty;function Ae(t){if(!xt(t))return function(t){var r=[];if(null!=t)for(var e in Object(t))r.push(e);return r}(t);var r=Et(t),e=[];for(var n in t)("constructor"!=n||!r&&we.call(t,n))&&e.push(n);return e}function ke(t){return Ct(t)?St(t,!0):Ae(t)}function Se(t){return function(t,r,e,n){var o=!e;e||(e={});for(var u=-1,i=r.length;++u0){if(++r>=800)return arguments[0]}else r=0;return t.apply(void 0,arguments)}}(xe);function Ne(t,r){return Ce(function(t,r,e){return r=Te(void 0===r?t.length-1:r,0),function(){for(var n=arguments,o=-1,u=Te(n.length-r,0),i=Array(u);++o1?r[n-1]:void 0,u=n>2?r[2]:void 0;for(o=Fe.length>3&&"function"==typeof o?(n--,o):void 0,u&&function(t,r,e){if(!xt(e))return!1;var n=typeof r;return!!("number"==n?Ct(e)&&yt(r,e.length):"string"==n&&r in e)&&Mt(e[r],t)}(r[0],r[1],u)&&(o=n<3?void 0:o,n=1),t=Object(t);++e=n?t:function(t,r,e){var n=-1,o=t.length;r<0&&(r=-r>o?0:o+r),(e=e>o?o:e)<0&&(e+=o),o=r>e?0:e-r>>>0,r>>>=0;for(var u=Array(o);++n-1;);return e}(n,o),function(t,r){for(var e=t.length;e--&&O(r,t[e],0)>-1;);return e}(n,o)+1).join("")}var D=function(t){return!!a(t)||null!=t&&""!==$(t)};function V(t){return function(t){return"number"==typeof t||y(t)&&"[object Number]"==h(t)}(t)&&t!=+t}function B(t){return"string"==typeof t||!a(t)&&y(t)&&"[object String]"==h(t)}var q=function(t){return!B(t)&&!V(parseFloat(t))},I=function(t){return""!==$(t)&&B(t)},L=function(t){return null!=t&&"boolean"==typeof t},U=function(t,r){return void 0===r&&(r=!0),void 0!==t&&""!==t&&""!==$(t)&&(!1===r||!0===r&&null!==t)},J=function(t){switch(t){case"number":return q;case"string":return I;case"boolean":return L;default:return U}},W=function(t,r){return void 0===r&&(r=""),!!a(t)&&(""===r||""===$(r)||!(t.filter((function(t){return!J(r)(t)})).length>0))},G=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var r=t.replace("array.<","").replace(">","");return r.indexOf("|")?r.split("|"):[r]}return!1},H=function(t,r){var e=t.arg;return r.length>1?!e.filter((function(t){return!(r.length>r.filter((function(r){return!J(r)(t)})).length)})).length:r.length>r.filter((function(t){return!W(e,t)})).length};function K(t,r){return function(e){return t(r(e))}}var Q=K(Object.getPrototypeOf,Object),Y=Function.prototype,X=Object.prototype,Z=Y.toString,tt=X.hasOwnProperty,rt=Z.call(Object);function et(t){if(!y(t)||"[object Object]"!=h(t))return!1;var r=Q(t);if(null===r)return!0;var e=tt.call(r,"constructor")&&r.constructor;return"function"==typeof e&&e instanceof e&&Z.call(e)==rt}var nt,ot=function(t,r,e){for(var n=-1,o=Object(t),u=e(t),i=u.length;i--;){var a=u[nt?i:++n];if(!1===r(o[a],a,o))break}return t};function ut(t){return y(t)&&"[object Arguments]"==h(t)}var it=Object.prototype,at=it.hasOwnProperty,ct=it.propertyIsEnumerable,ft=ut(function(){return arguments}())?ut:function(t){return y(t)&&at.call(t,"callee")&&!ct.call(t,"callee")};var lt="object"==typeof t&&t&&!t.nodeType&&t,st=lt&&"object"==typeof module&&module&&!module.nodeType&&module,pt=st&&st.exports===lt?o.Buffer:void 0,vt=(pt?pt.isBuffer:void 0)||function(){return!1},ht=/^(?:0|[1-9]\d*)$/;function yt(t,r){var e=typeof t;return!!(r=null==r?9007199254740991:r)&&("number"==e||"symbol"!=e&&ht.test(t))&&t>-1&&t%1==0&&t-1&&t%1==0&&t<=9007199254740991}var bt={};bt["[object Float32Array]"]=bt["[object Float64Array]"]=bt["[object Int8Array]"]=bt["[object Int16Array]"]=bt["[object Int32Array]"]=bt["[object Uint8Array]"]=bt["[object Uint8ClampedArray]"]=bt["[object Uint16Array]"]=bt["[object Uint32Array]"]=!0,bt["[object Arguments]"]=bt["[object Array]"]=bt["[object ArrayBuffer]"]=bt["[object Boolean]"]=bt["[object DataView]"]=bt["[object Date]"]=bt["[object Error]"]=bt["[object Function]"]=bt["[object Map]"]=bt["[object Number]"]=bt["[object Object]"]=bt["[object RegExp]"]=bt["[object Set]"]=bt["[object String]"]=bt["[object WeakMap]"]=!1;var gt,_t="object"==typeof t&&t&&!t.nodeType&&t,jt=_t&&"object"==typeof module&&module&&!module.nodeType&&module,mt=jt&&jt.exports===_t&&e.process,Ot=function(){try{var t=jt&&jt.require&&jt.require("util").types;return t||mt&&mt.binding&&mt.binding("util")}catch(t){}}(),wt=Ot&&Ot.isTypedArray,At=wt?(gt=wt,function(t){return gt(t)}):function(t){return y(t)&&dt(t.length)&&!!bt[h(t)]},kt=Object.prototype.hasOwnProperty;function St(t,r){var e=a(t),n=!e&&ft(t),o=!e&&!n&&vt(t),u=!e&&!n&&!o&&At(t),i=e||n||o||u,c=i?function(t,r){for(var e=-1,n=Array(t);++e-1},Vt.prototype.set=function(t,r){var e=this.__data__,n=$t(e,t);return n<0?(++this.size,e.push([t,r])):e[n][1]=r,this};var Bt,qt=o["__core-js_shared__"],It=(Bt=/[^.]+$/.exec(qt&&qt.keys&&qt.keys.IE_PROTO||""))?"Symbol(src)_1."+Bt:"";var Lt=Function.prototype.toString;function Ut(t){if(null!=t){try{return Lt.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var Jt=/^\[object .+?Constructor\]$/,Wt=Function.prototype,Gt=Object.prototype,Ht=Wt.toString,Kt=Gt.hasOwnProperty,Qt=RegExp("^"+Ht.call(Kt).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Yt(t){return!(!Tt(t)||function(t){return!!It&&It in t}(t))&&(Rt(t)?Qt:Jt).test(Ut(t))}function Xt(t,r){var e=function(t,r){return null==t?void 0:t[r]}(t,r);return Yt(e)?e:void 0}var Zt=Xt(o,"Map"),tr=Xt(Object,"create");var rr=Object.prototype.hasOwnProperty;var er=Object.prototype.hasOwnProperty;function nr(t){var r=-1,e=null==t?0:t.length;for(this.clear();++ra))return!1;var f=u.get(t);if(f&&u.get(r))return f==r;var l=-1,s=!0,p=2&e?new ar:void 0;for(u.set(t,r),u.set(r,t);++lr.type.filter((function(t){var r;return void 0===e||(!1!==(r=G(t))?!H({arg:e},r):!J(t)(e))})).length)})).length}return!1},ne=function(t){function r(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];t.apply(this,e),this.message=e[0],this.detail=e[1],this.className=r.name,t.captureStackTrace&&t.captureStackTrace(this,r)}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var e={name:{configurable:!0}};return e.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(r,e),r}(Error),oe=function(t){function r(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];t.apply(this,e),this.message=e[0],this.detail=e[1],this.className=r.name,t.captureStackTrace&&t.captureStackTrace(this,r)}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var e={name:{configurable:!0},statusCode:{configurable:!0}};return e.name.get=function(){return"JsonqlError"},e.statusCode.get=function(){return-1},Object.defineProperties(r,e),r}(Error),ue=function(t,r){var e,n,o,u,i;switch(!0){case"object"===t:return o=(n=r).arg,u=n.param,i=[o],Array.isArray(u.keys)&&u.keys.length&&i.push(u.keys),!Reflect.apply(ee,null,i);case"array"===t:return!W(r.arg);case!1!==(e=G(t)):return!H(r,e);default:return!J(t)(r.arg)}},ie=function(t,r){return void 0!==t?t:!0===r.optional&&void 0!==r.defaultvalue?r.defaultvalue:null},ae=function(t,r){if(!W(r))throw new ne("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===r.length)return[];if(!W(t))throw new ne("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==r.length:return t.map((function(t,e){return{arg:t,index:e,param:r[e]}}));case!0===r[0].variable:var e=r[0].type;return t.map((function(t,n){return{arg:t,index:n,param:r[n]||{type:e,name:"_"}}}));case t.lengthr.length:var n=r.length,o=["any"];return t.map((function(t,e){var u=e>=n||!!r[e].optional,i=r[e]||{type:o,name:"_"+e};return{arg:u?ie(t,i):t,index:e,param:i,optional:u}}));default:throw new oe("Could not understand your arguments and parameter structure!",{args:t,params:r})}},ce=function(t,r,e){var n;void 0===e&&(e=!1);var o=ae(t,r),u=o.filter((function(t){return!0===t.optional||!0===t.param.optional?function(t){var r=t.arg,e=t.param;return!!D(r)&&!(e.type.length>e.type.filter((function(r){return ue(r,t)})).length)}(t):!(t.param.type.length>t.param.type.filter((function(r){return ue(r,t)})).length)}));return e?((n={}).error=u,n.data=o.map((function(t){return t.arg})),n):u},fe=function(t,r,e){return void 0===e&&(e=!1),new Promise((function(n,o){var u=ce(t,r,e);return e?u.error.length?o(u.error):n(u.data):u.length?o(u):n([])}))},le=function(){try{var t=Xt(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();function se(t,r,e){"__proto__"==r&&le?le(t,r,{configurable:!0,enumerable:!0,value:e,writable:!0}):t[r]=e}function pe(t,r,e){(void 0===e||Mt(t[r],e))&&(void 0!==e||r in t)||se(t,r,e)}var ve="object"==typeof t&&t&&!t.nodeType&&t,he=ve&&"object"==typeof module&&module&&!module.nodeType&&module,ye=he&&he.exports===ve?o.Buffer:void 0,de=ye?ye.allocUnsafe:void 0;function be(t,r){var e,n,o=r?(e=t.buffer,n=new e.constructor(e.byteLength),new lr(n).set(new lr(e)),n):t.buffer;return new t.constructor(o,t.byteOffset,t.length)}var ge=Object.create,_e=function(){function t(){}return function(r){if(!Tt(r))return{};if(ge)return ge(r);t.prototype=r;var e=new t;return t.prototype=void 0,e}}();function je(t,r){if(("constructor"!==r||"function"!=typeof t[r])&&"__proto__"!=r)return t[r]}var me=Object.prototype.hasOwnProperty;function Oe(t,r,e){var n=t[r];me.call(t,r)&&Mt(n,e)&&(void 0!==e||r in t)||se(t,r,e)}var we=Object.prototype.hasOwnProperty;function Ae(t){if(!Tt(t))return function(t){var r=[];if(null!=t)for(var e in Object(t))r.push(e);return r}(t);var r=Et(t),e=[];for(var n in t)("constructor"!=n||!r&&we.call(t,n))&&e.push(n);return e}function ke(t){return Ct(t)?St(t,!0):Ae(t)}function Se(t){return function(t,r,e,n){var o=!e;e||(e={});for(var u=-1,i=r.length;++u0){if(++r>=800)return arguments[0]}else r=0;return t.apply(void 0,arguments)}}(Te);function Ne(t,r){return Ce(function(t,r,e){return r=xe(void 0===r?t.length-1:r,0),function(){for(var n=arguments,o=-1,u=xe(n.length-r,0),i=Array(u);++o1?r[n-1]:void 0,u=n>2?r[2]:void 0;for(o=Fe.length>3&&"function"==typeof o?(n--,o):void 0,u&&function(t,r,e){if(!Tt(e))return!1;var n=typeof r;return!!("number"==n?Ct(e)&&yt(r,e.length):"string"==n&&r in e)&&Mt(e[r],t)}(r[0],r[1],u)&&(o=n<3?void 0:o,n=1),t=Object(t);++e', resolverType, resolverName, contract, args) const def = getDefFromContract(resolverType, resolverName, contract) if (def) { - return checkResolverReturns(args, def[RETURNS_NAME]) + return checkReturns(args, def[RETURNS_NAME]) } throw new JsonqlValidationError('checkResolverReturns', `${resolverType}.${resolverName} ${RETURNS_NAME} not found`) } @@ -65,7 +65,7 @@ export function checkResolverReturns(resolverType, resolverName, contract, args) export function checkResolverReturnsAsync(resolverType, resolverName, contract, args) { const def = getDefFromContract(resolverType, resolverName, contract) if (def) { - return checkResolverReturnsAsync(args, def[RETURNS_NAME]) + return checkReturnsAsync(args, def[RETURNS_NAME]) } return Promise.reject( new JsonqlValidationError('checkResolverReturnsAsync', `${resolverType}.${resolverName} ${RETURNS_NAME} not found`) diff --git a/packages/validator/tests/fixtures/contract.json b/packages/validator/tests/fixtures/contract.json index 86f6e6a5..a0c75148 100644 --- a/packages/validator/tests/fixtures/contract.json +++ b/packages/validator/tests/fixtures/contract.json @@ -5,7 +5,7 @@ "params": [], "returns": [ { - "type": "string", + "type": [ "string" ], "description": "stock message" } ] -- Gitee From 69448c3fd983bea4e8c1b0e43915d10d38d20dfe Mon Sep 17 00:00:00 2001 From: joelchu Date: Sat, 14 Mar 2020 13:39:15 +0800 Subject: [PATCH 6/7] test passed for the four new method for checking return results --- .../dist/jsonql-params-validator.cjs.js | 2 +- packages/validator/src/returns.js | 4 +-- .../validator/tests/validate-result.test.js | 27 ++++++++++++++----- 3 files changed, 23 insertions(+), 10 deletions(-) diff --git a/packages/validator/dist/jsonql-params-validator.cjs.js b/packages/validator/dist/jsonql-params-validator.cjs.js index 4b8cccf3..1be39481 100644 --- a/packages/validator/dist/jsonql-params-validator.cjs.js +++ b/packages/validator/dist/jsonql-params-validator.cjs.js @@ -1,2 +1,2 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},r="object"==typeof t&&t&&t.Object===Object&&t,e="object"==typeof self&&self&&self.Object===Object&&self,n=r||e||Function("return this")(),o=n.Symbol;function u(t,r){for(var e=-1,n=null==t?0:t.length,o=Array(n);++e=n?t:function(t,r,e){var n=-1,o=t.length;r<0&&(r=-r>o?0:o+r),(e=e>o?o:e)<0&&(e+=o),o=r>e?0:e-r>>>0,r>>>=0;for(var u=Array(o);++n-1;);return e}(n,o),function(t,r){for(var e=t.length;e--&&m(r,t[e],0)>-1;);return e}(n,o)+1).join("")}var $=function(t){return!!i(t)||null!=t&&""!==M(t)};function D(t){return function(t){return"number"==typeof t||h(t)&&"[object Number]"==v(t)}(t)&&t!=+t}function B(t){return"string"==typeof t||!i(t)&&h(t)&&"[object String]"==v(t)}var V=function(t){return!B(t)&&!D(parseFloat(t))},I=function(t){return""!==M(t)&&B(t)},L=function(t){return null!=t&&"boolean"==typeof t},q=function(t,r){return void 0===r&&(r=!0),void 0!==t&&""!==t&&""!==M(t)&&(!1===r||!0===r&&null!==t)},U=function(t){switch(t){case"number":return V;case"string":return I;case"boolean":return L;default:return q}},J=function(t,r){return void 0===r&&(r=""),!!i(t)&&(""===r||""===M(r)||!(t.filter((function(t){return!U(r)(t)})).length>0))},W=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var r=t.replace("array.<","").replace(">","");return r.indexOf("|")?r.split("|"):[r]}return!1},G=function(t,r){var e=t.arg;return r.length>1?!e.filter((function(t){return!(r.length>r.filter((function(r){return!U(r)(t)})).length)})).length:r.length>r.filter((function(t){return!J(e,t)})).length};function H(t,r){return function(e){return t(r(e))}}var K=H(Object.getPrototypeOf,Object),Q=Function.prototype,Y=Object.prototype,X=Q.toString,Z=Y.hasOwnProperty,tt=X.call(Object);function rt(t){if(!h(t)||"[object Object]"!=v(t))return!1;var r=K(t);if(null===r)return!0;var e=Z.call(r,"constructor")&&r.constructor;return"function"==typeof e&&e instanceof e&&X.call(e)==tt}var et,nt=function(t,r,e){for(var n=-1,o=Object(t),u=e(t),i=u.length;i--;){var a=u[et?i:++n];if(!1===r(o[a],a,o))break}return t};function ot(t){return h(t)&&"[object Arguments]"==v(t)}var ut=Object.prototype,it=ut.hasOwnProperty,at=ut.propertyIsEnumerable,ct=ot(function(){return arguments}())?ot:function(t){return h(t)&&it.call(t,"callee")&&!at.call(t,"callee")};var ft="object"==typeof exports&&exports&&!exports.nodeType&&exports,st=ft&&"object"==typeof module&&module&&!module.nodeType&&module,lt=st&&st.exports===ft?n.Buffer:void 0,pt=(lt?lt.isBuffer:void 0)||function(){return!1},vt=/^(?:0|[1-9]\d*)$/;function ht(t,r){var e=typeof t;return!!(r=null==r?9007199254740991:r)&&("number"==e||"symbol"!=e&&vt.test(t))&&t>-1&&t%1==0&&t-1&&t%1==0&&t<=9007199254740991}var dt={};dt["[object Float32Array]"]=dt["[object Float64Array]"]=dt["[object Int8Array]"]=dt["[object Int16Array]"]=dt["[object Int32Array]"]=dt["[object Uint8Array]"]=dt["[object Uint8ClampedArray]"]=dt["[object Uint16Array]"]=dt["[object Uint32Array]"]=!0,dt["[object Arguments]"]=dt["[object Array]"]=dt["[object ArrayBuffer]"]=dt["[object Boolean]"]=dt["[object DataView]"]=dt["[object Date]"]=dt["[object Error]"]=dt["[object Function]"]=dt["[object Map]"]=dt["[object Number]"]=dt["[object Object]"]=dt["[object RegExp]"]=dt["[object Set]"]=dt["[object String]"]=dt["[object WeakMap]"]=!1;var bt,gt="object"==typeof exports&&exports&&!exports.nodeType&&exports,_t=gt&&"object"==typeof module&&module&&!module.nodeType&&module,jt=_t&&_t.exports===gt&&r.process,mt=function(){try{var t=_t&&_t.require&&_t.require("util").types;return t||jt&&jt.binding&&jt.binding("util")}catch(t){}}(),Ot=mt&&mt.isTypedArray,wt=Ot?(bt=Ot,function(t){return bt(t)}):function(t){return h(t)&&yt(t.length)&&!!dt[v(t)]},xt=Object.prototype.hasOwnProperty;function At(t,r){var e=i(t),n=!e&&ct(t),o=!e&&!n&&pt(t),u=!e&&!n&&!o&&wt(t),a=e||n||o||u,c=a?function(t,r){for(var e=-1,n=Array(t);++e-1},Dt.prototype.set=function(t,r){var e=this.__data__,n=Mt(e,t);return n<0?(++this.size,e.push([t,r])):e[n][1]=r,this};var Bt,Vt=n["__core-js_shared__"],It=(Bt=/[^.]+$/.exec(Vt&&Vt.keys&&Vt.keys.IE_PROTO||""))?"Symbol(src)_1."+Bt:"";var Lt=Function.prototype.toString;function qt(t){if(null!=t){try{return Lt.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var Ut=/^\[object .+?Constructor\]$/,Jt=Function.prototype,Wt=Object.prototype,Gt=Jt.toString,Ht=Wt.hasOwnProperty,Kt=RegExp("^"+Gt.call(Ht).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Qt(t){return!(!zt(t)||function(t){return!!It&&It in t}(t))&&(Tt(t)?Kt:Ut).test(qt(t))}function Yt(t,r){var e=function(t,r){return null==t?void 0:t[r]}(t,r);return Qt(e)?e:void 0}var Xt=Yt(n,"Map"),Zt=Yt(Object,"create");var tr=Object.prototype.hasOwnProperty;var rr=Object.prototype.hasOwnProperty;function er(t){var r=-1,e=null==t?0:t.length;for(this.clear();++ra))return!1;var f=u.get(t);if(f&&u.get(r))return f==r;var s=-1,l=!0,p=2&e?new ir:void 0;for(u.set(t,r),u.set(r,t);++sr.type.filter((function(t){var r;return void 0===e||(!1!==(r=W(t))?!G({arg:e},r):!U(t)(e))})).length)})).length}return!1},ee=function(t){function r(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];t.apply(this,e),this.message=e[0],this.detail=e[1],this.className=r.name,t.captureStackTrace&&t.captureStackTrace(this,r)}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var e={name:{configurable:!0}};return e.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(r,e),r}(Error),ne=function(t){function r(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];t.apply(this,e),this.message=e[0],this.detail=e[1],this.className=r.name,t.captureStackTrace&&t.captureStackTrace(this,r)}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var e={name:{configurable:!0},statusCode:{configurable:!0}};return e.name.get=function(){return"JsonqlError"},e.statusCode.get=function(){return-1},Object.defineProperties(r,e),r}(Error),oe=function(t,r){var e,n,o,u,i;switch(!0){case"object"===t:return o=(n=r).arg,u=n.param,i=[o],Array.isArray(u.keys)&&u.keys.length&&i.push(u.keys),!Reflect.apply(re,null,i);case"array"===t:return!J(r.arg);case!1!==(e=W(t)):return!G(r,e);default:return!U(t)(r.arg)}},ue=function(t,r){return void 0!==t?t:!0===r.optional&&void 0!==r.defaultvalue?r.defaultvalue:null},ie=function(t,r){if(!J(r))throw new ee("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===r.length)return[];if(!J(t))throw new ee("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==r.length:return t.map((function(t,e){return{arg:t,index:e,param:r[e]}}));case!0===r[0].variable:var e=r[0].type;return t.map((function(t,n){return{arg:t,index:n,param:r[n]||{type:e,name:"_"}}}));case t.lengthr.length:var n=r.length,o=["any"];return t.map((function(t,e){var u=e>=n||!!r[e].optional,i=r[e]||{type:o,name:"_"+e};return{arg:u?ue(t,i):t,index:e,param:i,optional:u}}));default:throw new ne("Could not understand your arguments and parameter structure!",{args:t,params:r})}},ae=function(t,r,e){var n;void 0===e&&(e=!1);var o=ie(t,r),u=o.filter((function(t){return!0===t.optional||!0===t.param.optional?function(t){var r=t.arg,e=t.param;return!!$(r)&&!(e.type.length>e.type.filter((function(r){return oe(r,t)})).length)}(t):!(t.param.type.length>t.param.type.filter((function(r){return oe(r,t)})).length)}));return e?((n={}).error=u,n.data=o.map((function(t){return t.arg})),n):u},ce=function(t,r,e){return void 0===e&&(e=!1),new Promise((function(n,o){var u=ae(t,r,e);return e?u.error.length?o(u.error):n(u.data):u.length?o(u):n([])}))},fe=function(){try{var t=Yt(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();function se(t,r,e){"__proto__"==r&&fe?fe(t,r,{configurable:!0,enumerable:!0,value:e,writable:!0}):t[r]=e}function le(t,r,e){(void 0===e||Ft(t[r],e))&&(void 0!==e||r in t)||se(t,r,e)}var pe="object"==typeof exports&&exports&&!exports.nodeType&&exports,ve=pe&&"object"==typeof module&&module&&!module.nodeType&&module,he=ve&&ve.exports===pe?n.Buffer:void 0,ye=he?he.allocUnsafe:void 0;function de(t,r){var e,n,o=r?(e=t.buffer,n=new e.constructor(e.byteLength),new fr(n).set(new fr(e)),n):t.buffer;return new t.constructor(o,t.byteOffset,t.length)}var be=Object.create,ge=function(){function t(){}return function(r){if(!zt(r))return{};if(be)return be(r);t.prototype=r;var e=new t;return t.prototype=void 0,e}}();function _e(t,r){if(("constructor"!==r||"function"!=typeof t[r])&&"__proto__"!=r)return t[r]}var je=Object.prototype.hasOwnProperty;function me(t,r,e){var n=t[r];je.call(t,r)&&Ft(n,e)&&(void 0!==e||r in t)||se(t,r,e)}var Oe=Object.prototype.hasOwnProperty;function we(t){if(!zt(t))return function(t){var r=[];if(null!=t)for(var e in Object(t))r.push(e);return r}(t);var r=St(t),e=[];for(var n in t)("constructor"!=n||!r&&Oe.call(t,n))&&e.push(n);return e}function xe(t){return Rt(t)?At(t,!0):we(t)}function Ae(t){return function(t,r,e,n){var o=!e;e||(e={});for(var u=-1,i=r.length;++u0){if(++r>=800)return arguments[0]}else r=0;return t.apply(void 0,arguments)}}(ze);function Ce(t,r){return Re(function(t,r,e){return r=Ee(void 0===r?t.length-1:r,0),function(){for(var n=arguments,o=-1,u=Ee(n.length-r,0),i=Array(u);++o1?r[n-1]:void 0,u=n>2?r[2]:void 0;for(o=Ne.length>3&&"function"==typeof o?(n--,o):void 0,u&&function(t,r,e){if(!zt(e))return!1;var n=typeof r;return!!("number"==n?Rt(e)&&ht(r,e.length):"string"==n&&r in e)&&Ft(e[r],t)}(r[0],r[1],u)&&(o=n<3?void 0:o,n=1),t=Object(t);++e=n?t:function(t,r,e){var n=-1,o=t.length;r<0&&(r=-r>o?0:o+r),(e=e>o?o:e)<0&&(e+=o),o=r>e?0:e-r>>>0,r>>>=0;for(var u=Array(o);++n-1;);return e}(n,o),function(t,r){for(var e=t.length;e--&&m(r,t[e],0)>-1;);return e}(n,o)+1).join("")}var $=function(t){return!!i(t)||null!=t&&""!==M(t)};function D(t){return function(t){return"number"==typeof t||h(t)&&"[object Number]"==v(t)}(t)&&t!=+t}function B(t){return"string"==typeof t||!i(t)&&h(t)&&"[object String]"==v(t)}var V=function(t){return!B(t)&&!D(parseFloat(t))},I=function(t){return""!==M(t)&&B(t)},L=function(t){return null!=t&&"boolean"==typeof t},q=function(t,r){return void 0===r&&(r=!0),void 0!==t&&""!==t&&""!==M(t)&&(!1===r||!0===r&&null!==t)},U=function(t){switch(t){case"number":return V;case"string":return I;case"boolean":return L;default:return q}},J=function(t,r){return void 0===r&&(r=""),!!i(t)&&(""===r||""===M(r)||!(t.filter((function(t){return!U(r)(t)})).length>0))},W=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var r=t.replace("array.<","").replace(">","");return r.indexOf("|")?r.split("|"):[r]}return!1},G=function(t,r){var e=t.arg;return r.length>1?!e.filter((function(t){return!(r.length>r.filter((function(r){return!U(r)(t)})).length)})).length:r.length>r.filter((function(t){return!J(e,t)})).length};function H(t,r){return function(e){return t(r(e))}}var K=H(Object.getPrototypeOf,Object),Q=Function.prototype,Y=Object.prototype,X=Q.toString,Z=Y.hasOwnProperty,tt=X.call(Object);function rt(t){if(!h(t)||"[object Object]"!=v(t))return!1;var r=K(t);if(null===r)return!0;var e=Z.call(r,"constructor")&&r.constructor;return"function"==typeof e&&e instanceof e&&X.call(e)==tt}var et,nt=function(t,r,e){for(var n=-1,o=Object(t),u=e(t),i=u.length;i--;){var a=u[et?i:++n];if(!1===r(o[a],a,o))break}return t};function ot(t){return h(t)&&"[object Arguments]"==v(t)}var ut=Object.prototype,it=ut.hasOwnProperty,at=ut.propertyIsEnumerable,ct=ot(function(){return arguments}())?ot:function(t){return h(t)&&it.call(t,"callee")&&!at.call(t,"callee")};var ft="object"==typeof exports&&exports&&!exports.nodeType&&exports,st=ft&&"object"==typeof module&&module&&!module.nodeType&&module,lt=st&&st.exports===ft?n.Buffer:void 0,pt=(lt?lt.isBuffer:void 0)||function(){return!1},vt=/^(?:0|[1-9]\d*)$/;function ht(t,r){var e=typeof t;return!!(r=null==r?9007199254740991:r)&&("number"==e||"symbol"!=e&&vt.test(t))&&t>-1&&t%1==0&&t-1&&t%1==0&&t<=9007199254740991}var dt={};dt["[object Float32Array]"]=dt["[object Float64Array]"]=dt["[object Int8Array]"]=dt["[object Int16Array]"]=dt["[object Int32Array]"]=dt["[object Uint8Array]"]=dt["[object Uint8ClampedArray]"]=dt["[object Uint16Array]"]=dt["[object Uint32Array]"]=!0,dt["[object Arguments]"]=dt["[object Array]"]=dt["[object ArrayBuffer]"]=dt["[object Boolean]"]=dt["[object DataView]"]=dt["[object Date]"]=dt["[object Error]"]=dt["[object Function]"]=dt["[object Map]"]=dt["[object Number]"]=dt["[object Object]"]=dt["[object RegExp]"]=dt["[object Set]"]=dt["[object String]"]=dt["[object WeakMap]"]=!1;var bt,gt="object"==typeof exports&&exports&&!exports.nodeType&&exports,_t=gt&&"object"==typeof module&&module&&!module.nodeType&&module,jt=_t&&_t.exports===gt&&r.process,mt=function(){try{var t=_t&&_t.require&&_t.require("util").types;return t||jt&&jt.binding&&jt.binding("util")}catch(t){}}(),Ot=mt&&mt.isTypedArray,wt=Ot?(bt=Ot,function(t){return bt(t)}):function(t){return h(t)&&yt(t.length)&&!!dt[v(t)]},At=Object.prototype.hasOwnProperty;function xt(t,r){var e=i(t),n=!e&&ct(t),o=!e&&!n&&pt(t),u=!e&&!n&&!o&&wt(t),a=e||n||o||u,c=a?function(t,r){for(var e=-1,n=Array(t);++e-1},Dt.prototype.set=function(t,r){var e=this.__data__,n=Mt(e,t);return n<0?(++this.size,e.push([t,r])):e[n][1]=r,this};var Bt,Vt=n["__core-js_shared__"],It=(Bt=/[^.]+$/.exec(Vt&&Vt.keys&&Vt.keys.IE_PROTO||""))?"Symbol(src)_1."+Bt:"";var Lt=Function.prototype.toString;function qt(t){if(null!=t){try{return Lt.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var Ut=/^\[object .+?Constructor\]$/,Jt=Function.prototype,Wt=Object.prototype,Gt=Jt.toString,Ht=Wt.hasOwnProperty,Kt=RegExp("^"+Gt.call(Ht).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Qt(t){return!(!zt(t)||function(t){return!!It&&It in t}(t))&&(Tt(t)?Kt:Ut).test(qt(t))}function Yt(t,r){var e=function(t,r){return null==t?void 0:t[r]}(t,r);return Qt(e)?e:void 0}var Xt=Yt(n,"Map"),Zt=Yt(Object,"create");var tr=Object.prototype.hasOwnProperty;var rr=Object.prototype.hasOwnProperty;function er(t){var r=-1,e=null==t?0:t.length;for(this.clear();++ra))return!1;var f=u.get(t);if(f&&u.get(r))return f==r;var s=-1,l=!0,p=2&e?new ir:void 0;for(u.set(t,r),u.set(r,t);++sr.type.filter((function(t){var r;return void 0===e||(!1!==(r=W(t))?!G({arg:e},r):!U(t)(e))})).length)})).length}return!1},ee=function(t){function r(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];t.apply(this,e),this.message=e[0],this.detail=e[1],this.className=r.name,t.captureStackTrace&&t.captureStackTrace(this,r)}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var e={name:{configurable:!0}};return e.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(r,e),r}(Error),ne=function(t){function r(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];t.apply(this,e),this.message=e[0],this.detail=e[1],this.className=r.name,t.captureStackTrace&&t.captureStackTrace(this,r)}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var e={name:{configurable:!0},statusCode:{configurable:!0}};return e.name.get=function(){return"JsonqlError"},e.statusCode.get=function(){return-1},Object.defineProperties(r,e),r}(Error),oe=function(t,r){var e,n,o,u,i;switch(!0){case"object"===t:return o=(n=r).arg,u=n.param,i=[o],Array.isArray(u.keys)&&u.keys.length&&i.push(u.keys),!Reflect.apply(re,null,i);case"array"===t:return!J(r.arg);case!1!==(e=W(t)):return!G(r,e);default:return!U(t)(r.arg)}},ue=function(t,r){return void 0!==t?t:!0===r.optional&&void 0!==r.defaultvalue?r.defaultvalue:null},ie=function(t,r){if(!J(r))throw new ee("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===r.length)return[];if(!J(t))throw new ee("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==r.length:return t.map((function(t,e){return{arg:t,index:e,param:r[e]}}));case!0===r[0].variable:var e=r[0].type;return t.map((function(t,n){return{arg:t,index:n,param:r[n]||{type:e,name:"_"}}}));case t.lengthr.length:var n=r.length,o=["any"];return t.map((function(t,e){var u=e>=n||!!r[e].optional,i=r[e]||{type:o,name:"_"+e};return{arg:u?ue(t,i):t,index:e,param:i,optional:u}}));default:throw new ne("Could not understand your arguments and parameter structure!",{args:t,params:r})}},ae=function(t,r,e){var n;void 0===e&&(e=!1);var o=ie(t,r),u=o.filter((function(t){return!0===t.optional||!0===t.param.optional?function(t){var r=t.arg,e=t.param;return!!$(r)&&!(e.type.length>e.type.filter((function(r){return oe(r,t)})).length)}(t):!(t.param.type.length>t.param.type.filter((function(r){return oe(r,t)})).length)}));return e?((n={}).error=u,n.data=o.map((function(t){return t.arg})),n):u},ce=function(t,r,e){return void 0===e&&(e=!1),new Promise((function(n,o){var u=ae(t,r,e);return e?u.error.length?o(u.error):n(u.data):u.length?o(u):n([])}))},fe=function(){try{var t=Yt(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();function se(t,r,e){"__proto__"==r&&fe?fe(t,r,{configurable:!0,enumerable:!0,value:e,writable:!0}):t[r]=e}function le(t,r,e){(void 0===e||Ft(t[r],e))&&(void 0!==e||r in t)||se(t,r,e)}var pe="object"==typeof exports&&exports&&!exports.nodeType&&exports,ve=pe&&"object"==typeof module&&module&&!module.nodeType&&module,he=ve&&ve.exports===pe?n.Buffer:void 0,ye=he?he.allocUnsafe:void 0;function de(t,r){var e,n,o=r?(e=t.buffer,n=new e.constructor(e.byteLength),new fr(n).set(new fr(e)),n):t.buffer;return new t.constructor(o,t.byteOffset,t.length)}var be=Object.create,ge=function(){function t(){}return function(r){if(!zt(r))return{};if(be)return be(r);t.prototype=r;var e=new t;return t.prototype=void 0,e}}();function _e(t,r){if(("constructor"!==r||"function"!=typeof t[r])&&"__proto__"!=r)return t[r]}var je=Object.prototype.hasOwnProperty;function me(t,r,e){var n=t[r];je.call(t,r)&&Ft(n,e)&&(void 0!==e||r in t)||se(t,r,e)}var Oe=Object.prototype.hasOwnProperty;function we(t){if(!zt(t))return function(t){var r=[];if(null!=t)for(var e in Object(t))r.push(e);return r}(t);var r=St(t),e=[];for(var n in t)("constructor"!=n||!r&&Oe.call(t,n))&&e.push(n);return e}function Ae(t){return Rt(t)?xt(t,!0):we(t)}function xe(t){return function(t,r,e,n){var o=!e;e||(e={});for(var u=-1,i=r.length;++u0){if(++r>=800)return arguments[0]}else r=0;return t.apply(void 0,arguments)}}(ze);function Ce(t,r){return Re(function(t,r,e){return r=Ee(void 0===r?t.length-1:r,0),function(){for(var n=arguments,o=-1,u=Ee(n.length-r,0),i=Array(u);++o1?r[n-1]:void 0,u=n>2?r[2]:void 0;for(o=Ne.length>3&&"function"==typeof o?(n--,o):void 0,u&&function(t,r,e){if(!zt(e))return!1;var n=typeof r;return!!("number"==n?Rt(e)&&ht(r,e.length):"string"==n&&r in e)&&Ft(e[r],t)}(r[0],r[1],u)&&(o=n<3?void 0:o,n=1),t=Object(t);++e', resolverType, resolverName, contract, args) - + // console.info('checkResolverReturns -->', resolverType, resolverName, contract, args) const def = getDefFromContract(resolverType, resolverName, contract) if (def) { return checkReturns(args, def[RETURNS_NAME]) diff --git a/packages/validator/tests/validate-result.test.js b/packages/validator/tests/validate-result.test.js index 52b53f74..ba1d2722 100644 --- a/packages/validator/tests/validate-result.test.js +++ b/packages/validator/tests/validate-result.test.js @@ -45,16 +45,31 @@ test.cb('It should able to do the same with validate async but just resolve the }) // put the new checkReturns method test here @1.6.0 -test.only(`Should able to check the return result using checkResolverReturns`, t => { - - // debug(t.context.contract) +test(`Should able to check the return result using checkResolverReturns`, t => { const result = checkResolverReturns('query', 'helloWorld', t.context.contract, [HELLO]) + // if there the array is empty that means it's pass + t.falsy(result.length) + + const resultFail = checkResolverReturns('query', 'helloWorld', t.context.contract, [1]) - t.pass() + t.truthy(resultFail.length) - // debug('hello result', result) + debug('fail result', resultFail) }) -test.todo(`Should able to check the return result using checkResolverReturnsAsync`) +test.cb(`Should able to check the return result using checkResolverReturnsAsync`, t => { + t.plan(2) + + checkResolverReturnsAsync('query', 'helloWorld', t.context.contract, [HELLO]) + .then(result => { + t.falsy(result.length) + }) + + checkResolverReturnsAsync('query', 'helloWorld', t.context.contract, [123]) + .catch(result => { + t.truthy(result.length) + t.end() + }) +}) -- Gitee From f39b3f4434622048a5189feeb6c4c419e1a293e7 Mon Sep 17 00:00:00 2001 From: joelchu Date: Sat, 14 Mar 2020 13:39:35 +0800 Subject: [PATCH 7/7] jsonql-validator to 1.6.0 --- packages/validator/dist/jsonql-params-validator.umd.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/validator/dist/jsonql-params-validator.umd.js b/packages/validator/dist/jsonql-params-validator.umd.js index d4007372..b4ccc95b 100644 --- a/packages/validator/dist/jsonql-params-validator.umd.js +++ b/packages/validator/dist/jsonql-params-validator.umd.js @@ -1,2 +1,2 @@ -!function(t,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r((t=t||self).jsonqlParamsValidator={})}(this,(function(t){"use strict";var r="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e="object"==typeof r&&r&&r.Object===Object&&r,n="object"==typeof self&&self&&self.Object===Object&&self,o=e||n||Function("return this")(),u=o.Symbol;function i(t,r){for(var e=-1,n=null==t?0:t.length,o=Array(n);++e=n?t:function(t,r,e){var n=-1,o=t.length;r<0&&(r=-r>o?0:o+r),(e=e>o?o:e)<0&&(e+=o),o=r>e?0:e-r>>>0,r>>>=0;for(var u=Array(o);++n-1;);return e}(n,o),function(t,r){for(var e=t.length;e--&&O(r,t[e],0)>-1;);return e}(n,o)+1).join("")}var D=function(t){return!!a(t)||null!=t&&""!==$(t)};function V(t){return function(t){return"number"==typeof t||y(t)&&"[object Number]"==h(t)}(t)&&t!=+t}function B(t){return"string"==typeof t||!a(t)&&y(t)&&"[object String]"==h(t)}var q=function(t){return!B(t)&&!V(parseFloat(t))},I=function(t){return""!==$(t)&&B(t)},L=function(t){return null!=t&&"boolean"==typeof t},U=function(t,r){return void 0===r&&(r=!0),void 0!==t&&""!==t&&""!==$(t)&&(!1===r||!0===r&&null!==t)},J=function(t){switch(t){case"number":return q;case"string":return I;case"boolean":return L;default:return U}},W=function(t,r){return void 0===r&&(r=""),!!a(t)&&(""===r||""===$(r)||!(t.filter((function(t){return!J(r)(t)})).length>0))},G=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var r=t.replace("array.<","").replace(">","");return r.indexOf("|")?r.split("|"):[r]}return!1},H=function(t,r){var e=t.arg;return r.length>1?!e.filter((function(t){return!(r.length>r.filter((function(r){return!J(r)(t)})).length)})).length:r.length>r.filter((function(t){return!W(e,t)})).length};function K(t,r){return function(e){return t(r(e))}}var Q=K(Object.getPrototypeOf,Object),Y=Function.prototype,X=Object.prototype,Z=Y.toString,tt=X.hasOwnProperty,rt=Z.call(Object);function et(t){if(!y(t)||"[object Object]"!=h(t))return!1;var r=Q(t);if(null===r)return!0;var e=tt.call(r,"constructor")&&r.constructor;return"function"==typeof e&&e instanceof e&&Z.call(e)==rt}var nt,ot=function(t,r,e){for(var n=-1,o=Object(t),u=e(t),i=u.length;i--;){var a=u[nt?i:++n];if(!1===r(o[a],a,o))break}return t};function ut(t){return y(t)&&"[object Arguments]"==h(t)}var it=Object.prototype,at=it.hasOwnProperty,ct=it.propertyIsEnumerable,ft=ut(function(){return arguments}())?ut:function(t){return y(t)&&at.call(t,"callee")&&!ct.call(t,"callee")};var lt="object"==typeof t&&t&&!t.nodeType&&t,st=lt&&"object"==typeof module&&module&&!module.nodeType&&module,pt=st&&st.exports===lt?o.Buffer:void 0,vt=(pt?pt.isBuffer:void 0)||function(){return!1},ht=/^(?:0|[1-9]\d*)$/;function yt(t,r){var e=typeof t;return!!(r=null==r?9007199254740991:r)&&("number"==e||"symbol"!=e&&ht.test(t))&&t>-1&&t%1==0&&t-1&&t%1==0&&t<=9007199254740991}var bt={};bt["[object Float32Array]"]=bt["[object Float64Array]"]=bt["[object Int8Array]"]=bt["[object Int16Array]"]=bt["[object Int32Array]"]=bt["[object Uint8Array]"]=bt["[object Uint8ClampedArray]"]=bt["[object Uint16Array]"]=bt["[object Uint32Array]"]=!0,bt["[object Arguments]"]=bt["[object Array]"]=bt["[object ArrayBuffer]"]=bt["[object Boolean]"]=bt["[object DataView]"]=bt["[object Date]"]=bt["[object Error]"]=bt["[object Function]"]=bt["[object Map]"]=bt["[object Number]"]=bt["[object Object]"]=bt["[object RegExp]"]=bt["[object Set]"]=bt["[object String]"]=bt["[object WeakMap]"]=!1;var gt,_t="object"==typeof t&&t&&!t.nodeType&&t,jt=_t&&"object"==typeof module&&module&&!module.nodeType&&module,mt=jt&&jt.exports===_t&&e.process,Ot=function(){try{var t=jt&&jt.require&&jt.require("util").types;return t||mt&&mt.binding&&mt.binding("util")}catch(t){}}(),wt=Ot&&Ot.isTypedArray,At=wt?(gt=wt,function(t){return gt(t)}):function(t){return y(t)&&dt(t.length)&&!!bt[h(t)]},kt=Object.prototype.hasOwnProperty;function St(t,r){var e=a(t),n=!e&&ft(t),o=!e&&!n&&vt(t),u=!e&&!n&&!o&&At(t),i=e||n||o||u,c=i?function(t,r){for(var e=-1,n=Array(t);++e-1},Vt.prototype.set=function(t,r){var e=this.__data__,n=$t(e,t);return n<0?(++this.size,e.push([t,r])):e[n][1]=r,this};var Bt,qt=o["__core-js_shared__"],It=(Bt=/[^.]+$/.exec(qt&&qt.keys&&qt.keys.IE_PROTO||""))?"Symbol(src)_1."+Bt:"";var Lt=Function.prototype.toString;function Ut(t){if(null!=t){try{return Lt.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var Jt=/^\[object .+?Constructor\]$/,Wt=Function.prototype,Gt=Object.prototype,Ht=Wt.toString,Kt=Gt.hasOwnProperty,Qt=RegExp("^"+Ht.call(Kt).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Yt(t){return!(!Tt(t)||function(t){return!!It&&It in t}(t))&&(Rt(t)?Qt:Jt).test(Ut(t))}function Xt(t,r){var e=function(t,r){return null==t?void 0:t[r]}(t,r);return Yt(e)?e:void 0}var Zt=Xt(o,"Map"),tr=Xt(Object,"create");var rr=Object.prototype.hasOwnProperty;var er=Object.prototype.hasOwnProperty;function nr(t){var r=-1,e=null==t?0:t.length;for(this.clear();++ra))return!1;var f=u.get(t);if(f&&u.get(r))return f==r;var l=-1,s=!0,p=2&e?new ar:void 0;for(u.set(t,r),u.set(r,t);++lr.type.filter((function(t){var r;return void 0===e||(!1!==(r=G(t))?!H({arg:e},r):!J(t)(e))})).length)})).length}return!1},ne=function(t){function r(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];t.apply(this,e),this.message=e[0],this.detail=e[1],this.className=r.name,t.captureStackTrace&&t.captureStackTrace(this,r)}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var e={name:{configurable:!0}};return e.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(r,e),r}(Error),oe=function(t){function r(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];t.apply(this,e),this.message=e[0],this.detail=e[1],this.className=r.name,t.captureStackTrace&&t.captureStackTrace(this,r)}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var e={name:{configurable:!0},statusCode:{configurable:!0}};return e.name.get=function(){return"JsonqlError"},e.statusCode.get=function(){return-1},Object.defineProperties(r,e),r}(Error),ue=function(t,r){var e,n,o,u,i;switch(!0){case"object"===t:return o=(n=r).arg,u=n.param,i=[o],Array.isArray(u.keys)&&u.keys.length&&i.push(u.keys),!Reflect.apply(ee,null,i);case"array"===t:return!W(r.arg);case!1!==(e=G(t)):return!H(r,e);default:return!J(t)(r.arg)}},ie=function(t,r){return void 0!==t?t:!0===r.optional&&void 0!==r.defaultvalue?r.defaultvalue:null},ae=function(t,r){if(!W(r))throw new ne("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===r.length)return[];if(!W(t))throw new ne("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==r.length:return t.map((function(t,e){return{arg:t,index:e,param:r[e]}}));case!0===r[0].variable:var e=r[0].type;return t.map((function(t,n){return{arg:t,index:n,param:r[n]||{type:e,name:"_"}}}));case t.lengthr.length:var n=r.length,o=["any"];return t.map((function(t,e){var u=e>=n||!!r[e].optional,i=r[e]||{type:o,name:"_"+e};return{arg:u?ie(t,i):t,index:e,param:i,optional:u}}));default:throw new oe("Could not understand your arguments and parameter structure!",{args:t,params:r})}},ce=function(t,r,e){var n;void 0===e&&(e=!1);var o=ae(t,r),u=o.filter((function(t){return!0===t.optional||!0===t.param.optional?function(t){var r=t.arg,e=t.param;return!!D(r)&&!(e.type.length>e.type.filter((function(r){return ue(r,t)})).length)}(t):!(t.param.type.length>t.param.type.filter((function(r){return ue(r,t)})).length)}));return e?((n={}).error=u,n.data=o.map((function(t){return t.arg})),n):u},fe=function(t,r,e){return void 0===e&&(e=!1),new Promise((function(n,o){var u=ce(t,r,e);return e?u.error.length?o(u.error):n(u.data):u.length?o(u):n([])}))},le=function(){try{var t=Xt(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();function se(t,r,e){"__proto__"==r&&le?le(t,r,{configurable:!0,enumerable:!0,value:e,writable:!0}):t[r]=e}function pe(t,r,e){(void 0===e||Mt(t[r],e))&&(void 0!==e||r in t)||se(t,r,e)}var ve="object"==typeof t&&t&&!t.nodeType&&t,he=ve&&"object"==typeof module&&module&&!module.nodeType&&module,ye=he&&he.exports===ve?o.Buffer:void 0,de=ye?ye.allocUnsafe:void 0;function be(t,r){var e,n,o=r?(e=t.buffer,n=new e.constructor(e.byteLength),new lr(n).set(new lr(e)),n):t.buffer;return new t.constructor(o,t.byteOffset,t.length)}var ge=Object.create,_e=function(){function t(){}return function(r){if(!Tt(r))return{};if(ge)return ge(r);t.prototype=r;var e=new t;return t.prototype=void 0,e}}();function je(t,r){if(("constructor"!==r||"function"!=typeof t[r])&&"__proto__"!=r)return t[r]}var me=Object.prototype.hasOwnProperty;function Oe(t,r,e){var n=t[r];me.call(t,r)&&Mt(n,e)&&(void 0!==e||r in t)||se(t,r,e)}var we=Object.prototype.hasOwnProperty;function Ae(t){if(!Tt(t))return function(t){var r=[];if(null!=t)for(var e in Object(t))r.push(e);return r}(t);var r=Et(t),e=[];for(var n in t)("constructor"!=n||!r&&we.call(t,n))&&e.push(n);return e}function ke(t){return Ct(t)?St(t,!0):Ae(t)}function Se(t){return function(t,r,e,n){var o=!e;e||(e={});for(var u=-1,i=r.length;++u0){if(++r>=800)return arguments[0]}else r=0;return t.apply(void 0,arguments)}}(Te);function Ne(t,r){return Ce(function(t,r,e){return r=xe(void 0===r?t.length-1:r,0),function(){for(var n=arguments,o=-1,u=xe(n.length-r,0),i=Array(u);++o1?r[n-1]:void 0,u=n>2?r[2]:void 0;for(o=Fe.length>3&&"function"==typeof o?(n--,o):void 0,u&&function(t,r,e){if(!Tt(e))return!1;var n=typeof r;return!!("number"==n?Ct(e)&&yt(r,e.length):"string"==n&&r in e)&&Mt(e[r],t)}(r[0],r[1],u)&&(o=n<3?void 0:o,n=1),t=Object(t);++e=n?t:function(t,r,e){var n=-1,o=t.length;r<0&&(r=-r>o?0:o+r),(e=e>o?o:e)<0&&(e+=o),o=r>e?0:e-r>>>0,r>>>=0;for(var u=Array(o);++n-1;);return e}(n,o),function(t,r){for(var e=t.length;e--&&O(r,t[e],0)>-1;);return e}(n,o)+1).join("")}var D=function(t){return!!a(t)||null!=t&&""!==$(t)};function V(t){return function(t){return"number"==typeof t||y(t)&&"[object Number]"==h(t)}(t)&&t!=+t}function B(t){return"string"==typeof t||!a(t)&&y(t)&&"[object String]"==h(t)}var q=function(t){return!B(t)&&!V(parseFloat(t))},I=function(t){return""!==$(t)&&B(t)},L=function(t){return null!=t&&"boolean"==typeof t},U=function(t,r){return void 0===r&&(r=!0),void 0!==t&&""!==t&&""!==$(t)&&(!1===r||!0===r&&null!==t)},J=function(t){switch(t){case"number":return q;case"string":return I;case"boolean":return L;default:return U}},W=function(t,r){return void 0===r&&(r=""),!!a(t)&&(""===r||""===$(r)||!(t.filter((function(t){return!J(r)(t)})).length>0))},G=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var r=t.replace("array.<","").replace(">","");return r.indexOf("|")?r.split("|"):[r]}return!1},H=function(t,r){var e=t.arg;return r.length>1?!e.filter((function(t){return!(r.length>r.filter((function(r){return!J(r)(t)})).length)})).length:r.length>r.filter((function(t){return!W(e,t)})).length};function K(t,r){return function(e){return t(r(e))}}var Q=K(Object.getPrototypeOf,Object),Y=Function.prototype,X=Object.prototype,Z=Y.toString,tt=X.hasOwnProperty,rt=Z.call(Object);function et(t){if(!y(t)||"[object Object]"!=h(t))return!1;var r=Q(t);if(null===r)return!0;var e=tt.call(r,"constructor")&&r.constructor;return"function"==typeof e&&e instanceof e&&Z.call(e)==rt}var nt,ot=function(t,r,e){for(var n=-1,o=Object(t),u=e(t),i=u.length;i--;){var a=u[nt?i:++n];if(!1===r(o[a],a,o))break}return t};function ut(t){return y(t)&&"[object Arguments]"==h(t)}var it=Object.prototype,at=it.hasOwnProperty,ct=it.propertyIsEnumerable,ft=ut(function(){return arguments}())?ut:function(t){return y(t)&&at.call(t,"callee")&&!ct.call(t,"callee")};var lt="object"==typeof t&&t&&!t.nodeType&&t,st=lt&&"object"==typeof module&&module&&!module.nodeType&&module,pt=st&&st.exports===lt?o.Buffer:void 0,vt=(pt?pt.isBuffer:void 0)||function(){return!1},ht=/^(?:0|[1-9]\d*)$/;function yt(t,r){var e=typeof t;return!!(r=null==r?9007199254740991:r)&&("number"==e||"symbol"!=e&&ht.test(t))&&t>-1&&t%1==0&&t-1&&t%1==0&&t<=9007199254740991}var bt={};bt["[object Float32Array]"]=bt["[object Float64Array]"]=bt["[object Int8Array]"]=bt["[object Int16Array]"]=bt["[object Int32Array]"]=bt["[object Uint8Array]"]=bt["[object Uint8ClampedArray]"]=bt["[object Uint16Array]"]=bt["[object Uint32Array]"]=!0,bt["[object Arguments]"]=bt["[object Array]"]=bt["[object ArrayBuffer]"]=bt["[object Boolean]"]=bt["[object DataView]"]=bt["[object Date]"]=bt["[object Error]"]=bt["[object Function]"]=bt["[object Map]"]=bt["[object Number]"]=bt["[object Object]"]=bt["[object RegExp]"]=bt["[object Set]"]=bt["[object String]"]=bt["[object WeakMap]"]=!1;var gt,_t="object"==typeof t&&t&&!t.nodeType&&t,jt=_t&&"object"==typeof module&&module&&!module.nodeType&&module,mt=jt&&jt.exports===_t&&e.process,Ot=function(){try{var t=jt&&jt.require&&jt.require("util").types;return t||mt&&mt.binding&&mt.binding("util")}catch(t){}}(),wt=Ot&&Ot.isTypedArray,At=wt?(gt=wt,function(t){return gt(t)}):function(t){return y(t)&&dt(t.length)&&!!bt[h(t)]},kt=Object.prototype.hasOwnProperty;function St(t,r){var e=a(t),n=!e&&ft(t),o=!e&&!n&&vt(t),u=!e&&!n&&!o&&At(t),i=e||n||o||u,c=i?function(t,r){for(var e=-1,n=Array(t);++e-1},Vt.prototype.set=function(t,r){var e=this.__data__,n=$t(e,t);return n<0?(++this.size,e.push([t,r])):e[n][1]=r,this};var Bt,qt=o["__core-js_shared__"],It=(Bt=/[^.]+$/.exec(qt&&qt.keys&&qt.keys.IE_PROTO||""))?"Symbol(src)_1."+Bt:"";var Lt=Function.prototype.toString;function Ut(t){if(null!=t){try{return Lt.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var Jt=/^\[object .+?Constructor\]$/,Wt=Function.prototype,Gt=Object.prototype,Ht=Wt.toString,Kt=Gt.hasOwnProperty,Qt=RegExp("^"+Ht.call(Kt).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Yt(t){return!(!xt(t)||function(t){return!!It&&It in t}(t))&&(Rt(t)?Qt:Jt).test(Ut(t))}function Xt(t,r){var e=function(t,r){return null==t?void 0:t[r]}(t,r);return Yt(e)?e:void 0}var Zt=Xt(o,"Map"),tr=Xt(Object,"create");var rr=Object.prototype.hasOwnProperty;var er=Object.prototype.hasOwnProperty;function nr(t){var r=-1,e=null==t?0:t.length;for(this.clear();++ra))return!1;var f=u.get(t);if(f&&u.get(r))return f==r;var l=-1,s=!0,p=2&e?new ar:void 0;for(u.set(t,r),u.set(r,t);++lr.type.filter((function(t){var r;return void 0===e||(!1!==(r=G(t))?!H({arg:e},r):!J(t)(e))})).length)})).length}return!1},ne=function(t){function r(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];t.apply(this,e),this.message=e[0],this.detail=e[1],this.className=r.name,t.captureStackTrace&&t.captureStackTrace(this,r)}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var e={name:{configurable:!0}};return e.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(r,e),r}(Error),oe=function(t){function r(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];t.apply(this,e),this.message=e[0],this.detail=e[1],this.className=r.name,t.captureStackTrace&&t.captureStackTrace(this,r)}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var e={name:{configurable:!0},statusCode:{configurable:!0}};return e.name.get=function(){return"JsonqlError"},e.statusCode.get=function(){return-1},Object.defineProperties(r,e),r}(Error),ue=function(t,r){var e,n,o,u,i;switch(!0){case"object"===t:return o=(n=r).arg,u=n.param,i=[o],Array.isArray(u.keys)&&u.keys.length&&i.push(u.keys),!Reflect.apply(ee,null,i);case"array"===t:return!W(r.arg);case!1!==(e=G(t)):return!H(r,e);default:return!J(t)(r.arg)}},ie=function(t,r){return void 0!==t?t:!0===r.optional&&void 0!==r.defaultvalue?r.defaultvalue:null},ae=function(t,r){if(!W(r))throw new ne("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===r.length)return[];if(!W(t))throw new ne("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==r.length:return t.map((function(t,e){return{arg:t,index:e,param:r[e]}}));case!0===r[0].variable:var e=r[0].type;return t.map((function(t,n){return{arg:t,index:n,param:r[n]||{type:e,name:"_"}}}));case t.lengthr.length:var n=r.length,o=["any"];return t.map((function(t,e){var u=e>=n||!!r[e].optional,i=r[e]||{type:o,name:"_"+e};return{arg:u?ie(t,i):t,index:e,param:i,optional:u}}));default:throw new oe("Could not understand your arguments and parameter structure!",{args:t,params:r})}},ce=function(t,r,e){var n;void 0===e&&(e=!1);var o=ae(t,r),u=o.filter((function(t){return!0===t.optional||!0===t.param.optional?function(t){var r=t.arg,e=t.param;return!!D(r)&&!(e.type.length>e.type.filter((function(r){return ue(r,t)})).length)}(t):!(t.param.type.length>t.param.type.filter((function(r){return ue(r,t)})).length)}));return e?((n={}).error=u,n.data=o.map((function(t){return t.arg})),n):u},fe=function(t,r,e){return void 0===e&&(e=!1),new Promise((function(n,o){var u=ce(t,r,e);return e?u.error.length?o(u.error):n(u.data):u.length?o(u):n([])}))},le=function(){try{var t=Xt(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();function se(t,r,e){"__proto__"==r&&le?le(t,r,{configurable:!0,enumerable:!0,value:e,writable:!0}):t[r]=e}function pe(t,r,e){(void 0===e||Mt(t[r],e))&&(void 0!==e||r in t)||se(t,r,e)}var ve="object"==typeof t&&t&&!t.nodeType&&t,he=ve&&"object"==typeof module&&module&&!module.nodeType&&module,ye=he&&he.exports===ve?o.Buffer:void 0,de=ye?ye.allocUnsafe:void 0;function be(t,r){var e,n,o=r?(e=t.buffer,n=new e.constructor(e.byteLength),new lr(n).set(new lr(e)),n):t.buffer;return new t.constructor(o,t.byteOffset,t.length)}var ge=Object.create,_e=function(){function t(){}return function(r){if(!xt(r))return{};if(ge)return ge(r);t.prototype=r;var e=new t;return t.prototype=void 0,e}}();function je(t,r){if(("constructor"!==r||"function"!=typeof t[r])&&"__proto__"!=r)return t[r]}var me=Object.prototype.hasOwnProperty;function Oe(t,r,e){var n=t[r];me.call(t,r)&&Mt(n,e)&&(void 0!==e||r in t)||se(t,r,e)}var we=Object.prototype.hasOwnProperty;function Ae(t){if(!xt(t))return function(t){var r=[];if(null!=t)for(var e in Object(t))r.push(e);return r}(t);var r=Et(t),e=[];for(var n in t)("constructor"!=n||!r&&we.call(t,n))&&e.push(n);return e}function ke(t){return Ct(t)?St(t,!0):Ae(t)}function Se(t){return function(t,r,e,n){var o=!e;e||(e={});for(var u=-1,i=r.length;++u0){if(++r>=800)return arguments[0]}else r=0;return t.apply(void 0,arguments)}}(xe);function Ne(t,r){return Ce(function(t,r,e){return r=Te(void 0===r?t.length-1:r,0),function(){for(var n=arguments,o=-1,u=Te(n.length-r,0),i=Array(u);++o1?r[n-1]:void 0,u=n>2?r[2]:void 0;for(o=Fe.length>3&&"function"==typeof o?(n--,o):void 0,u&&function(t,r,e){if(!xt(e))return!1;var n=typeof r;return!!("number"==n?Ct(e)&&yt(r,e.length):"string"==n&&r in e)&&Mt(e[r],t)}(r[0],r[1],u)&&(o=n<3?void 0:o,n=1),t=Object(t);++e